From: Jakob Bohm Date: Wed, 25 Dec 2013 21:36:07 +0000 (-0700) Subject: Bug 3985: 60s limit introduced by balance_on_multiple_ip breaks bad IP recovery X-Git-Tag: SQUID_3_4_2~3 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=dbe77c980f1736516396dde64788f4b35189d67f;p=thirdparty%2Fsquid.git Bug 3985: 60s limit introduced by balance_on_multiple_ip breaks bad IP recovery Alternative fix if necessary would be to calculate a dynamic timeout value based on number and timeouts for connections and forwarding. However, as noted in the bug report the address markings are reset every TTL when the stored RR are replaced. This meets the criteria for periodic retries of marked-BAD IPs. Also if all IPs are marked BAD they all get un-marked and retried. So for now just remove the TTL hack. --- diff --git a/src/ipcache.cc b/src/ipcache.cc index d12c45262a..e57f213bc8 100644 --- a/src/ipcache.cc +++ b/src/ipcache.cc @@ -1071,7 +1071,6 @@ ipcacheMarkBadAddr(const char *name, const Ip::Address &addr) if (!ia->bad_mask[k]) { ia->bad_mask[k] = TRUE; ++ia->badcount; - i->expires = min(squid_curtime + max((time_t)60, Config.negativeDnsTtl), i->expires); debugs(14, 2, "ipcacheMarkBadAddr: " << name << " " << addr ); }