diff --git a/binaries/aarch64/nfqws b/binaries/aarch64/nfqws index 4d6bc0c..da6b68f 100755 Binary files a/binaries/aarch64/nfqws and b/binaries/aarch64/nfqws differ diff --git a/binaries/arm/nfqws b/binaries/arm/nfqws index 499dd86..8883a18 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 682fda4..0a376a4 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 388b3df..e36cf97 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 e8bd971..b3ea3af 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 aefb9a0..61ed747 100755 Binary files a/binaries/ppc/nfqws and b/binaries/ppc/nfqws differ diff --git a/binaries/x86/nfqws b/binaries/x86/nfqws index 3853cdf..8bdc45f 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 3238e07..d1037a0 100755 Binary files a/binaries/x86_64/nfqws and b/binaries/x86_64/nfqws differ diff --git a/nfq/conntrack.c b/nfq/conntrack.c index 622f7da..f006959 100644 --- a/nfq/conntrack.c +++ b/nfq/conntrack.c @@ -126,17 +126,14 @@ static void ConntrackFeedPacket(t_ctrack *t, bool bReverse, const struct tcphdr uint8_t scale; if (tcp_syn_segment(tcphdr)) { - if (t->state==FIN) ConntrackInitTrack(t); // erase current entry - if (t->state==SYN) t->seq0 = htonl(tcphdr->th_seq); + ConntrackInitTrack(t); // erase current entry + t->seq0 = htonl(tcphdr->th_seq); } else if (tcp_synack_segment(tcphdr)) { - if (t->state==FIN) ConntrackInitTrack(t); // erase current entry - if (t->state==SYN) - { - if (!t->seq0) t->seq0 = htonl(tcphdr->th_ack)-1; - t->ack0 = htonl(tcphdr->th_seq); - } + ConntrackInitTrack(t); // erase current entry + if (!t->seq0) t->seq0 = htonl(tcphdr->th_ack)-1; + t->ack0 = htonl(tcphdr->th_seq); } else if (tcphdr->th_flags & (TH_FIN|TH_RST)) {