]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
Distinguish between unreachable and timeout for throttling 11405/head
authorOtto Moerbeek <otto.moerbeek@open-xchange.com>
Fri, 11 Mar 2022 14:24:22 +0000 (15:24 +0100)
committerOtto Moerbeek <otto.moerbeek@open-xchange.com>
Fri, 11 Mar 2022 14:24:22 +0000 (15:24 +0100)
Git history shows this was converted wrongly when hardcoded values were replaced by enum values

pdns/syncres.cc

index 87704cb417f5844b0cd9380436acf31f24a3fede..87e9c1ea012d78423cb7fa000c2cc3f62054ef9e 100644 (file)
@@ -4245,7 +4245,7 @@ bool SyncRes::doResolveAtThisIP(const std::string& prefix, const DNSName& qname,
       spoofed = true;
     }
     else {
-      /* -1 means server unreachable */
+      /* LWResult::Result::PermanentError */
       s_unreachables++;
       d_unreachables++;
       // XXX questionable use of errno
@@ -4263,7 +4263,7 @@ bool SyncRes::doResolveAtThisIP(const std::string& prefix, const DNSName& qname,
         // mark server as down
         t_sstorage.throttle.throttle(d_now.tv_sec, std::make_tuple(remoteIP, g_rootdnsname, 0), s_serverdownthrottletime, 10000);
       }
-      else if (resolveret == LWResult::Result::Timeout) {
+      else if (resolveret == LWResult::Result::PermanentError) {
         // unreachable, 1 minute or 100 queries
         t_sstorage.throttle.throttle(d_now.tv_sec, std::make_tuple(remoteIP, qname, qtype.getCode()), 60, 100);
       }