From a404d4cf52f5acba297f2638016cb8ed7e77faf9 Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Fri, 2 Jul 2010 07:21:02 +0000 Subject: [PATCH] fixing #1566 --- src/core/gnunet-service-core.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/core/gnunet-service-core.c b/src/core/gnunet-service-core.c index 5a223d70b..b5f608e08 100644 --- a/src/core/gnunet-service-core.c +++ b/src/core/gnunet-service-core.c @@ -3683,10 +3683,13 @@ handle_transport_notify_disconnect (void *cls, return; } GNUNET_break (n->is_connected); - cnm.header.size = htons (sizeof (struct DisconnectNotifyMessage)); - cnm.header.type = htons (GNUNET_MESSAGE_TYPE_CORE_NOTIFY_DISCONNECT); - cnm.peer = *peer; - send_to_all_clients (&cnm.header, GNUNET_YES, GNUNET_CORE_OPTION_SEND_DISCONNECT); + if (n->status == PEER_STATE_KEY_CONFIRMED) + { + cnm.header.size = htons (sizeof (struct DisconnectNotifyMessage)); + cnm.header.type = htons (GNUNET_MESSAGE_TYPE_CORE_NOTIFY_DISCONNECT); + cnm.peer = *peer; + send_to_all_clients (&cnm.header, GNUNET_YES, GNUNET_CORE_OPTION_SEND_DISCONNECT); + } n->is_connected = GNUNET_NO; GNUNET_STATISTICS_update (stats, gettext_noop ("# peers connected (transport)"), -- 2.25.1