From: Rosen Penev Date: Thu, 5 Nov 2020 07:41:26 +0000 (-0800) Subject: clang-tidy: convert loops to range based X-Git-Tag: dnsdist-1.6.0-alpha2~55^2~15 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d7f67000f418743a6c433b9884b0803484a5ae8f;p=thirdparty%2Fpdns.git clang-tidy: convert loops to range based Found with modernize-loop-convert Signed-off-by: Rosen Penev --- diff --git a/modules/bindbackend/bindbackend2.cc b/modules/bindbackend/bindbackend2.cc index 5b9b991de1..0cd049a13e 100644 --- a/modules/bindbackend/bindbackend2.cc +++ b/modules/bindbackend/bindbackend2.cc @@ -315,15 +315,15 @@ void Bind2Backend::getUpdatedMasters(vector *changedDomains) { ReadLock rl(&s_state_lock); - for(state_t::const_iterator i = s_state.begin(); i != s_state.end() ; ++i) { - if(i->d_kind != DomainInfo::Master && this->alsoNotify.empty() && i->d_also_notify.empty()) + for(const auto & i : s_state) { + if(i.d_kind != DomainInfo::Master && this->alsoNotify.empty() && i.d_also_notify.empty()) continue; DomainInfo di; - di.id=i->d_id; - di.zone=i->d_name; - di.last_check=i->d_lastcheck; - di.notified_serial=i->d_lastnotified; + di.id=i.d_id; + di.zone=i.d_name; + di.last_check=i.d_lastcheck; + di.notified_serial=i.d_lastnotified; di.backend=this; di.kind=DomainInfo::Master; consider.push_back(std::move(di)); @@ -362,13 +362,13 @@ void Bind2Backend::getAllDomains(vector *domains, bool include_disab ReadLock rl(&s_state_lock); domains->reserve(s_state.size()); - for(state_t::const_iterator i = s_state.begin(); i != s_state.end() ; ++i) { + for(const auto & i : s_state) { DomainInfo di; - di.id=i->d_id; - di.zone=i->d_name; - di.last_check=i->d_lastcheck; - di.kind=i->d_kind; - di.masters=i->d_masters; + di.id=i.d_id; + di.zone=i.d_name; + di.last_check=i.d_lastcheck; + di.kind=i.d_kind; + di.masters=i.d_masters; di.backend=this; domains->push_back(std::move(di)); }; @@ -393,14 +393,14 @@ void Bind2Backend::getUnfreshSlaveInfos(vector *unfreshDomains) { ReadLock rl(&s_state_lock); domains.reserve(s_state.size()); - for(state_t::const_iterator i = s_state.begin(); i != s_state.end() ; ++i) { - if(i->d_kind != DomainInfo::Slave) + for(const auto & i : s_state) { + if(i.d_kind != DomainInfo::Slave) continue; DomainInfo sd; - sd.id=i->d_id; - sd.zone=i->d_name; - sd.masters=i->d_masters; - sd.last_check=i->d_lastcheck; + sd.id=i.d_id; + sd.zone=i.d_name; + sd.masters=i.d_masters; + sd.last_check=i.d_lastcheck; sd.backend=this; sd.kind=DomainInfo::Slave; domains.push_back(std::move(sd)); @@ -452,8 +452,8 @@ bool Bind2Backend::getDomainInfo(const DNSName& domain, DomainInfo &di, bool get void Bind2Backend::alsoNotifies(const DNSName& domain, set *ips) { // combine global list with local list - for(set::iterator i = this->alsoNotify.begin(); i != this->alsoNotify.end(); i++) { - (*ips).insert(*i); + for(const auto & i : this->alsoNotify) { + (*ips).insert(i); } // check metadata too if available vector meta; @@ -463,10 +463,10 @@ void Bind2Backend::alsoNotifies(const DNSName& domain, set *ips) } } ReadLock rl(&s_state_lock); - for(state_t::const_iterator i = s_state.begin(); i != s_state.end() ; ++i) { - if(i->d_name == domain) { - for(set::iterator it = i->d_also_notify.begin(); it != i->d_also_notify.end(); it++) { - (*ips).insert(*it); + for(const auto & i : s_state) { + if(i.d_name == domain) { + for(const auto & it : i.d_also_notify) { + (*ips).insert(it); } return; } @@ -585,8 +585,8 @@ string Bind2Backend::DLDomStatusHandler(const vector&parts, Utility::pid } else { ReadLock rl(&s_state_lock); - for(state_t::const_iterator i = s_state.begin(); i != s_state.end() ; ++i) { - ret<< i->d_name << ": "<< (i->d_loaded ? "": "[rejected]") <<"\t"<d_status<<"\n"; + for(const auto & i : s_state) { + ret<< i.d_name << ": "<< (i.d_loaded ? "": "[rejected]") <<"\t"<&parts, Utility::p { ostringstream ret; ReadLock rl(&s_state_lock); - for(state_t::const_iterator i = s_state.begin(); i != s_state.end() ; ++i) { - if(!i->d_loaded) - ret<d_name<<"\t"<d_status<d_checknow=true; // being a bit cheeky here, don't index state_t on this (mutable) + for(const auto & i : s_state) { + i.d_checknow=true; // being a bit cheeky here, don't index state_t on this (mutable) } } @@ -892,29 +892,27 @@ void Bind2Backend::loadConfig(string* status) struct stat st; - for(vector::iterator i=domains.begin(); i!=domains.end(); ++i) + for(auto & domain : domains) { - if(stat(i->filename.c_str(), &st) == 0) { - i->d_dev = st.st_dev; - i->d_ino = st.st_ino; + if(stat(domain.filename.c_str(), &st) == 0) { + domain.d_dev = st.st_dev; + domain.d_ino = st.st_ino; } } sort(domains.begin(), domains.end()); // put stuff in inode order - for(vector::const_iterator i=domains.begin(); - i!=domains.end(); - ++i) + for(const auto & domain : domains) { - if (!(i->hadFileDirective)) { - g_log<name<<"' has no 'file' directive set in "<type == "") - g_log<name<<"' has no type specified, assuming 'native'"<type!="master" && i->type!="slave" && i->type != "native" && i->type != "") { - g_log<name<<"' because type '"<type<<"' is invalid"<name, &bbd)) { + if(!safeGetBBDomainInfo(domain.name, &bbd)) { isNew = true; bbd.d_id=domain_id++; bbd.setCheckInterval(getArgAsNum("check-interval")); @@ -931,17 +929,17 @@ void Bind2Backend::loadConfig(string* status) } // overwrite what we knew about the domain - bbd.d_name=i->name; - bool filenameChanged = (bbd.d_filename!=i->filename); - bool addressesChanged = (bbd.d_masters!=i->masters || bbd.d_also_notify!=i->alsoNotify); - bbd.d_filename=i->filename; - bbd.d_masters=i->masters; - bbd.d_also_notify=i->alsoNotify; + bbd.d_name=domain.name; + bool filenameChanged = (bbd.d_filename!=domain.filename); + bool addressesChanged = (bbd.d_masters!=domain.masters || bbd.d_also_notify!=domain.alsoNotify); + bbd.d_filename=domain.filename; + bbd.d_masters=domain.masters; + bbd.d_also_notify=domain.alsoNotify; DomainInfo::DomainKind kind = DomainInfo::Native; - if (i->type == "master") + if (domain.type == "master") kind = DomainInfo::Master; - if (i->type == "slave") + if (domain.type == "slave") kind = DomainInfo::Slave; bool kindChanged = (bbd.d_kind!=kind); @@ -949,14 +947,14 @@ void Bind2Backend::loadConfig(string* status) newnames.insert(bbd.d_name); if(filenameChanged || !bbd.d_loaded || !bbd.current()) { - g_log<name<<"' from file '"<filename<<"'"<name<<"' from file '"<filename<<"': "<type == "slave") - msg<<" error at "+nowTime()<<" no file found for new slave domain '"<name<<"'. Has not been AXFR'd yet"; + if (ae.code().value() == ENOENT && isNew && domain.type == "slave") + msg<<" error at "+nowTime()<<" no file found for new slave domain '"<name<<"' from file '"<filename<<"': "<name<<"' from file '"<filename<<"': "<d_id, &h)) { + if (!safeGetBBDomainInfo(i.d_id, &h)) { continue; } shared_ptr rhandle = h.d_records.get(); for(recordstorage_t::const_iterator ri = rhandle->begin(); result.size() < static_cast::size_type>(maxResults) && ri != rhandle->end(); ri++) { - DNSName name = ri->qname.empty() ? i->d_name : (ri->qname+i->d_name); + DNSName name = ri->qname.empty() ? i.d_name : (ri->qname+i.d_name); if (sm.match(name) || sm.match(ri->content)) { DNSResourceRecord r; r.qname=name; - r.domain_id=i->d_id; + r.domain_id=i.d_id; r.content=ri->content; r.qtype=ri->qtype; r.ttl=ri->ttl; diff --git a/pdns/auth-querycache.cc b/pdns/auth-querycache.cc index 623f09e5c4..7812a82e1f 100644 --- a/pdns/auth-querycache.cc +++ b/pdns/auth-querycache.cc @@ -157,8 +157,8 @@ map AuthQueryCache::getCounts() for(auto& mc : d_maps) { ReadLock l(&mc.d_mut); - for(cmap_t::const_iterator iter = mc.d_map.begin() ; iter != mc.d_map.end(); ++iter) { - if(iter->drs.empty()) + for(const auto & iter : mc.d_map) { + if(iter.drs.empty()) negQueryCacheEntries++; else queryCacheEntries++; diff --git a/pdns/backends/gsql/gsqlbackend.cc b/pdns/backends/gsql/gsqlbackend.cc index 9b04247980..315c64af46 100644 --- a/pdns/backends/gsql/gsqlbackend.cc +++ b/pdns/backends/gsql/gsqlbackend.cc @@ -1243,23 +1243,23 @@ bool GSQLBackend::superMasterAdd(const string &ip, const string &nameserver, con bool GSQLBackend::superMasterBackend(const string &ip, const DNSName &domain, const vector&nsset, string *nameserver, string *account, DNSBackend **ddb) { // check if we know the ip/ns couple in the database - for(vector::const_iterator i=nsset.begin();i!=nsset.end();++i) { + for(const auto & i : nsset) { try { reconnectIfNeeded(); d_SuperMasterInfoQuery_stmt-> bind("ip", ip)-> - bind("nameserver", i->content)-> + bind("nameserver", i.content)-> execute()-> getResult(d_result)-> reset(); } catch (SSqlException &e) { - throw PDNSException("GSQLBackend unable to search for a supermaster with IP " + ip + " and nameserver name '" + i->content + "' for domain '" + domain.toLogString() + "': "+e.txtReason()); + throw PDNSException("GSQLBackend unable to search for a supermaster with IP " + ip + " and nameserver name '" + i.content + "' for domain '" + domain.toLogString() + "': "+e.txtReason()); } if(!d_result.empty()) { ASSERT_ROW_COLUMNS("supermaster-query", d_result[0], 1); - *nameserver=i->content; + *nameserver=i.content; *account=d_result[0][0]; *ddb=this; return true; diff --git a/pdns/communicator.cc b/pdns/communicator.cc index fd1f168f0b..07fde254e4 100644 --- a/pdns/communicator.cc +++ b/pdns/communicator.cc @@ -62,9 +62,9 @@ void CommunicatorClass::loadArgsIntoSet(const char *listname, set &lists { vector parts; stringtok(parts, ::arg()[listname], ", \t"); - for (vector::const_iterator iter = parts.begin(); iter != parts.end(); ++iter) { + for (const auto & part : parts) { try { - ComboAddress caIp(*iter, 53); + ComboAddress caIp(part, 53); listset.insert(caIp.toStringWithPort()); } catch(PDNSException &e) { diff --git a/pdns/dnsbackend.cc b/pdns/dnsbackend.cc index 8ead24b379..ab7a32e172 100644 --- a/pdns/dnsbackend.cc +++ b/pdns/dnsbackend.cc @@ -155,9 +155,7 @@ void BackendMakerClass::launch(const string &instr) if (count(parts.begin(), parts.end(), part) > 1) throw ArgException("Refusing to launch multiple backends with the same name '" + part + "', verify all 'launch' statements in your configuration"); - for(vector::const_iterator i=parts.begin();i!=parts.end();++i) { - const string &part=*i; - + for(const auto & part : parts) { string module, name; vectorpparts; stringtok(pparts,part,": "); diff --git a/pdns/dnspacket.cc b/pdns/dnspacket.cc index 0c7a63f260..0d527ff4ba 100644 --- a/pdns/dnspacket.cc +++ b/pdns/dnspacket.cc @@ -132,8 +132,8 @@ void DNSPacket::addRecord(DNSZoneRecord&& rr) std::string ser = const_cast(rr).dr.d_content->serialize(rr.dr.d_name); auto hash = boost::hash< std::pair >()({rr.dr.d_name, ser}); if(d_dedup.count(hash)) { // might be a dup - for(auto i=d_rrs.begin();i!=d_rrs.end();++i) { - if(rr.dr == i->dr) // XXX SUPER SLOW + for(auto & d_rr : d_rrs) { + if(rr.dr == d_rr.dr) // XXX SUPER SLOW return; } } @@ -147,16 +147,14 @@ vector DNSPacket::getAPRecords() { vector arrs; - for(vector::iterator i=d_rrs.begin(); - i!=d_rrs.end(); - ++i) + for(auto & d_rr : d_rrs) { - if(i->dr.d_place!=DNSResourceRecord::ADDITIONAL && - (i->dr.d_type==QType::MX || - i->dr.d_type==QType::NS || - i->dr.d_type==QType::SRV)) + if(d_rr.dr.d_place!=DNSResourceRecord::ADDITIONAL && + (d_rr.dr.d_type==QType::MX || + d_rr.dr.d_type==QType::NS || + d_rr.dr.d_type==QType::SRV)) { - arrs.push_back(&*i); + arrs.push_back(&d_rr); } } return arrs; @@ -166,12 +164,10 @@ vector DNSPacket::getAnswerRecords() { vector arrs; - for(vector::iterator i=d_rrs.begin(); - i!=d_rrs.end(); - ++i) + for(auto & d_rr : d_rrs) { - if(i->dr.d_place!=DNSResourceRecord::ADDITIONAL) - arrs.push_back(&*i); + if(d_rr.dr.d_place!=DNSResourceRecord::ADDITIONAL) + arrs.push_back(&d_rr); } return arrs; } @@ -441,16 +437,16 @@ bool DNSPacket::getTSIGDetails(TSIGRecordContent* trc, DNSName* keyname, uint16_ return false; bool gotit=false; - for(MOADNSParser::answers_t::const_iterator i=mdp.d_answers.begin(); i!=mdp.d_answers.end(); ++i) { - if(i->first.d_type == QType::TSIG && i->first.d_class == QType::ANY) { + for(const auto & d_answer : mdp.d_answers) { + if(d_answer.first.d_type == QType::TSIG && d_answer.first.d_class == QType::ANY) { // cast can fail, f.e. if d_content is an UnknownRecordContent. - shared_ptr content = std::dynamic_pointer_cast(i->first.d_content); + shared_ptr content = std::dynamic_pointer_cast(d_answer.first.d_content); if (!content) { g_log<first.d_name; + *keyname = d_answer.first.d_name; gotit=true; } } @@ -469,21 +465,21 @@ bool DNSPacket::getTKEYRecord(TKEYRecordContent *tr, DNSName *keyname) const MOADNSParser mdp(d_isQuery, d_rawpacket); bool gotit=false; - for(MOADNSParser::answers_t::const_iterator i=mdp.d_answers.begin(); i!=mdp.d_answers.end(); ++i) { + for(const auto & d_answer : mdp.d_answers) { if (gotit) { g_log<first.d_type == QType::TKEY) { + if(d_answer.first.d_type == QType::TKEY) { // cast can fail, f.e. if d_content is an UnknownRecordContent. - shared_ptr content = std::dynamic_pointer_cast(i->first.d_content); + shared_ptr content = std::dynamic_pointer_cast(d_answer.first.d_content); if (!content) { g_log<first.d_name; + *keyname = d_answer.first.d_name; gotit=true; } } @@ -528,14 +524,12 @@ try if(edo.d_extFlags & EDNSOpts::DNSSECOK) d_dnssecOk=true; - for(vector >::const_iterator iter = edo.d_options.begin(); - iter != edo.d_options.end(); - ++iter) { - if(iter->first == EDNSOptionCode::NSID) { + for(const auto & d_option : edo.d_options) { + if(d_option.first == EDNSOptionCode::NSID) { d_wantsnsid=true; } - else if(s_doEDNSSubnetProcessing && (iter->first == EDNSOptionCode::ECS)) { // 'EDNS SUBNET' - if(getEDNSSubnetOptsFromString(iter->second, &d_eso)) { + else if(s_doEDNSSubnetProcessing && (d_option.first == EDNSOptionCode::ECS)) { // 'EDNS SUBNET' + if(getEDNSSubnetOptsFromString(d_option.second, &d_eso)) { //cerr<<"Parsed, source: "<= 127 || (unsigned char) *i < 32) { - snprintf(ebuf, sizeof(ebuf), "\\%03u", (unsigned char)*i); + for(char i : name) { + if((unsigned char) i >= 127 || (unsigned char) i < 32) { + snprintf(ebuf, sizeof(ebuf), "\\%03u", (unsigned char)i); ret += ebuf; } - else if(*i=='"' || *i=='\\'){ + else if(i=='"' || i=='\\'){ ret += '\\'; - ret += *i; + ret += i; } else - ret += *i; + ret += i; } return ret; } @@ -679,14 +679,14 @@ string simpleCompress(const string& elabel, const string& root) vstringtok(parts, label, "."); string ret; ret.reserve(label.size()+4); - for(parts_t::const_iterator i=parts.begin(); i!=parts.end(); ++i) { - if(!root.empty() && !strncasecmp(root.c_str(), label.c_str() + i->first, 1 + label.length() - i->first)) { // also match trailing 0, hence '1 +' + for(const auto & part : parts) { + if(!root.empty() && !strncasecmp(root.c_str(), label.c_str() + part.first, 1 + label.length() - part.first)) { // also match trailing 0, hence '1 +' const unsigned char rootptr[2]={0xc0,0x11}; ret.append((const char *) rootptr, 2); return ret; } - ret.append(1, (char)(i->second - i->first)); - ret.append(label.c_str() + i->first, i->second - i->first); + ret.append(1, (char)(part.second - part.first)); + ret.append(label.c_str() + part.first, part.second - part.first); } ret.append(1, (char)0); return ret; diff --git a/pdns/dnsproxy.cc b/pdns/dnsproxy.cc index e2dd8e8203..64d1322247 100644 --- a/pdns/dnsproxy.cc +++ b/pdns/dnsproxy.cc @@ -253,17 +253,17 @@ void DNSProxy::mainloop(void) 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(d_answer.first.d_place == DNSResourceRecord::ANSWER || (d_answer.first.d_place == DNSResourceRecord::AUTHORITY && d_answer.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))) { + if(d_answer.first.d_type == i->second.qtype || (i->second.qtype == QType::ANY && (d_answer.first.d_type == QType::A || d_answer.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; + dzr.dr.d_type = d_answer.first.d_type; + dzr.dr.d_ttl=d_answer.first.d_ttl; + dzr.dr.d_place= d_answer.first.d_place; + dzr.dr.d_content=d_answer.first.d_content; i->second.complete->addRecord(std::move(dzr)); } } diff --git a/pdns/dnsrecords.cc b/pdns/dnsrecords.cc index 9b9e58f05c..90ef4aa07b 100644 --- a/pdns/dnsrecords.cc +++ b/pdns/dnsrecords.cc @@ -646,9 +646,9 @@ std::shared_ptr APLRecordContent::make(const string& zone) { auto ret=std::make_shared(); boost::split(elements, zone, boost::is_any_of(" ")); - for (std::vector::iterator elem = elements.begin() ; elem != elements.end(); ++elem) { - if (!elem->empty()) { - ard = ret->parseAPLElement(*elem); + for (auto & element : elements) { + if (!element.empty()) { + ard = ret->parseAPLElement(element); ret->aplrdata.push_back(ard); } } @@ -658,17 +658,17 @@ std::shared_ptr APLRecordContent::make(const string& zone) { // DNSRecord to Packet conversion void APLRecordContent::toPacket(DNSPacketWriter& pw) { - for (std::vector::iterator ard = aplrdata.begin() ; ard != aplrdata.end(); ++ard) { - pw.xfr16BitInt(ard->d_family); - pw.xfr8BitInt(ard->d_prefix); - pw.xfr8BitInt((ard->d_n << 7) + ard->d_afdlength); - if (ard->d_family == APL_FAMILY_IPV4) { - for (int i=0; id_afdlength; i++) { - pw.xfr8BitInt(ard->d_ip.d_ip4[i]); + for (auto & ard : aplrdata) { + pw.xfr16BitInt(ard.d_family); + pw.xfr8BitInt(ard.d_prefix); + pw.xfr8BitInt((ard.d_n << 7) + ard.d_afdlength); + if (ard.d_family == APL_FAMILY_IPV4) { + for (int i=0; id_family == APL_FAMILY_IPV6) { - for (int i=0; id_afdlength; i++) { - pw.xfr8BitInt(ard->d_ip.d_ip6[i]); + } else if (ard.d_family == APL_FAMILY_IPV6) { + for (int i=0; iget(rr)) nsset.insert(getRR(rr.dr)->getNS().toString()); - for(set::const_iterator j=nsset.begin();j!=nsset.end();++j) { - vector nsips=fns.lookup(DNSName(*j), B); + for(const auto & j : nsset) { + vector nsips=fns.lookup(DNSName(j), B); if(nsips.empty()) g_log<::const_iterator k=nsips.begin();k!=nsips.end();++k) { - const ComboAddress caIp(*k, 53); + for(const auto & nsip : nsips) { + const ComboAddress caIp(nsip, 53); if(!d_preventSelfNotification || !AddressIsUs(caIp)) { if(!d_onlyNotify.match(&caIp)) - g_log<::const_iterator j=ips.begin();j!=ips.end();++j) { - g_log< alsoNotify(d_alsoNotify); B->alsoNotifies(di.zone, &alsoNotify); - for(set::const_iterator j=alsoNotify.begin();j!=alsoNotify.end();++j) { + for(const auto & j : alsoNotify) { try { - const ComboAddress caIp(*j, 53); + const ComboAddress caIp(j, 53); g_log< forwardNotify(s_forwardNotify); - for(set::const_iterator j=forwardNotify.begin();j!=forwardNotify.end();++j) { - g_log<= 127 || (unsigned char) *i < 32) { - snprintf(ebuf, sizeof(ebuf), "\\%03u", (unsigned char)*i); + for(char i : name) { + if((unsigned char) i >= 127 || (unsigned char) i < 32) { + snprintf(ebuf, sizeof(ebuf), "\\%03u", (unsigned char)i); ret += ebuf; } - else if(*i=='"' || *i=='\\'){ + else if(i=='"' || i=='\\'){ ret += '\\'; - ret += *i; + ret += i; } else - ret += *i; + ret += i; } return ret; } diff --git a/pdns/responsestats.cc b/pdns/responsestats.cc index 93b2fca511..9e5fcdd010 100644 --- a/pdns/responsestats.cc +++ b/pdns/responsestats.cc @@ -63,10 +63,8 @@ map ResponseStats::getQTypeResponseCounts() map ResponseStats::getSizeResponseCounts() { map ret; - for(sizecounters_t::const_iterator iter = d_sizecounters.begin(); - iter != d_sizecounters.end(); - ++iter) { - ret[iter->first]=iter->second; + for(const auto & d_sizecounter : d_sizecounters) { + ret[d_sizecounter.first]=d_sizecounter.second; } return ret; } diff --git a/pdns/rfc2136handler.cc b/pdns/rfc2136handler.cc index 10055079c3..e9acd77b7d 100644 --- a/pdns/rfc2136handler.cc +++ b/pdns/rfc2136handler.cc @@ -329,27 +329,27 @@ uint PacketHandler::performUpdate(const string &msgPrefix, const DNSRecord *rr, if (rec.qtype.getCode() && rec.qtype.getCode() != QType::DS && rr->d_name != rec.qname) // Skip ENT, DS and our already corrected record. qnames.push_back(rec.qname); } - for(vector::const_iterator qname=qnames.begin(); qname != qnames.end(); ++qname) { + for(const auto & qname : qnames) { if(*haveNSEC3) { DNSName ordername; if(! *narrow) - ordername=DNSName(toBase32Hex(hashQNameWithSalt(*ns3pr, *qname))); + ordername=DNSName(toBase32Hex(hashQNameWithSalt(*ns3pr, qname))); if (*narrow) - di->backend->updateDNSSECOrderNameAndAuth(di->id, *qname, DNSName(), auth); + di->backend->updateDNSSECOrderNameAndAuth(di->id, qname, DNSName(), auth); else - di->backend->updateDNSSECOrderNameAndAuth(di->id, *qname, ordername, auth); + di->backend->updateDNSSECOrderNameAndAuth(di->id, qname, ordername, auth); if (ns3pr->d_flags) - di->backend->updateDNSSECOrderNameAndAuth(di->id, *qname, DNSName(), false, QType::NS); + di->backend->updateDNSSECOrderNameAndAuth(di->id, qname, DNSName(), false, QType::NS); } else { // NSEC - DNSName ordername=DNSName(*qname).makeRelative(di->zone); - di->backend->updateDNSSECOrderNameAndAuth(di->id, *qname, ordername, false, QType::NS); + DNSName ordername=DNSName(qname).makeRelative(di->zone); + di->backend->updateDNSSECOrderNameAndAuth(di->id, qname, ordername, false, QType::NS); } - di->backend->updateDNSSECOrderNameAndAuth(di->id, *qname, DNSName(), false, QType::A); - di->backend->updateDNSSECOrderNameAndAuth(di->id, *qname, DNSName(), false, QType::AAAA); + di->backend->updateDNSSECOrderNameAndAuth(di->id, qname, DNSName(), false, QType::A); + di->backend->updateDNSSECOrderNameAndAuth(di->id, qname, DNSName(), false, QType::AAAA); } } } @@ -729,8 +729,8 @@ int PacketHandler::processUpdate(DNSPacket& p) { return forwardPacket(msgPrefix, p, di); // Check if all the records provided are within the zone - for(MOADNSParser::answers_t::const_iterator i=mdp.d_answers.begin(); i != mdp.d_answers.end(); ++i) { - const DNSRecord *rr = &i->first; + for(const auto & d_answer : mdp.d_answers) { + const DNSRecord *rr = &d_answer.first; // Skip this check for other field types (like the TSIG - which is in the additional section) // For a TSIG, the label is the dnskey, so it does not pass the endOn validation. if (! (rr->d_place == DNSResourceRecord::ANSWER || rr->d_place == DNSResourceRecord::AUTHORITY)) @@ -751,8 +751,8 @@ int PacketHandler::processUpdate(DNSPacket& p) { } // 3.2.1 and 3.2.2 - Prerequisite check - for(MOADNSParser::answers_t::const_iterator i=mdp.d_answers.begin(); i != mdp.d_answers.end(); ++i) { - const DNSRecord *rr = &i->first; + for(const auto & d_answer : mdp.d_answers) { + const DNSRecord *rr = &d_answer.first; if (rr->d_place == DNSResourceRecord::ANSWER) { int res = checkUpdatePrerequisites(rr, &di); if (res>0) { @@ -785,9 +785,9 @@ int PacketHandler::processUpdate(DNSPacket& p) { if (preReqRRsets.size() > 0) { RRsetMap_t zoneRRsets; - for (RRsetMap_t::iterator preRRSet = preReqRRsets.begin(); preRRSet != preReqRRsets.end(); ++preRRSet) { - rrSetKey_t rrSet=preRRSet->first; - rrVector_t *vec = &preRRSet->second; + for (auto & preReqRRset : preReqRRsets) { + rrSetKey_t rrSet=preReqRRset.first; + rrVector_t *vec = &preReqRRset.second; DNSResourceRecord rec; di.backend->lookup(QType(QType::ANY), rrSet.first, di.id); @@ -795,9 +795,9 @@ int PacketHandler::processUpdate(DNSPacket& p) { while (di.backend->get(rec)) { if (rec.qtype == rrSet.second) { foundRR++; - for(rrVector_t::iterator rrItem=vec->begin(); rrItem != vec->end(); ++rrItem) { - rrItem->ttl = rec.ttl; // The compare one line below also compares TTL, so we make them equal because TTL is not user within prerequisite checks. - if (*rrItem == rec) + for(auto & rrItem : *vec) { + rrItem.ttl = rec.ttl; // The compare one line below also compares TTL, so we make them equal because TTL is not user within prerequisite checks. + if (rrItem == rec) matchRR++; } } @@ -816,8 +816,8 @@ int PacketHandler::processUpdate(DNSPacket& p) { try { uint changedRecords = 0; // 3.4.1 - Prescan section - for(MOADNSParser::answers_t::const_iterator i=mdp.d_answers.begin(); i != mdp.d_answers.end(); ++i) { - const DNSRecord *rr = &i->first; + for(const auto & d_answer : mdp.d_answers) { + const DNSRecord *rr = &d_answer.first; if (rr->d_place == DNSResourceRecord::AUTHORITY) { int res = checkUpdatePrescan(rr); if (res>0) { @@ -862,8 +862,8 @@ int PacketHandler::processUpdate(DNSPacket& p) { } vector cnamesToAdd, nonCnamesToAdd; - for(MOADNSParser::answers_t::const_iterator i=mdp.d_answers.begin(); i != mdp.d_answers.end(); ++i) { - const DNSRecord *rr = &i->first; + for(const auto & d_answer : mdp.d_answers) { + const DNSRecord *rr = &d_answer.first; if (rr->d_place == DNSResourceRecord::AUTHORITY) { /* see if it's permitted by policy */ if (this->d_update_policy_lua != NULL) { diff --git a/pdns/signingpipe.cc b/pdns/signingpipe.cc index c129a4193a..ca0e288f25 100644 --- a/pdns/signingpipe.cc +++ b/pdns/signingpipe.cc @@ -132,12 +132,12 @@ pair, vector > ChunkedSigningPipe::waitForRW(bool rd, bool wr, { vector pfds; - for(unsigned int n = 0; n < d_sockets.size(); ++n) { - if(d_eof.count(d_sockets[n])) + for(int & d_socket : d_sockets) { + if(d_eof.count(d_socket)) continue; struct pollfd pfd; memset(&pfd, 0, sizeof(pfd)); - pfd.fd = d_sockets[n]; + pfd.fd = d_socket; if(rd) pfd.events |= POLLIN; if(wr) @@ -149,11 +149,11 @@ pair, vector > ChunkedSigningPipe::waitForRW(bool rd, bool wr, if(res < 0) unixDie("polling for activity from signers, "+std::to_string(d_sockets.size())); pair, vector > vects; - for(unsigned int n = 0; n < pfds.size(); ++n) - if(pfds[n].revents & POLLIN) - vects.first.push_back(pfds[n].fd); - else if(pfds[n].revents & POLLOUT) - vects.second.push_back(pfds[n].fd); + for(auto & pfd : pfds) + if(pfd.revents & POLLIN) + vects.first.push_back(pfd.fd); + else if(pfd.revents & POLLOUT) + vects.second.push_back(pfd.fd); return vects; } diff --git a/pdns/slavecommunicator.cc b/pdns/slavecommunicator.cc index eb6ece8823..747b2962c0 100644 --- a/pdns/slavecommunicator.cc +++ b/pdns/slavecommunicator.cc @@ -257,24 +257,24 @@ static vector doAxfr(const ComboAddress& raddr, const DNSName first=false; } - for(Resolver::res_t::iterator i=recs.begin();i!=recs.end();++i) { - i->qname.makeUsLowerCase(); - if(i->qtype.getCode() == QType::OPT || i->qtype.getCode() == QType::TSIG) // ignore EDNS0 & TSIG + for(auto & rec : recs) { + rec.qname.makeUsLowerCase(); + if(rec.qtype.getCode() == QType::OPT || rec.qtype.getCode() == QType::TSIG) // ignore EDNS0 & TSIG continue; - if(!i->qname.isPartOf(domain)) { - g_log<qname<<"'|"<qtype.getName()<<", ignoring"< out; - if(!pdl || !pdl->axfrfilter(raddr, domain, *i, out)) { - out.push_back(*i); // if axfrfilter didn't do anything, we put our record in 'out' ourselves + if(!pdl || !pdl->axfrfilter(raddr, domain, rec, out)) { + out.push_back(rec); // if axfrfilter didn't do anything, we put our record in 'out' ourselves } - for(DNSResourceRecord& rr : out) { + for(auto& rr : out) { if(!rr.qname.isPartOf(domain)) { - g_log<qname<<"'|"<qtype.getName()<<", ignoring"<StatBag::listRings() { vector ret; - for(auto i=d_rings.begin();i!=d_rings.end();++i) - ret.push_back(i->first); - for(auto i=d_comboRings.begin();i!=d_comboRings.end();++i) - ret.push_back(i->first); + for(auto & d_ring : d_rings) + ret.push_back(d_ring.first); + for(auto & d_comboRing : d_comboRings) + ret.push_back(d_comboRing.first); for(const auto &i : d_dnsnameqtyperings) ret.push_back(i.first); diff --git a/pdns/stubresolver.cc b/pdns/stubresolver.cc index 737436d1f5..3910c52424 100644 --- a/pdns/stubresolver.cc +++ b/pdns/stubresolver.cc @@ -159,10 +159,10 @@ int stubDoResolve(const DNSName& qname, uint16_t qtype, vector& r if(mdp.d_header.rcode == RCode::ServFail) continue; - for(MOADNSParser::answers_t::const_iterator i=mdp.d_answers.begin(); i!=mdp.d_answers.end(); ++i) { - if(i->first.d_place == 1 && i->first.d_type==qtype) { + for(const auto & d_answer : mdp.d_answers) { + if(d_answer.first.d_place == 1 && d_answer.first.d_type==qtype) { DNSZoneRecord zrr; - zrr.dr = i->first; + zrr.dr = d_answer.first; zrr.auth=true; ret.push_back(zrr); } diff --git a/pdns/tcpreceiver.cc b/pdns/tcpreceiver.cc index f48de0d585..e140107980 100644 --- a/pdns/tcpreceiver.cc +++ b/pdns/tcpreceiver.cc @@ -430,9 +430,9 @@ bool TCPNameserver::canDoAXFR(std::unique_ptr& q, bool isAXFR) // cerr<<"got backend and SOA"< acl; s_P->getBackend()->getDomainMetadata(q->qdomain, "ALLOW-AXFR-FROM", acl); - for (vector::const_iterator i = acl.begin(); i != acl.end(); ++i) { + for (const auto & i : acl) { // cerr<<"matching against "<<*i<& q, bool isAXFR) } for(const auto & j: nsset) { vector nsips=fns.lookup(j, s_P->getBackend()); - for(vector::const_iterator k=nsips.begin();k!=nsips.end();++k) { + for(const auto & nsip : nsips) { // cerr<<"got "<<*k<<" from AUTO-NS"<getRemote().toString()) + if(nsip == q->getRemote().toString()) { // cerr<<"got AUTO-NS hit"<& q, bool isAXFR) } else { - Netmask nm = Netmask(*i); + Netmask nm = Netmask(i); if(nm.match( (ComboAddress *) &q->d_remote )) { g_log<& q, int outsock) uint32_t serial = 0; MOADNSParser mdp(false, q->getString()); - for(MOADNSParser::answers_t::const_iterator i=mdp.d_answers.begin(); i != mdp.d_answers.end(); ++i) { - const DNSRecord *rr = &i->first; + for(const auto & d_answer : mdp.d_answers) { + const DNSRecord *rr = &d_answer.first; if (rr->d_type == QType::SOA && rr->d_place == DNSResourceRecord::AUTHORITY) { vectorparts; stringtok(parts, rr->d_content->getZoneRepresentation()); diff --git a/pdns/ueberbackend.cc b/pdns/ueberbackend.cc index 9ac2ebb9c9..ca4720c098 100644 --- a/pdns/ueberbackend.cc +++ b/pdns/ueberbackend.cc @@ -112,8 +112,8 @@ void UeberBackend::go(void) bool UeberBackend::getDomainInfo(const DNSName &domain, DomainInfo &di, bool getSerial) { - for(vector::const_iterator i=backends.begin();i!=backends.end();++i) - if((*i)->getDomainInfo(domain, di, getSerial)) + for(auto backend : backends) + if(backend->getDomainInfo(domain, di, getSerial)) return true; return false; } @@ -267,9 +267,9 @@ bool UeberBackend::getTSIGKeys(std::vector< struct TSIGKey > &keys) void UeberBackend::reload() { - for ( vector< DNSBackend * >::iterator i = backends.begin(); i != backends.end(); ++i ) + for (auto & backend : backends) { - ( *i )->reload(); + backend->reload(); } } @@ -288,9 +288,9 @@ void UeberBackend::rediscover(string *status) void UeberBackend::getUnfreshSlaveInfos(vector* domains) { - for ( vector< DNSBackend * >::iterator i = backends.begin(); i != backends.end(); ++i ) + for (auto & backend : backends) { - ( *i )->getUnfreshSlaveInfos( domains ); + backend->getUnfreshSlaveInfos( domains ); } } @@ -298,9 +298,9 @@ void UeberBackend::getUnfreshSlaveInfos(vector* domains) void UeberBackend::getUpdatedMasters(vector* domains) { - for ( vector< DNSBackend * >::iterator i = backends.begin(); i != backends.end(); ++i ) + for (auto & backend : backends) { - ( *i )->getUpdatedMasters( domains ); + backend->getUpdatedMasters( domains ); } } @@ -432,8 +432,8 @@ bool UeberBackend::getSOAUncached(const DNSName &domain, SOAData &sd) d_question.qname=domain; d_question.zoneId=-1; - for(vector::const_iterator i=backends.begin();i!=backends.end();++i) - if((*i)->getSOA(domain, sd)) { + for(auto backend : backends) + if(backend->getSOA(domain, sd)) { if(domain != sd.qname) { throw PDNSException("getSOA() returned an SOA for the wrong zone. Question: '"+domain.toLogString()+"', answer: '"+sd.qname.toLogString()+"'"); } @@ -458,16 +458,16 @@ bool UeberBackend::getSOAUncached(const DNSName &domain, SOAData &sd) bool UeberBackend::superMasterAdd(const string &ip, const string &nameserver, const string &account) { - for(vector::const_iterator i=backends.begin();i!=backends.end();++i) - if((*i)->superMasterAdd(ip, nameserver, account)) + for(auto backend : backends) + if(backend->superMasterAdd(ip, nameserver, account)) return true; return false; } bool UeberBackend::superMasterBackend(const string &ip, const DNSName &domain, const vector&nsset, string *nameserver, string *account, DNSBackend **db) { - for(vector::const_iterator i=backends.begin();i!=backends.end();++i) - if((*i)->superMasterBackend(ip, domain, nsset, nameserver, account, db)) + for(auto backend : backends) + if(backend->superMasterBackend(ip, domain, nsset, nameserver, account, db)) return true; return false; } @@ -556,8 +556,8 @@ void UeberBackend::addCache(const Question &q, vector &&rrs) void UeberBackend::alsoNotifies(const DNSName &domain, set *ips) { - for ( vector< DNSBackend * >::iterator i = backends.begin(); i != backends.end(); ++i ) - (*i)->alsoNotifies(domain,ips); + for (auto & backend : backends) + backend->alsoNotifies(domain,ips); } UeberBackend::~UeberBackend() @@ -626,9 +626,9 @@ void UeberBackend::lookup(const QType &qtype,const DNSName &qname, int zoneId, D } void UeberBackend::getAllDomains(vector *domains, bool include_disabled) { - for (vector::iterator i = backends.begin(); i != backends.end(); ++i ) + for (auto & backend : backends) { - (*i)->getAllDomains(domains, include_disabled); + backend->getAllDomains(domains, include_disabled); } } diff --git a/pdns/ws-api.cc b/pdns/ws-api.cc index bae04278f6..cea1abd78e 100644 --- a/pdns/ws-api.cc +++ b/pdns/ws-api.cc @@ -338,14 +338,14 @@ string apiZoneNameToId(const DNSName& dname) { string name=dname.toString(); ostringstream ss; - for(string::const_iterator iter = name.begin(); iter != name.end(); ++iter) { - if ((*iter >= 'A' && *iter <= 'Z') || - (*iter >= 'a' && *iter <= 'z') || - (*iter >= '0' && *iter <= '9') || - (*iter == '.') || (*iter == '-')) { - ss << *iter; + for(char iter : name) { + if ((iter >= 'A' && iter <= 'Z') || + (iter >= 'a' && iter <= 'z') || + (iter >= '0' && iter <= '9') || + (iter == '.') || (iter == '-')) { + ss << iter; } else { - ss << (boost::format("=%02X") % (int)(*iter)); + ss << (boost::format("=%02X") % (int)iter); } } diff --git a/pdns/ws-auth.cc b/pdns/ws-auth.cc index 0f3bebe163..32b3d37ac7 100644 --- a/pdns/ws-auth.cc +++ b/pdns/ws-auth.cc @@ -110,8 +110,8 @@ void AuthWebServer::statThread() static string htmlescape(const string &s) { string result; - for(string::const_iterator it=s.begin(); it!=s.end(); ++it) { - switch (*it) { + for(char it : s) { + switch (it) { case '&': result += "&"; break; @@ -125,7 +125,7 @@ static string htmlescape(const string &s) { result += """; break; default: - result += *it; + result += it; } } return result; @@ -137,8 +137,8 @@ static void printtable(ostringstream &ret, const string &ringname, const string int entries=0; vector >ring=S.getRing(ringname); - for(vector >::const_iterator i=ring.begin(); i!=ring.end();++i) { - tot+=i->second; + for(const auto & i : ring) { + tot+=i.second; entries++; } @@ -177,8 +177,8 @@ void AuthWebServer::printvars(ostringstream &ret) ret<<"

Variables

"<entries=S.getEntries(); - for(vector::const_iterator i=entries.begin();i!=entries.end();++i) { - ret<<""<entries=arg().list(); - for(vector::const_iterator i=entries.begin();i!=entries.end();++i) { - ret<<"
"<<*i<<""<"<"<"<"<"<"<"<
Arguments
"<<*i<<""<"<"<"<"<"<"< domains=BP.getDomains(); struct stat st; - for(vector::iterator i=domains.begin(); i!=domains.end(); ++i) { - if(stat(i->filename.c_str(), &st) == 0) { - i->d_dev = st.st_dev; - i->d_ino = st.st_ino; + for(auto & domain : domains) { + if(stat(domain.filename.c_str(), &st) == 0) { + domain.d_dev = st.st_dev; + domain.d_ino = st.st_ino; } } diff --git a/pdns/zone2sql.cc b/pdns/zone2sql.cc index e513ead107..2683f09ed9 100644 --- a/pdns/zone2sql.cc +++ b/pdns/zone2sql.cc @@ -76,13 +76,13 @@ static string sqlstr(const string &name) string a; - for(string::const_iterator i=name.begin();i!=name.end();++i) { - if(*i=='\'' || *i=='\\'){ + for(char i : name) { + if(i=='\'' || i=='\\'){ a+='\\'; - a+=*i; + a+=i; } else - a+=*i; + a+=i; } if(g_mode == POSTGRES) return "E'"+a+"'"; @@ -270,10 +270,10 @@ try vector domains=BP.getDomains(); struct stat st; - for(vector::iterator i=domains.begin(); i!=domains.end(); ++i) { - if(stat(i->filename.c_str(), &st) == 0) { - i->d_dev = st.st_dev; - i->d_ino = st.st_ino; + for(auto & domain : domains) { + if(stat(domain.filename.c_str(), &st) == 0) { + domain.d_dev = st.st_dev; + domain.d_ino = st.st_ino; } } @@ -282,20 +282,18 @@ try int numdomains=domains.size(); int tick=numdomains/100; - for(vector::const_iterator i=domains.begin(); - i!=domains.end(); - ++i) + for(const auto & domain : domains) { - if(i->type!="master" && i->type!="slave") { - cerr<<" Warning! Skipping '"<type<<"' zone '"<name<<"'"<name, &(i->masters)); + emitDomain(domain.name, &(domain.masters)); - ZoneParserTNG zpt(i->filename, i->name, BP.getDirectory()); + ZoneParserTNG zpt(domain.filename, domain.name, BP.getDirectory()); zpt.setMaxGenerateSteps(::arg().asNum("max-generate-steps")); DNSResourceRecord rr; bool seenSOA=false; @@ -306,7 +304,7 @@ try if(rr.qtype.getCode() == QType::SOA) seenSOA=true; - emitRecord(i->name, rr.qname, rr.qtype.getName(), rr.content, rr.ttl, comment); + emitRecord(domain.name, rr.qname, rr.qtype.getName(), rr.content, rr.ttl, comment); } num_domainsdone++; } @@ -325,7 +323,7 @@ try if(!tick || !((count++)%tick)) - cerr<<"\r"<filename<<")\033\133\113"; + cerr<<"\r"<