detached_client->mode &= ~SILC_UMODE_DETACHED;
server->stat.my_detached--;
+ /* Check if anyone is watching this client */
+ if (server->server_type == SILC_ROUTER)
+ silc_server_check_watcher_list(server, detached_client, NULL,
+ SILC_NOTIFY_TYPE_UMODE_CHANGE);
+
/* Send the RESUME_CLIENT packet to our primary router so that others
know this client isn't detached anymore. */
buf = silc_buffer_alloc_size(2 + id_len);
detached_client->data.status &= ~SILC_IDLIST_STATUS_LOCAL;
id_cache->expire = 0;
+ /* Check if anyone is watching this client */
+ if (server->server_type == SILC_ROUTER)
+ silc_server_check_watcher_list(server, detached_client, NULL,
+ SILC_NOTIFY_TYPE_UMODE_CHANGE);
+
silc_schedule_task_del_by_context(server->schedule, detached_client);
/* Get the new owner of the resumed client */