]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
auth: move alsoNotifies up into DNSBackend, fixes #12256 12265/head
authorPeter van Dijk <peter.van.dijk@powerdns.com>
Mon, 5 Dec 2022 13:01:15 +0000 (14:01 +0100)
committerPeter van Dijk <peter.van.dijk@powerdns.com>
Mon, 5 Dec 2022 13:01:15 +0000 (14:01 +0100)
modules/remotebackend/remotebackend.cc
modules/remotebackend/remotebackend.hh
pdns/backends/gsql/gsqlbackend.cc
pdns/backends/gsql/gsqlbackend.hh
pdns/dnsbackend.hh

index a3b66ee14f8d585c515fcff3a18c94889c74a734..144fb25ba3d5c1bbc395ed36059c828cb8916681 100644 (file)
@@ -878,13 +878,6 @@ void RemoteBackend::getAllDomains(vector<DomainInfo>* domains, bool getSerial, b
   }
 }
 
-void RemoteBackend::alsoNotifies(const DNSName& domain, set<string>* ips)
-{
-  std::vector<std::string> meta;
-  getDomainMetadata(domain, "ALSO-NOTIFY", meta);
-  ips->insert(meta.begin(), meta.end());
-}
-
 void RemoteBackend::getUpdatedMasters(vector<DomainInfo>& domains, std::unordered_set<DNSName>& catalogs, CatalogHashMap& catalogHashes)
 {
   Json query = Json::object{
index d7ad53df2332be43f1589da35db366470a659ed2..97c683895321aa55eb9de922a5ba6082d7232ff2 100644 (file)
@@ -200,7 +200,6 @@ public:
   bool searchComments(const string& pattern, int maxResults, vector<Comment>& result) override;
   void getAllDomains(vector<DomainInfo>* domains, bool getSerial, bool include_disabled) override;
   void getUpdatedMasters(vector<DomainInfo>& domains, std::unordered_set<DNSName>& catalogs, CatalogHashMap& catalogHashes) override;
-  void alsoNotifies(const DNSName& domain, set<string>* ips) override;
   void getUnfreshSlaveInfos(vector<DomainInfo>* domains) override;
   void setStale(uint32_t domain_id) override;
   void setFresh(uint32_t domain_id) override;
index 838ce4f8cfed439338631abbd3c8ccd9daedbce0..b146c5803673537306a682779e315d30c7eccddb 100644 (file)
@@ -1236,15 +1236,6 @@ bool GSQLBackend::getDomainKeys(const DNSName& name, std::vector<KeyData>& keys)
   return true;
 }
 
-void GSQLBackend::alsoNotifies(const DNSName &domain, set<string> *ips)
-{
-  vector<string> meta;
-  getDomainMetadata(domain, "ALSO-NOTIFY", meta);
-  for(const auto& str: meta) {
-    ips->insert(str);
-  }
-}
-
 bool GSQLBackend::getAllDomainMetadata(const DNSName& name, std::map<std::string, std::vector<std::string> >& meta)
 {
   try {
index 7e5c70274d1ab52c90f26fbfb7336daca353389d..a7afbd13fe6d184f01d554cc23bbf4d981f77096 100644 (file)
@@ -198,7 +198,6 @@ public:
   bool list(const DNSName &target, int domain_id, bool include_disabled=false) override;
   bool get(DNSResourceRecord &r) override;
   void getAllDomains(vector<DomainInfo>* domains, bool getSerial, bool include_disabled) override;
-  void alsoNotifies(const DNSName &domain, set<string> *ips) override;
   bool startTransaction(const DNSName &domain, int domain_id=-1) override;
   bool commitTransaction() override;
   bool abortTransaction() override;
index d7b18b7a88877f77676ab4ed1aff847f5209ec5c..cc3ed3e3602a885ba1dd5ca049c906e6b27df512 100644 (file)
@@ -339,6 +339,9 @@ public:
   //! get a list of IP addresses that should also be notified for a domain
   virtual void alsoNotifies(const DNSName &domain, set<string> *ips)
   {
+    std::vector<std::string> meta;
+    getDomainMetadata(domain, "ALSO-NOTIFY", meta);
+    ips->insert(meta.begin(), meta.end());
   }
 
   //! get list of domains that have been changed since their last notification to slaves