]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
Rename config keywords to be more consistent and add ZONEMD to ZoneToCache unit tests
authorOtto Moerbeek <otto.moerbeek@open-xchange.com>
Mon, 24 Jan 2022 07:40:00 +0000 (08:40 +0100)
committerOtto Moerbeek <otto.moerbeek@open-xchange.com>
Mon, 24 Jan 2022 07:40:48 +0000 (08:40 +0100)
pdns/rec-lua-conf.cc
pdns/recursordist/rec-zonetocache.cc
pdns/recursordist/rec-zonetocache.hh
pdns/recursordist/test-rec-zonetocache.cc
pdns/zonemd.hh

index 6bd0603d21a51570e9712e59b56a2e36632c3471..95ae6e15ac1f337a83ea748f2b582c29af1a97ef 100644 (file)
@@ -446,8 +446,8 @@ void loadRecursorLuaConfig(const std::string& fname, luaConfigDelayedThreads& de
         }
         const map<string, pdns::ZoneMD::Config> nameToVal = {
           {"ignore", pdns::ZoneMD::Config::Ignore},
-          {"process", pdns::ZoneMD::Config::Process},
-          {"required", pdns::ZoneMD::Config::Required},
+          {"valdiate", pdns::ZoneMD::Config::Validate},
+          {"require", pdns::ZoneMD::Config::Require},
         };
         if (have.count("zonemd")) {
           string zonemdValidation = boost::get<string>(have.at("zonemd"));
index 6f44b77af72cd04de112438b1dca6a9f3b9fb12f..94b4e87d9e84825d4eaa45f84e3fc2f06f119cc8 100644 (file)
@@ -318,17 +318,17 @@ void ZoneData::ZoneToCache(const RecZoneToCache::Config& config)
     result = processLines(lines, config, zonemd);
   }
 
