From f76ac5761fddc99c3527acd95472dc770f2d7906 Mon Sep 17 00:00:00 2001 From: Pekka Riikonen Date: Fri, 9 Mar 2001 22:18:17 +0000 Subject: [PATCH] updates. --- CHANGES | 10 ++++++++++ apps/silcd/command.c | 16 ++++++++++++++++ lib/silcclient/client_prvmsg.c | 2 +- 3 files changed, 27 insertions(+), 1 deletion(-) diff --git a/CHANGES b/CHANGES index b6fb793c..5b1a5015 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,13 @@ +Sat Mar 10 00:07:37 EET 2001 Pekka Riikonen + + * 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 * Minor fix to the channel payload; allocate the data area, as it diff --git a/apps/silcd/command.c b/apps/silcd/command.c index de42e834..1a89aae0 100644 --- a/apps/silcd/command.c +++ b/apps/silcd/command.c @@ -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); } } diff --git a/lib/silcclient/client_prvmsg.c b/lib/silcclient/client_prvmsg.c index 6164b70c..4752b2f3 100644 --- a/lib/silcclient/client_prvmsg.c +++ b/lib/silcclient/client_prvmsg.c @@ -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); -- 2.24.0