From ca6ef1a26e81beda6d7180a73ed29d5b0a7b99eb Mon Sep 17 00:00:00 2001 From: Pekka Riikonen Date: Thu, 28 Mar 2002 20:56:41 +0000 Subject: [PATCH] Fixed packet relaying. --- CHANGES | 6 +++++- apps/silcd/packet_receive.c | 2 +- apps/silcd/packet_send.c | 5 ++--- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/CHANGES b/CHANGES index d4699637..aaacac4e 100644 --- a/CHANGES +++ b/CHANGES @@ -1,8 +1,12 @@ -Thu Mar 28 20:58:42 EET 2002 Pekka Riikonen +Thu Mar 28 22:51:15 EET 2002 Pekka Riikonen * Fixed silc_net_gethostbyaddr to correctly resolve by address. Affected file lib/silcutil/silcnet.c. + * Fixed the notify relaying to client. The HMAC to be used + with relayed packets ws wrong and caused decryption failure + at the client end. Affected file is silcd/packet_receive.c. + Thu Mar 28 19:02:05 EET 2002 Pekka Riikonen * Created new branch silc_protocol_1_0_branch. diff --git a/apps/silcd/packet_receive.c b/apps/silcd/packet_receive.c index 3787196a..5d21089e 100644 --- a/apps/silcd/packet_receive.c +++ b/apps/silcd/packet_receive.c @@ -73,7 +73,7 @@ void silc_server_notify(SilcServer server, if (dst_sock) /* Relay the packet */ silc_server_relay_packet(server, dst_sock, idata->send_key, - idata->hmac_receive, idata->psn_send++, + idata->hmac_send, idata->psn_send++, packet, TRUE); } diff --git a/apps/silcd/packet_send.c b/apps/silcd/packet_send.c index da4379ea..a1d4bc87 100644 --- a/apps/silcd/packet_send.c +++ b/apps/silcd/packet_send.c @@ -1785,10 +1785,9 @@ void silc_server_relay_packet(SilcServer server, return; } silc_buffer_put((SilcBuffer)&p, packet->buffer->data, packet->buffer->len); - + /* Re-encrypt packet */ - silc_packet_encrypt(cipher, hmac, sequence, (SilcBuffer)&p, - packet->buffer->len); + silc_packet_encrypt(cipher, hmac, sequence, (SilcBuffer)&p, p.len); /* Send the packet */ silc_server_packet_send_real(server, dst_sock, force_send); -- 2.24.0