updates.
authorPekka Riikonen <priikone@silcnet.org>
Thu, 16 May 2002 11:59:51 +0000 (11:59 +0000)
committerPekka Riikonen <priikone@silcnet.org>
Thu, 16 May 2002 11:59:51 +0000 (11:59 +0000)
CHANGES
apps/silcd/idlist.c

diff --git a/CHANGES b/CHANGES
index e57f70b09e0d96e617931fbfded1f4987e0e599e..502105a61922889b0de99bad220bd395caea85d7 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -7,6 +7,10 @@ Thu May 16 13:05:13 CEST 2002 Pekka Riikonen <priikone@silcnet.org>
          is KILLED, SERVER_SIGNOFF or SIGNOFF.  Affected file is
          lib/silcclient/client_notify.c.
 
+       * Check the watcher list before and after changing nickname
+         when the NICK_CHANGE notify is received.  Affected file is
+         silcd/idlist.c.
+
 Wed May 15 19:01:42 EEST 2002 Pekka Riikonen <priikone@silcnet.org>
 
        * Merged with Irssi CVS for Irssi SILC client.
index 9503742f82e7c66fb08d48536047bf608d2ca01e..d442718c4a60a88076fc6427df04d41c853baad7 100644 (file)
@@ -526,7 +526,7 @@ silc_idlist_replace_client_id(SilcServer server,
   if (!silc_idcache_del_by_context(id_list->clients, client))
     return NULL;
 
-  /* Check if anyone is watching this nickname */
+  /* Check if anyone is watching old nickname */
   if (server->server_type == SILC_ROUTER)
     silc_server_check_watcher_list(server, client, nickname,
                                   SILC_NOTIFY_TYPE_NICK_CHANGE);
@@ -536,6 +536,11 @@ silc_idlist_replace_client_id(SilcServer server,
   client->id = new_id;
   client->nickname = nickname ? strdup(nickname) : NULL;
 
+  /* Check if anyone is watching new nickname */
+  if (server->server_type == SILC_ROUTER)
+    silc_server_check_watcher_list(server, client, nickname,
+                                  SILC_NOTIFY_TYPE_NICK_CHANGE);
+
   if (!silc_idcache_add(id_list->clients, client->nickname, client->id, 
                        client, 0, NULL))
     return NULL;