From: bert hubert Date: Mon, 5 Sep 2016 09:02:32 +0000 (+0200) Subject: set of labelReverse incorrect migrations, two of which likely are still incorrect X-Git-Tag: dnsdist-1.1.0-beta2~123^2~18 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=897e94f362c185eb99d903cc4ea19b7c0ba4edc0;p=thirdparty%2Fpdns.git set of labelReverse incorrect migrations, two of which likely are still incorrect --- diff --git a/modules/bindbackend/bindbackend2.cc b/modules/bindbackend/bindbackend2.cc index 9be212f0d7..bf5b1139ff 100644 --- a/modules/bindbackend/bindbackend2.cc +++ b/modules/bindbackend/bindbackend2.cc @@ -993,7 +993,7 @@ bool Bind2Backend::getBeforeAndAfterNamesAbsolute(uint32_t id, const std::string nsec3zone=getNSEC3PARAM(auth, &ns3pr); if(!nsec3zone) { - DNSName dqname = DNSName(qname).labelReverse(); + DNSName dqname(DNSName(qname).labelReverse().toString(" ", false)); // the horror //cerr<<"in bind2backend::getBeforeAndAfterAbsolute: no nsec3 for "<updateDNSSECOrderAndAuthAbsolute(domain_id, qname, ins, auth); } diff --git a/pdns/dnsbackend.cc b/pdns/dnsbackend.cc index 403fcf8f41..5617764ad0 100644 --- a/pdns/dnsbackend.cc +++ b/pdns/dnsbackend.cc @@ -285,10 +285,12 @@ bool DNSBackend::getBeforeAndAfterNames(uint32_t id, const DNSName& zonename, co // lcqname=labelReverse(lcqname); DNSName dnc; string relqname, sbefore, safter; - relqname=qname.makeRelative(zonename).toStringNoDot(); + relqname=qname.makeRelative(zonename).labelReverse().toString(" ", false); //sbefore = before.toString(); //safter = after.toString(); bool ret = this->getBeforeAndAfterNamesAbsolute(id, relqname, dnc, sbefore, safter); + boost::replace_all(sbefore, " ", "."); + boost::replace_all(safter, " ", "."); before = DNSName(sbefore).labelReverse() + lczonename; after = DNSName(safter).labelReverse() + lczonename; diff --git a/pdns/slavecommunicator.cc b/pdns/slavecommunicator.cc index 479c786ed2..2b8c9845d8 100644 --- a/pdns/slavecommunicator.cc +++ b/pdns/slavecommunicator.cc @@ -547,7 +547,7 @@ void CommunicatorClass::suck(const DNSName &domain, const string &remote) } else { // NSEC if (rr.auth || rr.qtype.getCode() == QType::NS) { - ordername=rr.qname.makeRelative(domain).makeLowerCase().labelReverse().toStringNoDot(); + ordername=rr.qname.makeRelative(domain).makeLowerCase().labelReverse().toString(" ", false); di.backend->feedRecord(rr, &ordername); } else di.backend->feedRecord(rr); diff --git a/pdns/tcpreceiver.cc b/pdns/tcpreceiver.cc index 084b27dbbd..564ac0df7e 100644 --- a/pdns/tcpreceiver.cc +++ b/pdns/tcpreceiver.cc @@ -877,7 +877,7 @@ int TCPNameserver::doAXFR(const DNSName &target, shared_ptr q, int ou records++; if(securedZone && (zrr.auth || zrr.dr.d_type == QType::NS)) { if (NSEC3Zone || zrr.dr.d_type) { - keyname = NSEC3Zone ? hashQNameWithSalt(ns3pr, zrr.dr.d_name) : zrr.dr.d_name.labelReverse().toString(); + keyname = NSEC3Zone ? hashQNameWithSalt(ns3pr, zrr.dr.d_name) : zrr.dr.d_name.labelReverse().toString(" ", false); NSECXEntry& ne = nsecxrepo[keyname]; ne.d_ttl = sd.default_ttl; ne.d_auth = (ne.d_auth || zrr.auth || (NSEC3Zone && (!ns3pr.d_flags || (presignedZone && ns3pr.d_flags)))); @@ -967,12 +967,12 @@ int TCPNameserver::doAXFR(const DNSName &target, shared_ptr q, int ou nrc.d_set.insert(QType::RRSIG); nrc.d_set.insert(QType::NSEC); if(boost::next(iter) != nsecxrepo.end()) { - nrc.d_next = DNSName(boost::next(iter)->first).labelReverse(); + nrc.d_next = DNSName(boost::next(iter)->first).labelReverse(); // XXX likely we need to do the spaces thing here } else - nrc.d_next=DNSName(nsecxrepo.begin()->first).labelReverse(); + nrc.d_next=DNSName(nsecxrepo.begin()->first).labelReverse(); // XXX likely we need to do the spaces thing here - zrr.dr.d_name = DNSName(iter->first).labelReverse(); + zrr.dr.d_name = DNSName(iter->first).labelReverse(); // XXX likely we need to do the spaces thing here zrr.dr.d_ttl = sd.default_ttl; zrr.dr.d_content = std::make_shared(nrc); diff --git a/pdns/zone2sql.cc b/pdns/zone2sql.cc index 3086184d20..b4a6ff0cd9 100644 --- a/pdns/zone2sql.cc +++ b/pdns/zone2sql.cc @@ -202,7 +202,7 @@ static void emitRecord(const DNSName& zoneName, const DNSName &DNSqname, const s else if(g_mode==POSTGRES) { cout<<"insert into records (domain_id, name, ordername, auth, type,content,ttl,prio,disabled) select id ,"<< sqlstr(toLower(qname))<<", "<< - sqlstr(DNSName(qname).makeRelative(DNSName(zname)).makeLowerCase().labelReverse().toStringNoDot())<<", '"<< (auth ? 't' : 'f') <<"', "<< + sqlstr(DNSName(qname).makeRelative(DNSName(zname)).makeLowerCase().labelReverse().toString(" ", false))<<", '"<< (auth ? 't' : 'f') <<"', "<< sqlstr(qtype)<<", "<< sqlstr(stripDotContent(content))<<", "<