From: Pekka Riikonen Date: Sat, 3 Nov 2007 22:14:53 +0000 (+0000) Subject: Set correct ID for message payload encrypting. X-Git-Tag: silc.server.1.1.beta.2~2 X-Git-Url: http://git.silcnet.org/gitweb/?p=silc.git;a=commitdiff_plain;h=77182063f26b8f334d6f4baffb1ce9800fd3d039 Set correct ID for message payload encrypting. --- diff --git a/CHANGES b/CHANGES index ca6a2d8a..b219ffb2 100644 --- a/CHANGES +++ b/CHANGES @@ -4,6 +4,10 @@ Sat Nov 3 23:23:38 EET 2007 Pekka Riikonen Do not disconnct already disconnected streams. Affected files are in apps/silcd/. + * Fixed setting correct ID for re-encrypted channel messages + in router-to-router connections. Affected file is + apps/silcd/packet_send.c. + Sun Sep 30 15:16:18 EEST 2007 Pekka Riikonen * Fixed channel private key deleting when deleting the channel. diff --git a/apps/silcd/packet_send.c b/apps/silcd/packet_send.c index 7e19280e..234b88f0 100644 --- a/apps/silcd/packet_send.c +++ b/apps/silcd/packet_send.c @@ -399,6 +399,8 @@ void silc_server_packet_send_to_channel(SilcServer server, static SilcBool silc_server_packet_relay_to_channel_encrypt(SilcServer server, SilcPacketStream sender, + void *sender_id, + SilcIdType sender_type, SilcChannelEntry channel, unsigned char *data, unsigned int data_len) @@ -451,8 +453,9 @@ silc_server_packet_relay_to_channel_encrypt(SilcServer server, memcpy(iv, data + (data_len - iv_len - mac_len), iv_len); - src_id.type = SILC_ID_SERVER; - src_id.u.server_id = *((SilcServerEntry)idata)->id; + SILC_ASSERT(sender_type == SILC_ID_CLIENT); + src_id.type = SILC_ID_CLIENT; + src_id.u.client_id = *((SilcClientID *)sender_id); dst_id.type = SILC_ID_CHANNEL; dst_id.u.channel_id = *channel->id; @@ -502,6 +505,7 @@ void silc_server_packet_relay_to_channel(SilcServer server, channel key. If the channel key does not exist, then we know we don't have a single local user on the channel. */ if (!silc_server_packet_relay_to_channel_encrypt(server, sender_sock, + sender_id, sender_type, channel, data, data_len)) return;