Preserve inpkt->len, needed for broadcasts.
authorGuus Sliepen <guus@tinc-vpn.org>
Wed, 20 Feb 2002 19:31:15 +0000 (19:31 +0000)
committerGuus Sliepen <guus@tinc-vpn.org>
Wed, 20 Feb 2002 19:31:15 +0000 (19:31 +0000)
src/net_packet.c

index 5171a4f43a5f36494b39b03a5b9a09196d913bb6..da8b13ba51ed0d78c586187f466a1703464197fe 100644 (file)
@@ -17,7 +17,7 @@
     along with this program; if not, write to the Free Software
     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 
-    $Id: net_packet.c,v 1.1.2.1 2002/02/18 16:25:16 guus Exp $
+    $Id: net_packet.c,v 1.1.2.2 2002/02/20 19:31:15 guus Exp $
 */
 
 #include "config.h"
@@ -185,6 +185,7 @@ void send_udppacket(node_t *n, vpn_packet_t *inpkt)
   vpn_packet_t *pkt[] = {&pkt1, &pkt2, &pkt1, &pkt2};
   int nextpkt = 0;
   vpn_packet_t *outpkt;
+  int origlen;
   int outlen, outpad;
   long int complen = MTU + 12;
   EVP_CIPHER_CTX ctx;
@@ -210,6 +211,8 @@ cp
       return;
     }
 
+  origlen = inpkt->len;
+
   /* Compress the packet */
 
   if(n->compression)
@@ -261,6 +264,8 @@ cp
              n->name, n->hostname, strerror(errno));
       return;
     }
+  
+  inpkt->len = origlen;
 cp
 }