]> granicus.if.org Git - pdns/commitdiff
move recursor specific edns infra to recursor
authorbert hubert <bert.hubert@netherlabs.nl>
Tue, 10 Nov 2015 15:09:54 +0000 (16:09 +0100)
committerbert hubert <bert.hubert@netherlabs.nl>
Tue, 10 Nov 2015 15:09:54 +0000 (16:09 +0100)
pdns/ednssubnet.cc
pdns/ednssubnet.hh
pdns/pdns_recursor.cc
pdns/syncres.hh

index b84be9f2ee551fbe333696f235a81f873f24d5b3..92d9d2a1787c6201123cd0dcd3628df41b08c094 100644 (file)
@@ -32,7 +32,7 @@ namespace {
                 uint16_t family;
                 uint8_t sourceMask;
                 uint8_t scopeMask;
-        } GCCPACKATTRIBUTE;
+        } GCCPACKATTRIBUTE;  // BRRRRR
 
 }
 
@@ -92,30 +92,3 @@ string makeEDNSSubnetOptsString(const EDNSSubnetOpts& eso)
   return ret;
 }
 
-boost::optional<Netmask> getEDNSSubnetMask(const ComboAddress& local, const DNSName&dn, const ComboAddress& rem)
-{
-  if(local.sin4.sin_family != AF_INET || local.sin4.sin_addr.s_addr) { // detect unset 'requestor'
-    if(g_ednsdomains.check(dn) || g_ednssubnets.match(rem)) {
-      int bits =local.sin4.sin_family == AF_INET ? 24 : 64;
-      ComboAddress trunc(local);
-      trunc.truncate(bits);
-      return boost::optional<Netmask>(Netmask(trunc, bits));
-    }
-  }
-  return boost::optional<Netmask>();
-}
-
-void  parseEDNSSubnetWhitelist(const std::string& wlist)
-{
-  vector<string> parts;
-  stringtok(parts, wlist, ",;");
-  for(const auto& a : parts) {
-    try {
-      Netmask nm(a);
-      g_ednssubnets.addMask(nm);
-    }
-    catch(...) {
-      g_ednsdomains.add(DNSName(a));
-    }
-  }
-}
index dbdd5c151594a2c2c62a7a697f52b41f2e7b809e..a724b4336c5f7f27bba2de7dd604269f23adcae2 100644 (file)
@@ -38,6 +38,4 @@ struct EDNSSubnetOpts
 
 bool getEDNSSubnetOptsFromString(const string& options, EDNSSubnetOpts* eso);
 string makeEDNSSubnetOptsString(const EDNSSubnetOpts& eso);
-boost::optional<Netmask> getEDNSSubnetMask(const ComboAddress& local, const DNSName&dn, const ComboAddress& rem);
-void  parseEDNSSubnetWhitelist(const std::string& wlist);
 #endif
index d4f394287d44b8073f9ce5cc2b1558fef82b32d0..b9ab0829f086aad1eb8476bdcae6077d47c47c24 100644 (file)
@@ -2061,6 +2061,35 @@ void parseACLs()
   l_initialized = true;
 }
 
+boost::optional<Netmask> getEDNSSubnetMask(const ComboAddress& local, const DNSName&dn, const ComboAddress& rem)
+{
+  if(local.sin4.sin_family != AF_INET || local.sin4.sin_addr.s_addr) { // detect unset 'requestor'
+    if(g_ednsdomains.check(dn) || g_ednssubnets.match(rem)) {
+      int bits =local.sin4.sin_family == AF_INET ? 24 : 64;
+      ComboAddress trunc(local);
+      trunc.truncate(bits);
+      return boost::optional<Netmask>(Netmask(trunc, bits));
+    }
+  }
+  return boost::optional<Netmask>();
+}
+
+void  parseEDNSSubnetWhitelist(const std::string& wlist)
+{
+  vector<string> parts;
+  stringtok(parts, wlist, ",;");
+  for(const auto& a : parts) {
+    try {
+      Netmask nm(a);
+      g_ednssubnets.addMask(nm);
+    }
+    catch(...) {
+      g_ednsdomains.add(DNSName(a));
+    }
+  }
+}
+
+
 int serviceMain(int argc, char*argv[])
 {
 
index 5084e60ce2dbc6fb2f9b906d3c093bea7a3a04f0..90326011f0ab46a5a437e60db96f21d241c33f00 100644 (file)
@@ -655,4 +655,7 @@ uint64_t* pleaseWipeCache(const DNSName& canon, bool subtree=false);
 uint64_t* pleaseWipePacketCache(const DNSName& canon, bool subtree);
 uint64_t* pleaseWipeAndCountNegCache(const DNSName& canon, bool subtree=false);
 void doCarbonDump(void*);
+boost::optional<Netmask> getEDNSSubnetMask(const ComboAddress& local, const DNSName&dn, const ComboAddress& rem);
+void  parseEDNSSubnetWhitelist(const std::string& wlist);
+
 #endif