]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
clang-tidy: convert loops to range based
authorRosen Penev <rosenp@gmail.com>
Thu, 5 Nov 2020 07:41:26 +0000 (23:41 -0800)
committerRosen Penev <rosenp@gmail.com>
Fri, 5 Feb 2021 01:22:37 +0000 (17:22 -0800)
Found with modernize-loop-convert

Signed-off-by: Rosen Penev <rosenp@gmail.com>
25 files changed:
modules/bindbackend/bindbackend2.cc
pdns/auth-querycache.cc
pdns/backends/gsql/gsqlbackend.cc
pdns/communicator.cc
pdns/dnsbackend.cc
pdns/dnspacket.cc
pdns/dnsparser.cc
pdns/dnsproxy.cc
pdns/dnsrecords.cc
pdns/mastercommunicator.cc
pdns/misc.cc
pdns/packethandler.cc
pdns/rcpgenerator.cc
pdns/responsestats.cc
pdns/rfc2136handler.cc
pdns/signingpipe.cc
pdns/slavecommunicator.cc
pdns/statbag.cc
pdns/stubresolver.cc
pdns/tcpreceiver.cc
pdns/ueberbackend.cc
pdns/ws-api.cc
pdns/ws-auth.cc
pdns/zone2json.cc
pdns/zone2sql.cc

