]> granicus.if.org Git - pdns/commitdiff
if we have only 1 nameserver for a domain, and we have glue for it, use it to resolve...
authorBert Hubert <bert.hubert@netherlabs.nl>
Fri, 19 Oct 2012 09:04:10 +0000 (09:04 +0000)
committerBert Hubert <bert.hubert@netherlabs.nl>
Fri, 19 Oct 2012 09:04:10 +0000 (09:04 +0000)
git-svn-id: svn://svn.powerdns.com/pdns/trunk/pdns@2817 d19b8d6e-7fed-0310-83ef-9ca221ded41b

pdns/syncres.cc

index 67fb3bd825ebf106bb80c32ddc484e219efaf05b..f2c1c152808e76ffb03b9c8b83622dde08ef865f 100644 (file)
@@ -815,7 +815,7 @@ int SyncRes::doResolveAt(set<string, CIStringCompare> nameservers, string auth,
         }
         return -1;
       }
-      if(qname==*tns && qtype.getCode()==QType::A) {
+      if(pdns_iequals(qname, *tns) && qtype.getCode()==QType::A && rnameservers.size() > 1) {
         LOG<<prefix<<qname<<": Not using NS to resolve itself!"<<endl;
         continue;
       }
@@ -949,7 +949,7 @@ int SyncRes::doResolveAt(set<string, CIStringCompare> nameservers, string auth,
           t_sstorage->throttle.throttle(d_now.tv_sec,make_tuple(*remoteIP, qname, qtype.getCode()),60,3); // servfail
           continue;
         }
-        LOG<<prefix<<qname<<": Got "<<(unsigned int)lwr.d_result.size()<<" answers from "<<*tns<<" ("<< remoteIP->toString() <<"), rcode="<<lwr.d_rcode<<", in "<<lwr.d_usec/1000<<"ms"<<endl;
+        LOG<<prefix<<qname<<": Got "<<(unsigned int)lwr.d_result.size()<<" answers from "<<*tns<<" ("<< remoteIP->toString() <<"), rcode="<<lwr.d_rcode<<", aa="<<lwr.d_aabit<<", in "<<lwr.d_usec/1000<<"ms"<<endl;
 
         /*  // for you IPv6 fanatics :-)
         if(remoteIP->sin4.sin_family==AF_INET6)