diff --git a/binaries/aarch64/tpws b/binaries/aarch64/tpws index 5ae9b176..594460eb 100755 Binary files a/binaries/aarch64/tpws and b/binaries/aarch64/tpws differ diff --git a/binaries/arm/tpws b/binaries/arm/tpws index cdfc18e9..7fe9a6b2 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 3f405afc..4ed17faf 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 a8c4e382..d5ee2176 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 69af642f..c974188a 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 fbcbdb1d..9202e6d7 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 a9175643..29ad87bb 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 49b4c825..901a7516 100755 Binary files a/binaries/ppc/tpws and b/binaries/ppc/tpws differ diff --git a/binaries/x86/tpws b/binaries/x86/tpws index 09df2acc..9c893e5b 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 11446c28..990ea1fa 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 15e52d70..48d7a479 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 7ae3b7f9..82406ead 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; }