-  if (config.d_dnssec == pdns::ZoneMD::Config::Required && g_dnssecmode == DNSSECMode::Off) {
+  if (config.d_dnssec == pdns::ZoneMD::Config::Require && g_dnssecmode == DNSSECMode::Off) {
     throw PDNSException("ZONEMD DNSSEC validation failure: dnssec is switched of but required by ZoneToCache");
   }
 
   // Validate DNSKEYs and ZONEMD, rest of records are validated on-demand by SyncRes
-  if (config.d_dnssec == pdns::ZoneMD::Config::Required || (g_dnssecmode != DNSSECMode::Off && config.d_dnssec != pdns::ZoneMD::Config::Ignore)) {
+  if (config.d_dnssec == pdns::ZoneMD::Config::Require || (g_dnssecmode != DNSSECMode::Off && config.d_dnssec != pdns::ZoneMD::Config::Ignore)) {
     size_t zonemdCount;
     auto validationStatus = dnssecValidate(zonemd, zonemdCount);
     d_log->info("ZONEMD record related DNSSEC validation", "validationStatus", Logging::Loggable(validationStatus),
                 "zonemdCount", Logging::Loggable(zonemdCount));
-    if (config.d_dnssec == pdns::ZoneMD::Config::Required && validationStatus != vState::Secure) {
+    if (config.d_dnssec == pdns::ZoneMD::Config::Require && validationStatus != vState::Secure) {
       throw PDNSException("ZONEMD required DNSSEC validation failed");
     }
     if (validationStatus != vState::Secure && validationStatus != vState::Insecure) {
@@ -336,12 +336,12 @@ void ZoneData::ZoneToCache(const RecZoneToCache::Config& config)
     }
   }
 
-  if (config.d_zonemd == pdns::ZoneMD::Config::Required && result != pdns::ZoneMD::Result::OK) {
+  if (config.d_zonemd == pdns::ZoneMD::Config::Require && result != pdns::ZoneMD::Result::OK) {
     // We do not accept NoValidationDone in this case
     throw PDNSException("ZONEMD digest validation failure");
     return;
   }
-  if (config.d_zonemd == pdns::ZoneMD::Config::Process && result == pdns::ZoneMD::Result::ValidationFailure) {
+  if (config.d_zonemd == pdns::ZoneMD::Config::Validate && result == pdns::ZoneMD::Result::ValidationFailure) {
     throw PDNSException("ZONEMD digest validation failure");
     return;
   }
index 2b37f4ba88cf3dc882c376f80a5b76110e35ed1b..317af52facbdbcb9ad45258c8f520b6df91dc6d5 100644 (file)
@@ -41,8 +41,8 @@ public:
     time_t d_retryOnError{60}; // Retry on error
     time_t d_refreshPeriod{24 * 3600}; // Time between refetch
     uint32_t d_timeout{20}; // timeout in seconds
-    pdns::ZoneMD::Config d_zonemd{pdns::ZoneMD::Config::Process};
-    pdns::ZoneMD::Config d_dnssec{pdns::ZoneMD::Config::Process};
+    pdns::ZoneMD::Config d_zonemd{pdns::ZoneMD::Config::Validate};
+    pdns::ZoneMD::Config d_dnssec{pdns::ZoneMD::Config::Validate};
   };
 
   struct State
index 52b37a8756aa2c465c1adf9952955b4932e40cf5..21ad5eb0dd3170d41af0b706618865dc9a4dab3c 100644 (file)
@@ -11,84 +11,104 @@ extern unique_ptr<MemRecursorCache> g_recCache;
 BOOST_AUTO_TEST_SUITE(rec_zonetocache)
 
 // A piece of the root zone
-const std::string zone = ".                    86400   IN      SOA     a.root-servers.net. nstld.verisign-grs.com. 2021080900 1800 900 604800 86400\n"
-                         ".                    86400   IN      RRSIG   SOA 8 0 86400 20210822050000 20210809040000 26838 . IYvQp/mwMY9i8zGwc1azfS1lSHunX5SstuVXfZ5bNaZTp45SGLF7uzIAzX+/o1Dl5rKH27R8CE26dzTi5ds/OqsGrYXsTcdhwOQEmhYnfmKjGPFqfl0A6MLhHuyEkydPDdVxr5oMIEsIm0hMR1QDZS5gfpmcCfwTbkRGJP53yVnBAMHKhCK40k49YzN0PIycTBZgXu7dGWL2cfYlND1WLImcs1GPqu/8ND9tiLbhoDRw85kqLLR7IGPVb5xu/pNOfpX2nNkvBzC4M7bOaUAquxxetBSjMiPILSkC0XXsnQW7rsei7cmktt2CXU2IYqWkho8pe4A849TCzo1+Aheglw==\n"
-                         ".                    518400  IN      NS      a.root-servers.net.\n"
-                         ".                    518400  IN      NS      b.root-servers.net.\n"
-                         ".                    518400  IN      NS      c.root-servers.net.\n"
-                         ".                    518400  IN      NS      d.root-servers.net.\n"
-                         ".                    518400  IN      NS      e.root-servers.net.\n"
-                         ".                    518400  IN      NS      f.root-servers.net.\n"
-                         ".                    518400  IN      NS      g.root-servers.net.\n"
-                         ".                    518400  IN      NS      h.root-servers.net.\n"
-                         ".                    518400  IN      NS      i.root-servers.net.\n"
-                         ".                    518400  IN      NS      j.root-servers.net.\n"
-                         ".                    518400  IN      NS      k.root-servers.net.\n"
-                         ".                    518400  IN      NS      l.root-servers.net.\n"
-                         ".                    518400  IN      NS      m.root-servers.net.\n"
-                         ".                    518400  IN      RRSIG   NS 8 0 518400 20210822050000 20210809040000 26838 . rXMbGiqM2MOKVpykT064JBDF+4lrSisIWsL5Ro5pOnKJ4AELxsUSjFXRHtCpd6Ii3FUkdDUlhi4cGhWVK918sGadLKlVyks9IET1evutYk5u5w4EuUbaFelpLnGeT78QF6rbXRji3TDs3QeHQ8VqpHTnTiFSDVqIllTqF0DseiuIZ1IgT/Ho8PeX2oXAPEHfqcZbm3vmfZL8Ju+RyvbFpJ6f9AkuWMikIWjyz7xooNwJBjHtj3omIUo3BP+acbigSwmxwZaDgCbzyvtLxAU62WyNWeaOe6O5zwLR3fjhwCMBuVBm1qrA9Nmc9s5l/QzgIoI2SfE1/G7iwdwfXuU//g==\n"
-                         ".                    86400   IN      NSEC    aaa. NS SOA RRSIG NSEC DNSKEY\n"
-                         ".                    86400   IN      RRSIG   NSEC 8 0 86400 20210822050000 20210809040000 26838 . QQHXJDAkTPyrfP4MRSRsNz5AbVyYzPkyg3vCbUq9w144Bd0EjaXxGxd6zZ0dXVCKmf9UUpUvdbposIVqHeA3LLKmgRHXgkFMYxu2LbxoR+dnrcvNVBM/QFb+cHzQWLGl+D2is21UoUcfDKnPMNiWTxkUJNW4mTdVVIkck8FiBSwslrS4eD8irQJv9s6TbS9VYZQcI4UOqkd3XaFRox1UjzHkAVqN8Rv4O4IV0EW8yKGoMOJew/JBl8KCmWgqJDee1oMf6h2ZhBrwmF+uRiatl3wcfEGnquWKdq2ZSdzas6RbbO4T/oiJYoEL1TGmQ5hxzcbs+6AE+ixRk9m3+B7uuw==\n"
-                         ".                    172800  IN      DNSKEY  256 3 8 AwEAAbDEyqdwu2fqAwinPCFwALUCWfYYaLrNhnOrMxDorLBYMipEE1btlK1XnigTRMeb0YQ8/LCopb3CN73hYDhCHFsNk+GtukBB+gWLcg+2FZXbhLXIheQm8x2VfOHy2yYQG+18wjx3HY9Mj/ZEhXbZNrDMvpFKKVihWXa0/cHNg4ZcIHD9KkMlKzK+my1K/vz8fq5cFCFOu7wgM+kKbOikdcRBm7Uf/wRXZItFg2uhUijUb56gEN8uCUgmuEw6wQ5ZBuR7UT/FLyyAUeAH87oxF4im2DXK6J+JA7IAs2UHJ16uTqvdserUU8NIosislaXIZCvz+NTDb3SJcxs6bvCikeU=\n"
-                         ".                    172800  IN      DNSKEY  257 3 8 AwEAAaz/tAm8yTn4Mfeh5eyI96WSVexTBAvkMgJzkKTOiW1vkIbzxeF3+/4RgWOq7HrxRixHlFlExOLAJr5emLvN7SWXgnLh4+B5xQlNVz8Og8kvArMtNROxVQuCaSnIDdD5LKyWbRd2n9WGe2R8PzgCmr3EgVLrjyBxWezF0jLHwVN8efS3rCj/EWgvIWgb9tarpVUDK/b58Da+sqqls3eNbuv7pr+eoZG+SrDK6nWeL3c6H5Apxz7LjVc1uTIdsIXxuOLYA4/ilBmSVIzuDWfdRUfhHdY6+cn8HFRm+2hM8AnXGXws9555KrUB5qihylGa8subX2Nn6UwNR1AkUTV74bU=\n"
-                         ".                    172800  IN      RRSIG   DNSKEY 8 0 172800 20210821000000 20210731000000 20326 . MQCiL1+LRbTdEm3hyrUQOjMurN4QNmB7Up8ahSMS3vC+Waa7ywqKnClMNiZqPJKYuAn3wHZM0kj5pTF/wASaLJ9duxmcL6Wyi7mugRZE1Pv3RDvp6o4RbroZND9HVnImDxg/GmaJbRxtPuA/dGSp/Iq7AObJrtgNM81p19Z50Zn89POIr50/7SpuiRZ7xFYhfwIug9pgrHHdNQpQN7UVUJVXMDgtH/IT8ACgvGfoVLXCciPIpKJhwYZXq9nOGBgVxV7/h7aIGkrOryfm2ChvIei3MQANyjiq1QfckaXHpg+iHa4J6kduZoTR5Pe+E0VFpf8q63kYBaJTshOVVMm3TQ==\n"
-                         "aaa.                 172800  IN      NS      ns1.dns.nic.aaa.\n"
-                         "aaa.                 172800  IN      NS      ns2.dns.nic.aaa.\n"
-                         "aaa.                 172800  IN      NS      ns3.dns.nic.aaa.\n"
-                         "aaa.                 172800  IN      NS      ns4.dns.nic.aaa.\n"
-                         "aaa.                 172800  IN      NS      ns5.dns.nic.aaa.\n"
-                         "aaa.                 172800  IN      NS      ns6.dns.nic.aaa.\n"
-                         "aaa.                 86400   IN      DS      1657 8 1 0B0D56361CE62118537E07A680E9582F5F5FA129\n"
-                         "aaa.                 86400   IN      DS      1657 8 2 9D6BAE62219231C99FAA479716B6E4619330CE8206670AEA6C1673A055DC3AF2\n"
-                         "aaa.                 86400   IN      RRSIG   DS 8 1 86400 20210822050000 20210809040000 26838 . mZKBrX0gtfNXQ0VhUDcfmat7isb4YqGe110YF6VEdGcQZbcEjb+fsPBSriiHcBMcncOc57f+H0HDERe6Y0XlW8ZvLOPfH1AzOMHcc21Qgt0Zow4Dt06YAzX0ONw4FJUPyoHy2PPJhgldv6vywzHe9FzrAEoc/XB64tZjvNIp87HVP+YRhLi+3EFkWlnwhDJa/xvVGpPppyO+AX5Nh3VdWJ0awt72BwgZOyiqDgtfEjv3w1RGBa86I4hQ8QYR6PM9ghAPLhE/nMYnktzufTgnLpNhqhvWEvBDZlzXnRr51ZhRq2RZ/z6cdgnPITZM7aJCJfMZagRhLXujCWVrH9MFbw==\n"
-                         "aaa.                 86400   IN      NSEC    aarp. NS DS RRSIG NSEC\n"
-                         "aaa.                 86400   IN      RRSIG   NSEC 8 1 86400 20210822050000 20210809040000 26838 . iII7liwvc+VAAQRPVzeSl1kDRbYe3euoIyoVKdeHctNiXBef3TUkEQPytwkOSPmsrsIImQXiUo5RQWEjZdFCa4o1UJTeiDIrzYCu4sDdgtiSHkgsTdS6z9OmWCuyj1fLRaLBblRfZsGa+ObIU/IwhC+jm38SuCTPR3wwaizo934ck082zaUdmhioEXHq/wAum/Za9rNp8gJpL1GUib7U8BupwchWDcn6+VG5CnKN0N/R52K2PfEJ8JdXC8mM2Q0xJYN3aptPLqJzIqfstK874Hcsdw3Z5cG2LXTQZsnvqCg74tCwS6JgeYRPu/P7+yMoH349Ib/7WFGmM3iYW7M87w==\n"
+const std::string zone = ".    86400   IN      SOA     a.root-servers.net. nstld.verisign-grs.com. 2021080900 1800 900 604800 86400\n"
+                         ".    518400  IN      NS      a.root-servers.net.\n"
+                         ".    518400  IN      NS      b.root-servers.net.\n"
+                         ".    518400  IN      NS      c.root-servers.net.\n"
+                         ".    518400  IN      NS      d.root-servers.net.\n"
+                         ".    518400  IN      NS      e.root-servers.net.\n"
+                         ".    518400  IN      NS      f.root-servers.net.\n"
+                         ".    518400  IN      NS      g.root-servers.net.\n"
+                         ".    518400  IN      NS      h.root-servers.net.\n"
+                         ".    518400  IN      NS      i.root-servers.net.\n"
+                         ".    518400  IN      NS      j.root-servers.net.\n"
+                         ".    518400  IN      NS      k.root-servers.net.\n"
+                         ".    518400  IN      NS      l.root-servers.net.\n"
+                         ".    518400  IN      NS      m.root-servers.net.\n"
+                         ".    172800  IN      DNSKEY  256 3 8 AwEAAbDEyqdwu2fqAwinPCFwALUCWfYYaLrNhnOrMxDorLBYMipEE1btlK1XnigTRMeb0YQ8/LCopb3CN73hYDhCHFsNk+GtukBB+gWLcg+2FZXbhLXIheQm8x2VfOHy2yYQG+18wjx3HY9Mj/ZEhXbZNrDMvpFKKVihWXa0/cHNg4ZcIHD9KkMlKzK+my1K/vz8fq5cFCFOu7wgM+kKbOikdcRBm7Uf/wRXZItFg2uhUijUb56gEN8uCUgmuEw6wQ5ZBuR7UT/FLyyAUeAH87oxF4im2DXK6J+JA7IAs2UHJ16uTqvdserUU8NIosislaXIZCvz+NTDb3SJcxs6bvCikeU= ;{id = 26838 (zsk), size = 2048b}\n"
+                         ".    172800  IN      DNSKEY  257 3 8 AwEAAaz/tAm8yTn4Mfeh5eyI96WSVexTBAvkMgJzkKTOiW1vkIbzxeF3+/4RgWOq7HrxRixHlFlExOLAJr5emLvN7SWXgnLh4+B5xQlNVz8Og8kvArMtNROxVQuCaSnIDdD5LKyWbRd2n9WGe2R8PzgCmr3EgVLrjyBxWezF0jLHwVN8efS3rCj/EWgvIWgb9tarpVUDK/b58Da+sqqls3eNbuv7pr+eoZG+SrDK6nWeL3c6H5Apxz7LjVc1uTIdsIXxuOLYA4/ilBmSVIzuDWfdRUfhHdY6+cn8HFRm+2hM8AnXGXws9555KrUB5qihylGa8subX2Nn6UwNR1AkUTV74bU= ;{id = 20326 (ksk), size = 2048b}\n"
+                         ".    86400   IN      NSEC    aaa. NS SOA RRSIG NSEC DNSKEY \n"
+                         "aaa. 172800  IN      NS      ns1.dns.nic.aaa.\n"
+                         "aaa. 172800  IN      NS      ns2.dns.nic.aaa.\n"
+                         "aaa. 172800  IN      NS      ns3.dns.nic.aaa.\n"
+                         "aaa. 172800  IN      NS      ns4.dns.nic.aaa.\n"
+                         "aaa. 172800  IN      NS      ns5.dns.nic.aaa.\n"
+                         "aaa. 172800  IN      NS      ns6.dns.nic.aaa.\n"
+                         "aaa. 86400   IN      DS      1657 8 1 0b0d56361ce62118537e07a680e9582f5f5fa129\n"
+                         "aaa. 86400   IN      DS      1657 8 2 9d6bae62219231c99faa479716b6e4619330ce8206670aea6c1673a055dc3af2\n"
+                         "aaa. 86400   IN      NSEC    aarp. NS DS RRSIG NSEC \n"
                          "ns1.dns.nic.aaa.     172800  IN      A       156.154.144.2\n"
-                         "ns1.dns.nic.aaa.     172800  IN      AAAA    2610:a1:1071:0:0:0:0:2\n"
+                         "ns1.dns.nic.aaa.     172800  IN      AAAA    2610:a1:1071::2\n"
                          "ns2.dns.nic.aaa.     172800  IN      A       156.154.145.2\n"
-                         "ns2.dns.nic.aaa.     172800  IN      AAAA    2610:a1:1072:0:0:0:0:2\n"
+                         "ns2.dns.nic.aaa.     172800  IN      AAAA    2610:a1:1072::2\n"
                          "ns3.dns.nic.aaa.     172800  IN      A       156.154.159.2\n"
-                         "ns3.dns.nic.aaa.     172800  IN      AAAA    2610:a1:1073:0:0:0:0:2\n"
+                         "ns3.dns.nic.aaa.     172800  IN      AAAA    2610:a1:1073::2\n"
                          "ns4.dns.nic.aaa.     172800  IN      A       156.154.156.2\n"
-                         "ns4.dns.nic.aaa.     172800  IN      AAAA    2610:a1:1074:0:0:0:0:2\n"
+                         "ns4.dns.nic.aaa.     172800  IN      AAAA    2610:a1:1074::2\n"
                          "ns5.dns.nic.aaa.     172800  IN      A       156.154.157.2\n"
-                         "ns5.dns.nic.aaa.     172800  IN      AAAA    2610:a1:1075:0:0:0:0:2\n"
+                         "ns5.dns.nic.aaa.     172800  IN      AAAA    2610:a1:1075::2\n"
                          "ns6.dns.nic.aaa.     172800  IN      A       156.154.158.2\n"
-                         "ns6.dns.nic.aaa.     172800  IN      AAAA    2610:a1:1076:0:0:0:0:2\n";
+                         "ns6.dns.nic.aaa.     172800  IN      AAAA    2610:a1:1076::2\n";
 
-BOOST_AUTO_TEST_CASE(test_zonetocache)
-{
-  //g_slog = Logging::Logger::create(loggerBackend);
+const std::string goodZONEMD = ".      86400   IN      ZONEMD  2021080900 1 1 dad404980c735405fc2172a5e4f00a6914e0e9937bc7085875b5eda3b3a14b088845c67efd179f7d19d7cd054f9f1e6f\n";
+const std::string badZONEMD = ".       86400   IN      ZONEMD  2021080900 1 1 0ad404980c735405fc2172a5e4f00a6914e0e9937bc7085875b5eda3b3a14b088845c67efd179f7d19d7cd054f9f1e6f\n";
+
+const std::string zoneWithBadZONEMD = zone + badZONEMD;
+const std::string zoneWithGoodZONEMD = zone + goodZONEMD;
 
+static void zonemdTest(const std::string& lines, pdns::ZoneMD::Config mode, pdns::ZoneMD::Config dnssec, size_t expectedCacheSize)
+{
   char temp[] = "/tmp/ztcXXXXXXXXXX";
   int fd = mkstemp(temp);
   BOOST_REQUIRE(fd > 0);
   FILE* fp = fdopen(fd, "w");
   BOOST_REQUIRE(fp != nullptr);
-  size_t written = fwrite(zone.data(), 1, zone.length(), fp);
-  BOOST_REQUIRE(written == zone.length());
+  size_t written = fwrite(lines.data(), 1, lines.length(), fp);
+  BOOST_REQUIRE(written == lines.length());
   BOOST_REQUIRE(fclose(fp) == 0);
 
   RecZoneToCache::Config config{".", "file", {temp}, ComboAddress(), TSIGTriplet()};
   RecZoneToCache::State state;
   config.d_refreshPeriod = 0;
   config.d_retryOnError = 0;
+  config.d_zonemd = mode;
+  config.d_dnssec = dnssec;
 
   // Start with a new, empty cache
   g_recCache = std::make_unique<MemRecursorCache>();
   BOOST_CHECK_EQUAL(g_recCache->size(), 0U);
   RecZoneToCache::ZoneToCache(config, state);
   unlink(temp);
-  BOOST_CHECK_EQUAL(g_recCache->size(), 17U);
 
-  std::vector<DNSRecord> retrieved;
-  time_t now = time(nullptr);
-  ComboAddress who;
-  BOOST_CHECK_GT(g_recCache->get(now, DNSName("."), QType::SOA, true, &retrieved, who), 0);
-  // not auth
-  BOOST_CHECK_LT(g_recCache->get(now, DNSName("aaa."), QType::NS, true, &retrieved, who), 0);
-  // auth
-  BOOST_CHECK_GT(g_recCache->get(now, DNSName("aaa."), QType::NS, false, &retrieved, who), 0);
+  BOOST_CHECK_EQUAL(g_recCache->size(), expectedCacheSize);
+
+  if (expectedCacheSize > 0) {
+    std::vector<DNSRecord> retrieved;
+    time_t now = time(nullptr);
+    ComboAddress who;
+    BOOST_CHECK_GT(g_recCache->get(now, DNSName("."), QType::SOA, true, &retrieved, who), 0);
+    // not auth
+    BOOST_CHECK_LT(g_recCache->get(now, DNSName("aaa."), QType::NS, true, &retrieved, who), 0);
+    // auth
+    BOOST_CHECK_GT(g_recCache->get(now, DNSName("aaa."), QType::NS, false, &retrieved, who), 0);
+  }
 }
 
+BOOST_AUTO_TEST_CASE(test_zonetocache)
+{
+  zonemdTest(zone, pdns::ZoneMD::Config::Ignore, pdns::ZoneMD::Config::Ignore, 17U);
+  zonemdTest(zone, pdns::ZoneMD::Config::Validate, pdns::ZoneMD::Config::Ignore, 17U);
+  zonemdTest(zone, pdns::ZoneMD::Config::Require, pdns::ZoneMD::Config::Ignore, 0U);
+  zonemdTest(zone, pdns::ZoneMD::Config::Ignore, pdns::ZoneMD::Config::Validate, 0U);
+
+  zonemdTest(zoneWithGoodZONEMD, pdns::ZoneMD::Config::Ignore, pdns::ZoneMD::Config::Ignore, 18U);
+  zonemdTest(zoneWithGoodZONEMD, pdns::ZoneMD::Config::Validate, pdns::ZoneMD::Config::Ignore, 18U);
+  zonemdTest(zoneWithGoodZONEMD, pdns::ZoneMD::Config::Require, pdns::ZoneMD::Config::Ignore, 18U);
+  zonemdTest(zoneWithGoodZONEMD, pdns::ZoneMD::Config::Require, pdns::ZoneMD::Config::Validate, 0U);
+
+  zonemdTest(zoneWithBadZONEMD, pdns::ZoneMD::Config::Ignore, pdns::ZoneMD::Config::Ignore, 18U);
+  zonemdTest(zoneWithBadZONEMD, pdns::ZoneMD::Config::Validate, pdns::ZoneMD::Config::Ignore, 0U);
+  zonemdTest(zoneWithBadZONEMD, pdns::ZoneMD::Config::Require, pdns::ZoneMD::Config::Ignore, 0U);
+  zonemdTest(zoneWithBadZONEMD, pdns::ZoneMD::Config::Ignore, pdns::ZoneMD::Config::Require, 0U);
+}
 BOOST_AUTO_TEST_SUITE_END()
index 7aad46f0a09ab4b973e7c0140ad6e28209e1cf5b..8f717a0b1f3fb7a093b0e6eb618359c5248c274a 100644 (file)
@@ -39,8 +39,8 @@ public:
   enum class Config : uint8_t
   {
     Ignore,
-    Process,
-    Required
+    Validate,
+    Require
   };
   enum class Result : uint8_t
   {