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