From: bert hubert Date: Thu, 19 Jun 2014 11:04:37 +0000 (+0200) Subject: do not apply some of our filters to root and gtlds, plus remove some useless {} X-Git-Tag: rec-3.6.0~4 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=30b13ef73275df2d52b3f5a9900635892696c81d;p=thirdparty%2Fpdns.git do not apply some of our filters to root and gtlds, plus remove some useless {} --- diff --git a/pdns/syncres.cc b/pdns/syncres.cc index 59af83c4f3..4dc78b4852 100644 --- a/pdns/syncres.cc +++ b/pdns/syncres.cc @@ -1,6 +1,6 @@ /* PowerDNS Versatile Database Driven Nameserver - Copyright (C) 2003 - 2013 PowerDNS.COM BV + Copyright (C) 2003 - 2014 PowerDNS.COM BV This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published @@ -931,7 +931,8 @@ int SyncRes::doResolveAt(set nameservers, string auth, resolveret=asyncresolveWrapper(*remoteIP, qname, qtype.getCode(), doTCP, sendRDQuery, &d_now, &lwr); // <- we go out on the wire! - if(resolveret != 1) { + + if(resolveret != 1) { if(resolveret==0) { LOG(prefix< nameservers, string auth, s_unreachables++; d_unreachables++; LOG(prefix<nsSpeeds[*tns].submit(*remoteIP, 1000000, &d_now); // 1 sec - } - if (s_serverdownmaxfails > 0 && t_sstorage->fails.incr(*remoteIP) >= s_serverdownmaxfails) { + t_sstorage->nsSpeeds[*tns].submit(*remoteIP, 1000000, &d_now); // 1 sec + + // code below makes sure we don't filter COM or the root + if (s_serverdownmaxfails > 0 && (auth.find('.')+1 != auth.size()) && t_sstorage->fails.incr(*remoteIP) >= s_serverdownmaxfails) { LOG(prefix<toString() <<". Going full throttle for 1 minute" <throttle.throttle(d_now.tv_sec, make_tuple(*remoteIP, "", 0), s_serverdownthrottletime, 10000); // mark server as down } else if(resolveret==-1)