From: Nathan S. Evans Date: Mon, 28 Jun 2010 12:45:34 +0000 (+0000) Subject: hashing random memory to get a peer identity just does not work X-Git-Tag: initial-import-from-subversion-38251~21142 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=3e7b2390a6a63f38635108d45d9c293e5a2b25d4;p=oweals%2Fgnunet.git hashing random memory to get a peer identity just does not work --- diff --git a/src/transport/gnunet-service-transport.c b/src/transport/gnunet-service-transport.c index 4390377a6..3cfb088c1 100644 --- a/src/transport/gnunet-service-transport.c +++ b/src/transport/gnunet-service-transport.c @@ -3995,9 +3995,7 @@ process_hello (struct TransportPlugin *plugin, gettext_noop ("# HELLOs received for validation"), 1, GNUNET_NO); - GNUNET_CRYPTO_hash (&publicKey, - sizeof (struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded), - &target.hashPubKey); + /* first, check if load is too high */ if (GNUNET_SCHEDULER_get_load (sched, GNUNET_SCHEDULER_PRIORITY_BACKGROUND) > MAX_HELLO_LOAD) @@ -4026,6 +4024,11 @@ process_hello (struct TransportPlugin *plugin, GNUNET_break_op (0); return GNUNET_SYSERR; } + + GNUNET_CRYPTO_hash (&publicKey, + sizeof (struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded), + &target.hashPubKey); + if (0 == memcmp (&my_identity, &target, sizeof (struct GNUNET_PeerIdentity)))