diff --git a/nfq/desync.c b/nfq/desync.c index c2b4af6..e7fb31f 100644 --- a/nfq/desync.c +++ b/nfq/desync.c @@ -367,9 +367,9 @@ static uint8_t ct_new_postnat_fix(const t_ctrack *ctrack, struct ip *ip, struct if (proto==IPPROTO_UDP && udp && len_pkt) { // make malformed udp packet with zero length and invalid checksum - udp->len = 0; // invalid length. must be >=8 + udp->uh_ulen = 0; // invalid length. must be >=8 udp_fix_checksum(udp,sizeof(struct udphdr),ip,ip6); - udp->check ^= htons(0xBEAF); + udp->uh_sum ^= htons(0xBEAF); // truncate packet *len_pkt = (uint8_t*)udp - (ip ? (uint8_t*)ip : (uint8_t*)ip6) + sizeof(struct udphdr); if (ip)