diff options
author | Christian Grothoff <christian@grothoff.org> | 2016-04-09 23:14:03 +0000 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2016-04-09 23:14:03 +0000 |
commit | 29e6158507a0758192075ac6ece7ba8e75ddc49a (patch) | |
tree | b91ded48da322f8ba4c9bb0f5504228aa036c2d1 /src/transport/gnunet-service-transport_blacklist.c | |
parent | 5dfcb058ab5db9ae0c4b147d8a99c64ca0980028 (diff) | |
download | gnunet-29e6158507a0758192075ac6ece7ba8e75ddc49a.tar.gz gnunet-29e6158507a0758192075ac6ece7ba8e75ddc49a.zip |
small API change: do no longer pass rarely needed GNUNET_SCHEDULER_TaskContext to all scheduler tasks; instead, allow the relatively few tasks that need it to obtain the context via GNUNET_SCHEDULER_get_task_context()
Diffstat (limited to 'src/transport/gnunet-service-transport_blacklist.c')
-rw-r--r-- | src/transport/gnunet-service-transport_blacklist.c | 36 |
1 files changed, 16 insertions, 20 deletions
diff --git a/src/transport/gnunet-service-transport_blacklist.c b/src/transport/gnunet-service-transport_blacklist.c index 14375fce4..ea5644390 100644 --- a/src/transport/gnunet-service-transport_blacklist.c +++ b/src/transport/gnunet-service-transport_blacklist.c | |||
@@ -205,11 +205,9 @@ static struct GNUNET_CONTAINER_MultiPeerMap *blacklist; | |||
205 | * Perform next action in the blacklist check. | 205 | * Perform next action in the blacklist check. |
206 | * | 206 | * |
207 | * @param cls the `struct BlacklistCheck*` | 207 | * @param cls the `struct BlacklistCheck*` |
208 | * @param tc unused | ||
209 | */ | 208 | */ |
210 | static void | 209 | static void |
211 | do_blacklist_check (void *cls, | 210 | do_blacklist_check (void *cls); |
212 | const struct GNUNET_SCHEDULER_TaskContext *tc); | ||
213 | 211 | ||
214 | 212 | ||
215 | /** | 213 | /** |
@@ -395,7 +393,7 @@ GST_blacklist_stop () | |||
395 | * @return number of bytes copied to @a buf | 393 | * @return number of bytes copied to @a buf |
396 | */ | 394 | */ |
397 | static size_t | 395 | static size_t |
398 | transmit_blacklist_message (void *cls, | 396 | transmit_blacklist_message (void *cls, |
399 | size_t size, | 397 | size_t size, |
400 | void *buf) | 398 | void *buf) |
401 | { | 399 | { |
@@ -416,7 +414,7 @@ transmit_blacklist_message (void *cls, | |||
416 | } | 414 | } |
417 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | 415 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, |
418 | "Sending blacklist test for peer `%s' to client %p\n", | 416 | "Sending blacklist test for peer `%s' to client %p\n", |
419 | GNUNET_i2s (&bc->peer), | 417 | GNUNET_i2s (&bc->peer), |
420 | bc->bl_pos->client); | 418 | bc->bl_pos->client); |
421 | bl = bc->bl_pos; | 419 | bl = bc->bl_pos; |
422 | bm.header.size = htons (sizeof (struct BlacklistMessage)); | 420 | bm.header.size = htons (sizeof (struct BlacklistMessage)); |
@@ -424,7 +422,7 @@ transmit_blacklist_message (void *cls, | |||
424 | bm.is_allowed = htonl (0); | 422 | bm.is_allowed = htonl (0); |
425 | bm.peer = bc->peer; | 423 | bm.peer = bc->peer; |
426 | memcpy (buf, | 424 | memcpy (buf, |
427 | &bm, | 425 | &bm, |
428 | sizeof (bm)); | 426 | sizeof (bm)); |
429 | if (GNUNET_YES == bl->call_receive_done) | 427 | if (GNUNET_YES == bl->call_receive_done) |
430 | { | 428 | { |
@@ -442,11 +440,9 @@ transmit_blacklist_message (void *cls, | |||
442 | * Perform next action in the blacklist check. | 440 | * Perform next action in the blacklist check. |
443 | * | 441 | * |
444 | * @param cls the `struct GST_BlacklistCheck *` | 442 | * @param cls the `struct GST_BlacklistCheck *` |
445 | * @param tc unused | ||
446 | */ | 443 | */ |
447 | static void | 444 | static void |
448 | do_blacklist_check (void *cls, | 445 | do_blacklist_check (void *cls) |
449 | const struct GNUNET_SCHEDULER_TaskContext *tc) | ||
450 | { | 446 | { |
451 | struct GST_BlacklistCheck *bc = cls; | 447 | struct GST_BlacklistCheck *bc = cls; |
452 | struct Blacklisters *bl; | 448 | struct Blacklisters *bl; |
@@ -459,7 +455,7 @@ do_blacklist_check (void *cls, | |||
459 | "No other blacklist clients active, will allow neighbour `%s'\n", | 455 | "No other blacklist clients active, will allow neighbour `%s'\n", |
460 | GNUNET_i2s (&bc->peer)); | 456 | GNUNET_i2s (&bc->peer)); |
461 | 457 | ||
462 | bc->cont (bc->cont_cls, | 458 | bc->cont (bc->cont_cls, |
463 | &bc->peer, | 459 | &bc->peer, |
464 | bc->address, | 460 | bc->address, |
465 | bc->session, | 461 | bc->session, |
@@ -475,7 +471,7 @@ do_blacklist_check (void *cls, | |||
475 | GNUNET_SERVER_notify_transmit_ready (bl->client, | 471 | GNUNET_SERVER_notify_transmit_ready (bl->client, |
476 | sizeof (struct BlacklistMessage), | 472 | sizeof (struct BlacklistMessage), |
477 | GNUNET_TIME_UNIT_FOREVER_REL, | 473 | GNUNET_TIME_UNIT_FOREVER_REL, |
478 | &transmit_blacklist_message, | 474 | &transmit_blacklist_message, |
479 | bc); | 475 | bc); |
480 | } | 476 | } |
481 | 477 | ||
@@ -501,7 +497,7 @@ confirm_or_drop_neighbour (void *cls, | |||
501 | if (GNUNET_OK == allowed) | 497 | if (GNUNET_OK == allowed) |
502 | return; /* we're done */ | 498 | return; /* we're done */ |
503 | GNUNET_STATISTICS_update (GST_stats, | 499 | GNUNET_STATISTICS_update (GST_stats, |
504 | gettext_noop ("# disconnects due to blacklist"), | 500 | gettext_noop ("# disconnects due to blacklist"), |
505 | 1, | 501 | 1, |
506 | GNUNET_NO); | 502 | GNUNET_NO); |
507 | GST_neighbours_force_disconnect (peer); | 503 | GST_neighbours_force_disconnect (peer); |
@@ -666,7 +662,7 @@ GST_blacklist_handle_reply (void *cls, | |||
666 | GNUNET_CONTAINER_DLL_remove (bc_head, | 662 | GNUNET_CONTAINER_DLL_remove (bc_head, |
667 | bc_tail, | 663 | bc_tail, |
668 | bc); | 664 | bc); |
669 | bc->cont (bc->cont_cls, | 665 | bc->cont (bc->cont_cls, |
670 | &bc->peer, | 666 | &bc->peer, |
671 | bc->address, | 667 | bc->address, |
672 | bc->session, | 668 | bc->session, |
@@ -687,7 +683,7 @@ GST_blacklist_handle_reply (void *cls, | |||
687 | GNUNET_OK); | 683 | GNUNET_OK); |
688 | bl->call_receive_done = GNUNET_NO; | 684 | bl->call_receive_done = GNUNET_NO; |
689 | bc->bl_pos = bl->next; | 685 | bc->bl_pos = bl->next; |
690 | bc->task = GNUNET_SCHEDULER_add_now (&do_blacklist_check, | 686 | bc->task = GNUNET_SCHEDULER_add_now (&do_blacklist_check, |
691 | bc); | 687 | bc); |
692 | } | 688 | } |
693 | } | 689 | } |
@@ -695,7 +691,7 @@ GST_blacklist_handle_reply (void *cls, | |||
695 | for (bc = bc_head; bc != NULL; bc = bc->next) | 691 | for (bc = bc_head; bc != NULL; bc = bc->next) |
696 | if ((bc->bl_pos == bl) && (NULL == bc->task)) | 692 | if ((bc->bl_pos == bl) && (NULL == bc->task)) |
697 | { | 693 | { |
698 | bc->task = GNUNET_SCHEDULER_add_now (&do_blacklist_check, | 694 | bc->task = GNUNET_SCHEDULER_add_now (&do_blacklist_check, |
699 | bc); | 695 | bc); |
700 | break; | 696 | break; |
701 | } | 697 | } |
@@ -749,7 +745,7 @@ GST_blacklist_abort_matching (const struct GNUNET_HELLO_Address *address, | |||
749 | struct GST_BlacklistCheck *bc; | 745 | struct GST_BlacklistCheck *bc; |
750 | struct GST_BlacklistCheck *n; | 746 | struct GST_BlacklistCheck *n; |
751 | 747 | ||
752 | n = bc_head; | 748 | n = bc_head; |
753 | while (NULL != (bc = n)) | 749 | while (NULL != (bc = n)) |
754 | { | 750 | { |
755 | n = bc->next; | 751 | n = bc->next; |
@@ -853,15 +849,15 @@ GST_blacklist_test_allowed (const struct GNUNET_PeerIdentity *peer, | |||
853 | /* Disallowed by config, disapprove instantly */ | 849 | /* Disallowed by config, disapprove instantly */ |
854 | GNUNET_STATISTICS_update (GST_stats, | 850 | GNUNET_STATISTICS_update (GST_stats, |
855 | gettext_noop ("# disconnects due to blacklist"), | 851 | gettext_noop ("# disconnects due to blacklist"), |
856 | 1, | 852 | 1, |
857 | GNUNET_NO); | 853 | GNUNET_NO); |
858 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, | 854 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, |
859 | _("Disallowing connection to peer `%s' on transport %s\n"), | 855 | _("Disallowing connection to peer `%s' on transport %s\n"), |
860 | GNUNET_i2s (peer), | 856 | GNUNET_i2s (peer), |
861 | (NULL != transport_name) ? transport_name : "unspecified"); | 857 | (NULL != transport_name) ? transport_name : "unspecified"); |
862 | if (NULL != cont) | 858 | if (NULL != cont) |
863 | cont (cont_cls, | 859 | cont (cont_cls, |
864 | peer, | 860 | peer, |
865 | address, | 861 | address, |
866 | session, | 862 | session, |
867 | GNUNET_NO); | 863 | GNUNET_NO); |
@@ -886,7 +882,7 @@ GST_blacklist_test_allowed (const struct GNUNET_PeerIdentity *peer, | |||
886 | 882 | ||
887 | /* need to query blacklist clients */ | 883 | /* need to query blacklist clients */ |
888 | bc = GNUNET_new (struct GST_BlacklistCheck); | 884 | bc = GNUNET_new (struct GST_BlacklistCheck); |
889 | GNUNET_CONTAINER_DLL_insert (bc_head, | 885 | GNUNET_CONTAINER_DLL_insert (bc_head, |
890 | bc_tail, | 886 | bc_tail, |
891 | bc); | 887 | bc); |
892 | bc->peer = *peer; | 888 | bc->peer = *peer; |