aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/transport/gnunet-nat-client.c2
-rw-r--r--src/transport/gnunet-nat-server.c4
2 files changed, 4 insertions, 2 deletions
diff --git a/src/transport/gnunet-nat-client.c b/src/transport/gnunet-nat-client.c
index d5e9492f67..1f88f7b8f5 100644
--- a/src/transport/gnunet-nat-client.c
+++ b/src/transport/gnunet-nat-client.c
@@ -275,7 +275,7 @@ send_icmp_udp (const struct in_addr *my_ip,
udp_pkt.src_port = htons(NAT_TRAV_PORT);
udp_pkt.dst_port = htons(NAT_TRAV_PORT);
udp_pkt.length = htons (port);
- udp_pkt.crc = htons (port);
+ udp_pkt.crc = 0;
memcpy(&packet[off],
&udp_pkt,
sizeof(struct udp_header));
diff --git a/src/transport/gnunet-nat-server.c b/src/transport/gnunet-nat-server.c
index f9aceddc84..0bdd4108bc 100644
--- a/src/transport/gnunet-nat-server.c
+++ b/src/transport/gnunet-nat-server.c
@@ -385,6 +385,9 @@ process_icmp_response ()
return;
}
/* skip 2nd IP header */
+ memcpy (&ip_pkt,
+ &buf[off],
+ sizeof (struct ip_header));
off += sizeof (struct ip_header);
switch (ip_pkt.proto)
@@ -415,7 +418,6 @@ process_icmp_response ()
memcpy (&udp_pkt,
&buf[off],
sizeof (struct udp_header));
- port = ntohs (udp_pkt.crc);
port = ntohs (udp_pkt.length);
break;
default: