]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[1578] made sure RESULT_NSEC3_SIGNED is set for NSEC3-signed zone in wildcard
authorJINMEI Tatuya <jinmei@isc.org>
Wed, 1 Feb 2012 04:09:56 +0000 (20:09 -0800)
committerJINMEI Tatuya <jinmei@isc.org>
Wed, 1 Feb 2012 04:09:56 +0000 (20:09 -0800)
case.

src/lib/datasrc/memory_datasrc.cc
src/lib/datasrc/tests/memory_datasrc_unittest.cc

index 5ed25126f11c1e892ac5166191e96ac7af8920c7..a082b47ab9e9256008758da71b3ce46e0ed16b9c 100644 (file)
@@ -635,7 +635,8 @@ struct InMemoryZoneFinder::InMemoryZoneFinderImpl {
         if (wild) {
             flags = flags | RESULT_WILDCARD;
         }
-        if ((code == NXRRSET || code == NXDOMAIN) && zone_data_->nsec3_data_) {
+        if ((code == NXRRSET || code == NXDOMAIN || wild) &&
+            zone_data_->nsec3_data_) {
             flags = flags | RESULT_NSEC3_SIGNED;
         }
         return (FindResult(code, rrset, flags));
index ba9e9f1b9c986b3b61323199faeb105293c819a3..92602c7a382edb9dc068ca74329aca89120b3468 100644 (file)
@@ -956,7 +956,8 @@ InMemoryZoneFinderTest::wildcardTest(
     {
         SCOPED_TRACE("Search at created child");
         findTest(Name("a.wild.example.org"), RRType::A(), ZoneFinder::SUCCESS,
-                 false, rr_wild_, ZoneFinder::RESULT_WILDCARD, NULL,
+                 false, rr_wild_,
+                 ZoneFinder::RESULT_WILDCARD | expected_flags, NULL,
                  ZoneFinder::FIND_DEFAULT, true);
         // Wildcard match, but no data
         findTest(Name("a.wild.example.org"), RRType::AAAA(),
@@ -969,8 +970,8 @@ InMemoryZoneFinderTest::wildcardTest(
         SCOPED_TRACE("Matching CNAME");
         findTest(Name("a.cnamewild.example.org"), RRType::A(),
                  ZoneFinder::CNAME, false, rr_cnamewild_,
-                 ZoneFinder::RESULT_WILDCARD, NULL, ZoneFinder::FIND_DEFAULT,
-                 true);
+                 ZoneFinder::RESULT_WILDCARD | expected_flags, NULL,
+                 ZoneFinder::FIND_DEFAULT, true);
     }
 
     // Search another created name, this time little bit lower
@@ -978,7 +979,7 @@ InMemoryZoneFinderTest::wildcardTest(
         SCOPED_TRACE("Search at created grand-child");
         findTest(Name("a.b.wild.example.org"), RRType::A(),
                  ZoneFinder::SUCCESS, false, rr_wild_,
-                 ZoneFinder::RESULT_WILDCARD, NULL,
+                 ZoneFinder::RESULT_WILDCARD | expected_flags, NULL,
                  ZoneFinder::FIND_DEFAULT, true);
     }
 
@@ -1189,7 +1190,8 @@ InMemoryZoneFinderTest::doCancelWildcardTest(
             SCOPED_TRACE(string("Node ") + *name);
 
             findTest(Name(*name), RRType::A(), ZoneFinder::SUCCESS, false,
-                     rr_wild_, ZoneFinder::RESULT_WILDCARD, NULL,
+                     rr_wild_,
+                     ZoneFinder::RESULT_WILDCARD | expected_flags, NULL,
                      ZoneFinder::FIND_DEFAULT, true);
         }
     }