X-Git-Url: http://git.silcnet.org/gitweb/?p=silc.git;a=blobdiff_plain;f=apps%2Fsilcd%2Fserver.c;fp=apps%2Fsilcd%2Fserver.c;h=3a227c50cd058ecd0871ccc805a4037836cf1962;hp=bfee9c32e593b76d31cab167d2683a20be55db53;hb=9760bfae79884774c7a7edcd4035ca770bcf9a87;hpb=156b488f766d9128215d8e8d67056fa70214d314 diff --git a/apps/silcd/server.c b/apps/silcd/server.c index bfee9c32..3a227c50 100644 --- a/apps/silcd/server.c +++ b/apps/silcd/server.c @@ -1666,9 +1666,11 @@ bool silc_server_packet_parse(SilcPacketParserContext *parser_context, process all packets synchronously, since there might be packets in queue that we are not able to decrypt without first processing the packets before them. */ - if (sock->protocol && sock->protocol->protocol && - (sock->protocol->protocol->type == SILC_PROTOCOL_SERVER_KEY_EXCHANGE || - sock->protocol->protocol->type == SILC_PROTOCOL_SERVER_REKEY)) { + if ((parser_context->packet->type == SILC_PACKET_REKEY || + parser_context->packet->type == SILC_PACKET_REKEY_DONE) || + (sock->protocol && sock->protocol->protocol && + (sock->protocol->protocol->type == SILC_PROTOCOL_SERVER_KEY_EXCHANGE || + sock->protocol->protocol->type == SILC_PROTOCOL_SERVER_REKEY))) { silc_server_packet_parse_real(server->schedule, 0, sock->sock, parser_context); @@ -3377,7 +3379,7 @@ void silc_server_announce_get_channels(SilcServer server, (*channel_ids)[i] = NULL; silc_server_announce_get_channel_users(server, channel, channel_users, - channel_users_modes[i]); + &(*channel_users_modes)[i]); (*channel_ids)[i] = channel->id; i++;