gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r19539 - gnunet/src/tun


From: gnunet
Subject: [GNUnet-SVN] r19539 - gnunet/src/tun
Date: Mon, 30 Jan 2012 15:20:37 +0100

Author: grothoff
Date: 2012-01-30 15:20:37 +0100 (Mon, 30 Jan 2012)
New Revision: 19539

Modified:
   gnunet/src/tun/tun.c
Log:
-possible fix for 2124

Modified: gnunet/src/tun/tun.c
===================================================================
--- gnunet/src/tun/tun.c        2012-01-30 13:32:03 UTC (rev 19538)
+++ gnunet/src/tun/tun.c        2012-01-30 14:20:37 UTC (rev 19539)
@@ -106,7 +106,7 @@
                                    uint16_t payload_length)
 {
   uint32_t sum;
-  uint32_t tmp;
+  uint16_t tmp;
 
   GNUNET_assert (payload_length + sizeof (struct GNUNET_TUN_IPv4Header) + 
sizeof (struct GNUNET_TUN_TcpHeader) ==
                 ntohs (ip->total_length));
@@ -116,8 +116,10 @@
   sum = GNUNET_CRYPTO_crc16_step (0, 
                                  &ip->source_address,
                                  sizeof (struct in_addr) * 2);
-  tmp = htonl ((IPPROTO_TCP << 16) | (payload_length + sizeof (struct 
GNUNET_TUN_TcpHeader)));
-  sum = GNUNET_CRYPTO_crc16_step (sum, &tmp, sizeof (uint32_t));
+  tmp = htons (IPPROTO_TCP);
+  sum = GNUNET_CRYPTO_crc16_step (sum, &tmp, sizeof (uint16_t));
+  tmp = htons (payload_length + sizeof (struct GNUNET_TUN_TcpHeader));
+  sum = GNUNET_CRYPTO_crc16_step (sum, &tmp, sizeof (uint16_t));
   sum = GNUNET_CRYPTO_crc16_step (sum, tcp, sizeof (struct 
GNUNET_TUN_TcpHeader));
   sum = GNUNET_CRYPTO_crc16_step (sum, payload, payload_length);
   tcp->crc = GNUNET_CRYPTO_crc16_finish (sum);




reply via email to

[Prev in Thread] Current Thread [Next in Thread]