Skip to content
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

NodeConfig was reading a particular config from default on every start up #739

Merged
merged 2 commits into from Oct 17, 2021

Conversation

desyncr
Copy link
Contributor

@desyncr desyncr commented Aug 14, 2021

This particular config value is currently retrieved from the class default value and not from the config as expected.

public Integer get() {
return ResizablePersistentIntBuffer.getPersistenceTime();
}
public Integer get() { return storeSaltHashSlotFilterPersistenceTime;}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please don’t collapse this into a single line; otherwise this looks good.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done! Yeah that looked weird!

@ArneBab ArneBab merged commit 81f7725 into hyphanet:next Oct 17, 2021
@desyncr desyncr deleted the missing-persisting-config branch October 17, 2021 22:12
@desyncr
Copy link
Contributor Author

desyncr commented Oct 17, 2021

🎉

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
Projects
None yet
3 participants