+Sat Feb 9 14:54:33 EET 2002 Pekka Riikonen <priikone@silcnet.org>
+
+ * Allow zero length channel messages inside the Channel Message
+ Payload. Affected file lib/silccore/silcchannel.c.
+
Thu Feb 7 10:12:25 CET 2002 Pekka Riikonen <priikone@silcnet.org>
* Fixed CUMODE_CHANGE notify handling to change the mode of
SILC_LOG_DEBUG(("Start"));
+ if (!msg)
+ return;
+
server = conn == NULL ? NULL : conn->context;
chanrec = silc_channel_find_entry(server, channel);
if (!chanrec)
}
-/* Message for a channel. The `sender' is the sender of the message
- The `channel' is the channel. */
+/* Message for a channel. The `sender' is the sender of the message
+ The `channel' is the channel. The `msg' is the message. Note that
+ `msg' maybe NULL. */
static void
silc_channel_message(SilcClient client, SilcClientConnection conn,
SilcClientMessageType type, char *msg, ...);
/* Message for a channel. The `sender' is the sender of the message
- The `channel' is the channel. */
+ The `channel' is the channel. The `msg' is the message. Note that
+ `msg' maybe NULL. */
void (*channel_message)(SilcClient client, SilcClientConnection conn,
SilcClientEntry sender, SilcChannelEntry channel,
SilcMessageFlags flags, char *msg);
*
* Finds and returns a pointer to the command list. Return NULL if the
* command is not found. See the `command.[ch]' for the command list.
+ * Command names are not case-sensitive.
*
***/
SilcClientCommand silc_client_command_find(SilcClient client,
if (ret == -1)
goto err;
- if (new->data_len < 1 || new->data_len > buffer.len) {
+ if (new->data_len > buffer.len) {
SILC_LOG_ERROR(("Incorrect channel message payload in packet, "
"packet dropped"));
goto err;