updates.
authorPekka Riikonen <priikone@silcnet.org>
Mon, 9 Apr 2001 18:14:18 +0000 (18:14 +0000)
committerPekka Riikonen <priikone@silcnet.org>
Mon, 9 Apr 2001 18:14:18 +0000 (18:14 +0000)
CHANGES
apps/silcd/server.c

diff --git a/CHANGES b/CHANGES
index 244132dee7c120b1210dab45da1d7393cfeb8317..c297d62474f9d63a976e8879feeeee53194d6b8d 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,4 +1,4 @@
-Mon Apr  9 17:54:44 EEST 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
+Mon Apr  9 21:54:44 EEST 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
 
        * Added silc_pkcs_decode_identifier to decode the public key's
          identifier.  Affected file lib/silccrypt/silpkcs.[ch].
@@ -17,6 +17,9 @@ Mon Apr  9 17:54:44 EEST 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
        * Fixed a fatal bug in the public and private key file loading.
          Affected file lib/silccrypt/silcpkcs.c.
 
+       * Execute the packet parsing for client with zero (0) timeout
+         if the protocol is active.  Affected file silcd/server.c.
+
 Sun Apr  8 19:30:56 EEST 2001  Pekka Riikonen <priikone@poseidon.pspt.fi>
 
        * Made the key generation options to the silcd program.  Added
index 1b9c26c5439b4f9f8b1ab84b6826a1421581e606..7fd9b86c132636732bcb8650cef84a5b3bc54309 100644 (file)
@@ -1504,7 +1504,6 @@ void silc_server_packet_parse(SilcPacketParserContext *parser_context)
   SilcSocketConnection sock = parser_context->sock;
 
   switch (sock->type) {
-  case SILC_SOCKET_TYPE_CLIENT:
   case SILC_SOCKET_TYPE_UNKNOWN:
     /* Parse the packet with timeout */
     silc_task_register(server->timeout_queue, sock->sock,
@@ -1513,6 +1512,15 @@ 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 */