]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
Bug 3985: 60s limit introduced by balance_on_multiple_ip breaks bad IP recovery
authorJakob Bohm <jb-debbugs@wisemo.com>
Sat, 21 Dec 2013 17:31:59 +0000 (09:31 -0800)
committerAmos Jeffries <squid3@treenet.co.nz>
Sat, 21 Dec 2013 17:31:59 +0000 (09:31 -0800)
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.

src/ipcache.cc

index 0e808593906520520da5428ad213bedd1c13596c..8e7a03f751bc27de6cb237e11b629767b0c74cd0 100644 (file)
@@ -943,7 +943,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 );
     }