hashing random memory to get a peer identity just does not work
authorNathan S. Evans <evans@in.tum.de>
Mon, 28 Jun 2010 12:45:34 +0000 (12:45 +0000)
committerNathan S. Evans <evans@in.tum.de>
Mon, 28 Jun 2010 12:45:34 +0000 (12:45 +0000)
src/transport/gnunet-service-transport.c

index 4390377a666cac6c0930e94b796c847039fef97d..3cfb088c1627af810a772a34b1eed02e8059c668 100644 (file)
@@ -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)))