diff --git a/binaries/aarch64/nfqws b/binaries/aarch64/nfqws index bf091f52..f66315ac 100755 Binary files a/binaries/aarch64/nfqws and b/binaries/aarch64/nfqws differ diff --git a/binaries/arm/nfqws b/binaries/arm/nfqws index 2ed7f7b9..197aef6d 100755 Binary files a/binaries/arm/nfqws and b/binaries/arm/nfqws differ diff --git a/binaries/mips32r1-lsb/nfqws b/binaries/mips32r1-lsb/nfqws index 33e00b85..c06efdb6 100755 Binary files a/binaries/mips32r1-lsb/nfqws and b/binaries/mips32r1-lsb/nfqws differ diff --git a/binaries/mips32r1-msb/nfqws b/binaries/mips32r1-msb/nfqws index fdc223c4..cb51310b 100755 Binary files a/binaries/mips32r1-msb/nfqws and b/binaries/mips32r1-msb/nfqws differ diff --git a/binaries/mips64r2-msb/nfqws b/binaries/mips64r2-msb/nfqws index 8327788d..5eeb54b2 100755 Binary files a/binaries/mips64r2-msb/nfqws and b/binaries/mips64r2-msb/nfqws differ diff --git a/binaries/ppc/nfqws b/binaries/ppc/nfqws index 81df7deb..4f33582f 100755 Binary files a/binaries/ppc/nfqws and b/binaries/ppc/nfqws differ diff --git a/binaries/x86/nfqws b/binaries/x86/nfqws index 6acc6255..b14b2f08 100755 Binary files a/binaries/x86/nfqws and b/binaries/x86/nfqws differ diff --git a/binaries/x86_64/nfqws b/binaries/x86_64/nfqws index 359a2179..4e49c537 100755 Binary files a/binaries/x86_64/nfqws and b/binaries/x86_64/nfqws differ diff --git a/nfq/darkmagic.c b/nfq/darkmagic.c index a032993e..66a2aa1f 100644 --- a/nfq/darkmagic.c +++ b/nfq/darkmagic.c @@ -327,7 +327,6 @@ bool ip_frag4( ((struct ip*)pkt1)->ip_off = htons(IP_MF); ((struct ip*)pkt1)->ip_len = htons(hdrlen+frag_pos); if (ident!=(uint32_t)-1) ((struct ip*)pkt1)->ip_id = (uint16_t)ident; - *pkt1_size=hdrlen+frag_pos; ip4_fix_checksum((struct ip *)pkt1); @@ -795,6 +794,15 @@ static int rawsend_socket_raw(int domain, int proto) close(fd); return -1; } + #ifdef __linux__ + int yes=1; + if (setsockopt(fd,IPPROTO_IP,IP_NODEFRAG,&yes,sizeof(yes)) == -1) + { + perror("rawsend: setsockopt(IP_NODEFRAG)"); + close(fd); + return -1; + } + #endif } return fd; }