updates.
authorPekka Riikonen <priikone@silcnet.org>
Sat, 14 Apr 2001 13:37:25 +0000 (13:37 +0000)
committerPekka Riikonen <priikone@silcnet.org>
Sat, 14 Apr 2001 13:37:25 +0000 (13:37 +0000)
CHANGES
apps/silcd/packet_receive.c
apps/silcd/server.c
lib/silcclient/client.c

diff --git a/CHANGES b/CHANGES
index 2d618ba79ca9c579bd0c94fa32d175df752a8fe6..ff35d49c6ee1f05ddd30b9c9f67bc6d99c156b57 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -4,6 +4,10 @@ Sat Apr 14 16:21:32 EEST 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
          is active -> may cause problem with rekey.  Affected file
          silcd/server.c.
 
+       * When server receives signoff notify it must not create
+         new channel key if the client is on any channels since the
+         sender of the signoff notify will create it.
+
 Fri Apr 13 17:12:46 EEST 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
 
        * Added printing of error messages during SKE protocol from the
index 88723cd31090d03558b2e20ef0c5181b093f7299..e5669d7eb2255721a36ecdb4bf639c3f58649abe 100644 (file)
@@ -272,17 +272,11 @@ void silc_server_notify(SilcServer server,
     if (tmp_len > 128)
       tmp = NULL;
 
-    /* Remove the client from all channels */
-    silc_server_remove_from_channels(server, NULL, client, TRUE, tmp, TRUE);
+    /* Remove the client from all channels. */
+    silc_server_remove_from_channels(server, NULL, client, TRUE, tmp, FALSE);
 
     client->data.registered = FALSE;
     cache->expire = SILC_ID_CACHE_EXPIRE_DEF;
-
-#if 0
-    /* Remove the client entry */
-    if (!silc_idlist_del_client(server->global_list, client))
-      silc_idlist_del_client(server->local_list, client);
-#endif
     break;
 
   case SILC_NOTIFY_TYPE_TOPIC_SET:
index 639c3bbb732a8eb75d3b55028ba544717ac42e77..bdfb6b5da2e7eb4613fafa36999a0da029e4dfb3 100644 (file)
@@ -1517,6 +1517,7 @@ void silc_server_packet_parse(SilcPacketParserContext *parser_context)
 
   switch (sock->type) {
   case SILC_SOCKET_TYPE_UNKNOWN:
+  case SILC_SOCKET_TYPE_CLIENT:
     /* Parse the packet with timeout */
     silc_task_register(server->timeout_queue, sock->sock,
                       silc_server_packet_parse_real,
@@ -1524,15 +1525,6 @@ void silc_server_packet_parse(SilcPacketParserContext *parser_context)
                       SILC_TASK_TIMEOUT,
                       SILC_TASK_PRI_NORMAL);
     break;
-  case SILC_SOCKET_TYPE_CLIENT:
-    /* Parse the packet with timeout (unless protocol is active) */
-    silc_task_register(server->timeout_queue, sock->sock,
-                      silc_server_packet_parse_real,
-                      (void *)parser_context, 0, 
-                      (sock->protocol ? 1 : 100000),
-                      SILC_TASK_TIMEOUT,
-                      SILC_TASK_PRI_NORMAL);
-    break;
   case SILC_SOCKET_TYPE_SERVER:
   case SILC_SOCKET_TYPE_ROUTER:
     /* Packets from servers are parsed as soon as possible */
index 52cda1dd3c24d96649a4da8cd8f1ae8ca8203892..6a22b3bf84ebe99532715ab16d4613467fc64ca0 100644 (file)
@@ -771,22 +771,11 @@ void silc_client_packet_parse(SilcPacketParserContext *parser_context)
   SilcClient client = (SilcClient)parser_context->context;
 
   /* Parse the packet */
-
-#if 0
-  /* If REKEY protocol is active we must proccess the packets synchronously
-     since we must assure that incoming packets that are encrypted with
-     the old key is processed before the new keys is set to use. */
-  if (SILC_CLIENT_IS_REKEY(parser_context->sock))
-    silc_client_packet_parse_real(client->timeout_queue, SILC_TASK_READ,
-                                 (void *)parser_context, 
-                                 parser_context->sock->sock);
-  else
-#endif
-    silc_task_register(client->timeout_queue, parser_context->sock->sock, 
-                      silc_client_packet_parse_real,
-                      (void *)parser_context, 0, 1, 
-                      SILC_TASK_TIMEOUT,
-                      SILC_TASK_PRI_NORMAL);
+  silc_task_register(client->timeout_queue, parser_context->sock->sock, 
+                    silc_client_packet_parse_real,
+                    (void *)parser_context, 0, 1, 
+                    SILC_TASK_TIMEOUT,
+                    SILC_TASK_PRI_NORMAL);
 }
 
 /* Parses the packet type and calls what ever routines the packet type