From: Pekka Riikonen Date: Thu, 1 Feb 2001 21:32:17 +0000 (+0000) Subject: updates. X-Git-Tag: SILC.0.1~284 X-Git-Url: http://git.silcnet.org/gitweb/?p=silc.git;a=commitdiff_plain;h=cdd943fd3e8d43c8c92a7c950fa6f32fd6e8c8ce updates. --- diff --git a/CHANGES b/CHANGES index b2c25a07..2cce7443 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,20 @@ +Thu Feb 1 23:31:21 EET 2001 Pekka Riikonen + + * 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 * Fixed some minor bugs in client when sending WHOIS command. The diff --git a/apps/silcd/command_reply.c b/apps/silcd/command_reply.c index d5f3dbff..2cbc3f67 100644 --- a/apps/silcd/command_reply.c +++ b/apps/silcd/command_reply.c @@ -399,7 +399,7 @@ SILC_SERVER_CMD_REPLY_FUNC(join) 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; @@ -413,7 +413,7 @@ SILC_SERVER_CMD_REPLY_FUNC(join) 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; @@ -437,7 +437,7 @@ SILC_SERVER_CMD_REPLY_FUNC(join) 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); diff --git a/apps/silcd/packet_send.c b/apps/silcd/packet_send.c index 3d89b506..e8d12b86 100644 --- a/apps/silcd/packet_send.c +++ b/apps/silcd/packet_send.c @@ -538,7 +538,7 @@ void silc_server_packet_relay_to_channel(SilcServer server, continue; } - if (server->server_type == SILC_SERVER && client->router) + if (client && client->router) continue; /* Get data used in packet header encryption, keys and stuff. */ @@ -839,7 +839,7 @@ void silc_server_send_notify_on_channels(SilcServer server, continue; } - if (server->server_type == SILC_SERVER && client->router) + if (c && c->router) continue; /* Send to locally connected client */