From cc11d7f4ad650cf43a6f71858d6d74282e9d3fdf Mon Sep 17 00:00:00 2001 From: phonedph1 Date: Fri, 12 Jan 2018 16:20:37 +0000 Subject: [PATCH] Constify rnameservers --- pdns/syncres.cc | 17 +++++++++-------- pdns/syncres.hh | 2 +- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/pdns/syncres.cc b/pdns/syncres.cc index 67b888228..e39ae1799 100644 --- a/pdns/syncres.cc +++ b/pdns/syncres.cc @@ -1282,26 +1282,27 @@ inline vector SyncRes::shuffleInSpeedOrder(NsSet &tnameservers, const s return rnameservers; } -inline vector SyncRes::shuffleForwardSpeed(vector &rnameservers, const string &prefix, const bool wasRd) +inline vector SyncRes::shuffleForwardSpeed(const vector &rnameservers, const string &prefix, const bool wasRd) { + vector nameservers = rnameservers; map speeds; - for(const auto& val: rnameservers) { + for(const auto& val: nameservers) { double speed; DNSName nsName = DNSName(val.toStringWithPort()); speed=t_sstorage.nsSpeeds[nsName].get(&d_now); speeds[val]=speed; } - random_shuffle(rnameservers.begin(),rnameservers.end(), dns_random); + random_shuffle(nameservers.begin(),nameservers.end(), dns_random); speedOrderCA so(speeds); - stable_sort(rnameservers.begin(),rnameservers.end(), so); + stable_sort(nameservers.begin(),nameservers.end(), so); if(doLog()) { LOG(prefix<<"Nameservers: "); - for(vector::const_iterator i=rnameservers.cbegin();i!=rnameservers.cend();++i) { - if(i!=rnameservers.cbegin()) { + for(vector::const_iterator i=nameservers.cbegin();i!=nameservers.cend();++i) { + if(i!=nameservers.cbegin()) { LOG(", "); - if(!((i-rnameservers.cbegin())%3)) { + if(!((i-nameservers.cbegin())%3)) { LOG(endl< SyncRes::shuffleForwardSpeed(vector &r } LOG(endl); } - return rnameservers; + return nameservers; } static uint32_t getRRSIGTTL(const time_t now, const std::shared_ptr& rrsig) diff --git a/pdns/syncres.hh b/pdns/syncres.hh index 702c27486..738d18fa7 100644 --- a/pdns/syncres.hh +++ b/pdns/syncres.hh @@ -739,7 +739,7 @@ private: DNSName getBestNSNamesFromCache(const DNSName &qname, const QType &qtype, NsSet& nsset, bool* flawedNSSet, unsigned int depth, set&beenthere); inline vector shuffleInSpeedOrder(NsSet &nameservers, const string &prefix); - inline vector shuffleForwardSpeed(vector &rnameservers, const string &prefix, const bool wasRd); + inline vector shuffleForwardSpeed(const vector &rnameservers, const string &prefix, const bool wasRd); bool moreSpecificThan(const DNSName& a, const DNSName &b) const; vector getAddrs(const DNSName &qname, unsigned int depth, set& beenthere, bool cacheOnly); -- 2.49.0