From: Pekka Riikonen Date: Fri, 15 Dec 2000 23:06:24 +0000 (+0000) Subject: No send the Channel ID as is! X-Git-Tag: SILC.0.1~298 X-Git-Url: http://git.silcnet.org/gitweb/?p=silc.git;a=commitdiff_plain;h=028091ca08ee9c28b02586eeaf5b9df69b3d91df No send the Channel ID as is! --- diff --git a/apps/silcd/packet_send.c b/apps/silcd/packet_send.c index 6f258e14..775ab48e 100644 --- a/apps/silcd/packet_send.c +++ b/apps/silcd/packet_send.c @@ -1124,25 +1124,26 @@ void silc_server_send_channel_key(SilcServer server, SilcChannelEntry channel, unsigned char route) { - SilcBuffer packet, idp; + SilcBuffer packet; + unsigned char *chid; unsigned int tmp_len; - + SILC_LOG_DEBUG(("Start")); - - idp = silc_id_payload_encode(channel->id, SILC_ID_CHANNEL); - if (!idp) + + chid = silc_id_id2str(channel->id, SILC_ID_CHANNEL); + if (!chid) return; - + /* Encode channel key packet */ tmp_len = strlen(channel->channel_key->cipher->name); - packet = silc_channel_key_payload_encode(idp->len, idp->data, tmp_len, - channel->channel_key->cipher->name, - channel->key_len / 8, channel->key); - + packet = silc_channel_key_payload_encode(SILC_ID_CHANNEL_LEN, chid, tmp_len, + channel->channel_key->cipher->name, + channel->key_len / 8, channel->key); + silc_server_packet_send_to_channel(server, channel, SILC_PACKET_CHANNEL_KEY, - route, packet->data, packet->len, FALSE); + route, packet->data, packet->len, FALSE); silc_buffer_free(packet); - silc_buffer_free(idp); + silc_free(chid); } /* Generic function to send any command. The arguments must be sent already