diff --git a/binaries/aarch64/nfqws b/binaries/aarch64/nfqws index bf091f5..f66315a 100755 Binary files a/binaries/aarch64/nfqws and b/binaries/aarch64/nfqws differ diff --git a/binaries/arm/nfqws b/binaries/arm/nfqws index 2ed7f7b..197aef6 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 33e00b8..c06efdb 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 fdc223c..cb51310 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 8327788..5eeb54b 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 81df7de..4f33582 100755 Binary files a/binaries/ppc/nfqws and b/binaries/ppc/nfqws differ diff --git a/binaries/x86/nfqws b/binaries/x86/nfqws index 6acc625..b14b2f0 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 359a217..4e49c53 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 a032993..66a2aa1 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; }