diff options
-rw-r--r-- | src/transport/gnunet-nat-client.c | 2 | ||||
-rw-r--r-- | src/transport/gnunet-nat-server.c | 4 |
2 files changed, 4 insertions, 2 deletions
diff --git a/src/transport/gnunet-nat-client.c b/src/transport/gnunet-nat-client.c index d5e9492f6..1f88f7b8f 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, | |||
275 | udp_pkt.src_port = htons(NAT_TRAV_PORT); | 275 | udp_pkt.src_port = htons(NAT_TRAV_PORT); |
276 | udp_pkt.dst_port = htons(NAT_TRAV_PORT); | 276 | udp_pkt.dst_port = htons(NAT_TRAV_PORT); |
277 | udp_pkt.length = htons (port); | 277 | udp_pkt.length = htons (port); |
278 | udp_pkt.crc = htons (port); | 278 | udp_pkt.crc = 0; |
279 | memcpy(&packet[off], | 279 | memcpy(&packet[off], |
280 | &udp_pkt, | 280 | &udp_pkt, |
281 | sizeof(struct udp_header)); | 281 | sizeof(struct udp_header)); |
diff --git a/src/transport/gnunet-nat-server.c b/src/transport/gnunet-nat-server.c index f9aceddc8..0bdd4108b 100644 --- a/src/transport/gnunet-nat-server.c +++ b/src/transport/gnunet-nat-server.c | |||
@@ -385,6 +385,9 @@ process_icmp_response () | |||
385 | return; | 385 | return; |
386 | } | 386 | } |
387 | /* skip 2nd IP header */ | 387 | /* skip 2nd IP header */ |
388 | memcpy (&ip_pkt, | ||
389 | &buf[off], | ||
390 | sizeof (struct ip_header)); | ||
388 | off += sizeof (struct ip_header); | 391 | off += sizeof (struct ip_header); |
389 | 392 | ||
390 | switch (ip_pkt.proto) | 393 | switch (ip_pkt.proto) |
@@ -415,7 +418,6 @@ process_icmp_response () | |||
415 | memcpy (&udp_pkt, | 418 | memcpy (&udp_pkt, |
416 | &buf[off], | 419 | &buf[off], |
417 | sizeof (struct udp_header)); | 420 | sizeof (struct udp_header)); |
418 | port = ntohs (udp_pkt.crc); | ||
419 | port = ntohs (udp_pkt.length); | 421 | port = ntohs (udp_pkt.length); |
420 | break; | 422 | break; |
421 | default: | 423 | default: |