index 5b9b991de19314f3fb94fa0f3cff311b33e95f35..0cd049a13e691203fca5839ea706b94868072244 100644 (file)
@@ -315,15 +315,15 @@ void Bind2Backend::getUpdatedMasters(vector<DomainInfo> *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<DomainInfo> *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<DomainInfo> *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<string> *ips)
 {
   // combine global list with local list
-  for(set<string>::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<string> meta;
@@ -463,10 +463,10 @@ void Bind2Backend::alsoNotifies(const DNSName& domain, set<string> *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<string>::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<string>&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"<<i->d_status<<"\n";
+    for(const auto & i : s_state) {
+      ret<< i.d_name << ": "<< (i.d_loaded ? "": "[rejected]") <<"\t"<<i.d_status<<"\n";
     }
   }
 
@@ -663,9 +663,9 @@ string Bind2Backend::DLListRejectsHandler(const vector<string>&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<<i->d_name<<"\t"<<i->d_status<<endl;
+  for(const auto & i : s_state) {
+    if(!i.d_loaded)
+      ret<<i.d_name<<"\t"<<i.d_status<<endl;
   }
   return ret.str();
 }
@@ -760,8 +760,8 @@ void Bind2Backend::rediscover(string *status)
 void Bind2Backend::reload()
 {
   WriteLock rwl(&s_state_lock);
-  for(state_t::iterator i = s_state.begin(); i != s_state.end() ; ++i) {
-    i->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<BindDomainInfo>::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<BindDomainInfo>::const_iterator i=domains.begin();
-        i!=domains.end();
-        ++i)
+    for(const auto & domain : domains)
       {
-        if (!(i->hadFileDirective)) {
-          g_log<<Logger::Warning<<d_logprefix<<" Zone '"<<i->name<<"' has no 'file' directive set in "<<getArg("config")<<endl;
+        if (!(domain.hadFileDirective)) {
+          g_log<<Logger::Warning<<d_logprefix<<" Zone '"<<domain.name<<"' has no 'file' directive set in "<<getArg("config")<<endl;
           rejected++;
           continue;
         }
 
-        if(i->type == "")
-          g_log<<Logger::Notice<<d_logprefix<<" Zone '"<<i->name<<"' has no type specified, assuming 'native'"<<endl;
-        if(i->type!="master" && i->type!="slave" && i->type != "native" && i->type != "") {
-          g_log<<Logger::Warning<<d_logprefix<<" Warning! Skipping zone '"<<i->name<<"' because type '"<<i->type<<"' is invalid"<<endl;
+        if(domain.type == "")
+          g_log<<Logger::Notice<<d_logprefix<<" Zone '"<<domain.name<<"' has no type specified, assuming 'native'"<<endl;
+        if(domain.type!="master" && domain.type!="slave" && domain.type != "native" && domain.type != "") {
+          g_log<<Logger::Warning<<d_logprefix<<" Warning! Skipping zone '"<<domain.name<<"' because type '"<<domain.type<<"' is invalid"<<endl;
           rejected++;
           continue;
         }
@@ -922,7 +920,7 @@ void Bind2Backend::loadConfig(string* status)
         BB2DomainInfo bbd;
         bool isNew = false;
 
-        if(!safeGetBBDomainInfo(i->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<<Logger::Info<<d_logprefix<<" parsing '"<<i->name<<"' from file '"<<i->filename<<"'"<<endl;
+          g_log<<Logger::Info<<d_logprefix<<" parsing '"<<domain.name<<"' from file '"<<domain.filename<<"'"<<endl;
 
           try {
             parseZoneFile(&bbd);
           }
           catch(PDNSException &ae) {
             ostringstream msg;
-            msg<<" error at "+nowTime()+" parsing '"<<i->name<<"' from file '"<<i->filename<<"': "<<ae.reason;
+            msg<<" error at "+nowTime()+" parsing '"<<domain.name<<"' from file '"<<domain.filename<<"': "<<ae.reason;
 
             if(status)
               *status+=msg.str();
@@ -967,10 +965,10 @@ void Bind2Backend::loadConfig(string* status)
           }
           catch(std::system_error &ae) {
             ostringstream msg;
-            if (ae.code().value() == ENOENT && isNew && i->type == "slave")
-              msg<<" error at "+nowTime()<<" no file found for new slave domain '"<<i->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 '"<<domain.name<<"'. Has not been AXFR'd yet";
             else
-              msg<<" error at "+nowTime()+" parsing '"<<i->name<<"' from file '"<<i->filename<<"': "<<ae.what();
+              msg<<" error at "+nowTime()+" parsing '"<<domain.name<<"' from file '"<<domain.filename<<"': "<<ae.what();
 
             if(status)
               *status+=msg.str();
@@ -980,7 +978,7 @@ void Bind2Backend::loadConfig(string* status)
           }
           catch(std::exception &ae) {
             ostringstream msg;
-            msg<<" error at "+nowTime()+" parsing '"<<i->name<<"' from file '"<<i->filename<<"': "<<ae.what();
+            msg<<" error at "+nowTime()+" parsing '"<<domain.name<<"' from file '"<<domain.filename<<"': "<<ae.what();
 
             if(status)
               *status+=msg.str();
@@ -1418,20 +1416,20 @@ bool Bind2Backend::searchRecords(const string &pattern, int maxResults, vector<D
   {
     ReadLock rl(&s_state_lock);
 
-    for(state_t::const_iterator i = s_state.begin(); i != s_state.end() ; ++i) {
+    for(const auto & i : s_state) {
       BB2DomainInfo h;
-      if (!safeGetBBDomainInfo(i->d_id, &h)) {
+      if (!safeGetBBDomainInfo(i.d_id, &h)) {
         continue;
       }
 
       shared_ptr<const recordstorage_t> rhandle = h.d_records.get();
 
       for(recordstorage_t::const_iterator ri = rhandle->begin(); result.size() < static_cast<vector<DNSResourceRecord>::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;
index 623f09e5c4a9e14527838a7b1fb80831e80def46..7812a82e1ff694aa84d8f61cc02b1d202f2fff44 100644 (file)
@@ -157,8 +157,8 @@ map<char,uint64_t> 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++;
index 9b04247980aba2820b9e1f344b74526f5b9b6eeb..315c64af46bae278d775fc8bb818977bb289d3f2 100644 (file)
@@ -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<DNSResourceRecord>&nsset, string *nameserver, string *account, DNSBackend **ddb)
 {
   // check if we know the ip/ns couple in the database
-  for(vector<DNSResourceRecord>::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;
index fd1f168f0bfd66e75991ee03755324bf302ccdaa..07fde254e46dceffded8dfbff91a9fa66657f495 100644 (file)
@@ -62,9 +62,9 @@ void CommunicatorClass::loadArgsIntoSet(const char *listname, set<string> &lists
 {
   vector<string> parts;
   stringtok(parts, ::arg()[listname], ", \t");
-  for (vector<string>::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) {
index 8ead24b379e64649d9eaac4e667bd30fb1ea8f44..ab7a32e172e562bfc138c5aa9deed8836833d2fc 100644 (file)
@@ -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<string>::const_iterator i=parts.begin();i!=parts.end();++i) {
-    const string &part=*i;
-
+  for(const auto & part : parts) {
     string module, name;
     vector<string>pparts;
     stringtok(pparts,part,": ");
index 0c7a63f26090f0f70cea107f2c09e05e5f8b1ec3..0d527ff4ba03929909583d8484cdcf99dae90afb 100644 (file)
@@ -132,8 +132,8 @@ void DNSPacket::addRecord(DNSZoneRecord&& rr)
     std::string ser = const_cast<DNSZoneRecord&>(rr).dr.d_content->serialize(rr.dr.d_name);
     auto hash = boost::hash< std::pair<DNSName, std::string> >()({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<DNSZoneRecord*> DNSPacket::getAPRecords()
 {
   vector<DNSZoneRecord*> arrs;
 
-  for(vector<DNSZoneRecord>::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<DNSZoneRecord*> DNSPacket::getAnswerRecords()
 {
   vector<DNSZoneRecord*> arrs;
 
-  for(vector<DNSZoneRecord>::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<TSIGRecordContent> content = std::dynamic_pointer_cast<TSIGRecordContent>(i->first.d_content);
+      shared_ptr<TSIGRecordContent> content = std::dynamic_pointer_cast<TSIGRecordContent>(d_answer.first.d_content);
       if (!content) {
         g_log<<Logger::Error<<"TSIG record has no or invalid content (invalid packet)"<<endl;
         return false;
       }
       *trc = *content;
-      *keyname = i->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<<Logger::Error<<"More than one TKEY record found in query"<<endl;
       return false;
     }
 
-    if(i->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<TKEYRecordContent> content = std::dynamic_pointer_cast<TKEYRecordContent>(i->first.d_content);
+      shared_ptr<TKEYRecordContent> content = std::dynamic_pointer_cast<TKEYRecordContent>(d_answer.first.d_content);
       if (!content) {
         g_log<<Logger::Error<<"TKEY record has no or invalid content (invalid packet)"<<endl;
         return false;
       }
       *tr = *content;
-      *keyname = i->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<pair<uint16_t, string> >::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: "<<d_eso.source.toString()<<", scope: "<<d_eso.scope.toString()<<", family = "<<d_eso.scope.getNetwork().sin4.sin_family<<endl;
           d_haveednssubnet=true;
         } 
index 08233acc94f7c412c7a57b74fbb1f6f0573a721b..37cf92653e45c99b8fcc4e398b281c6695801135 100644 (file)
@@ -65,8 +65,8 @@ string UnknownRecordContent::getZoneRepresentation(bool noDot) const
   ostringstream str;
   str<<"\\# "<<(unsigned int)d_record.size()<<" ";
   char hex[4];
-  for (size_t n=0; n<d_record.size(); ++n) {
-    snprintf(hex, sizeof(hex), "%02x", d_record.at(n));
+  for (unsigned char n : d_record) {
+    snprintf(hex, sizeof(hex), "%02x", n);
     str << hex;
   }
   return str.str();
@@ -450,17 +450,17 @@ static string txtEscape(const string &name)
   string ret;
   char ebuf[5];
 
-  for(string::const_iterator i=name.begin();i!=name.end();++i) {
-    if((unsigned char) *i >= 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;
index e2dd8e82034187921c2570ec1cb716c1de6d8295..64d1322247e4de5d4884ca712536fc999a1571c9 100644 (file)
@@ -253,17 +253,17 @@ void DNSProxy::mainloop(void)
         MOADNSParser mdp(false, p.getString());
         //       cerr<<"Got completion, "<<mdp.d_answers.size()<<" answers, rcode: "<<mdp.d_header.rcode<<endl;
         if (mdp.d_header.rcode == RCode::NoError) {
-          for(MOADNSParser::answers_t::const_iterator j=mdp.d_answers.begin(); j!=mdp.d_answers.end(); ++j) {        
+          for(const auto & d_answer : mdp.d_answers) {        
             //     cerr<<"comp: "<<(int)j->first.d_place-1<<" "<<j->first.d_label<<" " << DNSRecordContent::NumberToType(j->first.d_type)<<" "<<j->first.d_content->getZoneRepresentation()<<endl;
-            if(j->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));
               }
             }
index 9b9e58f05cfc108ce9f55ff053c2b0e88ede5f59..90ef4aa07b84246b80d26db4287d533224c1a06a 100644 (file)
@@ -646,9 +646,9 @@ std::shared_ptr<DNSRecordContent> APLRecordContent::make(const string& zone) {
   auto ret=std::make_shared<APLRecordContent>();
 
   boost::split(elements, zone, boost::is_any_of(" "));
-  for (std::vector<std::string>::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<DNSRecordContent> APLRecordContent::make(const string& zone) {
 
 // DNSRecord to Packet conversion
 void APLRecordContent::toPacket(DNSPacketWriter& pw) {
-  for (std::vector<APLRDataElement>::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; i<ard->d_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; i<ard.d_afdlength; i++) {
+        pw.xfr8BitInt(ard.d_ip.d_ip4[i]);
       }
-    } else if (ard->d_family == APL_FAMILY_IPV6) {
-      for (int i=0; i<ard->d_afdlength; i++) {
-        pw.xfr8BitInt(ard->d_ip.d_ip6[i]);
+    } else if (ard.d_family == APL_FAMILY_IPV6) {
+      for (int i=0; i<ard.d_afdlength; i++) {
+        pw.xfr8BitInt(ard.d_ip.d_ip6[i]);
       }
     }
   }
index 200b48d74f89d685f48f7d906287429ec1e743e1..0b50ec11028ff75713a34fbec6b1d38040077053 100644 (file)
@@ -57,25 +57,25 @@ void CommunicatorClass::queueNotifyDomain(const DomainInfo& di, UeberBackend* B)
     while(B->get(rr))
       nsset.insert(getRR<NSRecordContent>(rr.dr)->getNS().toString());
 
-    for(set<string>::const_iterator j=nsset.begin();j!=nsset.end();++j) {
-      vector<string> nsips=fns.lookup(DNSName(*j), B);
+    for(const auto & j : nsset) {
+      vector<string> nsips=fns.lookup(DNSName(j), B);
       if(nsips.empty())
         g_log<<Logger::Warning<<"Unable to queue notification of domain '"<<di.zone<<"': nameservers do not resolve!"<<endl;
       else
-        for(vector<string>::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<<Logger::Notice<<"Skipped notification of domain '"<<di.zone<<"' to "<<*j<<" because it does not match only-notify."<<endl;
+              g_log<<Logger::Notice<<"Skipped notification of domain '"<<di.zone<<"' to "<<j<<" because it does not match only-notify."<<endl;
             else
               ips.insert(caIp.toStringWithPort());
           }
         }
     }
 
-    for(set<string>::const_iterator j=ips.begin();j!=ips.end();++j) {
-      g_log<<Logger::Notice<<"Queued notification of domain '"<<di.zone<<"' to "<<*j<<endl;
-      d_nq.add(di.zone,*j);
+    for(const auto & ip : ips) {
+      g_log<<Logger::Notice<<"Queued notification of domain '"<<di.zone<<"' to "<<ip<<endl;
+      d_nq.add(di.zone,ip);
       hasQueuedItem=true;
     }
   }
@@ -93,9 +93,9 @@ void CommunicatorClass::queueNotifyDomain(const DomainInfo& di, UeberBackend* B)
   set<string> alsoNotify(d_alsoNotify);
   B->alsoNotifies(di.zone, &alsoNotify);
 
-  for(set<string>::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<<Logger::Notice<<"Queued also-notification of domain '"<<di.zone<<"' to "<<caIp.toStringWithPort()<<endl;
       if (!ips.count(caIp.toStringWithPort())) {
         ips.insert(caIp.toStringWithPort());
index be2a4744f3bf26970900d37944036371238c8d86..3babc592344499b03dc9ab3631bc70afd00c9753 100644 (file)
@@ -466,9 +466,9 @@ void stripLine(string &line)
 string urlEncode(const string &text)
 {
   string ret;
-  for(string::const_iterator i=text.begin();i!=text.end();++i)
-    if(*i==' ')ret.append("%20");
-    else ret.append(1,*i);
+  for(char i : text)
+    if(i==' ')ret.append("%20");
+    else ret.append(1,i);
   return ret;
 }
 
@@ -565,8 +565,8 @@ string makeHexDump(const string& str)
   string ret;
   ret.reserve((int)(str.size()*2.2));
 
-  for(string::size_type n=0;n<str.size();++n) {
-    snprintf(tmp, sizeof(tmp), "%02x ", (unsigned char)str[n]);
+  for(char n : str) {
+    snprintf(tmp, sizeof(tmp), "%02x ", (unsigned char)n);
     ret+=tmp;
   }
   return ret;
@@ -1109,8 +1109,8 @@ string getMACAddress(const ComboAddress& ca)
       if (sscanf(parts[3].c_str(), "%02x:%02x:%02x:%02x:%02x:%02x", tmp, tmp+1, tmp+2, tmp+3, tmp+4, tmp+5) != 6) {
         return ret;
       }
-      for(int i = 0 ; i< 6 ; ++i)
-        ret.append(1, (char)tmp[i]);
+      for(unsigned int i : tmp)
+        ret.append(1, (char)i);
       return ret;
     }
   }
index 6ec607c94ee107ca087564cd666100cdae8e78f0..e6ba80759b5b2c967367f373abeca58b8536cfb0 100644 (file)
@@ -1003,9 +1003,9 @@ int PacketHandler::processNotify(const DNSPacket& p)
 
   if(!s_forwardNotify.empty()) {
     set<string> forwardNotify(s_forwardNotify);
-    for(set<string>::const_iterator j=forwardNotify.begin();j!=forwardNotify.end();++j) {
-      g_log<<Logger::Notice<<"Relaying notification of domain "<<p.qdomain<<" from "<<p.getRemote()<<" to "<<*j<<endl;
-      Communicator.notify(p.qdomain,*j);
+    for(const auto & j : forwardNotify) {
+      g_log<<Logger::Notice<<"Relaying notification of domain "<<p.qdomain<<" from "<<p.getRemote()<<" to "<<j<<endl;
+      Communicator.notify(p.qdomain,j);
     }
   }
 
index 2a8e89184525e59e12d73f338d7839c1e512b434..fe9830b36345d4dc127cb1d71b51d9ec9200edca 100644 (file)
@@ -726,17 +726,17 @@ static string txtEscape(const string &name)
   string ret;
   char ebuf[5];
 
-  for(string::const_iterator i=name.begin();i!=name.end();++i) {
-    if((unsigned char) *i >= 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;
 }
index 93b2fca51102ea7c6662331e16d813ee9d1cfe78..9e5fcdd01051777ab2f9f6199745b507e7ff469d 100644 (file)
@@ -63,10 +63,8 @@ map<uint16_t, uint64_t> ResponseStats::getQTypeResponseCounts()
 map<uint16_t, uint64_t> ResponseStats::getSizeResponseCounts()
 {
   map<uint16_t, uint64_t> 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;
 }
index 10055079c377506795aec49df7de88898ae6f8ff..e9acd77b7d254830e851e4a930c9b47292dfb1a6 100644 (file)
@@ -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<DNSName>::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<const DNSRecord *> 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) {
index c129a4193a58313b957d12d52d250837631b81b5..ca0e288f25fc11955d46036fdfde4a4904f5bb9c 100644 (file)
@@ -132,12 +132,12 @@ pair<vector<int>, vector<int> > ChunkedSigningPipe::waitForRW(bool rd, bool wr,
 {
   vector<pollfd> 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<int>, vector<int> > ChunkedSigningPipe::waitForRW(bool rd, bool wr,
   if(res < 0)
     unixDie("polling for activity from signers, "+std::to_string(d_sockets.size()));
   pair<vector<int>, vector<int> > 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;
 }
index eb6ece88230627e29876fb23dfdf429ee765404b..747b2962c0210f35b1fb796233164579a94d0665 100644 (file)
@@ -257,24 +257,24 @@ static vector<DNSResourceRecord> 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<<Logger::Warning<<logPrefix<<"primary tried to sneak in out-of-zone data '"<<i->qname<<"'|"<<i->qtype.getName()<<", ignoring"<<endl;
+      if(!rec.qname.isPartOf(domain)) {
+        g_log<<Logger::Warning<<logPrefix<<"primary tried to sneak in out-of-zone data '"<<rec.qname<<"'|"<<rec.qtype.getName()<<", ignoring"<<endl;
         continue;
       }
 
       vector<DNSResourceRecord> 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<<Logger::Error<<logPrefix<<"axfrfilter() filter tried to sneak in out-of-zone data '"<<i->qname<<"'|"<<i->qtype.getName()<<", ignoring"<<endl;
+          g_log<<Logger::Error<<logPrefix<<"axfrfilter() filter tried to sneak in out-of-zone data '"<<rr.qname<<"'|"<<rr.qtype.getName()<<", ignoring"<<endl;
           continue;
         }
         if(!processRecordForZS(domain, firstNSEC3, rr, zs))
index 7a2b2e8922e9613ca78c392581362815dca74598..b4d406e5e665bba15380a61758a13b2935ee0572 100644 (file)
@@ -373,10 +373,10 @@ string StatBag::getRingTitle(const string &name)
 vector<string>StatBag::listRings()
 {
   vector<string> 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);
 
index 737436d1f54b90e61c58c3e5553bb8706b243ab1..3910c524243dc97b56121b50b0059f74ab453ea0 100644 (file)
@@ -159,10 +159,10 @@ int stubDoResolve(const DNSName& qname, uint16_t qtype, vector<DNSZoneRecord>& 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);
       }
index f48de0d585c8fa6e34691e5d9a29c552e57e146a..e140107980fb135246928594a77283097f387baf 100644 (file)
@@ -430,9 +430,9 @@ bool TCPNameserver::canDoAXFR(std::unique_ptr<DNSPacket>& q, bool isAXFR)
     // cerr<<"got backend and SOA"<<endl;
     vector<string> acl;
     s_P->getBackend()->getDomainMetadata(q->qdomain, "ALLOW-AXFR-FROM", acl);
-    for (vector<string>::const_iterator i = acl.begin(); i != acl.end(); ++i) {
+    for (const auto & i : acl) {
       // cerr<<"matching against "<<*i<<endl;
-      if(pdns_iequals(*i, "AUTO-NS")) {
+      if(pdns_iequals(i, "AUTO-NS")) {
         // cerr<<"AUTO-NS magic please!"<<endl;
 
         DNSResourceRecord rr;
@@ -444,9 +444,9 @@ bool TCPNameserver::canDoAXFR(std::unique_ptr<DNSPacket>& q, bool isAXFR)
         }
         for(const auto & j: nsset) {
           vector<string> nsips=fns.lookup(j, s_P->getBackend());
-          for(vector<string>::const_iterator k=nsips.begin();k!=nsips.end();++k) {
+          for(const auto & nsip : nsips) {
             // cerr<<"got "<<*k<<" from AUTO-NS"<<endl;
-            if(*k == q->getRemote().toString())
+            if(nsip == q->getRemote().toString())
             {
               // cerr<<"got AUTO-NS hit"<<endl;
               g_log<<Logger::Notice<<logPrefix<<"allowed: client IP is in NSset"<<endl;
@@ -457,7 +457,7 @@ bool TCPNameserver::canDoAXFR(std::unique_ptr<DNSPacket>& q, bool isAXFR)
       }
       else
       {
-        Netmask nm = Netmask(*i);
+        Netmask nm = Netmask(i);
         if(nm.match( (ComboAddress *) &q->d_remote ))
         {
           g_log<<Logger::Notice<<logPrefix<<"allowed: client IP is in per-zone ACL"<<endl;
@@ -1000,8 +1000,8 @@ int TCPNameserver::doIXFR(std::unique_ptr<DNSPacket>& 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) {
       vector<string>parts;
       stringtok(parts, rr->d_content->getZoneRepresentation());
index 9ac2ebb9c9db871483bd6d7c265e03019aa412e5..ca4720c0983213f9001c2f12c87ab944a17bb34f 100644 (file)
@@ -112,8 +112,8 @@ void UeberBackend::go(void)
 
 bool UeberBackend::getDomainInfo(const DNSName &domain, DomainInfo &di, bool getSerial)
 {
-  for(vector<DNSBackend *>::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<DomainInfo>* 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<DomainInfo>* domains)
 
 void UeberBackend::getUpdatedMasters(vector<DomainInfo>* 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<DNSBackend *>::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<DNSBackend *>::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<DNSResourceRecord>&nsset, string *nameserver, string *account, DNSBackend **db)
 {
-  for(vector<DNSBackend *>::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<DNSZoneRecord> &&rrs)
 
 void UeberBackend::alsoNotifies(const DNSName &domain, set<string> *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<DomainInfo> *domains, bool include_disabled) {
-  for (vector<DNSBackend*>::iterator i = backends.begin(); i != backends.end(); ++i )
+  for (auto & backend : backends)
   {
-    (*i)->getAllDomains(domains, include_disabled);
+    backend->getAllDomains(domains, include_disabled);
   }
 }
 
index bae04278f62ec4e663066220a13bea1112271105..cea1abd78e40536d3d7e492dc150c201e1ac2597 100644 (file)
@@ -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);
     }
   }
 
index 0f3bebe163fc50fa08f414424423303c062eb224..32b3d37ac7848f2329cce513e6b0ae8df62a7ca5 100644 (file)
@@ -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 += "&amp;";
       break;
@@ -125,7 +125,7 @@ static string htmlescape(const string &s) {
       result += "&quot;";
       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<pair <string,unsigned int> >ring=S.getRing(ringname);
 
-  for(vector<pair<string, unsigned int> >::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<<"<div class=panel><h2>Variables</h2><table class=\"data\">"<<endl;
 
   vector<string>entries=S.getEntries();
-  for(vector<string>::const_iterator i=entries.begin();i!=entries.end();++i) {
-    ret<<"<tr><td>"<<*i<<"</td><td>"<<S.read(*i)<<"</td><td>"<<S.getDescrip(*i)<<"</td>"<<endl;
+  for(const auto & entrie : entries) {
+    ret<<"<tr><td>"<<entrie<<"</td><td>"<<S.read(entrie)<<"</td><td>"<<S.getDescrip(entrie)<<"</td>"<<endl;
   }
 
   ret<<"</table></div>"<<endl;
@@ -189,8 +189,8 @@ void AuthWebServer::printargs(ostringstream &ret)
   ret<<"<table border=1><tr><td colspan=3 bgcolor=\"#0000ff\"><font color=\"#ffffff\">Arguments</font></td>"<<endl;
 
   vector<string>entries=arg().list();
-  for(vector<string>::const_iterator i=entries.begin();i!=entries.end();++i) {
-    ret<<"<tr><td>"<<*i<<"</td><td>"<<arg()[*i]<<"</td><td>"<<arg().getHelp(*i)<<"</td>"<<endl;
+  for(const auto & entrie : entries) {
+    ret<<"<tr><td>"<<entrie<<"</td><td>"<<arg()[entrie]<<"</td><td>"<<arg().getHelp(entrie)<<"</td>"<<endl;
   }
 }
 
index e6cfcbd2a75a3d224ccff70804ecbe2c8d74b681..b4aee1c6cd08803b9b0e8adecfe97bee3f797278 100644 (file)
@@ -144,10 +144,10 @@ try
     
       vector<BindDomainInfo> domains=BP.getDomains();
       struct stat st;
-      for(vector<BindDomainInfo>::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;
         }
       }
       
index e513ead107fa23f8480747da03a2b359d3afeb23..2683f09ed9d88c6bb7ad600c30abc83afdd56877 100644 (file)
@@ -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<BindDomainInfo> domains=BP.getDomains();
       struct stat st;
-      for(vector<BindDomainInfo>::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<BindDomainInfo>::const_iterator i=domains.begin();
-          i!=domains.end();
-          ++i)
+      for(const auto & domain : domains)
         {
-          if(i->type!="master" && i->type!="slave") {
-            cerr<<" Warning! Skipping '"<<i->type<<"' zone '"<<i->name<<"'"<<endl;
+          if(domain.type!="master" && domain.type!="slave") {
+            cerr<<" Warning! Skipping '"<<domain.type<<"' zone '"<<domain.name<<"'"<<endl;
             continue;
           }
           try {
             startNewTransaction();
             
-            emitDomain(i->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"<<count*100/numdomains<<"% done ("<<i->filename<<")\033\133\113";
+            cerr<<"\r"<<count*100/numdomains<<"% done ("<<domain.filename<<")\033\133\113";
         }
       cerr<<"\r100% done\033\133\113"<<endl;
     }