diff --git a/binaries/aarch64/tpws b/binaries/aarch64/tpws index 5ae9b17..594460e 100755 Binary files a/binaries/aarch64/tpws and b/binaries/aarch64/tpws differ diff --git a/binaries/arm/tpws b/binaries/arm/tpws index cdfc18e..7fe9a6b 100755 Binary files a/binaries/arm/tpws and b/binaries/arm/tpws differ diff --git a/binaries/freebsd-x64/tpws b/binaries/freebsd-x64/tpws index 3f405af..4ed17fa 100755 Binary files a/binaries/freebsd-x64/tpws and b/binaries/freebsd-x64/tpws differ diff --git a/binaries/mac64/tpws b/binaries/mac64/tpws index a8c4e38..d5ee217 100755 Binary files a/binaries/mac64/tpws and b/binaries/mac64/tpws differ diff --git a/binaries/mips32r1-lsb/tpws b/binaries/mips32r1-lsb/tpws index 69af642..c974188 100755 Binary files a/binaries/mips32r1-lsb/tpws and b/binaries/mips32r1-lsb/tpws differ diff --git a/binaries/mips32r1-msb/tpws b/binaries/mips32r1-msb/tpws index fbcbdb1..9202e6d 100755 Binary files a/binaries/mips32r1-msb/tpws and b/binaries/mips32r1-msb/tpws differ diff --git a/binaries/mips64r2-msb/tpws b/binaries/mips64r2-msb/tpws index a917564..29ad87b 100755 Binary files a/binaries/mips64r2-msb/tpws and b/binaries/mips64r2-msb/tpws differ diff --git a/binaries/ppc/tpws b/binaries/ppc/tpws index 49b4c82..901a751 100755 Binary files a/binaries/ppc/tpws and b/binaries/ppc/tpws differ diff --git a/binaries/x86/tpws b/binaries/x86/tpws index 09df2ac..9c893e5 100755 Binary files a/binaries/x86/tpws and b/binaries/x86/tpws differ diff --git a/binaries/x86_64/tpws b/binaries/x86_64/tpws index 11446c2..990ea1f 100755 Binary files a/binaries/x86_64/tpws and b/binaries/x86_64/tpws differ diff --git a/binaries/x86_64/tpws_wsl.tgz b/binaries/x86_64/tpws_wsl.tgz index 15e52d7..48d7a47 100644 Binary files a/binaries/x86_64/tpws_wsl.tgz and b/binaries/x86_64/tpws_wsl.tgz differ diff --git a/tpws/tamper.c b/tpws/tamper.c index 7ae3b7f..82406ea 100644 --- a/tpws/tamper.c +++ b/tpws/tamper.c @@ -253,6 +253,21 @@ void tamper_out(t_ctrack *ctrack, uint8_t *segment,size_t segment_buffer_size,si if (params.oob) *split_flags |= SPLIT_FLAG_OOB; } +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); + VPRINT("auto hostlist : %s : fail counter reset. website is working.", hostname); + HOSTLIST_DEBUGLOG_APPEND("%s : fail counter reset. website is working.", hostname); + } + } +} static void auto_hostlist_failed(const char *hostname) { @@ -331,10 +346,11 @@ void tamper_in(t_ctrack *ctrack, uint8_t *segment,size_t segment_buffer_size,siz // received not http reply. do not monitor this connection anymore VPRINT("incoming unknown HTTP data detected for hostname %s", ctrack->hostname); } - if (bFail) - auto_hostlist_failed(ctrack->hostname); + if (bFail) auto_hostlist_failed(ctrack->hostname); + + } + if (!bFail) auto_hostlist_reset_fail_counter(ctrack->hostname); - } } ctrack->bTamperInCutoff = true; }