diff options
author | Nathan S. Evans <evans@in.tum.de> | 2010-12-08 13:25:09 +0000 |
---|---|---|
committer | Nathan S. Evans <evans@in.tum.de> | 2010-12-08 13:25:09 +0000 |
commit | f5869c466fc7a1b321461e616d918484fe4f1f3b (patch) | |
tree | fc750749f80f4ded7a4423f8da4ca37e4792affb /src/dht/gnunet-service-dht.c | |
parent | 4488723b6053c9afeb4e90c851e156020f1a2a22 (diff) | |
download | gnunet-f5869c466fc7a1b321461e616d918484fe4f1f3b.tar.gz gnunet-f5869c466fc7a1b321461e616d918484fe4f1f3b.zip |
Always log local request starts, even if malicious
Diffstat (limited to 'src/dht/gnunet-service-dht.c')
-rw-r--r-- | src/dht/gnunet-service-dht.c | 39 |
1 files changed, 31 insertions, 8 deletions
diff --git a/src/dht/gnunet-service-dht.c b/src/dht/gnunet-service-dht.c index e3eed09e9..df7c28024 100644 --- a/src/dht/gnunet-service-dht.c +++ b/src/dht/gnunet-service-dht.c | |||
@@ -2333,8 +2333,8 @@ handle_dht_get (const struct GNUNET_MessageHeader *msg, | |||
2333 | else | 2333 | else |
2334 | { | 2334 | { |
2335 | msg_ctx->reply_bf = GNUNET_CONTAINER_bloomfilter_init (end, | 2335 | msg_ctx->reply_bf = GNUNET_CONTAINER_bloomfilter_init (end, |
2336 | bf_size, | 2336 | bf_size, |
2337 | GNUNET_DHT_GET_BLOOMFILTER_K); | 2337 | GNUNET_DHT_GET_BLOOMFILTER_K); |
2338 | } | 2338 | } |
2339 | type = (enum GNUNET_BLOCK_Type) ntohl (get_msg->type); | 2339 | type = (enum GNUNET_BLOCK_Type) ntohl (get_msg->type); |
2340 | #if DEBUG_DHT | 2340 | #if DEBUG_DHT |
@@ -4145,11 +4145,6 @@ handle_dht_local_route_request (void *cls, struct GNUNET_SERVER_Client *client, | |||
4145 | dhtlog_handle->insert_dhtkey (NULL, &dht_msg->key); | 4145 | dhtlog_handle->insert_dhtkey (NULL, &dht_msg->key); |
4146 | #endif | 4146 | #endif |
4147 | 4147 | ||
4148 | if (GNUNET_YES == malicious_dropper) | ||
4149 | { | ||
4150 | GNUNET_SERVER_receive_done (client, GNUNET_OK); | ||
4151 | return; | ||
4152 | } | ||
4153 | memset(&msg_ctx, 0, sizeof(struct DHT_MessageContext)); | 4148 | memset(&msg_ctx, 0, sizeof(struct DHT_MessageContext)); |
4154 | msg_ctx.client = find_active_client (client); | 4149 | msg_ctx.client = find_active_client (client); |
4155 | memcpy(&msg_ctx.key, &dht_msg->key, sizeof(GNUNET_HashCode)); | 4150 | memcpy(&msg_ctx.key, &dht_msg->key, sizeof(GNUNET_HashCode)); |
@@ -4160,6 +4155,7 @@ handle_dht_local_route_request (void *cls, struct GNUNET_SERVER_Client *client, | |||
4160 | msg_ctx.peer = &my_identity; | 4155 | msg_ctx.peer = &my_identity; |
4161 | msg_ctx.importance = DHT_DEFAULT_P2P_IMPORTANCE + 4; /* Make local routing a higher priority */ | 4156 | msg_ctx.importance = DHT_DEFAULT_P2P_IMPORTANCE + 4; /* Make local routing a higher priority */ |
4162 | msg_ctx.timeout = DHT_DEFAULT_P2P_TIMEOUT; | 4157 | msg_ctx.timeout = DHT_DEFAULT_P2P_TIMEOUT; |
4158 | |||
4163 | if (ntohs(enc_msg->type) == GNUNET_MESSAGE_TYPE_DHT_GET) | 4159 | if (ntohs(enc_msg->type) == GNUNET_MESSAGE_TYPE_DHT_GET) |
4164 | increment_stats(STAT_GET_START); | 4160 | increment_stats(STAT_GET_START); |
4165 | else if (ntohs(enc_msg->type) == GNUNET_MESSAGE_TYPE_DHT_PUT) | 4161 | else if (ntohs(enc_msg->type) == GNUNET_MESSAGE_TYPE_DHT_PUT) |
@@ -4167,8 +4163,35 @@ handle_dht_local_route_request (void *cls, struct GNUNET_SERVER_Client *client, | |||
4167 | else if (ntohs(enc_msg->type) == GNUNET_MESSAGE_TYPE_DHT_FIND_PEER) | 4163 | else if (ntohs(enc_msg->type) == GNUNET_MESSAGE_TYPE_DHT_FIND_PEER) |
4168 | increment_stats(STAT_FIND_PEER_START); | 4164 | increment_stats(STAT_FIND_PEER_START); |
4169 | 4165 | ||
4170 | demultiplex_message(enc_msg, &msg_ctx); | 4166 | if (GNUNET_YES == malicious_dropper) |
4167 | { | ||
4168 | if (ntohs(enc_msg->type) == GNUNET_MESSAGE_TYPE_DHT_GET) | ||
4169 | { | ||
4170 | #if DEBUG_DHT_ROUTING | ||
4171 | if ((debug_routes) && (dhtlog_handle != NULL)) | ||
4172 | { | ||
4173 | dhtlog_handle->insert_query (NULL, msg_ctx.unique_id, DHTLOG_GET, | ||
4174 | msg_ctx.hop_count, GNUNET_NO, &my_identity, | ||
4175 | &msg_ctx.key); | ||
4176 | } | ||
4177 | #endif | ||
4178 | } | ||
4179 | else if (ntohs(enc_msg->type) == GNUNET_MESSAGE_TYPE_DHT_PUT) | ||
4180 | { | ||
4181 | #if DEBUG_DHT_ROUTING | ||
4182 | if ((debug_routes) && (dhtlog_handle != NULL)) | ||
4183 | { | ||
4184 | dhtlog_handle->insert_query (NULL, msg_ctx.unique_id, DHTLOG_PUT, | ||
4185 | msg_ctx.hop_count, GNUNET_NO, &my_identity, | ||
4186 | &msg_ctx.key); | ||
4187 | } | ||
4188 | #endif | ||
4189 | } | ||
4190 | GNUNET_SERVER_receive_done (client, GNUNET_OK); | ||
4191 | return; | ||
4192 | } | ||
4171 | 4193 | ||
4194 | demultiplex_message(enc_msg, &msg_ctx); | ||
4172 | GNUNET_SERVER_receive_done (client, GNUNET_OK); | 4195 | GNUNET_SERVER_receive_done (client, GNUNET_OK); |
4173 | 4196 | ||
4174 | } | 4197 | } |