Fixed fingerprint emptines checking. Bug #18.
authorPekka Riikonen <priikone@silcnet.org>
Fri, 30 Aug 2002 06:58:43 +0000 (06:58 +0000)
committerPekka Riikonen <priikone@silcnet.org>
Fri, 30 Aug 2002 06:58:43 +0000 (06:58 +0000)
CHANGES
apps/silcd/command.c

diff --git a/CHANGES b/CHANGES
index e5d980dbb8995121f0b0f001cb7875e3cf2a6faa..0351172bdc056a42537278f86365bfff0c1aaf43 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,9 @@
+Fri Aug 30 08:57:33 CEST 2002 Pekka Riikonen <priikone@silcnet.org>
+
+       * Fixed fingerprint checking to check for entirely empty
+         fingerprint instead of two first bytes when determining
+         if it is set.  Bug #18.  Affected file silcd/command.c.
+
 Sun Aug 25 08:02:04 CEST 2002 Lubomir Sedlacik <salo@silcnet.org>
 
        * Conditionalize non-gcc compiler optimizations for various
index b1aaea08ee31c6ea4dcf6443bba1c8dde41c379b..49904b7235c5cbf11c965c4ff572bef1facacc40 100644 (file)
@@ -742,7 +742,7 @@ silc_server_command_whois_send_reply(SilcServerCommandContext cmd,
   SilcUInt16 ident = silc_command_get_ident(cmd->payload);
   char nh[256], uh[256];
   unsigned char idle[4], mode[4];
-  unsigned char *fingerprint;
+  unsigned char *fingerprint, fempty[20];
   SilcSocketConnection hsock;
 
   if (nickname) {
@@ -764,6 +764,8 @@ silc_server_command_whois_send_reply(SilcServerCommandContext cmd,
     }
   }
 
+  memset(fempty, 0, sizeof(fempty));
+
   /* Start processing found clients. */
   status = SILC_STATUS_OK;
   if (valid_count > 1)
@@ -817,7 +819,7 @@ silc_server_command_whois_send_reply(SilcServerCommandContext cmd,
       channels = silc_server_get_client_channel_list(server, entry, TRUE, 
                                                     TRUE, &umode_list);
 
-    if (entry->data.fingerprint[0] != 0 && entry->data.fingerprint[1] != 0)
+    if (memcmp(entry->data.fingerprint, fempty, sizeof(fempty)))
       fingerprint = entry->data.fingerprint;
     else
       fingerprint = NULL;