+Thu Feb 1 23:31:21 EET 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+ * Fixed channel ID decoding in server's JOIN command reply in
+ silcd/command_reply.c
+
+ * Fixed braodcasting of replace ID payload to not to send it if
+ we are standalone server in silcd/packet_receive.c.
+
+ * Fixed all channel message sending routines to not to send
+ packets to clients that has router set, since they are routed
+ separately in the same function earlier. Affects file
+ silcd/packet_send.c and all channel packet sending functions.
+
+ * In USERS reply, res_argv[i] are not allocated, the table
+ is allocated. Thus changed that free the table, not its
+ internals.
+
Thu Feb 1 21:32:27 EET 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
* Fixed some minor bugs in client when sending WHOIS command. The
SilcCommandStatus status;
SilcChannelID *id;
SilcChannelEntry entry;
- unsigned int len;
+ unsigned int id_len, len;
unsigned char *id_string;
char *channel_name, *tmp;
unsigned int mode, created;
goto out;
/* Get channel ID */
- id_string = silc_argument_get_arg_type(cmd->args, 3, &len);
+ id_string = silc_argument_get_arg_type(cmd->args, 3, &id_len);
if (!id_string)
goto out;
silc_buffer_pull_tail(keyp, SILC_BUFFER_END(keyp));
silc_buffer_put(keyp, tmp, len);
- id = silc_id_payload_parse_id(id_string, len);
+ id = silc_id_payload_parse_id(id_string, id_len);
/* See whether we already have the channel. */
entry = silc_idlist_find_channel_by_id(server->local_list, id, NULL);
continue;
}
- if (server->server_type == SILC_SERVER && client->router)
+ if (client && client->router)
continue;
/* Get data used in packet header encryption, keys and stuff. */
continue;
}
- if (server->server_type == SILC_SERVER && client->router)
+ if (c && c->router)
continue;
/* Send to locally connected client */