+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
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]);
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 =