From a3928acde95b8ec064ca1f87c651d01c8f991afd Mon Sep 17 00:00:00 2001 From: Pieter Lexis Date: Fri, 10 Aug 2018 12:38:22 +0200 Subject: [PATCH] dnsproxy: Fix two nits reported by @Habbie --- pdns/dnsproxy.cc | 58 ++++++++++++++++++++++-------------------------- 1 file changed, 26 insertions(+), 32 deletions(-) diff --git a/pdns/dnsproxy.cc b/pdns/dnsproxy.cc index 69f5b30f67..670f90706b 100644 --- a/pdns/dnsproxy.cc +++ b/pdns/dnsproxy.cc @@ -100,7 +100,7 @@ bool DNSProxy::completePacket(DNSPacket *r, const DNSName& target,const DNSName& ret2 = stubDoResolve(target, QType::AAAA, ips); if(ret1 != RCode::NoError || ret2 != RCode::NoError) { - g_log<second.complete) { // TODO in the world of non-recursive backends, isn't this always true? - MOADNSParser mdp(false, p.getString()); - // cerr<<"Got completion, "<first.d_place-1<<" "<first.d_label<<" " << DNSRecordContent::NumberToType(j->first.d_type)<<" "<first.d_content->getZoneRepresentation()<first.d_place == DNSResourceRecord::ANSWER || (j->first.d_place == DNSResourceRecord::AUTHORITY && j->first.d_type == QType::SOA)) { - - if(j->first.d_type == i->second.qtype || (i->second.qtype == QType::ANY && (j->first.d_type == QType::A || j->first.d_type == QType::AAAA))) { - DNSZoneRecord dzr; - dzr.dr.d_name=i->second.aname; - dzr.dr.d_type = j->first.d_type; - dzr.dr.d_ttl=j->first.d_ttl; - dzr.dr.d_place= j->first.d_place; - dzr.dr.d_content=j->first.d_content; - i->second.complete->addRecord(dzr); - } + MOADNSParser mdp(false, p.getString()); + // cerr<<"Got completion, "<first.d_place-1<<" "<first.d_label<<" " << DNSRecordContent::NumberToType(j->first.d_type)<<" "<first.d_content->getZoneRepresentation()<first.d_place == DNSResourceRecord::ANSWER || (j->first.d_place == DNSResourceRecord::AUTHORITY && j->first.d_type == QType::SOA)) { + + if(j->first.d_type == i->second.qtype || (i->second.qtype == QType::ANY && (j->first.d_type == QType::A || j->first.d_type == QType::AAAA))) { + DNSZoneRecord dzr; + dzr.dr.d_name=i->second.aname; + dzr.dr.d_type = j->first.d_type; + dzr.dr.d_ttl=j->first.d_ttl; + dzr.dr.d_place= j->first.d_place; + dzr.dr.d_content=j->first.d_content; + i->second.complete->addRecord(dzr); } } - i->second.complete->setRcode(mdp.d_header.rcode); - } else { - g_log<second.aname<<" ALIAS "<second.qname<<" over UDP, "<second.qtype).getName()<<"-record query returned "<second.complete->clearRecords(); - i->second.complete->setRcode(RCode::ServFail); } - reply=i->second.complete->getString(); - iov.iov_base = (void*)reply.c_str(); - iov.iov_len = reply.length(); - delete i->second.complete; - i->second.complete=0; - } - else { - iov.iov_base = buffer; - iov.iov_len = len; + i->second.complete->setRcode(mdp.d_header.rcode); + } else { + g_log<second.aname<<" ALIAS "<second.qname<<" over UDP, "<second.qtype).getName()<<"-record query returned "<second.complete->clearRecords(); + i->second.complete->setRcode(RCode::ServFail); } + reply=i->second.complete->getString(); + iov.iov_base = (void*)reply.c_str(); + iov.iov_len = reply.length(); + delete i->second.complete; + i->second.complete=0; msgh.msg_iov = &iov; msgh.msg_iovlen = 1; msgh.msg_name = (struct sockaddr*)&i->second.remote; -- 2.47.2