From: Pekka Riikonen Date: Sat, 14 Apr 2001 13:37:25 +0000 (+0000) Subject: updates. X-Git-Tag: SILC.0.1~11 X-Git-Url: http://git.silcnet.org/gitweb/?p=silc.git;a=commitdiff_plain;h=23140daf9245361119a1fad755a71ec616d9ec3a updates. --- diff --git a/CHANGES b/CHANGES index 2d618ba7..ff35d49c 100644 --- a/CHANGES +++ b/CHANGES @@ -4,6 +4,10 @@ Sat Apr 14 16:21:32 EEST 2001 Pekka Riikonen 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 * Added printing of error messages during SKE protocol from the diff --git a/apps/silcd/packet_receive.c b/apps/silcd/packet_receive.c index 88723cd3..e5669d7e 100644 --- a/apps/silcd/packet_receive.c +++ b/apps/silcd/packet_receive.c @@ -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: diff --git a/apps/silcd/server.c b/apps/silcd/server.c index 639c3bbb..bdfb6b5d 100644 --- a/apps/silcd/server.c +++ b/apps/silcd/server.c @@ -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 */ diff --git a/lib/silcclient/client.c b/lib/silcclient/client.c index 52cda1dd..6a22b3bf 100644 --- a/lib/silcclient/client.c +++ b/lib/silcclient/client.c @@ -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