From: Pieter Lexis Date: Tue, 28 Jun 2016 10:05:08 +0000 (+0200) Subject: use implicit DNSName.toLogString() in syncres logging X-Git-Tag: rec-4.0.0~22^2~6 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2189085d3015d65d5fa60ab9680ba69e4578dbd0;p=thirdparty%2Fpdns.git use implicit DNSName.toLogString() in syncres logging --- diff --git a/pdns/syncres.cc b/pdns/syncres.cc index ee822aca6c..224945b6d3 100644 --- a/pdns/syncres.cc +++ b/pdns/syncres.cc @@ -187,15 +187,15 @@ bool SyncRes::doOOBResolve(const DNSName &qname, const QType &qtype, vectordomainmap->end()) { - LOG(prefix< range; range=iter->second.d_records.equal_range(tie(qname)); // partial lookup @@ -214,12 +214,12 @@ bool SyncRes::doOOBResolve(const DNSName &qname, const QType &qtype, vectorsecond.d_records.find(boost::make_tuple(authdomain, QType::SOA)); if(ziter!=iter->second.d_records.end()) { DNSRecord dr=*ziter; @@ -227,15 +227,15 @@ bool SyncRes::doOOBResolve(const DNSName &qname, const QType &qtype, vectorfirst && wcarddomain.chopOff()) { - LOG(prefix<second.d_records.equal_range(boost::make_tuple(DNSName("*")+wcarddomain)); if(range.first==range.second) continue; @@ -248,7 +248,7 @@ bool SyncRes::doOOBResolve(const DNSName &qname, const QType &qtype, vectorsecond.d_records.find(boost::make_tuple(authdomain, QType::SOA)); if(ziter!=iter->second.d_records.end()) { DNSRecord dr=*ziter; @@ -275,7 +275,7 @@ bool SyncRes::doOOBResolve(const DNSName &qname, const QType &qtype, vectord_rcode == RCode::FormErr || res->d_rcode == RCode::NotImp) { - // cerr<<"Downgrading to NOEDNS because of "<d_rcode)<<" for query to "<d_rcode)<<" for query to "<d_haveEDNS) { if(mode != EDNSStatus::EDNSIGNORANT) { mode = EDNSStatus::EDNSIGNORANT; - // cerr<<"We find that "<domainmap->end()) { @@ -425,7 +425,7 @@ int SyncRes::doResolve(const DNSName &qname, const QType &qtype, vector nm; res=asyncresolveWrapper(remoteIP, d_doDNSSEC, qname, qtype.getCode(), false, false, &d_now, nm, &lwr); @@ -450,7 +450,7 @@ int SyncRes::doResolve(const DNSName &qname, const QType &qtype, vector ns; *flawedNSSet = false; if(t_RC->get(d_now.tv_sec, subdomain, QType(QType::NS), &ns, d_requestor) > 0) { @@ -582,8 +582,8 @@ void SyncRes::getBestNSFromCache(const DNSName &qname, const QType& qtype, vecto if(nrr && (!nrr->getNS().isPartOf(subdomain) || t_RC->get(d_now.tv_sec, nrr->getNS(), s_doIPv6 ? QType(QType::ADDR) : QType(QType::A), doLog() ? &aset : 0, d_requestor) > 5)) { bestns.push_back(dr); - LOG(prefix< '"<getNS()<<"'"<getNS().isPartOf(subdomain)); + LOG(prefix< '"<getNS()<<"'"<getNS().isPartOf(subdomain)); if(!aset.empty()) { LOG(", in cache, ttl="<<(unsigned int)(((time_t)aset.begin()->d_ttl- d_now.tv_sec ))<::const_iterator j=beenthere.begin();j!=beenthere.end();++j) { bool neo = !(*j< answer || answer<*j); - LOG(prefix<qname.toString()<<"|"<qtype)<<" ("<<(unsigned int)j->bestns.size()<<")"<qname<<"|"<qtype)<<" ("<<(unsigned int)j->bestns.size()<<")"<9 && d_outqueries>10 && d_throttledqueries>5) || depth > 15) { - LOG(prefix< cset; vector> signatures; if(t_RC->get(d_now.tv_sec, qname,QType(QType::CNAME), &cset, d_requestor, &signatures) > 0) { for(auto j=cset.cbegin() ; j != cset.cend() ; ++j) { if(j->d_ttl>(unsigned int) d_now.tv_sec) { - LOG(prefix<d_content->getZoneRepresentation()<<"'"<d_content->getZoneRepresentation()<<"'"< "< "< range; QType qtnull(0); @@ -756,7 +756,7 @@ bool SyncRes::doCacheCheck(const DNSName &qname, const QType &qtype, vectord_qname.isRoot() && (uint32_t)d_now.tv_sec < range.first->d_ttd ) { sttl=range.first->d_ttd - d_now.tv_sec; - LOG(prefix<d_name.toString()<<"' & '"<d_qname.toString()<<"' for another "<d_name<<"' & '"<d_qname<<"' for another "<d_qname; sqt=QType::SOA; @@ -774,11 +774,11 @@ bool SyncRes::doCacheCheck(const DNSName &qname, const QType &qtype, vectord_ttd) { sttl=ni->d_ttd - d_now.tv_sec; if(ni->d_qtype.getCode()) { - LOG(prefix<d_qname.toString()<<"' for another "<d_qname<<"' for another "<d_qname.toString()<<"' for another "<d_qname<<"' for another "<negcache, ni); } } @@ -807,7 +807,7 @@ bool SyncRes::doCacheCheck(const DNSName &qname, const QType &qtype, vector> signatures; uint32_t ttl=0; if(t_RC->get(d_now.tv_sec, sqname, sqt, &cset, d_requestor, d_doDNSSEC ? &signatures : 0) > 0) { - LOG(prefix<d_content->getZoneRepresentation()); if(j->d_ttl>(unsigned int) d_now.tv_sec) { @@ -845,7 +845,7 @@ bool SyncRes::doCacheCheck(const DNSName &qname, const QType &qtype, vector rnameservers = shuffleInSpeedOrder(nameservers, doLog() ? (prefix+qname.toString()+": ") : string() ); for(vector::const_iterator tns=rnameservers.begin();;++tns) { if(tns==rnameservers.end()) { - LOG(prefix<doAgeCache(d_now.tv_sec, auth, QType::NS, 10)) g_stats.nsSetInvalidations++; @@ -967,7 +967,7 @@ int SyncRes::doResolveAt(NsSet &nameservers, DNSName auth, bool flawedNSSet, con } // this line needs to identify the 'self-resolving' behaviour, but we get it wrong now if(qname == *tns && qtype.getCode()==QType::A && rnameservers.size() > (unsigned)(1+1*s_doIPv6)) { - LOG(prefix< ednsmask; LWResult lwr; if(tns->empty() && nameservers[*tns].first.empty() ) { - LOG(prefix<empty()) { - LOG(prefix<empty()) { - LOG(prefix< 1) { @@ -1013,12 +1013,12 @@ int SyncRes::doResolveAt(NsSet &nameservers, DNSName auth, bool flawedNSSet, con } if(remoteIPs.empty()) { - LOG(prefix<toStringWithPort() <<", asking '"<toStringWithPort() <<", asking '"<throttle.shouldThrottle(d_now.tv_sec, boost::make_tuple(*remoteIP, "", 0))) { - LOG(prefix<throttle.shouldThrottle(d_now.tv_sec, boost::make_tuple(*remoteIP, qname, qtype.getCode()))) { - LOG(prefix<match(&*remoteIP)) { - LOG(prefix<toString() << ", blocked by 'dont-query' setting" << endl); + LOG(prefix<toString() << ", blocked by 'dont-query' setting" << endl); s_dontqueries++; continue; } else { s_outqueries++; d_outqueries++; - if(d_outqueries + d_throttledqueries > s_maxqperq) throw ImmediateServFailException("more than "+std::to_string(s_maxqperq)+" (max-qperq) queries sent while resolving "+qname.toString()); + if(d_outqueries + d_throttledqueries > s_maxqperq) throw ImmediateServFailException("more than "+std::to_string(s_maxqperq)+" (max-qperq) queries sent while resolving "+qname.toLogString()); TryTCP: if(doTCP) { - LOG(prefix<toStringWithPort() <toStringWithPort() < s_maxtotusec) - throw ImmediateServFailException("Too much time waiting for "+qname.toString()+"|"+qtype.getName()+", timeouts: "+std::to_string(d_timeouts) +", throttles: "+std::to_string(d_throttledqueries) + ", queries: "+std::to_string(d_outqueries)+", "+std::to_string(d_totUsec/1000)+"msec"); + throw ImmediateServFailException("Too much time waiting for "+qname.toLogString()+"|"+qtype.getName()+", timeouts: "+std::to_string(d_timeouts) +", throttles: "+std::to_string(d_throttledqueries) + ", queries: "+std::to_string(d_outqueries)+", "+std::to_string(d_totUsec/1000)+"msec"); if(d_pdl && d_pdl->preoutquery(*remoteIP, d_requestor, qname, qtype, doTCP, lwr.d_records, resolveret)) { - LOG(prefix<sin4.sin_family); if(resolveret != 1) { if(resolveret==0) { - LOG(prefix<sin4.sin_family == AF_INET) @@ -1084,12 +1084,12 @@ int SyncRes::doResolveAt(NsSet &nameservers, DNSName auth, bool flawedNSSet, con s_outgoing6timeouts++; } else if(resolveret==-2) { - LOG(prefix<toString()<< (doTCP ? " over TCP" : "") <<", possible error: "<toString()<< (doTCP ? " over TCP" : "") <<", possible error: "< 0 && (auth != DNSName(".")) && t_sstorage->fails.incr(*remoteIP) >= s_serverdownmaxfails) { - LOG(prefix<toString() <<". Going full throttle for "<< s_serverdownthrottletime <<" seconds" <toString() <<". Going full throttle for "<< s_serverdownthrottletime <<" seconds" <throttle.throttle(d_now.tv_sec, boost::make_tuple(*remoteIP, "", 0), s_serverdownthrottletime, 10000); // mark server as down } else if(resolveret==-1) t_sstorage->throttle.throttle(d_now.tv_sec, boost::make_tuple(*remoteIP, qname, qtype.getCode()), 60, 100); // unreachable, 1 minute or 100 queries @@ -1110,7 +1110,7 @@ int SyncRes::doResolveAt(NsSet &nameservers, DNSName auth, bool flawedNSSet, con // if(d_timeouts + 0.5*d_throttledqueries > 6.0 && d_timeouts > 2) throw ImmediateServFailException("Too much work resolving "+qname+"|"+qtype.getName()+", timeouts: "+std::to_string(d_timeouts) +", throttles: "+std::to_string(d_throttledqueries)); if(lwr.d_rcode==RCode::ServFail || lwr.d_rcode==RCode::Refused) { - LOG(prefix<toString()<<") returned a "<< (lwr.d_rcode==RCode::ServFail ? "ServFail" : "Refused") << ", trying sibling IP or NS"<toString()<<") returned a "<< (lwr.d_rcode==RCode::ServFail ? "ServFail" : "Refused") << ", trying sibling IP or NS"<throttle.throttle(d_now.tv_sec,boost::make_tuple(*remoteIP, qname, qtype.getCode()),60,3); // servfail or refused continue; } @@ -1120,7 +1120,7 @@ int SyncRes::doResolveAt(NsSet &nameservers, DNSName auth, bool flawedNSSet, con break; // this IP address worked! wasLame:; // well, it didn't - LOG(prefix<toString() <<") is lame for '"<toString() <<") is lame for '"<throttle.throttle(d_now.tv_sec, boost::make_tuple(*remoteIP, qname, qtype.getCode()), 60, 100); // lame } } @@ -1131,13 +1131,13 @@ int SyncRes::doResolveAt(NsSet &nameservers, DNSName auth, bool flawedNSSet, con if(lwr.d_tcbit) { if(!doTCP) { doTCP=true; - LOG(prefix<toString() <<"), rcode="<toString() <<"), rcode="<sin4.sin_family==AF_INET6) @@ -1184,10 +1184,10 @@ int SyncRes::doResolveAt(NsSet &nameservers, DNSName auth, bool flawedNSSet, con // reap all answers from this packet that are acceptable for(auto& rec : lwr.d_records) { if(rec.d_type == QType::OPT) { - LOG(prefix<getZoneRepresentation()<<"' from '"<getZoneRepresentation()<<"' from '"<domainmap->end()) { if (auth_domain_iter->first != auth) { - LOG("NO! - we are authoritative for the zone "<first.toString()<first<(&record.d_ttl)=lowestTTL; // boom } - // cout<<"Have "<second.records.size()<<" records and "<second.signatures.size()<<" signatures for "<first.first.toString(); + // cout<<"Have "<second.records.size()<<" records and "<second.signatures.size()<<" signatures for "<first.first; // cout<<'|'<first.second.getCode())<second.records.empty()) // this happens when we did store signatures, but passed on the records themselves continue; @@ -1261,7 +1261,7 @@ int SyncRes::doResolveAt(NsSet &nameservers, DNSName auth, bool flawedNSSet, con d_wasVariable=true; } set nsset; - LOG(prefix<getZoneRepresentation()<<"|"<getZoneRepresentation()<<"|"< '"<getZoneRepresentation()<<"'"< '"<getZoneRepresentation()<<"'"< '"<getZoneRepresentation()<<"', had '"< '"<getZoneRepresentation()<<"', had '"<(rec)) { nsset.insert(content->getNS()); } } else if(rec.d_place==DNSResourceRecord::AUTHORITY && qname.isPartOf(rec.d_name) && rec.d_type==QType::DS) { - LOG(prefix< '"<getZoneRepresentation()<<"'"< '"<getZoneRepresentation()<<"'"< 10) { - LOG(prefix< beenthere2; return doResolve(newtarget, qtype, ret, depth + 1, beenthere2); } if(lwr.d_rcode==RCode::NXDomain) { - LOG(prefix<dnssecmap[newauth]=true; /* for(const auto& e : t_sstorage->dnssecmap) - cout<