updates.
authorPekka Riikonen <priikone@silcnet.org>
Sun, 2 Dec 2001 22:38:03 +0000 (22:38 +0000)
committerPekka Riikonen <priikone@silcnet.org>
Sun, 2 Dec 2001 22:38:03 +0000 (22:38 +0000)
CHANGES
TODO
apps/silcd/command_reply.c

diff --git a/CHANGES b/CHANGES
index 4f5bba2bdc15985d1e04a8a569874a69f524f9a2..08d6108c54af38d133d2dea23b0f7c59882fd19e 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -7,6 +7,10 @@ Sun Dec  2 23:29:07 EET 2001  Pekka Riikonen <priikone@silcnet.org>
          from router.  Fixes a bug in WHOIS and IDENTIFY.  Affected 
          file silcd/command.c.
 
+       * Search channel by name (if possible) rather than by ID
+         in IDENTIFY command's command reply.  Affected file is
+         silcd/command_reply.c.
+
 Sun Dec  2 13:48:46 EET 2001  Pekka Riikonen <priikone@silcnet.org>
 
        * Distribute to the channel passphrase in CMODE_CHANGE notify.
diff --git a/TODO b/TODO
index 81f10492f27bf40ddef56b30771bd99671cb6e73..cf5768f04856d31df463d9817094502db83af791 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,6 +1,9 @@
 TODO/bugs in Irssi SILC client
 ==============================
 
+ o Setting /away prints server/router operator modes as well.
+   Print modes that was just set only.
+
  o Add local command to switch the channel's private key when channel has
    several private keys.  Currently sending channel messages with many
    keys is not possible because changing the key is not possible by the
@@ -36,6 +39,16 @@ TODO/bugs In SILC Client Library
 TODO/bugs In SILC Server
 ========================
 
+ o The LIST command reply should empty the global list because
+   it is possible there stay channels that does not exist anymore.
+   Empty it and put channels that server does not know about to 
+   global list.
+
+ o Make the silc_server_command_pending_error_check function to
+   take all arguments it received and put them to the reply it is 
+   sending.  Otherwise for example WHOIS on normal server for bogus
+   nickname does not print anything in the client.
+
  o Backup router related issues
 
        o Channel user mode changes are notified unnecessarely when
index 2bd74472bc4b324be775cf0a5dd6760b920c7c02..6bb87163d809e02d50a2077ae35f3152868e81ef 100644 (file)
@@ -530,11 +530,19 @@ silc_server_command_reply_identify_save(SilcServerCommandReplyContext cmd)
 
     SILC_LOG_DEBUG(("Received channel information"));
 
-    channel = silc_idlist_find_channel_by_id(server->local_list, 
-                                            channel_id, NULL);
-    if (!channel)
-      channel = silc_idlist_find_channel_by_id(server->global_list, channel_id,
-                                              NULL);
+    if (name) {
+      channel = silc_idlist_find_channel_by_name(server->local_list, 
+                                                name, NULL);
+      if (!channel)
+       channel = silc_idlist_find_channel_by_name(server->global_list, 
+                                                  name, NULL);
+    } else {
+      channel = silc_idlist_find_channel_by_id(server->local_list, 
+                                              channel_id, NULL);
+      if (!channel)
+       channel = silc_idlist_find_channel_by_id(server->global_list, 
+                                                channel_id, NULL);
+    }
     if (!channel) {
       /* If router did not find such Channel ID in its lists then this must
         be bogus channel or some router in the net is buggy. */
@@ -1108,11 +1116,11 @@ SILC_SERVER_CMD_REPLY_FUNC(list)
     SILC_GET32_MSB(usercount, tmp);
 
   /* Add the channel entry if we do not have it already */
-  channel = silc_idlist_find_channel_by_id(server->local_list, 
-                                          channel_id, NULL);
+  channel = silc_idlist_find_channel_by_name(server->local_list, 
+                                            name, NULL);
   if (!channel)
-    channel = silc_idlist_find_channel_by_id(server->global_list, 
-                                            channel_id, NULL);
+    channel = silc_idlist_find_channel_by_name(server->global_list, 
+                                              name, NULL);
   if (!channel) {
     /* If router did not find such Channel ID in its lists then this must
        be bogus channel or some router in the net is buggy. */
@@ -1121,8 +1129,7 @@ SILC_SERVER_CMD_REPLY_FUNC(list)
     
     channel = silc_idlist_add_channel(server->global_list, strdup(name),
                                      SILC_CHANNEL_MODE_NONE, channel_id, 
-                                     server->router, 
-                                     NULL, NULL);
+                                     server->router, NULL, NULL);
     if (!channel)
       goto out;
     channel_id = NULL;