From: Pekka Riikonen Date: Tue, 17 Dec 2002 09:40:35 +0000 (+0000) Subject: Process SERVER_SIGNOFF for local entry only on backup router. X-Git-Tag: silc.client.0.9.11~18 X-Git-Url: http://git.silcnet.org/gitweb/?p=silc.git;a=commitdiff_plain;h=8b8c03cfc36e986392408edd4a77be9c7c8f409e Process SERVER_SIGNOFF for local entry only on backup router. --- diff --git a/apps/silcd/packet_receive.c b/apps/silcd/packet_receive.c index 1fa6f752..e49fafb5 100644 --- a/apps/silcd/packet_receive.c +++ b/apps/silcd/packet_receive.c @@ -1309,15 +1309,17 @@ void silc_server_notify(SilcServer server, /* For local entrys SERVER_SIGNOFF is processed only on backup router. It is possible that router sends server signoff for a server. If backup router has it as local connection it will be closed. */ - if (SILC_IS_LOCAL(server_entry) && - server->server_type == SILC_BACKUP_ROUTER) { - sock = server_entry->connection; - SILC_LOG_DEBUG(("Closing connection %s after SERVER_SIGNOFF", - sock->hostname)); - SILC_SET_DISCONNECTING(sock); - if (sock->user_data) - silc_server_free_sock_user_data(server, sock, NULL); - silc_server_close_connection(server, sock); + if (SILC_IS_LOCAL(server_entry)) { + if (server->server_type == SILC_BACKUP_ROUTER) { + sock = server_entry->connection; + SILC_LOG_DEBUG(("Closing connection %s after SERVER_SIGNOFF", + sock->hostname)); + SILC_SET_DISCONNECTING(sock); + if (sock->user_data) + silc_server_free_sock_user_data(server, sock, NULL); + silc_server_close_connection(server, sock); + } + break; }