gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r16776 - gnunet/src/dht


From: gnunet
Subject: [GNUnet-SVN] r16776 - gnunet/src/dht
Date: Tue, 13 Sep 2011 05:02:18 +0200

Author: bartpolot
Date: 2011-09-13 05:02:18 +0200 (Tue, 13 Sep 2011)
New Revision: 16776

Modified:
   gnunet/src/dht/gnunet-service-dht.c
Log:
Changed behavior not to crash on external data

Modified: gnunet/src/dht/gnunet-service-dht.c
===================================================================
--- gnunet/src/dht/gnunet-service-dht.c 2011-09-12 22:25:04 UTC (rev 16775)
+++ gnunet/src/dht/gnunet-service-dht.c 2011-09-13 03:02:18 UTC (rev 16776)
@@ -3748,8 +3748,6 @@
 
   current_size = GNUNET_CONTAINER_multihashmap_size (forward_list.hashmap);
 
-  GNUNET_log(GNUNET_ERROR_TYPE_ERROR, 
"******************************************************** GET %s\n", 
GNUNET_h2s_full(&msg_ctx->key));
-
 #if DELETE_WHEN_FULL
   while (current_size >= MAX_OUTSTANDING_FORWARDS)
   {
@@ -4609,7 +4607,7 @@
     msg_ctx.path_history_len = 1;
   }
   msg_ctx.network_size = estimate_diameter ();
-  msg_ctx.peer = &my_identity; /* FIXME NULL? Fix doxygen? */
+  msg_ctx.peer = &my_identity; /* FIXME bart NULL? Fix doxygen? */
   msg_ctx.importance = DHT_DEFAULT_P2P_IMPORTANCE + 4;  /* Make local routing 
a higher priority */
   msg_ctx.timeout = DHT_DEFAULT_P2P_TIMEOUT;
 
@@ -4871,9 +4869,17 @@
     path_size =
         ntohl (incoming->outgoing_path_length) *
         sizeof (struct GNUNET_PeerIdentity);
-    GNUNET_assert (ntohs (message->size) ==
-                   (sizeof (struct GNUNET_DHT_P2PRouteMessage) +
-                    ntohs (enc_msg->size) + path_size));
+    /* FIXME bart: assert? remote peer can kill DHT sending malformed packets! 
*/
+//     GNUNET_assert (ntohs (message->size) ==
+//                    (sizeof (struct GNUNET_DHT_P2PRouteMessage) +
+//                     ntohs (enc_msg->size) + path_size));
+    if (ntohs (message->size) !=
+          (sizeof (struct GNUNET_DHT_P2PRouteMessage) +
+          ntohs (enc_msg->size) + path_size))
+    {
+      GNUNET_break_op(0);
+      return GNUNET_YES; /* FIXME bart GNUNET_NO? */
+    }
     route_path = (char *) &incoming[1];
     route_path = route_path + ntohs (enc_msg->size);
     msg_ctx->path_history =




reply via email to

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