updates
[crypto.git] / apps / silcd / command.c
index d6ea2115ba23050d8fa84a6fd39a15657e4b57d2..aeecb572eaa4f552a072f1c6f41affb25a348017 100644 (file)
@@ -777,7 +777,7 @@ silc_server_command_whois_send_reply(SilcServerCommandContext cmd,
     }
       
     strncat(uh, entry->username, strlen(entry->username));
-    if (!strchr(entry->username, '@')) {
+    if (!strchr(entry->username, '@') && entry->connection) {
       strncat(uh, "@", 1);
       hsock = (SilcSocketConnection)entry->connection;
       len = strlen(hsock->hostname);
@@ -1835,7 +1835,7 @@ silc_server_command_identify_send_reply(SilcServerCommandContext cmd,
                                                      3, nh, strlen(nh));
       } else {
        strncat(uh, entry->username, strlen(entry->username));
-       if (!strchr(entry->username, '@')) {
+       if (!strchr(entry->username, '@') && entry->connection) {
          strncat(uh, "@", 1);
          hsock = (SilcSocketConnection)entry->connection;
          len = strlen(hsock->hostname);
@@ -2085,8 +2085,9 @@ SILC_SERVER_CMD_FUNC(nick)
  send_reply:
   /* Send the new Client ID as reply command back to client */
   packet = silc_command_reply_payload_encode_va(SILC_COMMAND_NICK, 
-                                               SILC_STATUS_OK, 0, ident, 1, 
-                                               2, nidp->data, nidp->len);
+                                               SILC_STATUS_OK, 0, ident, 2,
+                                               2, nidp->data, nidp->len,
+                                               3, nick, strlen(nick));
   silc_server_packet_send(cmd->server, cmd->sock, SILC_PACKET_COMMAND_REPLY,
                          0, packet->data, packet->len, FALSE);