X-Git-Url: http://git.silcnet.org/gitweb/?p=silc.git;a=blobdiff_plain;f=apps%2Fsilcd%2Fpacket_receive.c;h=cef910174d70058077bdb206a7eed7e4719626fd;hp=0717c8ca0f6cff1ff1b729e848cf0481969d5e25;hb=3b3c092203bf23dfe665739a9916d43415bab056;hpb=afb45ac59c311422e6724e31be2013e46cee908a diff --git a/apps/silcd/packet_receive.c b/apps/silcd/packet_receive.c index 0717c8ca..cef91017 100644 --- a/apps/silcd/packet_receive.c +++ b/apps/silcd/packet_receive.c @@ -1805,8 +1805,11 @@ static void silc_server_new_id_real(SilcServer server, router_sock = sock; router = sock->user_data; + /* If the sender is backup router and ID is server (and we are not + backup router) then switch the entry to global list. */ if (server_entry->server_type == SILC_BACKUP_ROUTER && - id_type == SILC_ID_SERVER) { + id_type == SILC_ID_SERVER && + server->id_entry->server_type != SILC_BACKUP_ROUTER) { id_list = server->global_list; router_sock = server->router ? server->router->connection : sock; }