From 60edfddecb2efc2b0da70fd79b24ea7207468274 Mon Sep 17 00:00:00 2001 From: Pekka Riikonen Date: Thu, 18 Oct 2001 06:19:23 +0000 Subject: [PATCH] updates. --- CHANGES | 7 +++++++ TODO | 7 ++----- apps/silcd/server_backup.c | 2 ++ apps/silcd/server_util.c | 8 -------- 4 files changed, 11 insertions(+), 13 deletions(-) diff --git a/CHANGES b/CHANGES index 660045cb..e8c36a11 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,10 @@ +Thu Oct 18 09:18:58 EDT 2001 Pekka Riikonen + + * Call the silc_server_udpate_servers_by_server in the + primary router that comes back online in the backup resuming + protocol. Otherwise it routes packets wrong. Affected file + silcd/server_util.[ch], silcd/server_backup.c. + Wed Oct 17 16:51:18 EDT 2001 Pekka Riikonen * Added SILC_STR_UI8_[N]STRING[_ALLOC] formats to the diff --git a/TODO b/TODO index ca95f2e1..2c984a4b 100644 --- a/TODO +++ b/TODO @@ -46,11 +46,8 @@ TODO/bugs In SILC Client Library TODO/bugs In SILC Server ======================== - o After backup resuming protocol some of the server's SilcIDListData - on primary that came back online are NULL. Seems actually that the - udpate_client_by_server does not work since the client->router, and - the client->router->connection->user_data are not same, and they - should be. + o After backup resume protocol the TOPIC_SET was not handled correctly + by all (unknown Channel ID). o Server signoff notifys does not go to normal servers from routers. diff --git a/apps/silcd/server_backup.c b/apps/silcd/server_backup.c index e4064319..423710f9 100644 --- a/apps/silcd/server_backup.c +++ b/apps/silcd/server_backup.c @@ -983,6 +983,8 @@ SILC_TASK_CALLBACK_GLOBAL(silc_server_protocol_backup) /* Switch announced informations to our primary router of using the backup router. */ + silc_server_update_servers_by_server(server, ctx->sock->user_data, + server->router); silc_server_update_clients_by_server(server, ctx->sock->user_data, server->router, TRUE, FALSE); diff --git a/apps/silcd/server_util.c b/apps/silcd/server_util.c index b86abec9..61b7f926 100644 --- a/apps/silcd/server_util.c +++ b/apps/silcd/server_util.c @@ -353,7 +353,6 @@ silc_server_update_clients_by_real_server(SilcServer server, SILC_LOG_DEBUG(("Found (local) %s", silc_id_render(server_entry->id, SILC_ID_SERVER))); -#if 0 if (!server_entry->data.send_key && server_entry->router) { SILC_LOG_DEBUG(("Server not locally connected, use its router")); /* If the client is not marked as local then move it to local list @@ -367,7 +366,6 @@ silc_server_update_clients_by_real_server(SilcServer server, } server_entry = server_entry->router; } else { -#endif /* If the client is not marked as local then move it to local list since the server is local. */ if (server_entry->server_type != SILC_BACKUP_ROUTER && !local) { @@ -377,9 +375,7 @@ silc_server_update_clients_by_real_server(SilcServer server, client_cache->expire); silc_idcache_del_by_context(server->global_list->clients, client); } -#if 0 } -#endif silc_idcache_list_free(list); return server_entry; @@ -404,7 +400,6 @@ silc_server_update_clients_by_real_server(SilcServer server, SILC_LOG_DEBUG(("Found (global) %s", silc_id_render(server_entry->id, SILC_ID_SERVER))); -#if 0 if (!server_entry->data.send_key && server_entry->router) { SILC_LOG_DEBUG(("Server not locally connected, use its router")); /* If the client is marked as local then move it to global list @@ -418,7 +413,6 @@ silc_server_update_clients_by_real_server(SilcServer server, } server_entry = server_entry->router; } else { -#endif /* If the client is marked as local then move it to global list since the server is global. */ if (server_entry->server_type != SILC_BACKUP_ROUTER && local) { @@ -428,9 +422,7 @@ silc_server_update_clients_by_real_server(SilcServer server, client_cache->expire); silc_idcache_del_by_context(server->local_list->clients, client); } -#if 0 } -#endif silc_idcache_list_free(list); return server_entry; -- 2.24.0