gnunet-developers
[Top][All Lists]
Advanced

[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. 
> > 
> 
> 
> 

Attachment: signature.asc
Description: This is a digitally signed message part


reply via email to

[Prev in Thread] Current Thread [Next in Thread]