new operation queue for limiting overlay connects
[oweals/gnunet.git] / src / transport / gnunet-service-transport_validation.c
index 2b63d2279ab725e83733efcc2265bf3a5d632743..ab334013dce5d698f559b3cb10206cb61d1ab12c 100644 (file)
@@ -696,7 +696,8 @@ process_peerinfo_hello (void *cls, const struct GNUNET_PeerIdentity *peer,
 void
 GST_validation_start ()
 {
-  validation_map = GNUNET_CONTAINER_multihashmap_create (VALIDATION_MAP_SIZE);
+  validation_map = GNUNET_CONTAINER_multihashmap_create (VALIDATION_MAP_SIZE,
+                                                        GNUNET_NO);
   pnc = GNUNET_PEERINFO_notify (GST_cfg, &process_peerinfo_hello, NULL);
 }
 
@@ -885,7 +886,7 @@ GST_validation_handle_ping (const struct GNUNET_PeerIdentity *sender,
     sig_cache_exp = &no_address_signature_expiration;
   }
 
-  GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
+  GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
               "I am `%s', sending PONG to peer `%s'\n",
              GNUNET_h2s (&GST_my_identity.hashPubKey),
               GNUNET_i2s (sender));
@@ -902,7 +903,7 @@ GST_validation_handle_ping (const struct GNUNET_PeerIdentity *sender,
              sizeof (uint32_t) + sizeof (struct GNUNET_TIME_AbsoluteNBO) +
              alen + slen);
   pong->purpose.purpose = htonl (GNUNET_SIGNATURE_PURPOSE_TRANSPORT_PONG_OWN);
-  pong->challenge = ping->challenge;
+  memcpy (&pong->challenge, &ping->challenge, sizeof (ping->challenge));
   pong->addrlen = htonl (alen + slen);
   memcpy (&pong[1], addr, slen);   /* Copy transport plugin */
 #if KEEP_093_COMPATIBILITY