projects
/
silc.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
updates.
[silc.git]
/
apps
/
silcd
/
command_reply.c
diff --git
a/apps/silcd/command_reply.c
b/apps/silcd/command_reply.c
index 76b641cc3a3db766e4e8c1f5aa2f81ccec2aebb8..6a9e6a12597327f3780b33218be8f53c5465bef9 100644
(file)
--- a/
apps/silcd/command_reply.c
+++ b/
apps/silcd/command_reply.c
@@
-134,11
+134,12
@@
silc_server_command_reply_whois_save(SilcServerCommandReplyContext cmd)
SilcServer server = cmd->server;
unsigned char *tmp, *id_data;
char *nickname, *username, *realname, *servername = NULL;
SilcServer server = cmd->server;
unsigned char *tmp, *id_data;
char *nickname, *username, *realname, *servername = NULL;
+ unsigned char *fingerprint;
SilcClientID *client_id;
SilcClientEntry client;
char global = FALSE;
char *nick;
SilcClientID *client_id;
SilcClientEntry client;
char global = FALSE;
char *nick;
- uint32 mode = 0, len, id_len;
+ uint32 mode = 0, len, id_len
, flen
;
id_data = silc_argument_get_arg_type(cmd->args, 2, &id_len);
nickname = silc_argument_get_arg_type(cmd->args, 3, &len);
id_data = silc_argument_get_arg_type(cmd->args, 2, &id_len);
nickname = silc_argument_get_arg_type(cmd->args, 3, &len);
@@
-160,6
+161,8
@@
silc_server_command_reply_whois_save(SilcServerCommandReplyContext cmd)
if (!client_id)
return FALSE;
if (!client_id)
return FALSE;
+ fingerprint = silc_argument_get_arg_type(cmd->args, 9, &flen);
+
/* Check if we have this client cached already. */
client = silc_idlist_find_client_by_id(server->local_list, client_id,
/* Check if we have this client cached already. */
client = silc_idlist_find_client_by_id(server->local_list, client_id,
@@
-228,6
+231,9
@@
silc_server_command_reply_whois_save(SilcServerCommandReplyContext cmd)
silc_free(client_id);
}
silc_free(client_id);
}
+ if (fingerprint && flen == sizeof(client->data.fingerprint))
+ memcpy(client->data.fingerprint, fingerprint, flen);
+
return TRUE;
}
return TRUE;
}