diff --git a/binaries/aarch64/nfqws b/binaries/aarch64/nfqws index 1a07b48..689c491 100755 Binary files a/binaries/aarch64/nfqws and b/binaries/aarch64/nfqws differ diff --git a/binaries/arm/nfqws b/binaries/arm/nfqws index b41e6c2..b7f498e 100755 Binary files a/binaries/arm/nfqws and b/binaries/arm/nfqws differ diff --git a/binaries/freebsd-x64/dvtws b/binaries/freebsd-x64/dvtws index 9942dfa..b29310a 100755 Binary files a/binaries/freebsd-x64/dvtws and b/binaries/freebsd-x64/dvtws differ diff --git a/binaries/mips32r1-lsb/nfqws b/binaries/mips32r1-lsb/nfqws index d308825..393e529 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 2dd95ae..626bfcf 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 caf5991..543961e 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 db06b36..e5e6467 100755 Binary files a/binaries/ppc/nfqws and b/binaries/ppc/nfqws differ diff --git a/binaries/win64/winws.exe b/binaries/win64/winws.exe index ef50937..e720ec2 100644 Binary files a/binaries/win64/winws.exe and b/binaries/win64/winws.exe differ diff --git a/binaries/win64/zapret-winws/autohostlist.txt b/binaries/win64/zapret-winws/autohostlist.txt new file mode 100644 index 0000000..e69de29 diff --git a/binaries/win64/zapret-winws/winws.exe b/binaries/win64/zapret-winws/winws.exe index ef50937..e720ec2 100644 Binary files a/binaries/win64/zapret-winws/winws.exe and b/binaries/win64/zapret-winws/winws.exe differ diff --git a/binaries/x86/nfqws b/binaries/x86/nfqws index 18f34ad..09a946f 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 810caff..f7b31b7 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 fa48c1e..b77da48 100644 --- a/nfq/darkmagic.c +++ b/nfq/darkmagic.c @@ -1096,7 +1096,7 @@ bool nlm_list(bool bAll) IEnumNetworkConnections *pEnumConnections; VARIANT_BOOL bIsConnected, bIsConnectedInet; NLM_NETWORK_CATEGORY category; - GUID idNet, idAdapter; + GUID idNet, idAdapter, idConn; BSTR bstrName; char Name[128],Name2[128]; int connected; diff --git a/nfq/desync.c b/nfq/desync.c index 5522914..b10da7c 100644 --- a/nfq/desync.c +++ b/nfq/desync.c @@ -174,6 +174,22 @@ static void ctrack_stop_retrans_counter(t_ctrack *ctrack) } } +static void auto_hostlist_reset_fail_counter(const char *hostname) +{ + if (hostname) + { + hostfail_pool *fail_counter; + + fail_counter = HostFailPoolFind(params.hostlist_auto_fail_counters, hostname); + if (fail_counter) + { + HostFailPoolDel(¶ms.hostlist_auto_fail_counters, fail_counter); + DLOG("auto hostlist : %s : fail counter reset. website is working.\n", hostname); + HOSTLIST_DEBUGLOG_APPEND("%s : fail counter reset. website is working.", hostname); + } + } +} + // return true if retrans trigger fires static bool auto_hostlist_retrans(t_ctrack *ctrack, uint8_t l4proto, int threshold) { @@ -187,6 +203,7 @@ static bool auto_hostlist_retrans(t_ctrack *ctrack, uint8_t l4proto, int thresho { DLOG("req retrans : tcp seq %u not within the req range %u-%u. stop tracking.\n", ctrack->seq_last, ctrack->req_seq_start, ctrack->req_seq_end); ctrack_stop_retrans_counter(ctrack); + auto_hostlist_reset_fail_counter(ctrack->hostname); return false; } } @@ -540,7 +557,10 @@ static uint8_t dpi_desync_tcp_packet_play(bool replay, size_t reasm_offset, uint HOSTLIST_DEBUGLOG_APPEND("%s : redirect to another domain", ctrack->hostname); } else + { DLOG("local or in-domain redirect detected. it's not a DPI redirect.\n") + auto_hostlist_reset_fail_counter(ctrack->hostname); + } } else {