From: Charles-Henri Bruyand Date: Mon, 18 Dec 2023 13:43:22 +0000 (+0100) Subject: auth: reformat communicator.hh and communicator.cc X-Git-Tag: dnsdist-1.9.0-rc1~30^2~2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=2dff6ed593b905b5921ab2de44239e02b789f7d5;p=thirdparty%2Fpdns.git auth: reformat communicator.hh and communicator.cc --- diff --git a/.not-formatted b/.not-formatted index 0bd94aae3a..a899bfcadb 100644 --- a/.not-formatted +++ b/.not-formatted @@ -26,8 +26,6 @@ ./pdns/cdb.hh ./pdns/comfun.cc ./pdns/comment.hh -./pdns/communicator.cc -./pdns/communicator.hh ./pdns/dbdnsseckeeper.cc ./pdns/delaypipe.cc ./pdns/delaypipe.hh diff --git a/pdns/communicator.cc b/pdns/communicator.cc index 2f43db2873..8834e3a667 100644 --- a/pdns/communicator.cc +++ b/pdns/communicator.cc @@ -43,7 +43,7 @@ void CommunicatorClass::retrievalLoopThread() { setThreadName("pdns/comm-retre"); - for(;;) { + for (;;) { d_suck_sem.wait(); SuckRequest sr; { @@ -53,8 +53,8 @@ void CommunicatorClass::retrievalLoopThread() } auto firstItem = data->d_suckdomains.begin(); - - sr=*firstItem; + + sr = *firstItem; data->d_suckdomains.erase(firstItem); if (data->d_suckdomains.empty()) { data->d_sorthelper = 0; @@ -64,17 +64,17 @@ void CommunicatorClass::retrievalLoopThread() } } -void CommunicatorClass::loadArgsIntoSet(const char *listname, set &listset) +void CommunicatorClass::loadArgsIntoSet(const char* listname, set& listset) { vector parts; stringtok(parts, ::arg()[listname], ", \t"); - for (const auto & part : parts) { + for (const auto& part : parts) { try { ComboAddress caIp(part, 53); listset.insert(caIp.toStringWithPort()); } - catch(PDNSException &e) { - g_log< &lists void CommunicatorClass::go() { try { - PacketHandler::s_allowNotifyFrom.toMasks(::arg()["allow-notify-from"] ); + PacketHandler::s_allowNotifyFrom.toMasks(::arg()["allow-notify-from"]); } - catch(PDNSException &e) { - g_log< priorityAndOrder; bool operator<(const SuckRequest& b) const { @@ -54,30 +61,31 @@ struct SuckRequest } }; -struct IDTag{}; +struct IDTag +{ +}; typedef multi_index_container< SuckRequest, indexed_by< - ordered_unique,&SuckRequest::priorityAndOrder>>, - ordered_unique, identity > - > -> UniQueue; + ordered_unique, &SuckRequest::priorityAndOrder>>, + ordered_unique, identity>>> + UniQueue; typedef UniQueue::index::type domains_by_name_t; class NotificationQueue { public: - void add(const DNSName &domain, const string &ip, time_t delay = 0) + void add(const DNSName& domain, const string& ip, time_t delay = 0) { const ComboAddress caIp(ip); NotificationRequest nr; - nr.domain = domain; - nr.ip = caIp.toStringWithPort(); + nr.domain = domain; + nr.ip = caIp.toStringWithPort(); nr.attempts = 0; - nr.id = dns_random_uint16(); - nr.next = time(nullptr) + delay; + nr.id = dns_random_uint16(); + nr.next = time(nullptr) + delay; d_nqueue.push_back(nr); } @@ -94,19 +102,19 @@ public: return false; } - bool getOne(DNSName &domain, string &ip, uint16_t *id, bool &purged) + bool getOne(DNSName& domain, string& ip, uint16_t* id, bool& purged) { - for(d_nqueue_t::iterator i=d_nqueue.begin();i!=d_nqueue.end();++i) - if(i->next <= time(0)) { + for (d_nqueue_t::iterator i = d_nqueue.begin(); i != d_nqueue.end(); ++i) + if (i->next <= time(0)) { i->attempts++; - purged=false; - i->next=time(0)+1+(1<attempts); - domain=i->domain; - ip=i->ip; - *id=i->id; - purged=false; - if(i->attempts>4) { - purged=true; + purged = false; + i->next = time(0) + 1 + (1 << i->attempts); + domain = i->domain; + ip = i->ip; + *id = i->id; + purged = false; + if (i->attempts > 4) { + purged = true; d_nqueue.erase(i); } return true; @@ -116,10 +124,10 @@ public: time_t earliest() { - time_t early=std::numeric_limits::max() - 1; - for(d_nqueue_t::const_iterator i=d_nqueue.begin();i!=d_nqueue.end();++i) - early=min(early,i->next); - return early-time(0); + time_t early = std::numeric_limits::max() - 1; + for (d_nqueue_t::const_iterator i = d_nqueue.begin(); i != d_nqueue.end(); ++i) + early = min(early, i->next); + return early - time(0); } void dump(); @@ -136,7 +144,6 @@ private: typedef std::list d_nqueue_t; d_nqueue_t d_nqueue; - }; struct ZoneStatus; @@ -149,36 +156,36 @@ class CommunicatorClass public: CommunicatorClass() { - d_tickinterval=60; + d_tickinterval = 60; d_secondarieschanged = true; d_nsock4 = -1; d_nsock6 = -1; d_preventSelfNotification = false; } - time_t doNotifications(PacketHandler *P); + time_t doNotifications(PacketHandler* P); void go(); - - void drillHole(const DNSName &domain, const string &ip); - bool justNotified(const DNSName &domain, const string &ip); + void drillHole(const DNSName& domain, const string& ip); + bool justNotified(const DNSName& domain, const string& ip); void addSuckRequest(const DNSName& domain, const ComboAddress& primary, SuckRequest::RequestPriority, bool force = false); void addSecondaryCheckRequest(const DomainInfo& di, const ComboAddress& remote); void addTryAutoPrimaryRequest(const DNSPacket& p); - void notify(const DNSName &domain, const string &ip); + void notify(const DNSName& domain, const string& ip); void mainloop(); void retrievalLoopThread(); - void sendNotification(int sock, const DNSName &domain, const ComboAddress& remote, uint16_t id, UeberBackend* B); - bool notifyDomain(const DNSName &domain, UeberBackend* B); - vector > getSuckRequests(); + void sendNotification(int sock, const DNSName& domain, const ComboAddress& remote, uint16_t id, UeberBackend* B); + bool notifyDomain(const DNSName& domain, UeberBackend* B); + vector> getSuckRequests(); size_t getSuckRequestsWaiting(); + private: - void loadArgsIntoSet(const char *listname, set &listset); + void loadArgsIntoSet(const char* listname, set& listset); void makeNotifySockets(); void queueNotifyDomain(const DomainInfo& di, UeberBackend* B); int d_nsock4, d_nsock6; - LockGuarded,time_t>> d_holes; + LockGuarded, time_t>> d_holes; - void suck(const DNSName &domain, const ComboAddress& remote, bool force=false); + void suck(const DNSName& domain, const ComboAddress& remote, bool force = false); void ixfrSuck(const DNSName& domain, const TSIGTriplet& tt, const ComboAddress& laddr, const ComboAddress& remote, ZoneStatus& zs, vector* axfr); void secondaryRefresh(PacketHandler* P); @@ -204,8 +211,10 @@ private: set d_inprogress; set d_tocheck; - struct cmp { - bool operator()(const DNSPacket& a, const DNSPacket& b) const { + struct cmp + { + bool operator()(const DNSPacket& a, const DNSPacket& b) const + { return a.qdomain < b.qdomain; }; }; @@ -222,7 +231,8 @@ private: struct RemoveSentinel { - explicit RemoveSentinel(const DNSName& dn, CommunicatorClass* cc) : d_dn(dn), d_cc(cc) + explicit RemoveSentinel(const DNSName& dn, CommunicatorClass* cc) : + d_dn(dn), d_cc(cc) {} ~RemoveSentinel() @@ -230,31 +240,30 @@ private: try { d_cc->d_data.lock()->d_inprogress.erase(d_dn); } - catch(...) { + catch (...) { } } DNSName d_dn; CommunicatorClass* d_cc; -}; - + }; }; // class that one day might be more than a function to help you get IP addresses for a nameserver class FindNS { public: - vector lookup(const DNSName &name, UeberBackend *b) + vector lookup(const DNSName& name, UeberBackend* b) { vector addresses; this->resolve_name(&addresses, name); - if(b) { - b->lookup(QType(QType::ANY),name,-1); - DNSZoneRecord rr; - while(b->get(rr)) - if(rr.dr.d_type == QType::A || rr.dr.d_type==QType::AAAA) - addresses.push_back(rr.dr.getContent()->getZoneRepresentation()); // SOL if you have a CNAME for an NS + if (b) { + b->lookup(QType(QType::ANY), name, -1); + DNSZoneRecord rr; + while (b->get(rr)) + if (rr.dr.d_type == QType::A || rr.dr.d_type == QType::AAAA) + addresses.push_back(rr.dr.getContent()->getZoneRepresentation()); // SOL if you have a CNAME for an NS } return addresses; } @@ -266,18 +275,18 @@ private: struct addrinfo hints; memset(&hints, 0, sizeof(hints)); hints.ai_socktype = SOCK_DGRAM; // otherwise we get everything in triplicate (!) - for(int n = 0; n < 2; ++n) { + for (int n = 0; n < 2; ++n) { hints.ai_family = n ? AF_INET : AF_INET6; ComboAddress remote; remote.sin4.sin_family = AF_INET6; - if(!getaddrinfo(name.toString().c_str(), 0, &hints, &res)) { + if (!getaddrinfo(name.toString().c_str(), 0, &hints, &res)) { struct addrinfo* address = res; do { if (address->ai_addrlen <= sizeof(remote)) { remote.setSockaddr(address->ai_addr, address->ai_addrlen); addresses->push_back(remote.toString()); } - } while((address = address->ai_next)); + } while ((address = address->ai_next)); freeaddrinfo(res); } }