updates.
authorPekka Riikonen <priikone@silcnet.org>
Thu, 1 Nov 2001 17:46:32 +0000 (17:46 +0000)
committerPekka Riikonen <priikone@silcnet.org>
Thu, 1 Nov 2001 17:46:32 +0000 (17:46 +0000)
CHANGES
lib/silcclient/command.c

diff --git a/CHANGES b/CHANGES
index 55e832beed651cd9247040d583eb46e5bf463ed4..0617c7e583ff8eb05e2046aa3a77fa4a2cfec127 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,11 @@
+Thu Nov  1 18:06:12 EST 2001  Pekka Riikonen <priikone@silcnet.org>
+
+       * Do not send over 128 chars long nickname to the server
+         in NICK command.  Affected file lib/silcclient/command.c.
+
+       * Do not send over 256 chars long channel names to the server
+         in JOIN command.  Affected file lib/silcclient/command.c.
+
 Tue Oct 30 22:48:59 EST 2001  Pekka Riikonen <priikone@silcnet.org>
 
        * Assure that silc_server_close_connection cannot be called
index 90ca482a5f25a2c5874ad9c8f26f856a5c5f5071..bdb818f5f0ca2a0997910c70a2ab331288abeec4 100644 (file)
@@ -389,18 +389,19 @@ SILC_CLIENT_CMD_FUNC(nick)
     goto out;
   }
 
+  if (cmd->argv_lens[1] > 128)
+    cmd->argv_lens[1] = 128;
+
   /* Set new nickname */
-  buffer = silc_command_payload_encode(SILC_COMMAND_NICK,
-                                      cmd->argc - 1, ++cmd->argv,
-                                      ++cmd->argv_lens, ++cmd->argv_types,
+  buffer = silc_command_payload_encode(SILC_COMMAND_NICK, 1,
+                                      &cmd->argv[1],
+                                      &cmd->argv_lens[1], 
+                                      &cmd->argv_types[1],
                                       ++cmd->conn->cmd_ident);
   silc_client_packet_send(cmd->client, cmd->conn->sock,
                          SILC_PACKET_COMMAND, NULL, 0, NULL, NULL,
                          buffer->data, buffer->len, TRUE);
   silc_buffer_free(buffer);
-  cmd->argv--;
-  cmd->argv_lens--;
-  cmd->argv_types--;
   if (conn->nickname)
     silc_free(conn->nickname);
   conn->nickname = strdup(cmd->argv[1]);
@@ -977,6 +978,9 @@ SILC_CLIENT_CMD_FUNC(join)
 
   idp = silc_id_payload_encode(conn->local_id, SILC_ID_CLIENT);
 
+  if (cmd->argv_lens[1] > 256)
+    cmd->argv_lens[1] = 256;
+
   /* Send JOIN command to the server */
   if (cmd->argc == 2)
     buffer =