diff options
Diffstat (limited to 'src/transport/gnunet-service-transport.c')
-rw-r--r-- | src/transport/gnunet-service-transport.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/transport/gnunet-service-transport.c b/src/transport/gnunet-service-transport.c index ec4d82164..124260c41 100644 --- a/src/transport/gnunet-service-transport.c +++ b/src/transport/gnunet-service-transport.c | |||
@@ -541,6 +541,13 @@ client_disconnect_cb (void *cls, | |||
541 | GNUNET_CONTAINER_multipeermap_iterate (active_stccs, | 541 | GNUNET_CONTAINER_multipeermap_iterate (active_stccs, |
542 | &mark_match_down, | 542 | &mark_match_down, |
543 | tc); | 543 | tc); |
544 | for (struct AddressToStringContext *cur = a2s_head; | ||
545 | NULL != cur; | ||
546 | cur = cur->next) | ||
547 | { | ||
548 | if (cur->tc == tc) | ||
549 | cur->tc = NULL; | ||
550 | } | ||
544 | GNUNET_CONTAINER_DLL_remove (clients_head, | 551 | GNUNET_CONTAINER_DLL_remove (clients_head, |
545 | clients_tail, | 552 | clients_tail, |
546 | tc); | 553 | tc); |
@@ -681,6 +688,8 @@ handle_client_hello (void *cls, | |||
681 | { | 688 | { |
682 | struct TransportClient *tc = cls; | 689 | struct TransportClient *tc = cls; |
683 | 690 | ||
691 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, | ||
692 | "Received HELLO message\n"); | ||
684 | GST_validation_handle_hello (message); | 693 | GST_validation_handle_hello (message); |
685 | GNUNET_SERVICE_client_continue (tc->client); | 694 | GNUNET_SERVICE_client_continue (tc->client); |
686 | } | 695 | } |
@@ -864,6 +873,8 @@ transmit_address_to_client (void *cls, | |||
864 | 873 | ||
865 | GNUNET_assert ( (GNUNET_OK == res) || | 874 | GNUNET_assert ( (GNUNET_OK == res) || |
866 | (GNUNET_SYSERR == res) ); | 875 | (GNUNET_SYSERR == res) ); |
876 | if (NULL == actx->tc) | ||
877 | return; | ||
867 | if (NULL == buf) | 878 | if (NULL == buf) |
868 | { | 879 | { |
869 | env = GNUNET_MQ_msg (atsm, | 880 | env = GNUNET_MQ_msg (atsm, |
@@ -878,6 +889,7 @@ transmit_address_to_client (void *cls, | |||
878 | GNUNET_CONTAINER_DLL_remove (a2s_head, | 889 | GNUNET_CONTAINER_DLL_remove (a2s_head, |
879 | a2s_tail, | 890 | a2s_tail, |
880 | actx); | 891 | actx); |
892 | GNUNET_free (actx); | ||
881 | return; | 893 | return; |
882 | } | 894 | } |
883 | if (GNUNET_SYSERR == res) | 895 | if (GNUNET_SYSERR == res) |
@@ -2792,7 +2804,7 @@ run (void *cls, | |||
2792 | GNUNET_assert (NULL != GST_my_private_key); | 2804 | GNUNET_assert (NULL != GST_my_private_key); |
2793 | 2805 | ||
2794 | GNUNET_log(GNUNET_ERROR_TYPE_INFO, | 2806 | GNUNET_log(GNUNET_ERROR_TYPE_INFO, |
2795 | "My identity is `%4s'\n", | 2807 | "My identity is `%s'\n", |
2796 | GNUNET_i2s_full (&GST_my_identity)); | 2808 | GNUNET_i2s_full (&GST_my_identity)); |
2797 | 2809 | ||
2798 | GNUNET_SCHEDULER_add_shutdown (&shutdown_task, | 2810 | GNUNET_SCHEDULER_add_shutdown (&shutdown_task, |