]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
geoipbackend: Move global custom mapping and format to object
authorAki Tuomi <cmouse@cmouse.fi>
Sun, 1 May 2022 18:03:42 +0000 (21:03 +0300)
committerAki Tuomi <cmouse@cmouse.fi>
Mon, 28 Aug 2023 12:44:07 +0000 (15:44 +0300)
Simplifies following change

modules/geoipbackend/geoipbackend.cc
modules/geoipbackend/geoipbackend.hh

index 4ca8ed0a4766bc512af288102e836617dbb28451..232b2d517bb15a1a019b32e4d16372ad4c9c621c 100644 (file)
@@ -149,15 +149,13 @@ void GeoIPBackend::initialize()
 
   // Global lookup formats and mapping will be used
   // if none defined at the domain level.
-  vector<string> global_mapping_lookup_formats;
-  map<std::string, std::string> global_custom_mapping;
   if (YAML::Node formats = config["mapping_lookup_formats"]) {
-    global_mapping_lookup_formats = formats.as<vector<string>>();
-    if (!validateMappingLookupFormats(global_mapping_lookup_formats))
+    d_global_mapping_lookup_formats = formats.as<vector<string>>();
+    if (!validateMappingLookupFormats(d_global_mapping_lookup_formats))
       throw PDNSException(string("%mp is not allowed in mapping lookup"));
   }
   if (YAML::Node mapping = config["custom_mapping"]) {
-    global_custom_mapping = mapping.as<map<std::string, std::string>>();
+    d_global_custom_mapping = mapping.as<map<std::string, std::string>>();
   }
 
   for (YAML::const_iterator _domain = config["domains"].begin(); _domain != config["domains"].end(); _domain++) {
@@ -275,13 +273,13 @@ void GeoIPBackend::initialize()
         dom.mapping_lookup_formats = mapping_lookup_formats;
       }
       else {
-        dom.mapping_lookup_formats = global_mapping_lookup_formats;
+        dom.mapping_lookup_formats = d_global_mapping_lookup_formats;
       }
       if (YAML::Node mapping = domain["custom_mapping"]) {
         dom.custom_mapping = mapping.as<map<std::string, std::string>>();
       }
       else {
-        dom.custom_mapping = global_custom_mapping;
+        dom.custom_mapping = d_global_custom_mapping;
       }
 
       dom.services[srvName].netmask4 = netmask4;
index e036ab4f1e20c3cd53c2d76b07e1ae20ec17e2fe..d4138383b1b1e584bc9a7cc99efff8646d7ab942 100644 (file)
@@ -79,4 +79,6 @@ private:
   bool lookup_static(const GeoIPDomain& dom, const DNSName& search, const QType& qtype, const DNSName& qdomain, const Netmask& addr, GeoIPNetmask& gl);
   vector<DNSResourceRecord> d_result;
   vector<GeoIPInterface> d_files;
+  std::vector<std::string> d_global_mapping_lookup_formats;
+  std::map<std::string, std::string> d_global_custom_mapping;
 };