gnunet-svn
[Top][All Lists]
Advanced

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

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


From: gnunet
Subject: [GNUnet-SVN] r13821 - gnunet/src/dht
Date: Mon, 29 Nov 2010 14:06:01 +0100

Author: nevans
Date: 2010-11-29 14:06:01 +0100 (Mon, 29 Nov 2010)
New Revision: 13821

Modified:
   gnunet/src/dht/gnunet-dht-driver.c
   gnunet/src/dht/gnunet-service-dht.c
Log:
more efficient malicious behavior (discard messages earlier)

Modified: gnunet/src/dht/gnunet-dht-driver.c
===================================================================
--- gnunet/src/dht/gnunet-dht-driver.c  2010-11-28 23:17:14 UTC (rev 13820)
+++ gnunet/src/dht/gnunet-dht-driver.c  2010-11-29 13:06:01 UTC (rev 13821)
@@ -3088,7 +3088,7 @@
   trial_info.gets = num_gets;
   trial_info.concurrent = max_outstanding_gets;
   trial_info.settle_time = settle_time;
-  trial_info.num_rounds = 1;
+  trial_info.num_rounds = total_rounds;
   trial_info.malicious_getters = malicious_getters;
   trial_info.malicious_putters = malicious_putters;
   trial_info.malicious_droppers = malicious_droppers;

Modified: gnunet/src/dht/gnunet-service-dht.c
===================================================================
--- gnunet/src/dht/gnunet-service-dht.c 2010-11-28 23:17:14 UTC (rev 13820)
+++ gnunet/src/dht/gnunet-service-dht.c 2010-11-29 13:06:01 UTC (rev 13821)
@@ -4143,6 +4143,12 @@
   if (dhtlog_handle != NULL)
     dhtlog_handle->insert_dhtkey (NULL, &dht_msg->key);
 #endif
+
+  if (GNUNET_YES == malicious_dropper)
+    {
+      GNUNET_SERVER_receive_done (client, GNUNET_OK);
+      return;
+    }
   memset(&msg_ctx, 0, sizeof(struct DHT_MessageContext));
   msg_ctx.client = find_active_client (client);
   memcpy(&msg_ctx.key, &dht_msg->key, sizeof(GNUNET_HashCode));
@@ -4222,7 +4228,7 @@
       dhtlog_handle->set_malicious(&my_identity);
 #endif
     malicious_dropper = GNUNET_YES;
-    GNUNET_log(GNUNET_ERROR_TYPE_DEBUG,
+    GNUNET_log(GNUNET_ERROR_TYPE_WARNING,
               "%s:%s Initiating malicious DROP behavior\n", my_short_id, 
"DHT");
     break;
 #endif
@@ -4313,6 +4319,21 @@
       return GNUNET_YES;
     }
 
+  if (malicious_dropper == GNUNET_YES)
+    {
+#if DEBUG_DHT_ROUTING
+      if ((debug_routes_extended) && (dhtlog_handle != NULL))
+        {
+          /** Log routes that die due to high load! */
+          dhtlog_handle->insert_route (NULL, 
GNUNET_ntohll(incoming->unique_id), DHTLOG_ROUTE,
+                                       ntohl(incoming->hop_count), 
GNUNET_SYSERR,
+                                       &my_identity, &incoming->key, peer,
+                                       NULL);
+        }
+#endif
+      return GNUNET_YES;
+    }
+
   if (get_max_send_delay().rel_value > MAX_REQUEST_TIME.rel_value)
   {
     GNUNET_log(GNUNET_ERROR_TYPE_DEBUG, "Sending of previous replies took too 
long, backing off!\n");
@@ -4376,6 +4397,21 @@
       return GNUNET_YES;
     }
 
+  if (malicious_dropper == GNUNET_YES)
+    {
+#if DEBUG_DHT_ROUTING
+      if ((debug_routes_extended) && (dhtlog_handle != NULL))
+        {
+          /** Log routes that die due to high load! */
+          dhtlog_handle->insert_route (NULL, 
GNUNET_ntohll(incoming->unique_id), DHTLOG_ROUTE,
+                                       ntohl(incoming->hop_count), 
GNUNET_SYSERR,
+                                       &my_identity, &incoming->key, peer,
+                                       NULL);
+        }
+#endif
+      return GNUNET_YES;
+    }
+
   memset(&msg_ctx, 0, sizeof(struct DHT_MessageContext));
   // FIXME: call GNUNET_BLOCK_evaluate (...) -- instead of doing your own 
bloomfilter!
   msg_ctx.bloom = GNUNET_CONTAINER_bloomfilter_init(incoming->bloomfilter, 
DHT_BLOOM_SIZE, DHT_BLOOM_K);




reply via email to

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