From: Christian Grothoff Date: Fri, 2 Jul 2010 07:21:02 +0000 (+0000) Subject: fixing #1566 X-Git-Tag: initial-import-from-subversion-38251~21095 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=a404d4cf52f5acba297f2638016cb8ed7e77faf9;p=oweals%2Fgnunet.git fixing #1566 --- 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)"),