From: Pekka Riikonen Date: Fri, 2 Jan 2004 21:59:50 +0000 (+0000) Subject: Remove server entry correctly in case of error in rekey protocol. X-Git-Tag: silc.server.0.9.16~2 X-Git-Url: http://git.silcnet.org/gitweb/?a=commitdiff_plain;h=f430dd563a36eddaa26193b3f03db0810ce22b66;p=silc.git Remove server entry correctly in case of error in rekey protocol. --- diff --git a/apps/silcd/server.c b/apps/silcd/server.c index b4efed26..d8fd164c 100644 --- a/apps/silcd/server.c +++ b/apps/silcd/server.c @@ -4,7 +4,7 @@ Author: Pekka Riikonen - Copyright (C) 1997 - 2003 Pekka Riikonen + Copyright (C) 1997 - 2004 Pekka Riikonen This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -5422,6 +5422,8 @@ SILC_TASK_CALLBACK(silc_server_rekey_timeout) /* Disconnect since we failed to rekey, the keys are probably wrong. */ silc_server_disconnect_remote(server, sock, SILC_STATUS_ERR_KEY_EXCHANGE_FAILED, NULL); + if (sock->user_data) + silc_server_free_sock_user_data(server, sock, NULL); /* Reconnect */ if (sock->type != SILC_SOCKET_TYPE_CLIENT) @@ -5530,6 +5532,8 @@ SILC_TASK_CALLBACK_GLOBAL(silc_server_rekey_final) silc_free(ctx); silc_server_disconnect_remote(server, sock, SILC_STATUS_ERR_KEY_EXCHANGE_FAILED, NULL); + if (sock->user_data) + silc_server_free_sock_user_data(server, sock, NULL); /* Reconnect */ if (sock->type != SILC_SOCKET_TYPE_CLIENT)