diff options
Diffstat (limited to 'src/transport/gnunet-service-transport.c')
-rw-r--r-- | src/transport/gnunet-service-transport.c | 51 |
1 files changed, 31 insertions, 20 deletions
diff --git a/src/transport/gnunet-service-transport.c b/src/transport/gnunet-service-transport.c index f9946a8e2..2bd608988 100644 --- a/src/transport/gnunet-service-transport.c +++ b/src/transport/gnunet-service-transport.c | |||
@@ -400,34 +400,46 @@ plugin_env_address_change_notification (void *cls, int add_remove, | |||
400 | * from the "TransmitFunction". | 400 | * from the "TransmitFunction". |
401 | * | 401 | * |
402 | * @param cls closure | 402 | * @param cls closure |
403 | * @param peer which peer was the session for | 403 | * @param address which address was the session for |
404 | * @param session which session is being destoyed | 404 | * @param session which session is being destoyed |
405 | */ | 405 | */ |
406 | static void | 406 | static void |
407 | plugin_env_session_end (void *cls, const struct GNUNET_PeerIdentity *peer, | 407 | plugin_env_session_end (void *cls, const struct GNUNET_HELLO_Address *address, |
408 | struct Session *session) | 408 | struct Session *session) |
409 | { | 409 | { |
410 | const char *transport_name = cls; | ||
411 | struct GNUNET_HELLO_Address address; | ||
412 | struct SessionKiller *sk; | 410 | struct SessionKiller *sk; |
413 | 411 | ||
414 | GNUNET_assert(strlen (transport_name) > 0); | 412 | if (NULL == address) |
415 | GNUNET_log(GNUNET_ERROR_TYPE_DEBUG, "Session %p to peer `%s' ended \n", | 413 | { |
416 | session, GNUNET_i2s (peer)); | 414 | GNUNET_break (0); |
417 | if (NULL != session) | 415 | return; |
418 | GNUNET_log_from(GNUNET_ERROR_TYPE_DEBUG | GNUNET_ERROR_TYPE_BULK, | 416 | } |
419 | "transport-ats", "Telling ATS to destroy session %p from peer %s\n", | 417 | |
420 | session, GNUNET_i2s (peer)); | 418 | if (NULL == session) |
421 | 419 | { | |
422 | memset (&address, '\0', sizeof (address)); | 420 | GNUNET_break (0); |
423 | address.peer = *peer; | 421 | return; |
424 | address.address = NULL; | 422 | } |
425 | address.address_length = 0; | 423 | |
426 | address.transport_name = transport_name; | 424 | GNUNET_assert(strlen (address->transport_name) > 0); |
427 | GST_neighbours_session_terminated (peer, session); | 425 | GNUNET_log(GNUNET_ERROR_TYPE_INFO, "Session %p to peer `%s' ended \n", |
426 | session, GNUNET_i2s (&address->peer)); | ||
427 | |||
428 | GNUNET_log(GNUNET_ERROR_TYPE_INFO, | ||
429 | "Notification from plugin `%s' about terminated %ssession %p from peer `%s' address `%s'\n", | ||
430 | address->transport_name, | ||
431 | GNUNET_HELLO_address_check_option (address, | ||
432 | GNUNET_HELLO_ADDRESS_INFO_INBOUND) ? "inbound " : "", session, | ||
433 | GNUNET_i2s (&address->peer), GST_plugins_a2s (address)); | ||
434 | |||
435 | GST_neighbours_session_terminated (&address->peer, session); | ||
436 | |||
437 | GNUNET_log_from(GNUNET_ERROR_TYPE_DEBUG | GNUNET_ERROR_TYPE_BULK, | ||
438 | "transport-ats", "Telling ATS to destroy session %p from peer %s\n", | ||
439 | session, GNUNET_i2s (&address->peer)); | ||
428 | 440 | ||
429 | /* Tell ATS that session has ended */ | 441 | /* Tell ATS that session has ended */ |
430 | GNUNET_ATS_address_destroyed (GST_ats, &address, session); | 442 | GNUNET_ATS_address_destroyed (GST_ats, address, session); |
431 | for (sk = sk_head; NULL != sk; sk = sk->next) | 443 | for (sk = sk_head; NULL != sk; sk = sk->next) |
432 | { | 444 | { |
433 | if (sk->session == session) | 445 | if (sk->session == session) |
@@ -622,7 +634,6 @@ plugin_env_session_start (void *cls, struct GNUNET_HELLO_Address *address, | |||
622 | GNUNET_break(0); | 634 | GNUNET_break(0); |
623 | return; | 635 | return; |
624 | } | 636 | } |
625 | |||
626 | GNUNET_log(GNUNET_ERROR_TYPE_INFO, | 637 | GNUNET_log(GNUNET_ERROR_TYPE_INFO, |
627 | "Notification from plugin `%s' about new %ssession %p from peer `%s' address `%s'\n", | 638 | "Notification from plugin `%s' about new %ssession %p from peer `%s' address `%s'\n", |
628 | address->transport_name, | 639 | address->transport_name, |