Fixed packet relaying. silc.server.0.8.3
authorPekka Riikonen <priikone@silcnet.org>
Thu, 28 Mar 2002 20:56:41 +0000 (20:56 +0000)
committerPekka Riikonen <priikone@silcnet.org>
Thu, 28 Mar 2002 20:56:41 +0000 (20:56 +0000)
CHANGES
apps/silcd/packet_receive.c
apps/silcd/packet_send.c

diff --git a/CHANGES b/CHANGES
index d469963768961ab022a7f830f5e00ecde316e331..aaacac4e53c585e4e3609ec0fd779dd0ec5c8f20 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,8 +1,12 @@
-Thu Mar 28 20:58:42 EET 2002  Pekka Riikonen <priikone@silcnet.org>
+Thu Mar 28 22:51:15 EET 2002  Pekka Riikonen <priikone@silcnet.org>
 
        * 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 <priikone@silcnet.org>
 
        * Created new branch silc_protocol_1_0_branch.
index 3787196a1d1f6a6a7f94c7580b748e3edb452428..5d21089e91d35b03ade0f5acc148bf001c9627ca 100644 (file)
@@ -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);
   }
 
index da4379ea9827db611dd8896f26d33ddc926c764a..a1d4bc873b7620e2fb3372396f843d5a9ffbbd68 100644 (file)
@@ -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);