]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
Factor logic checking for a zone metadata being equal to "1".
authorMiod Vallat <miod.vallat@powerdns.com>
Fri, 25 Jul 2025 06:21:53 +0000 (08:21 +0200)
committerMiod Vallat <miod.vallat@powerdns.com>
Fri, 25 Jul 2025 12:17:22 +0000 (14:17 +0200)
Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
pdns/dbdnsseckeeper.cc
pdns/dnsseckeeper.hh
pdns/packethandler.cc

index 2e834fc4c44c891718150ca388f334c02d98a5a5..5c9d1f806305553e7dca3fa8cb3e7293bc8d42aa 100644 (file)
@@ -73,28 +73,26 @@ bool DNSSECKeeper::isSecuredZone(const ZoneName& zone, bool useCache)
   return false;
 }
 
-bool DNSSECKeeper::isPresigned(const ZoneName& name, bool useCache)
+bool DNSSECKeeper::isMetadataOne(const ZoneName& name, const std::string& metaname, bool useCache)
 {
   string meta;
   if (useCache) {
-    getFromMeta(name, "PRESIGNED", meta);
+    getFromMeta(name, metaname, meta);
   }
   else {
-    getFromMetaNoCache(name, "PRESIGNED", meta);
+    getFromMetaNoCache(name, metaname, meta);
   }
   return meta=="1";
 }
 
+bool DNSSECKeeper::isPresigned(const ZoneName& name, bool useCache)
+{
+  return isMetadataOne(name, "PRESIGNED", useCache);
+}
+
 bool DNSSECKeeper::isSignalingZone(const ZoneName& name, bool useCache)
 {
-  string meta;
-  if (useCache) {
-    getFromMeta(name, "SIGNALING-ZONE", meta);
-  }
-  else {
-    getFromMetaNoCache(name, "SIGNALING-ZONE", meta);
-  }
-  return meta=="1";
+  return isMetadataOne(name, "SIGNALING-ZONE", useCache);
 }
 
 bool DNSSECKeeper::addKey(const ZoneName& name, bool setSEPBit, int algorithm, int64_t& keyId, int bits, bool active, bool published)
@@ -356,13 +354,7 @@ bool DNSSECKeeper::getNSEC3PARAM(const ZoneName& zname, NSEC3PARAMRecordContent*
     }
   }
   if(narrow != nullptr) {
-    if(useCache) {
-      getFromMeta(zname, "NSEC3NARROW", value);
-    }
-    else {
-      getFromMetaNoCache(zname, "NSEC3NARROW", value);
-    }
-    *narrow = (value=="1");
+    *narrow = isMetadataOne(zname, "NSEC3NARROW", useCache);
   }
   return true;
 }
index f0ee85bbb7610ff8afe8ad1db80603e8ce34fef1..ad6f4e864c6d1e2755f3d269d662e2fc93b43785 100644 (file)
@@ -242,11 +242,13 @@ public:
 
   static void setMaxEntries(size_t maxEntries);
 
+  bool isMetadataOne(const ZoneName& zname, const std::string& metaname, bool useCache);
+
+  int64_t d_metaCacheCleanAction{0};
   typedef std::map<std::string, std::vector<std::string> > METAValues;
 private:
   bool getFromMetaNoCache(const ZoneName& name, const std::string& kind, std::string& value);
 
-  int64_t d_metaCacheCleanAction{0};
   bool d_metaUpdate{false};
 
   struct KeyCacheEntry
index c79b2be1ade8d5a8bbbdfbfb01833635150e6ceb..b76b45b86b141dae45b502ad4615bfd26ac780b3 100644 (file)
@@ -406,9 +406,7 @@ bool PacketHandler::getBestWildcard(DNSPacket& p, const DNSName &target, DNSName
 #ifdef HAVE_LUA_RECORDS
   bool doLua=g_doLuaRecord;
   if(!doLua) {
-    string val;
-    d_dk.getFromMeta(d_sd.zonename, "ENABLE-LUA-RECORDS", val);
-    doLua = (val=="1");
+    doLua = d_dk.isMetadataOne(d_sd.zonename, "ENABLE-LUA-RECORDS", true);
   }
 #endif
 
@@ -716,9 +714,7 @@ void PacketHandler::emitNSEC(std::unique_ptr<DNSPacket>& r, const DNSName& name,
       first = false;
       doLua = g_doLuaRecord;
       if (!doLua) {
-        string val;
-        d_dk.getFromMeta(d_sd.zonename, "ENABLE-LUA-RECORDS", val);
-        doLua = (val == "1");
+        doLua = d_dk.isMetadataOne(d_sd.zonename, "ENABLE-LUA-RECORDS", true);
       }
     }
 
@@ -808,9 +804,7 @@ void PacketHandler::emitNSEC3(DNSPacket& p, std::unique_ptr<DNSPacket>& r, const
         first = false;
         doLua = g_doLuaRecord;
         if (!doLua) {
-          string val;
-          d_dk.getFromMeta(d_sd.zonename, "ENABLE-LUA-RECORDS", val);
-          doLua = (val == "1");
+          doLua = d_dk.isMetadataOne(d_sd.zonename, "ENABLE-LUA-RECORDS", true);
         }
       }
 
@@ -1762,9 +1756,7 @@ bool PacketHandler::opcodeQueryInner2(DNSPacket& pkt, queryState &state, bool re
 
 #ifdef HAVE_LUA_RECORDS
   if(!doLua) {
-    string val;
-    d_dk.getFromMeta(d_sd.zonename, "ENABLE-LUA-RECORDS", val);
-    doLua = (val=="1");
+    doLua = d_dk.isMetadataOne(d_sd.zonename, "ENABLE-LUA-RECORDS", true);
   }
 #endif