New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
OpenJDK 16+ compat: add wrapper.conf argument to allow access to internal openjdk modules #740
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…rnal openjdk modules
|
Thanks to xor for an important hint: Need to check with Java 8. Maybe we can only do this on Java 9 upwards → one more check missing. |
…s *smaller or equal* to the current version
skydrome
added a commit
to skydrome/fred
that referenced
this pull request
Jan 10, 2022
2021-10-27 Freenet 0.7.5 build 1492 is now available. [overview] This release finalizes the mitigation of the pitch black attack with a test that shows that the mitigation is effective at reducing the impact of the attack and recovering from it. This mitigation was sponsored by nlnet as part of the Horizon 2020 program of the EU: https://nlnet.nl/project/Freenet-Routing/ The video-player was optimized to prevent most visual flickering. And several plugins received updates: - KeyUtils got bugfixes from TheSeeker - Library now searches all indexes if you just hit search — thanks to redwerk. - Library now also allows setting a custom link suffic (docname) — thanks to TheSeeker. - Spider got bugfixes from redwerk and juiceman. - FlogHelper provides simple clickable audio and video tags. Just put a m3u link into the video tag to have video-on-demand. Included Bugfixes if fred (the Freenet Reference Daemon): - skip in support.io.SkipShieldingInputStream must return non-negative. Thanks to dennisnez. - NodeConfig was reading a particular config from default on every start up. Thanks to desyncr. - OpenJDK 16+ compat: add wrapper.conf argument to allow access to internal openjdk modules. - Correct "current size" option in Wizard => datastore size. Thanks to AC4BB21B. Sidenote: What is the pitch black attack? On Freenet, every node has a location on a circle. To optimize routing, pure friend-to-friend nodes (no opennet) swap these locations (without changing connections). The pitch black attack steals the locations one by one and replaces them with a single one, so that after a while all nodes are at the same location. Then no sensible routing is possible anymore. The mitigation detects when parts of the circle are devoid of routing nodes and fills up the holes by switching there. If you want to help us get better, please help us get the current pending pull-requests in shape for merging, by reviewing and/or by improving already reviewed but inactive pull-requests (only on clearnet, because the pull-requests are there): https://github.com/freenet/wiki/wiki/Large-Pull-requests-that-need-work We now also have a list of high-impact tasks: USK@xPkwhS3czAr5oi6yNgLQ7Ld7RbUZuY6eGniS0n5FZtc,WXVIZrZyLlZugJgJKYvbF9SPfKAUAQX9gAX6g7FGNVE,AQACAAE/high-impact-tasks/0 That said: If someone asks you "what is Freenet", you could for example answer: Freenet is a peer-to-peer platform for censorship-resistant and privacy-respecting publishing and communication. or Freenet is a communication system that covers the needs for protection expected from a secure data broker for Multi-Party Data Exchange in IoT for Health. (source: https://www.igi-global.com/chapter/using-freenet-as-a-broker-for-multi-party-data-exchange-in-iot-for-health/257911 ) This is what Freenet already accomplished. And we could only get this far together, because without users, it is hard for sofware to make a difference. Thank you for using Freenet! - Arne Babenhauserheide Developer changelog: 2021-10-27 Changes in 1492: Fred: - The multi-node test to show that the mitigation against the pitch black attack works. hyphanet#736 - The m3u-player for video on demand over Freenet now prevents most visual flickering. hyphanet#734 - Clickable labels for checkboxes. Thanks to AC4BB21B. hyphanet#741 - Fix: skip in support.io.SkipShieldingInputStream must return non-negative. Thanks to dennisnez. hyphanet#737 - Fix: NodeConfig was reading a particular config from default on every start up. Thanks to desyncr. hyphanet#739 - OpenJDK 16+ compat: add wrapper.conf argument to allow access to internal openjdk modules. hyphanet#740 - Fix: Correct "current size" option in Wizard => datastore size. Thanks to AC4BB21B. hyphanet#742 Plugins: - KeyUtils: Fix API call to allow compiling, and Fix extra bytes display for composed SSK. both thanks to TheSeeker. hyphanet/plugin-KeyUtils#17 hyphanet/plugin-KeyUtils#16 - Library: search with unchecked boxes thanks to redwerk hyphanet/plugin-Library#14 - custom index docname thanks to TheSeeker hyphanet/plugin-Library#18 - Spider: Fix writing to the bucket and Replace SortedIntSet thanks to redwerks hyphanet/plugin-Spider#6 Fix build thanks to Juiceman hyphanet/plugin-Spider#5 - FlogHelper Add new media tags in tool menu: audio and video thanks to AlexandreRio hyphanet/plugin-FlogHelper#19 (you can simply set an uploaded m3u file as as source of a video and it will show up on your flog as video on demand) related: Florent fixed our website build (Thank you!), so we can release there again. I polished our theme and the messaging on the index-page. https://freenetproject.org/ - Arne Babenhauserheide --- Arne Babenhauserheide (20): Update FlogHelper to version 36 m3u-player: prevent flickering on track-transitions by keeping the size fixed and overlaying an image of the video Add real node pitch black mitigation test pitch-black-mitigation: prevent undamped oscillations of the pitch-black-mitigation document pitch black node test fix error-prone clock usage OpenJDK 16+ compat: add wrapper.conf argument to allow access to internal openjdk modules wrapper.conf: only add --illegal-access=permit on java 9+ refactor (pull out function) and fix the width for even less flickering make size preservation robust and flexible use real sizes for canvas simplify fixing the size during updates alwag, always divide by explicit floats add error handling fix: supports modules should be true when the threshold version (9) is *smaller or equal* to the current version Add note about RealNodePitchBlackMitigationTest.java to the simulator/readme.txt add a SECURITY.md note that there are no known unfixable identification attacks against F2F-mode, note sybil and restructure a bit improve SECURITY.md SECURITY.md: typo: tipps -> tips Arne Babenhauserheide (freenet releases) (7): update KeyUtils to 0.5.6 v5028 from commit 4c0b6e11ac66e781dbcb5a9a1ddabf351629c6b6 update Library to 37 from commit cd45f9a5634c82e693d5fe1a870ad6120b9fe980 update Library to 53 from commit c5367b4ceffb2f9a011d68cae0bb205933fe6033 update FlogHelper to actual 36 from commit 085e4edff9d96c344168bf983c27056a869f5770 Update default bookmark editions Update default bookmark editions Build 1492 DC* (56): Add thread cpu to diagnostics Add NodeDiagnostic module with NodeThreadDiagnostics Don't use single class imports Fix indentation Don't use single class imports Create Diagnostics component to be able to scale to support multiple diagnostics easily Add license headers to new files Move thread info building into its own method Make NodeDiagnostics field private Flatten NodeDiagnostics interface Flatten NodeDiagnostics interface Create NodeDiagnostics and ThreadDiagnostics interfaces and default implementations Reduce visibility for fields in ThreadDiagnostics Use atomicReference for nodeThreadInfo list Use thread interval to build data points Fix calculation CPU time percentage Use NodeDiagnostics type interface rather than default implementation Use DefaultNodeDiagnostics implementation Remove unnecessary finals in contructor Remove unnecessary throw exception Remove unnecessary copy Fix CPU time percentaje calculation Use Comparator class to simplify threads sorting Use single loop to calculate delta and display Rename private field to follow convention Show percentage cpu time between process threads Separate presentation from actual data for NodeThreadInfo Compute % CPU by calculate the total CPU time from all threads, not only nodestat's Renaming internal variables Re-introduce delta CPU Time and simplify code structure Output formatting in DiagnosticToadlet Handle case when thread.getThreadGroup returns null Remove long -> double coercion Purge inactive threads from threadsCpu list Use NodeThreadSnapshot to hold thread list, total CPU and interval Update ConfigToadlet to support enabling/disabling node diagnostics module Avoid unnecessary casting to double for getCpuTimeDelta Declare interface rather than implementation Clean up nodeConfig callback Update configuration description Check thread snapshot is available when displaying Simplify description and normalize names Clean up unnecessary space Correct language and simplify terms Fix grammar mistake on translation for DiagnosticsDescription Calculate CPU time as % of wall time Avoid possible race condition on start up Add docblock to threadStats method Fix tab vs space mix up Remove unneccessary code style fixes newline at end of line Create threadSnapshot inner class to avoid pooler executor messing thread's names Replace threadCpu for threadSnapshot Use thread synchronization to avoid misnaming NodeConfig was reading a particular config from default on every start up Uncollapsing method Use job ID to keep track of CPU usage David (7): Labels for checkboxes in upload and download forms Labels in security settings and friends Fix previous commit Labels in filter file, plugins, wizard Correct "current size" option in Wizard => datastore size Tiny indentation fix Better logic in case of default values for cache sizes Dennis Nezic (2): Bugfix: skip in support.io.SkipShieldingInputStream cannot return negative value Update SkipShieldingInputStream.java Jan Gerritsen (3): Fixed unreliable store store test cases Run each test scenario in its own test method Create its own directory for each test, so they can run in parallel Plugins: Arne Babenhauserheide (freenet releases) (2): version 0.5.4 build 5027 update version to 0.5.6 TheSeeker (2): Fix extra bytes display for composed SSK Fix API call to allow compiling Arne Babenhauserheide (freenet releases) (2): update ant to new gradle structure of fred major version to 37 Oleh Shklyar (1): fix search when none of the index checkboxes are checked TheSeeker (1): Allow manual setting of a custom index docname Arne Babenhauserheide (freenet releases) (1): update major version to 53 Juiceman (2): Fix build due to Freenet infrastructure changes. Bump Java version to 1.7 to match Fred settings Oleh Shklyar (5): fix log bufferUsageEstimated close resource upgrade java to 1.8 & change path to fred jar fix IllegalArgumentException add info about running without wrapper Alexandre Rio (4): Improve french l10n Github prefers file extension for main readme file Add support for audio tag hyphanet#15 Add video tag Arne Babenhauserheide (freenet releases) (1): update major version to 36
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Needs very careful review because a broken wrapper.conf breaks installs.
But without this, Freenet will break when people update to the newest LTS version of Java (OpenJDK 17).