Browse Source

[2108] NSEC3/NSEC3PARAM RRs with multiple RDATA should throw

Mukund Sivaraman 12 years ago
parent
commit
caf572ed47

+ 18 - 0
src/lib/datasrc/memory/tests/memory_client_unittest.cc

@@ -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

+ 2 - 0
src/lib/datasrc/memory/tests/testdata/Makefile.am

@@ -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

+ 3 - 0
src/lib/datasrc/memory/tests/testdata/example.org-multiple-nsec3.zone

@@ -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

+ 3 - 0
src/lib/datasrc/memory/tests/testdata/example.org-multiple-nsec3param.zone

@@ -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