[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: GNUnet 0.14.0 released
From: |
Martin Schanzenbach |
Subject: |
Re: GNUnet 0.14.0 released |
Date: |
Sun, 15 Nov 2020 06:54:49 +0900 |
User-agent: |
Evolution 3.38.1 (3.38.1-1.fc33) |
Hi,
this is a result of a new compiler flag for format string smells which
result in warnings.
RPS is an experimental component and pretty much unmaintained which is
why I didn't bother going through the warnings.
Help handling them is appreciated, if course.
I cannot see any errors, though.
BR
Martin
On Sat, 2020-11-14 at 19:57 +0000, Daniel Golle wrote:
> Hi!
>
> Seeing lots of compile errors which weren't there on 0.13.0.
> I've fixed the easy ones already, but what remains is a bit beyond
> what I can fix without knowing the original intention of the changes
> (with commit messages were as terse as usual)
>
> In file included from ../../src/include/gnunet_crypto_lib.h:60,
> from ../../src/include/gnunet_util_lib.h:64,
> from rps-test_util.c:30:
> rps-test_util.c: In function 'to_file_raw':
> rps-test_util.c:189:10: warning: format '%u' expects argument of type
> 'unsigned int', but argument 4 has type 'size_t' {aka 'long unsigned
> int'} [-Wformat=]
> "Unable to write to file! (Size: %u, size_written: %u)\n",
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> size_buf,
> ~~~~~~~~
> ../../src/include/gnunet_common.h:516:50: note: in definition of
> macro 'GNUNET_log_from'
> GNUNET_log_from_nocheck ((kind), comp,
> __VA_ARGS__); \
> ^~~~~~~~~~~
> rps-test_util.c:188:5: note: in expansion of macro 'LOG'
> LOG (GNUNET_ERROR_TYPE_WARNING,
> ^~~
> rps-test_util.c:189:10: warning: format '%u' expects argument of type
> 'unsigned int', but argument 5 has type 'size_t' {aka 'long unsigned
> int'} [-Wformat=]
> "Unable to write to file! (Size: %u, size_written: %u)\n",
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> rps-test_util.c:191:10:
> size_written);
> ~~~~~~~~~~~~
> ../../src/include/gnunet_common.h:516:50: note: in definition of
> macro 'GNUNET_log_from'
> GNUNET_log_from_nocheck ((kind), comp,
> __VA_ARGS__); \
> ^~~~~~~~~~~
> rps-test_util.c:188:5: note: in expansion of macro 'LOG'
> LOG (GNUNET_ERROR_TYPE_WARNING,
> ^~~
> rps-test_util.c:200:8: warning: format '%u' expects argument of type
> 'unsigned int', but argument 4 has type 'size_t' {aka 'long unsigned
> int'} [-Wformat=]
> "Wrote %u bytes raw.\n",
> ^~~~~~~~~~~~~~~~~~~~~~~
> size_written);
> ~~~~~~~~~~~~
> ../../src/include/gnunet_common.h:516:50: note: in definition of
> macro 'GNUNET_log_from'
> GNUNET_log_from_nocheck ((kind), comp,
> __VA_ARGS__); \
> ^~~~~~~~~~~
> rps-test_util.c:199:3: note: in expansion of macro 'LOG'
> LOG (GNUNET_ERROR_TYPE_WARNING,
> ^~~
> rps-test_util.c: In function 'to_file_raw_unaligned':
> rps-test_util.c:241:8: warning: format '%u' expects argument of type
> 'unsigned int', but argument 4 has type 'size_t' {aka 'long unsigned
> int'} [-Wformat=]
> "ua args: size_buf: %u, bits_needed: %u -> iter: %u\n",
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> size_buf,
> ~~~~~~~~
> ../../src/include/gnunet_common.h:516:50: note: in definition of
> macro 'GNUNET_log_from'
> GNUNET_log_from_nocheck ((kind), comp,
> __VA_ARGS__); \
> ^~~~~~~~~~~
> rps-test_util.c:240:3: note: in expansion of macro 'LOG'
> LOG (GNUNET_ERROR_TYPE_DEBUG,
> ^~~
> mv -f .deps/rps-test_util.Tpo .deps/rps-test_util.Po
> x86_64-openwrt-linux-musl-gcc -DHAVE_CONFIG_H -I. -I../.. -
> I../../src/include -I/usr/src/lede/staging_dir/target-
> x86_64_musl/usr/include -I/usr/src/lede/staging_dir/target-
> x86_64_musl/usr/include -I/usr/src/lede/staging_dir/target-
> x86_64_musl/usr/include -I/usr/src/lede/staging_dir/target-
> x86_64_musl/usr/include -I/usr/src/lede/staging_dir/target-
> x86_64_musl/usr/include -I/usr/src/lede/staging_dir/target-
> x86_64_musl/usr/include -I/usr/src/lede/staging_dir/toolchain-
> x86_64_gcc-8.4.0_musl/usr/include -
> I/usr/src/lede/staging_dir/toolchain-x86_64_gcc-
> 8.4.0_musl/include/fortify -I/usr/src/lede/staging_dir/toolchain-
> x86_64_gcc-8.4.0_musl/include -I/usr/src/lede/staging_dir/target-
> x86_64_musl/usr/lib/libiconv-full/include -
> I/usr/src/lede/staging_dir/target-x86_64_musl/usr/lib/libintl-
> full/include -fno-strict-aliasing -Wall -Os -pipe -g3 -fno-caller-
> saves -fno-plt -fhonour-copts -Wno-error=unused-but-set-variable -
> Wno-error=unused-result -fmacro-prefix-
> map=/usr/src/lede/build_dir/target-x86_64_musl/gnunet-0.14.0=gnunet-
> 0.14.0 -Wformat -Werror=format-security -fstack-protector -
> D_FORTIFY_SOURCE=1 -Wl,-z,now -Wl,-z,relro -
> I/usr/src/lede/staging_dir/target-x86_64_musl/usr/lib/libiconv-
> full/include -I/usr/src/lede/staging_dir/target-
> x86_64_musl/usr/lib/libintl-full/include -MT gnunet-rps-profiler.o -
> MD -MP -MF .deps/gnunet-rps-profiler.Tpo -c -o gnunet-rps-profiler.o
> gnunet-rps-profiler.c
> gnunet-rps-profiler.c: In function 'mal_cb':
> gnunet-rps-profiler.c:1686:12: warning: unused variable
> 'num_mal_peers' [-Wunused-variable]
> uint32_t num_mal_peers;
> ^~~~~~~~~~~~~
> gnunet-rps-profiler.c: In function 'profiler_reply_handle_info':
> gnunet-rps-profiler.c:2109:11: warning: format '%d' expects argument
> of type 'int', but argument 5 has type 'double' [-Wformat=]
> "%s %d %" PRIu32 " \n",
> ^~~~~~~~~
> gnunet-rps-profiler.c:2111:11:
> probability,
> ~~~~~~~~~~~
> gnunet-rps-profiler.c:925:55: note: in definition of macro 'tofile'
> size = GNUNET_snprintf (tmp_buf, sizeof(tmp_buf), __VA_ARGS__);
> \
> ^~~~~~~~~~~
> gnunet-rps-profiler.c:2109:16: note: format string is defined here
> "%s %d %" PRIu32 " \n",
> ~^
> %f
> gnunet-rps-profiler.c:2083:16: warning: unused variable 'i' [-
> Wunused-variable]
> unsigned int i;
> ^
> gnunet-rps-profiler.c: In function 'compute_probabilities':
> gnunet-rps-profiler.c:2438:3: error: format not a string literal and
> no format arguments [-Werror=format-security]
> to_file_w_len (rps_peers[peer_idx].file_name_probs,
> ^~~~~~~~~~~~~
> gnunet-rps-profiler.c:2453:3: error: format not a string literal and
> no format arguments [-Werror=format-security]
> to_file_w_len (rps_peers[peer_idx].file_name_probs_hist,
> ^~~~~~~~~~~~~
> In file included from gnunet-rps-profiler.c:33:
> gnunet-rps-profiler.c: In function 'view_update_cb':
> gnunet-rps-profiler.c:2605:12: warning: format '%lu' expects argument
> of type 'long unsigned int', but argument 4 has type 'unsigned int'
> [-Wformat=]
> "%" PRIu64 " %" PRIu32 "",
> ^~~
> rps_peer->index,
> ~~~~~~~~~~~~~~~
> rps-test_util.h:69:55: note: in definition of macro 'to_file'
> size = GNUNET_snprintf (tmp_buf, sizeof(tmp_buf), __VA_ARGS__);
> \
> ^~~~~~~~~~~
> In file included from /usr/src/lede/staging_dir/toolchain-x86_64_gcc-
> 8.4.0_musl/include/netinet/in.h:9,
> from /usr/src/lede/staging_dir/toolchain-x86_64_gcc-
> 8.4.0_musl/include/netdb.h:9,
> from ../../src/include/platform.h:72,
> from gnunet-rps-profiler.c:27:
> /usr/src/lede/staging_dir/toolchain-x86_64_gcc-
> 8.4.0_musl/include/inttypes.h:81:25: note: format string is defined
> here
> #define PRIu64 __PRI64 "u"
> In file included from gnunet-rps-profiler.c:33:
> gnunet-rps-profiler.c:2605:12: warning: format '%u' expects argument
> of type 'unsigned int', but argument 5 has type 'uint64_t' {aka 'long
> unsigned int'} [-Wformat=]
> "%" PRIu64 " %" PRIu32 "",
> ^~~
> gnunet-rps-profiler.c:2607:12:
> view_size);
> ~~~~~~~~~
> rps-test_util.h:69:55: note: in definition of macro 'to_file'
> size = GNUNET_snprintf (tmp_buf, sizeof(tmp_buf), __VA_ARGS__);
> \
> ^~~~~~~~~~~
> In file included from /usr/src/lede/staging_dir/toolchain-x86_64_gcc-
> 8.4.0_musl/include/netinet/in.h:9,
> from /usr/src/lede/staging_dir/toolchain-x86_64_gcc-
> 8.4.0_musl/include/netdb.h:9,
> from ../../src/include/platform.h:72,
> from gnunet-rps-profiler.c:27:
> /usr/src/lede/staging_dir/toolchain-x86_64_gcc-
> 8.4.0_musl/include/inttypes.h:80:17: note: format string is defined
> here
> #define PRIu32 "u"
> In file included from gnunet-rps-profiler.c:33:
> gnunet-rps-profiler.c:2621:12: warning: format '%lu' expects argument
> of type 'long unsigned int', but argument 4 has type 'unsigned int'
> [-Wformat=]
> "%" PRIu64 " %" PRIu32 "",
> ^~~
> rps_peer->index,
> ~~~~~~~~~~~~~~~
> rps-test_util.h:69:55: note: in definition of macro 'to_file'
> size = GNUNET_snprintf (tmp_buf, sizeof(tmp_buf), __VA_ARGS__);
> \
> ^~~~~~~~~~~
> In file included from /usr/src/lede/staging_dir/toolchain-x86_64_gcc-
> 8.4.0_musl/include/netinet/in.h:9,
> from /usr/src/lede/staging_dir/toolchain-x86_64_gcc-
> 8.4.0_musl/include/netdb.h:9,
> from ../../src/include/platform.h:72,
> from gnunet-rps-profiler.c:27:
> /usr/src/lede/staging_dir/toolchain-x86_64_gcc-
> 8.4.0_musl/include/inttypes.h:81:25: note: format string is defined
> here
> #define PRIu64 __PRI64 "u"
> In file included from gnunet-rps-profiler.c:33:
> gnunet-rps-profiler.c:2628:14: warning: format '%lu' expects argument
> of type 'long unsigned int', but argument 4 has type 'unsigned int'
> [-Wformat=]
> "%" PRIu64 /* index */
> ^~~
> gnunet-rps-profiler.c:2635:14:
> rps_peer->index,
> ~~~~~~~~~~~~~~~
> rps-test_util.h:69:55: note: in definition of macro 'to_file'
> size = GNUNET_snprintf (tmp_buf, sizeof(tmp_buf), __VA_ARGS__);
> \
> ^~~~~~~~~~~
> In file included from /usr/src/lede/staging_dir/toolchain-x86_64_gcc-
> 8.4.0_musl/include/netinet/in.h:9,
> from /usr/src/lede/staging_dir/toolchain-x86_64_gcc-
> 8.4.0_musl/include/netdb.h:9,
> from ../../src/include/platform.h:72,
> from gnunet-rps-profiler.c:27:
> /usr/src/lede/staging_dir/toolchain-x86_64_gcc-
> 8.4.0_musl/include/inttypes.h:81:25: note: format string is defined
> here
> #define PRIu64 __PRI64 "u"
> gnunet-rps-profiler.c: In function 'post_profiler':
> gnunet-rps-profiler.c:2904:41: warning: passing argument 1 of
> 'store_prefix_file_name' makes integer from pointer without a cast [-
> Wint-conversion]
> store_prefix_file_name (rps_peer->peer_id, "stats");
> ~~~~~~~~^~~~~~~~~
> In file included from gnunet-rps-profiler.c:33:
> rps-test_util.h:111:1: note: expected 'unsigned int' but argument is
> of type 'struct GNUNET_PeerIdentity *'
> store_prefix_file_name (const unsigned int index,
> ^~~~~~~~~~~~~~~~~~~~~~
> At top level:
> gnunet-rps-profiler.c:1729:1: warning: 'churn_test_cb' defined but
> not used [-Wunused-function]
> churn_test_cb (struct RPSPeer *rps_peer)
> ^~~~~~~~~~~~~
> gnunet-rps-profiler.c:1684:1: warning: 'mal_cb' defined but not used
> [-Wunused-function]
> mal_cb (struct RPSPeer *rps_peer)
> ^~~~~~
> gnunet-rps-profiler.c:1658:1: warning: 'mal_pre' defined but not used
> [-Wunused-function]
> mal_pre (struct RPSPeer *rps_peer, struct GNUNET_RPS_Handle *h)
> ^~~~~~~
> gnunet-rps-profiler.c:1642:1: warning: 'mal_init_peer' defined but
> not used [-Wunused-function]
> mal_init_peer (struct RPSPeer *rps_peer)
> ^~~~~~~~~~~~~
> gnunet-rps-profiler.c:1235:1: warning: 'seed_peers' defined but not
> used [-Wunused-function]
> seed_peers (void *cls)
> ^~~~~~~~~~
> cc1: some warnings being treated as errors
>
>
>
> On Sat, Nov 14, 2020 at 05:47:34PM +0900, Martin Schanzenbach wrote:
> > We are pleased to announce the release of GNUnet 0.14.0.
> >
> > This is a new major release. It breaks protocol compatibility with
> > the
> > 0.13.x versions. Please be aware that Git master is thus henceforth
> > INCOMPATIBLE with the 0.13.x GNUnet network, and interactions
> > between
> > old and new peers will result in issues. 0.13.x peers will be able
> > to
> > communicate with Git master or 0.13.x peers, but some services - in
> > particular GNS - will not be compatible.
> > In terms of usability, users should be aware that there are still a
> > large 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.14.0 release is still only suitable for early adopters with
> > some
> > reasonable pain tolerance.
> >
> > Download links:
> >
> > http://ftpmirror.gnu.org/gnunet/gnunet-0.14.0.tar.gz
> > http://ftpmirror.gnu.org/gnunet/gnunet-0.14.0.tar.gz.sig
> > http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.14.0.tar.gz
> > http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.14.0.tar.gz.sig
> > http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.14.0.tar.gz
> > http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.14.0.tar.gz.sig
> >
> > The GPG key used to sign is:
> > 3D11063C10F98D14BD24D1470B0998EF86F59B6A
> >
> > Note that due to mirror synchronization, not all links might be
> > functional early after the release. For direct access try
> > http://ftp.gnu.org/gnu/gnunet/
> >
> > Noteworthy changes in 0.14.0 (since 0.13.3)
> >
> > GNS:
> > - Aligned with specification LSD001.
> > - Crypto agility: The GNS protocol now supports other zone types
> > besides ECDSA-based PKEYs. However, the alternative EdDSA-based
> > EDKEY
> > crypto is not yet implemented. #6485
> > - PKEY zones: ECDSA zone record sets are now encrypted using AES-
> > CTR.
> > #6487
> > IDENTITY: Identities can now be created either as ECDSA (default)
> > or
> > EdDSA key pairs.
> > POSTGRESQL: Allow NULL value returns and fix test cases. #6524
> > UTIL: String time conversion functions no longer localized to
> > preserve
> > reversibility. #6615
> > Buildsystem: README updates to clarify runtime/compile/optional
> > dependencies
> > (NEW) MESSENGER: New messenger component (experimental)
> >
> > A detailed list of changes can be found in the ChangeLog and the
> > 0.14.0
> > bugtracker
> > at https://bugs.gnunet.org/changelog_page.php?project_id=13.
> >
> > Known Issues
> >
> > - There are known major design issues in the TRANSPORT, ATS and
> > CORE
> > subsystems which will need to be addressed in the future to achieve
> > acceptable usability, performance and security.
> > - There are known moderate implementation limitations in CADET that
> > negatively impact performance.
> > - There are known moderate design issues in FS that also impact
> > usability and performance.
> > - There are minor implementation limitations in SET that create
> > unnecessary attack surface for availability.
> > - The RPS subsystem remains experimental.
> > - Some high-level tests in the test-suite fail non-
> > deterministically
> > due
> > to the low-level TRANSPORT issues.
> >
> > In addition to this list, you may also want to consult our bug
> > tracker
> > at bugs.gnunet.org which lists about 190 more specific issues.
> >
> > Thanks:
> > This release was the work of many people. The following people
> > contributed code and were thus easily identified: Christian
> > Grothoff,
> > Daniel Golle, t3sserakt, TheJackiMonster and Martin Schanzenbach.
> >
>
>
>
signature.asc
Description: This is a digitally signed message part