From: Pekka Riikonen Date: Thu, 28 Mar 2002 20:56:41 +0000 (+0000) Subject: Fixed packet relaying. X-Git-Tag: silc.server.0.8.3 X-Git-Url: http://git.silcnet.org/gitweb/?p=silc.git;a=commitdiff_plain;h=ca6ef1a26e81beda6d7180a73ed29d5b0a7b99eb Fixed packet relaying. --- 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);