updates.
authorPekka Riikonen <priikone@silcnet.org>
Thu, 1 Feb 2001 21:32:17 +0000 (21:32 +0000)
committerPekka Riikonen <priikone@silcnet.org>
Thu, 1 Feb 2001 21:32:17 +0000 (21:32 +0000)
CHANGES
apps/silcd/command_reply.c
apps/silcd/packet_send.c

diff --git a/CHANGES b/CHANGES
index b2c25a0743e291ab3a1de21f067398a2fb1ab34e..2cce7443882e08df294889c0eb3f3d5c3f80ffb0 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,20 @@
+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
index d5f3dbffd3dfe2c955681ad7c196cd02222d4789..2cbc3f67a9278be3d90bbeb2ad2e55a86634dab0 100644 (file)
@@ -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);
index 3d89b5064a1d2aa82d2164ce747786bb134cc520..e8d12b861d9744e6df6154c0f63a41d476cdfb42 100644 (file)
@@ -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 */