diff options
-rw-r--r-- | src/arm/gnunet-service-arm_interceptor.c | 2 | ||||
-rw-r--r-- | src/dht/dht_api.c | 26 | ||||
-rw-r--r-- | src/dht/gnunet-dht-driver.c | 12 | ||||
-rw-r--r-- | src/dht/gnunet-service-dht.c | 1 | ||||
-rw-r--r-- | src/include/gnunet_dht_service.h | 22 |
5 files changed, 42 insertions, 21 deletions
diff --git a/src/arm/gnunet-service-arm_interceptor.c b/src/arm/gnunet-service-arm_interceptor.c index 57650df04..c86530b6f 100644 --- a/src/arm/gnunet-service-arm_interceptor.c +++ b/src/arm/gnunet-service-arm_interceptor.c | |||
@@ -1094,6 +1094,8 @@ createListeningSocket (struct sockaddr *sa, | |||
1094 | sock = GNUNET_NETWORK_socket_create (PF_INET6, SOCK_STREAM, 0); | 1094 | sock = GNUNET_NETWORK_socket_create (PF_INET6, SOCK_STREAM, 0); |
1095 | break; | 1095 | break; |
1096 | case AF_UNIX: | 1096 | case AF_UNIX: |
1097 | if (strcmp(GNUNET_a2s (sa, addr_len), "@") == 0) /* Do not bind to blank UNIX path! */ | ||
1098 | return; | ||
1097 | sock = GNUNET_NETWORK_socket_create (PF_UNIX, SOCK_STREAM, 0); | 1099 | sock = GNUNET_NETWORK_socket_create (PF_UNIX, SOCK_STREAM, 0); |
1098 | break; | 1100 | break; |
1099 | default: | 1101 | default: |
diff --git a/src/dht/dht_api.c b/src/dht/dht_api.c index 820bf35c8..5d3a83d4b 100644 --- a/src/dht/dht_api.c +++ b/src/dht/dht_api.c | |||
@@ -238,8 +238,10 @@ try_connect (struct GNUNET_DHT_Handle *handle) | |||
238 | _("Failed to connect to the DHT service!\n")); | 238 | _("Failed to connect to the DHT service!\n")); |
239 | return GNUNET_NO; | 239 | return GNUNET_NO; |
240 | } | 240 | } |
241 | #if DEBUG_DHT | ||
241 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | 242 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, |
242 | "Starting to process replies from DHT\n"); | 243 | "Starting to process replies from DHT\n"); |
244 | #endif | ||
243 | GNUNET_CLIENT_receive (handle->client, | 245 | GNUNET_CLIENT_receive (handle->client, |
244 | &service_message_handler, | 246 | &service_message_handler, |
245 | handle, | 247 | handle, |
@@ -871,10 +873,13 @@ GNUNET_DHT_find_peers (struct GNUNET_DHT_Handle *handle, | |||
871 | * | 873 | * |
872 | * @param handle handle to the DHT service | 874 | * @param handle handle to the DHT service |
873 | * @param frequency delay between sending malicious messages | 875 | * @param frequency delay between sending malicious messages |
876 | * @param cont continuation to call when done (transmitting request to service) | ||
877 | * @param cont_cls closure for cont | ||
874 | */ | 878 | */ |
875 | void | 879 | void |
876 | GNUNET_DHT_set_malicious_getter (struct GNUNET_DHT_Handle *handle, | 880 | GNUNET_DHT_set_malicious_getter (struct GNUNET_DHT_Handle *handle, |
877 | struct GNUNET_TIME_Relative frequency) | 881 | struct GNUNET_TIME_Relative frequency, GNUNET_SCHEDULER_Task cont, |
882 | void *cont_cls) | ||
878 | { | 883 | { |
879 | if (frequency.rel_value > UINT16_MAX) | 884 | if (frequency.rel_value > UINT16_MAX) |
880 | { | 885 | { |
@@ -883,7 +888,7 @@ GNUNET_DHT_set_malicious_getter (struct GNUNET_DHT_Handle *handle, | |||
883 | } | 888 | } |
884 | send_control_message (handle, | 889 | send_control_message (handle, |
885 | GNUNET_MESSAGE_TYPE_DHT_MALICIOUS_GET, frequency.rel_value, | 890 | GNUNET_MESSAGE_TYPE_DHT_MALICIOUS_GET, frequency.rel_value, |
886 | NULL, NULL); | 891 | cont, cont_cls); |
887 | } | 892 | } |
888 | 893 | ||
889 | /** | 894 | /** |
@@ -892,10 +897,13 @@ GNUNET_DHT_set_malicious_getter (struct GNUNET_DHT_Handle *handle, | |||
892 | * | 897 | * |
893 | * @param handle handle to the DHT service | 898 | * @param handle handle to the DHT service |
894 | * @param frequency delay between sending malicious messages | 899 | * @param frequency delay between sending malicious messages |
900 | * @param cont continuation to call when done (transmitting request to service) | ||
901 | * @param cont_cls closure for cont | ||
895 | */ | 902 | */ |
896 | void | 903 | void |
897 | GNUNET_DHT_set_malicious_putter (struct GNUNET_DHT_Handle *handle, | 904 | GNUNET_DHT_set_malicious_putter (struct GNUNET_DHT_Handle *handle, |
898 | struct GNUNET_TIME_Relative frequency) | 905 | struct GNUNET_TIME_Relative frequency, GNUNET_SCHEDULER_Task cont, |
906 | void *cont_cls) | ||
899 | { | 907 | { |
900 | if (frequency.rel_value > UINT16_MAX) | 908 | if (frequency.rel_value > UINT16_MAX) |
901 | { | 909 | { |
@@ -905,7 +913,7 @@ GNUNET_DHT_set_malicious_putter (struct GNUNET_DHT_Handle *handle, | |||
905 | 913 | ||
906 | send_control_message (handle, | 914 | send_control_message (handle, |
907 | GNUNET_MESSAGE_TYPE_DHT_MALICIOUS_PUT, frequency.rel_value, | 915 | GNUNET_MESSAGE_TYPE_DHT_MALICIOUS_PUT, frequency.rel_value, |
908 | NULL, NULL); | 916 | cont, cont_cls); |
909 | } | 917 | } |
910 | 918 | ||
911 | 919 | ||
@@ -914,13 +922,17 @@ GNUNET_DHT_set_malicious_putter (struct GNUNET_DHT_Handle *handle, | |||
914 | * all requests received. | 922 | * all requests received. |
915 | * | 923 | * |
916 | * @param handle handle to the DHT service | 924 | * @param handle handle to the DHT service |
925 | * @param cont continuation to call when done (transmitting request to service) | ||
926 | * @param cont_cls closure for cont | ||
927 | * | ||
917 | */ | 928 | */ |
918 | void | 929 | void |
919 | GNUNET_DHT_set_malicious_dropper (struct GNUNET_DHT_Handle *handle) | 930 | GNUNET_DHT_set_malicious_dropper (struct GNUNET_DHT_Handle *handle, GNUNET_SCHEDULER_Task cont, |
931 | void *cont_cls) | ||
920 | { | 932 | { |
921 | send_control_message (handle, | 933 | send_control_message (handle, |
922 | GNUNET_MESSAGE_TYPE_DHT_MALICIOUS_DROP, 0, | 934 | GNUNET_MESSAGE_TYPE_DHT_MALICIOUS_DROP, 0, |
923 | NULL, NULL); | 935 | cont, cont_cls); |
924 | } | 936 | } |
925 | 937 | ||
926 | #endif | 938 | #endif |
diff --git a/src/dht/gnunet-dht-driver.c b/src/dht/gnunet-dht-driver.c index c73bf115b..7a1606219 100644 --- a/src/dht/gnunet-dht-driver.c +++ b/src/dht/gnunet-dht-driver.c | |||
@@ -2690,7 +2690,7 @@ continue_puts_and_gets(void *cls, | |||
2690 | */ | 2690 | */ |
2691 | static void | 2691 | static void |
2692 | malicious_disconnect_task(void *cls, | 2692 | malicious_disconnect_task(void *cls, |
2693 | const struct GNUNET_SCHEDULER_TaskContext * tc) | 2693 | const struct GNUNET_SCHEDULER_TaskContext * tc) |
2694 | { | 2694 | { |
2695 | struct MaliciousContext *ctx = cls; | 2695 | struct MaliciousContext *ctx = cls; |
2696 | outstanding_malicious--; | 2696 | outstanding_malicious--; |
@@ -2705,7 +2705,6 @@ malicious_disconnect_task(void *cls, | |||
2705 | { | 2705 | { |
2706 | fprintf (stderr, "Finished setting all malicious peers up!\n"); | 2706 | fprintf (stderr, "Finished setting all malicious peers up!\n"); |
2707 | } | 2707 | } |
2708 | |||
2709 | } | 2708 | } |
2710 | 2709 | ||
2711 | /** | 2710 | /** |
@@ -2753,16 +2752,13 @@ set_malicious(void *cls, const struct GNUNET_SCHEDULER_TaskContext * tc) | |||
2753 | switch (ctx->malicious_type) | 2752 | switch (ctx->malicious_type) |
2754 | { | 2753 | { |
2755 | case GNUNET_MESSAGE_TYPE_DHT_MALICIOUS_GET: | 2754 | case GNUNET_MESSAGE_TYPE_DHT_MALICIOUS_GET: |
2756 | GNUNET_DHT_set_malicious_getter (ctx->dht_handle, malicious_get_frequency); | 2755 | GNUNET_DHT_set_malicious_getter (ctx->dht_handle, malicious_get_frequency, &malicious_done_task, ctx); |
2757 | GNUNET_SCHEDULER_add_now (&malicious_done_task, ctx); | ||
2758 | break; | 2756 | break; |
2759 | case GNUNET_MESSAGE_TYPE_DHT_MALICIOUS_PUT: | 2757 | case GNUNET_MESSAGE_TYPE_DHT_MALICIOUS_PUT: |
2760 | GNUNET_DHT_set_malicious_putter (ctx->dht_handle, malicious_put_frequency); | 2758 | GNUNET_DHT_set_malicious_putter (ctx->dht_handle, malicious_put_frequency, &malicious_done_task, ctx); |
2761 | GNUNET_SCHEDULER_add_now (&malicious_done_task, ctx); | ||
2762 | break; | 2759 | break; |
2763 | case GNUNET_MESSAGE_TYPE_DHT_MALICIOUS_DROP: | 2760 | case GNUNET_MESSAGE_TYPE_DHT_MALICIOUS_DROP: |
2764 | GNUNET_DHT_set_malicious_dropper (ctx->dht_handle); | 2761 | GNUNET_DHT_set_malicious_dropper (ctx->dht_handle, &malicious_done_task, ctx); |
2765 | GNUNET_SCHEDULER_add_now (&malicious_done_task, ctx); | ||
2766 | break; | 2762 | break; |
2767 | default: | 2763 | default: |
2768 | break; | 2764 | break; |
diff --git a/src/dht/gnunet-service-dht.c b/src/dht/gnunet-service-dht.c index f205abbae..c5eded564 100644 --- a/src/dht/gnunet-service-dht.c +++ b/src/dht/gnunet-service-dht.c | |||
@@ -4691,6 +4691,7 @@ handle_dht_control_message (void *cls, struct GNUNET_SERVER_Client *client, | |||
4691 | { | 4691 | { |
4692 | const struct GNUNET_DHT_ControlMessage *dht_control_msg = | 4692 | const struct GNUNET_DHT_ControlMessage *dht_control_msg = |
4693 | (const struct GNUNET_DHT_ControlMessage *) message; | 4693 | (const struct GNUNET_DHT_ControlMessage *) message; |
4694 | |||
4694 | #if DEBUG_DHT | 4695 | #if DEBUG_DHT |
4695 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | 4696 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, |
4696 | "`%s:%s': Received `%s' request from client, command %d\n", | 4697 | "`%s:%s': Received `%s' request from client, command %d\n", |
diff --git a/src/include/gnunet_dht_service.h b/src/include/gnunet_dht_service.h index d4b4d9a4c..e57dd718c 100644 --- a/src/include/gnunet_dht_service.h +++ b/src/include/gnunet_dht_service.h | |||
@@ -384,9 +384,13 @@ GNUNET_DHT_find_peers (struct GNUNET_DHT_Handle *handle, | |||
384 | * all requests received. | 384 | * all requests received. |
385 | * | 385 | * |
386 | * @param handle handle to the DHT service | 386 | * @param handle handle to the DHT service |
387 | * @param cont continuation to call when done (transmitting request to service) | ||
388 | * @param cont_cls closure for cont | ||
389 | * | ||
387 | */ | 390 | */ |
388 | void | 391 | void |
389 | GNUNET_DHT_set_malicious_dropper (struct GNUNET_DHT_Handle *handle); | 392 | GNUNET_DHT_set_malicious_dropper (struct GNUNET_DHT_Handle *handle, GNUNET_SCHEDULER_Task cont, |
393 | void *cont_cls); | ||
390 | 394 | ||
391 | 395 | ||
392 | /** | 396 | /** |
@@ -394,11 +398,14 @@ GNUNET_DHT_set_malicious_dropper (struct GNUNET_DHT_Handle *handle); | |||
394 | * requests every 'frequency' milliseconds. | 398 | * requests every 'frequency' milliseconds. |
395 | * | 399 | * |
396 | * @param handle handle to the DHT service | 400 | * @param handle handle to the DHT service |
397 | * @param frequency delay (in milliseconds) between sending malicious messages | 401 | * @param frequency delay between sending malicious messages |
402 | * @param cont continuation to call when done (transmitting request to service) | ||
403 | * @param cont_cls closure for cont | ||
398 | */ | 404 | */ |
399 | void | 405 | void |
400 | GNUNET_DHT_set_malicious_putter (struct GNUNET_DHT_Handle *handle, | 406 | GNUNET_DHT_set_malicious_putter (struct GNUNET_DHT_Handle *handle, |
401 | struct GNUNET_TIME_Relative frequency); | 407 | struct GNUNET_TIME_Relative frequency, GNUNET_SCHEDULER_Task cont, |
408 | void *cont_cls); | ||
402 | 409 | ||
403 | 410 | ||
404 | /** | 411 | /** |
@@ -407,10 +414,13 @@ GNUNET_DHT_set_malicious_putter (struct GNUNET_DHT_Handle *handle, | |||
407 | * | 414 | * |
408 | * @param handle handle to the DHT service | 415 | * @param handle handle to the DHT service |
409 | * @param frequency delay between sending malicious messages | 416 | * @param frequency delay between sending malicious messages |
417 | * @param cont continuation to call when done (transmitting request to service) | ||
418 | * @param cont_cls closure for cont | ||
410 | */ | 419 | */ |
411 | void | 420 | void |
412 | GNUNET_DHT_set_malicious_getter (struct GNUNET_DHT_Handle *handle, | 421 | GNUNET_DHT_set_malicious_getter (struct GNUNET_DHT_Handle *handle, |
413 | struct GNUNET_TIME_Relative frequency); | 422 | struct GNUNET_TIME_Relative frequency, GNUNET_SCHEDULER_Task cont, |
423 | void *cont_cls); | ||
414 | 424 | ||
415 | 425 | ||
416 | #endif | 426 | #endif |