X-Git-Url: http://git.silcnet.org/gitweb/?a=blobdiff_plain;f=apps%2Fsilcd%2Fpacket_receive.c;fp=apps%2Fsilcd%2Fpacket_receive.c;h=afdc1a622ecb6bb0111bf3adb6dd6ada4be16ba5;hb=31b9c6e9ceffe13a84659d337e35f7a5960ac6d9;hp=42085c6f54386e543886cd501b15246d3b1cf374;hpb=2d0cb701c5d5b26c424fb067a71201eafa042b34;p=silc.git diff --git a/apps/silcd/packet_receive.c b/apps/silcd/packet_receive.c index 42085c6f..afdc1a62 100644 --- a/apps/silcd/packet_receive.c +++ b/apps/silcd/packet_receive.c @@ -3059,7 +3059,8 @@ void silc_server_resume_client(SilcServer server, /* As router we must deliver this packet directly to the original server whom this client was earlier. */ - if (server->server_type == SILC_ROUTER && detached_client->router) + if (server->server_type == SILC_ROUTER && detached_client->router && + detached_client->router->server_type != SILC_ROUTER) silc_server_packet_send(server, detached_client->router->connection, SILC_PACKET_RESUME_CLIENT, 0, buf->data, buf->len, TRUE); @@ -3253,6 +3254,11 @@ void silc_server_resume_client(SilcServer server, } } + if (server->server_type == SILC_ROUTER && + sock->type == SILC_SOCKET_TYPE_ROUTER && + server_entry->server_type == SILC_ROUTER) + local = FALSE; + SILC_LOG_DEBUG(("Resuming detached client")); /* Change the client to correct list. */