Hi there! Last week we had a problem that a cache peer's DNS resolved to 13 v6 and 13 v4 addresses but the system lacked IPv6 connectivity at all. While debugging the problem (the solution was just to increase forward_max_tries) I stumbled over a line in forward.cc where n_tries is always checked against the constant value of 10 (which is the default for forward_max_tries). At another line of code n_tries is checked against the value for forward_max_tries from the configuration file. The attached patch fixes the first line so that the check is also done against the configured forward_max_tries value. Greetings, Matthias
--- src/forward.cc.orig Tue May 7 08:08:31 2013 +++ src/forward.cc Tue May 7 08:24:41 2013 @@ -514,7 +514,7 @@ FwdState::checkRetry() if (!entry->isEmpty()) return false; - if (n_tries > 10) + if (n_tries > Config.forward_max_tries) return false; if (origin_tries > 2)