gnunet: update to version v0.21.0
authorDaniel Golle <daniel@makrotopia.org>
Fri, 8 Mar 2024 23:26:56 +0000 (23:26 +0000)
committerDaniel Golle <daniel@makrotopia.org>
Tue, 16 Apr 2024 23:12:48 +0000 (00:12 +0100)
commit17cac25f92e96855b3ab32155d772339f4850e63
treea3db9401cfac2e7b06ac77799dbff1286a899e35
parentf0368a24989010dd576b3044fb9bb01f0b829721
gnunet: update to version v0.21.0

This release marks a noteworthy milestone in that it includes a
completely new transport layer. It lays the groundwork for fixing some
major design issues and may also already alleviate a variety of issues
seen in previous releases related to connectivity. This change also
deprecates our testbed and ATS subsystem.

This is a new major release. It breaks protocol compatibility with the
0.20.x versions. Please be aware that Git master is thus henceforth
(and has been for a while) INCOMPATIBLE with the 0.20.x GNUnet
network, and interactions between old and new peers will result in
issues. In terms of usability, users should be aware that there are
still a number of known open issues in particular with respect to ease
of use, but also some critical privacy issues especially for mobile
users. Also, the nascent network is tiny and thus unlikely to provide
good anonymity or extensive amounts of interesting information. As a
result, the 0.21.0 release is still only suitable for early adopters
with some reasonable pain tolerance.

v0.21.0:

- Reworked PEERSTORE API

- Added record flag for maintenance records

- ensure traits can be generated with subsystem-specific prefixes for
  the symbols

- libgnunettesting first major testing NG refactor towards getting
  dependency structure streamlined

- Remove single-use API macro GNUNET_VA_ARG_ENUM

- major revision of blind signature API

- Introduced closure to hold store context when caling function to add
  hello in peerstore.

- Added DDLs for handling GNUNET_PEERSTORE_StoreHelloContext

- Removed old hello functionality.

- Refactoring components under src/ into lib/, plugin/, cli/ and
  service/

- add support for encoding/decoding double values as part of JSON to
  libgnunetjson

- Changed method GNUNET_HELLO_builder_get_expiration_time to not need
  parameter GNUNET_HELLO_Builder.

- Code moved to the core package to get rid of circular dependencies.

- Moved code to testing to have more generic test setup, which can be
  used not only from within transport.

- The old hello design replaced by the new hello design.

- Added api to get notified when hellos are stored with peerstore
  service.

- Added api to store hellos with peerstore service.

- Changed new hello uri api to allow to change the expiration time

- Moved start peer command to testing subsystem.

- Removed all usage of old transport api, beside peerinfo tool,
  gnunet-transport cli and usage in transport layer itself.

- Added __attribute__((deprecated)) to the old transport API

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
(cherry picked from commit 31e9aea1b659b34f9cc4e11ef4811f9e773ac036)
net/gnunet/Makefile
net/gnunet/patches/010-DHTU-ship-dhtu-conf.patch [new file with mode: 0644]
net/gnunet/patches/020-curl-no-runtime-test.patch