From 53f46f12270d625c223bcd7883c6c2f9240408a4 Mon Sep 17 00:00:00 2001 From: Pekka Riikonen Date: Sun, 6 Oct 2002 14:00:14 +0000 Subject: [PATCH] Automatically reconnect to backup router (on normal server) if connection is lost. --- CHANGES | 3 +++ TODO | 3 --- apps/silcd/server.c | 8 ++++++++ 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/CHANGES b/CHANGES index e19def6d..a110310c 100644 --- a/CHANGES +++ b/CHANGES @@ -9,6 +9,9 @@ Sun Oct 6 16:48:32 EEST 2002 Pekka Riikonen Save now also the port of the server/router and use that in comparison as well. Affected file silcd/server_backup.c. + * Normal server now reconnects to backup router automatically + if connection is lost to it. Affected file silcd/server.c. + Thu Sep 26 13:51:02 CEST 2002 Pekka Riikonen * If packet processing fails (like integrity check fails) diff --git a/TODO b/TODO index e59cf674..165c657f 100644 --- a/TODO +++ b/TODO @@ -30,9 +30,6 @@ TODO/bugs In SILC Client Library TODO/bugs In SILC Server ======================== - o Normal server doesn't reconnect to backup router if connection was - lost. - o Add support for the in WHOIS. Sending and reception, with clients and servers should be added. diff --git a/apps/silcd/server.c b/apps/silcd/server.c index 0a67cbc0..b47652d2 100644 --- a/apps/silcd/server.c +++ b/apps/silcd/server.c @@ -3159,6 +3159,14 @@ void silc_server_free_sock_user_data(SilcServer server, /* Mark this connection as replaced */ silc_server_backup_replaced_add(server, user_data->id, backup_router); + } else if (server->server_type == SILC_SERVER && + sock->type == SILC_SOCKET_TYPE_ROUTER) { + /* Reconnect to the router (backup) */ + silc_schedule_task_add(server->schedule, 0, + silc_server_connect_to_router, + server, 1, 0, + SILC_TASK_TIMEOUT, + SILC_TASK_PRI_NORMAL); } if (!backup_router) { -- 2.24.0