]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[2108] NSEC3/NSEC3PARAM RRs with multiple RDATA should throw
authorMukund Sivaraman <muks@isc.org>
Fri, 7 Sep 2012 05:21:28 +0000 (10:51 +0530)
committerMukund Sivaraman <muks@isc.org>
Fri, 7 Sep 2012 05:21:28 +0000 (10:51 +0530)
src/lib/datasrc/memory/tests/memory_client_unittest.cc
src/lib/datasrc/memory/tests/testdata/Makefile.am
src/lib/datasrc/memory/tests/testdata/example.org-multiple-nsec3.zone [new file with mode: 0644]
src/lib/datasrc/memory/tests/testdata/example.org-multiple-nsec3param.zone [new file with mode: 0644]

index 1e5b7dc8d6bb412bee5d628cf1bc7a76c19fc20d..dd18ff2017a15b2937cd4376234db187ed793c6a 100644 (file)
@@ -263,6 +263,24 @@ TEST_F(MemoryClientTest, loadMultipleDNAME) {
     // Teardown checks for memory segment leaks
 }
 
+TEST_F(MemoryClientTest, loadMultipleNSEC3) {
+    // Multiple NSEC3 RRs should throw.
+    EXPECT_THROW(client_->load(Name("example.org"),
+                               TEST_DATA_DIR
+                               "/example.org-multiple-nsec3.zone"),
+                 InMemoryClient::AddError);
+    // Teardown checks for memory segment leaks
+}
+
+TEST_F(MemoryClientTest, loadMultipleNSEC3PARAM) {
+    // Multiple NSEC3PARAM RRs should throw.
+    EXPECT_THROW(client_->load(Name("example.org"),
+                               TEST_DATA_DIR
+                               "/example.org-multiple-nsec3param.zone"),
+                 InMemoryClient::AddError);
+    // Teardown checks for memory segment leaks
+}
+
 TEST_F(MemoryClientTest, loadRRSIGFollowsNothing) {
     EXPECT_THROW(client_->load(Name("example.org"),
                                TEST_DATA_DIR
index b13f094bf08b80e4f0b963b405b9adaa6a9cdcb5..d52397261b6daf09ca161d8caac7474cad9a4648 100644 (file)
@@ -13,5 +13,7 @@ EXTRA_DIST += example.org-duplicate-type.zone
 EXTRA_DIST += example.org-duplicate-type-bad.zone
 EXTRA_DIST += example.org-multiple-cname.zone
 EXTRA_DIST += example.org-multiple-dname.zone
+EXTRA_DIST += example.org-multiple-nsec3.zone
+EXTRA_DIST += example.org-multiple-nsec3param.zone
 EXTRA_DIST += example.org-nsec3-signed.zone
 EXTRA_DIST += example.org-nsec3-signed-no-param.zone
diff --git a/src/lib/datasrc/memory/tests/testdata/example.org-multiple-nsec3.zone b/src/lib/datasrc/memory/tests/testdata/example.org-multiple-nsec3.zone
new file mode 100644 (file)
index 0000000..874023a
--- /dev/null
@@ -0,0 +1,3 @@
+example.org.                                 86400 IN SOA      ns.example.org. ns.example.org. 2012090702 7200 3600 2592000 1200
+09GM5T42SMIMT7R8DF6RTG80SFMS1NLU.example.org. 1200 IN NSEC3    1 0 10 AABBCCDD RKOF8QMFRB5F2V9EJHFBVB2JPVSA0DJD A RRSIG
+09GM5T42SMIMT7R8DF6RTG80SFMS1NLU.example.org. 1200 IN NSEC3    1 0 10 AABBCCDD 09GM5T42SMIMT7R8DF6RTG80SFMS1NLU NS SOA RRSIG DNSKEY NSEC3PARAM
diff --git a/src/lib/datasrc/memory/tests/testdata/example.org-multiple-nsec3param.zone b/src/lib/datasrc/memory/tests/testdata/example.org-multiple-nsec3param.zone
new file mode 100644 (file)
index 0000000..5e69518
--- /dev/null
@@ -0,0 +1,3 @@
+example.org.                                 86400 IN SOA      ns.example.org. ns.example.org. 2012090700 7200 3600 2592000 1200
+example.org.                                 0 IN NSEC3PARAM   1 0 10 AABBCCDD
+example.org.                                 0 IN NSEC3PARAM   1 0 10 AABBCCDD