X-Git-Url: http://git.silcnet.org/gitweb/?a=blobdiff_plain;f=apps%2Fsilcd%2Fpacket_receive.c;h=4e07b0ce40502355bbca0bb2b7f7580e33ee4c71;hb=ad84e8073e747c282e234e14e21a78bad24960cb;hp=4abfcfb86ba5a70f822fd47e9c96b9b3fd5e65cc;hpb=f4bfb2bd7a663acfff720ee901463d370266a9c5;p=silc.git diff --git a/apps/silcd/packet_receive.c b/apps/silcd/packet_receive.c index 4abfcfb8..4e07b0ce 100644 --- a/apps/silcd/packet_receive.c +++ b/apps/silcd/packet_receive.c @@ -1298,9 +1298,14 @@ void silc_server_notify(SilcServer server, if (SILC_IS_LOCAL(server_entry)) break; - /* Free all client entries that this server owns as they will - become invalid now as well. */ - silc_server_remove_clients_by_server(server, server_entry, TRUE); + /* Remove all servers that are originated from this server, and + remove the clients of those servers too. */ + silc_server_remove_servers_by_server(server, server_entry, TRUE); + + /* Remove the clients that this server owns as they will become + invalid now too. */ + silc_server_remove_clients_by_server(server, server_entry, + server_entry, TRUE); silc_server_backup_del(server, server_entry); /* Remove the server entry */