updates.
authorPekka Riikonen <priikone@silcnet.org>
Fri, 9 Mar 2001 22:18:17 +0000 (22:18 +0000)
committerPekka Riikonen <priikone@silcnet.org>
Fri, 9 Mar 2001 22:18:17 +0000 (22:18 +0000)
CHANGES
apps/silcd/command.c
lib/silcclient/client_prvmsg.c

diff --git a/CHANGES b/CHANGES
index b6fb793cf9a0b7e1de6b774436ad9dc6a4a4064d..5b1a5015f65ee7c6c8b71e9ec6ffb529c7121887 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,13 @@
+Sat Mar 10 00:07:37 EET 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+       * Added client searching by nickname hash into the IDENTIFY and
+         WHOIS commands in the server as they were clearly missing from
+         them.  Affected file is silcd/command.c.
+
+       * Fixed a bug in private message receiving in the client library.
+         The remote ID was freed and it wasn't supposed, now it is
+         duplicated.
+
 Fri Mar  9 12:40:42 EET 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
 
        * Minor fix to the channel payload; allocate the data area, as it
index de42e83417f730508fa63d4a88e2d519368d8a2b..1a89aae0147e054091a2743897bb1c77902327c4 100644 (file)
@@ -630,6 +630,10 @@ silc_server_command_whois_from_client(SilcServerCommandContext cmd)
     clients = silc_idlist_get_clients_by_nickname(server->local_list, 
                                                  nick, server_name,
                                                  &clients_count);
+    if (!clients)
+      clients = silc_idlist_get_clients_by_hash(server->local_list, 
+                                               nick, server->md5hash,
+                                               &clients_count);
   }
   
   /* Check global list as well */
@@ -649,6 +653,10 @@ silc_server_command_whois_from_client(SilcServerCommandContext cmd)
       clients = silc_idlist_get_clients_by_nickname(server->global_list, 
                                                    nick, server_name,
                                                    &clients_count);
+      if (!clients)
+       clients = silc_idlist_get_clients_by_hash(server->global_list, 
+                                                 nick, server->md5hash,
+                                                 &clients_count);
     }
   }
   
@@ -1042,6 +1050,10 @@ silc_server_command_identify_from_client(SilcServerCommandContext cmd)
     clients = silc_idlist_get_clients_by_nickname(server->local_list, 
                                                  nick, server_name,
                                                  &clients_count);
+    if (!clients)
+      clients = silc_idlist_get_clients_by_hash(server->local_list, 
+                                               nick, server->md5hash,
+                                               &clients_count);
   }
   
   /* Check global list as well */
@@ -1061,6 +1073,10 @@ silc_server_command_identify_from_client(SilcServerCommandContext cmd)
       clients = silc_idlist_get_clients_by_nickname(server->global_list, 
                                                    nick, server_name,
                                                    &clients_count);
+      if (!clients)
+       clients = silc_idlist_get_clients_by_hash(server->global_list, 
+                                                 nick, server->md5hash,
+                                                 &clients_count);
     }
   }
   
index 6164b70ccc2a7dbb9d19f9bce57debc10275be6f..4752b2f380bc4beacc56ebe178c78d5601ea5ef6 100644 (file)
@@ -171,7 +171,7 @@ void silc_client_private_message(SilcClient client,
     {
       /* Allocate client entry */
       remote_client = silc_calloc(1, sizeof(*remote_client));
-      remote_client->id = remote_id;
+      remote_client->id = silc_id_dup(remote_id, SILC_ID_CLIENT);
       silc_parse_nickname(nickname, &remote_client->nickname, 
                          &remote_client->server, &remote_client->num);