X-Git-Url: http://git.silcnet.org/gitweb/?a=blobdiff_plain;f=apps%2Fsilcd%2Fpacket_receive.c;h=0725f7e86092c42623bb18a48d328dd106eed8fd;hb=14edb231add4bd112e284ddf650cb6eb655e46a1;hp=525ada9d0d9d57112830a826989048cf698b0467;hpb=e04f754c2f23c5f82c98d3713d6c35cda7a6f2bd;p=silc.git diff --git a/apps/silcd/packet_receive.c b/apps/silcd/packet_receive.c index 525ada9d..0725f7e8 100644 --- a/apps/silcd/packet_receive.c +++ b/apps/silcd/packet_receive.c @@ -3385,6 +3385,8 @@ SILC_SERVER_CMD_FUNC(resume_resolve) silc_server_free_sock_user_data(server, sock, NULL); goto out; } + + client->data.status |= SILC_IDLIST_STATUS_RESUME_RES; } /* Reprocess the packet */ @@ -3492,6 +3494,8 @@ void silc_server_resume_client(SilcServer server, resolve = TRUE; if (!detached_client->nickname) resolve = TRUE; + if (detached_client->data.status & SILC_IDLIST_STATUS_RESUME_RES) + resolve = FALSE; if (resolve) { if (server->server_type == SILC_SERVER && !server->standalone) { @@ -3611,6 +3615,7 @@ void silc_server_resume_client(SilcServer server, silc_idlist_add_data(detached_client, idata); detached_client->data.status |= SILC_IDLIST_STATUS_REGISTERED; detached_client->data.status |= SILC_IDLIST_STATUS_RESUMED; + detached_client->data.status &= ~SILC_IDLIST_STATUS_RESUME_RES; detached_client->mode &= ~SILC_UMODE_DETACHED; server->stat.my_detached--;