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 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: |