From 8b8c03cfc36e986392408edd4a77be9c7c8f409e Mon Sep 17 00:00:00 2001 From: Pekka Riikonen Date: Tue, 17 Dec 2002 09:40:35 +0000 Subject: [PATCH] Process SERVER_SIGNOFF for local entry only on backup router. --- apps/silcd/packet_receive.c | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) 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; } -- 2.43.0