From a36444acb47c0ad7cc73fabdc94362e8b6a27aa8 Mon Sep 17 00:00:00 2001 From: Pekka Riikonen Date: Thu, 15 Mar 2001 10:54:13 +0000 Subject: [PATCH] update. --- CHANGES | 5 +++++ apps/silcd/server.c | 6 ++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/CHANGES b/CHANGES index aead67d5..73afc309 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,8 @@ +Thu Mar 15 12:46:58 EET 2001 Pekka Riikonen + + * Fixed fatal bug in failure packet handling. Server ignored + the failiure and thus crashed when it came. + Wed Mar 14 20:37:35 EET 2001 Pekka Riikonen * Added new SILC_CF_LAG_STRICT command flag that strictly forces diff --git a/apps/silcd/server.c b/apps/silcd/server.c index 849fc10b..47a62ddb 100644 --- a/apps/silcd/server.c +++ b/apps/silcd/server.c @@ -1028,7 +1028,8 @@ SILC_TASK_CALLBACK(silc_server_accept_new_connection_second) SILC_LOG_DEBUG(("Start")); - if (protocol->state == SILC_PROTOCOL_STATE_ERROR) { + if (protocol->state == SILC_PROTOCOL_STATE_ERROR || + protocol->state == SILC_PROTOCOL_STATE_FAILURE) { /* Error occured during protocol */ silc_protocol_free(protocol); silc_ske_free_key_material(ctx->keymat); @@ -1126,7 +1127,8 @@ SILC_TASK_CALLBACK(silc_server_accept_new_connection_final) SILC_LOG_DEBUG(("Start")); - if (protocol->state == SILC_PROTOCOL_STATE_ERROR) { + if (protocol->state == SILC_PROTOCOL_STATE_ERROR || + protocol->state == SILC_PROTOCOL_STATE_FAILURE) { /* Error occured during protocol */ silc_protocol_free(protocol); if (ctx->packet) -- 2.24.0