aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/transport/gnunet-service-transport.c12
-rw-r--r--src/transport/gnunet-service-transport_neighbours.c11
2 files changed, 6 insertions, 17 deletions
diff --git a/src/transport/gnunet-service-transport.c b/src/transport/gnunet-service-transport.c
index a0ce0980e..6bba8a12d 100644
--- a/src/transport/gnunet-service-transport.c
+++ b/src/transport/gnunet-service-transport.c
@@ -340,7 +340,6 @@ plugin_env_session_end (void *cls, const struct GNUNET_PeerIdentity *peer,
340{ 340{
341 const char *transport_name = cls; 341 const char *transport_name = cls;
342 struct GNUNET_HELLO_Address address; 342 struct GNUNET_HELLO_Address address;
343 int ret;
344 343
345 GNUNET_assert (strlen (transport_name) > 0); 344 GNUNET_assert (strlen (transport_name) > 0);
346 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Session %p to peer `%s' ended \n", 345 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Session %p to peer `%s' ended \n",
@@ -354,13 +353,10 @@ plugin_env_session_end (void *cls, const struct GNUNET_PeerIdentity *peer,
354 address.address = NULL; 353 address.address = NULL;
355 address.address_length = 0; 354 address.address_length = 0;
356 address.transport_name = transport_name; 355 address.transport_name = transport_name;
357 ret = GST_neighbours_session_terminated (peer, session); 356 GST_neighbours_session_terminated (peer, session);
358 if (GNUNET_NO == ret) 357
359 { 358 /* Tell ATS that session has ended */
360 /* This was a session currently not used by 359 GNUNET_ATS_address_destroyed (GST_ats, &address, session);
361 * neighbours so we have to try to destroy it here */
362 GNUNET_ATS_address_destroyed (GST_ats, &address, session);
363 }
364} 360}
365 361
366 362
diff --git a/src/transport/gnunet-service-transport_neighbours.c b/src/transport/gnunet-service-transport_neighbours.c
index 39848f8a3..71245d493 100644
--- a/src/transport/gnunet-service-transport_neighbours.c
+++ b/src/transport/gnunet-service-transport_neighbours.c
@@ -772,16 +772,8 @@ free_address (struct NeighbourAddress *na)
772 { 772 {
773 GST_validation_set_address_use (na->address, na->session, GNUNET_NO, __LINE__); 773 GST_validation_set_address_use (na->address, na->session, GNUNET_NO, __LINE__);
774 GNUNET_ATS_address_in_use (GST_ats, na->address, na->session, GNUNET_NO); 774 GNUNET_ATS_address_in_use (GST_ats, na->address, na->session, GNUNET_NO);
775 GNUNET_ATS_address_destroyed (GST_ats, na->address, na->session);
776 }
777 else
778 {
779 if (NULL != na->address)
780 {
781 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "HACK: destroy address\n");
782 GNUNET_ATS_address_destroyed (GST_ats, na->address, na->session);
783 }
784 } 775 }
776
785 na->ats_active = GNUNET_NO; 777 na->ats_active = GNUNET_NO;
786 if (NULL != na->address) 778 if (NULL != na->address)
787 { 779 {
@@ -2827,6 +2819,7 @@ GST_neighbours_session_terminated (const struct GNUNET_PeerIdentity *peer,
2827 break; 2819 break;
2828 case S_DISCONNECT_FINISHED: 2820 case S_DISCONNECT_FINISHED:
2829 /* neighbour was freed and plugins told to terminate session */ 2821 /* neighbour was freed and plugins told to terminate session */
2822 return GNUNET_NO;
2830 break; 2823 break;
2831 default: 2824 default:
2832 GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Unhandled state `%s' \n",print_state (n->state)); 2825 GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Unhandled state `%s' \n",print_state (n->state));