Browse Source

[2387] Add DNSKEY wire test for short keydata for RSA/MD5

Mukund Sivaraman 12 years ago
parent
commit
09ed404f9b

+ 4 - 0
src/lib/dns/tests/rdata_dnskey_unittest.cc

@@ -138,6 +138,10 @@ TEST_F(Rdata_DNSKEY_Test, createFromWire) {
     EXPECT_THROW(rdataFactoryFromFile(RRType("DNSKEY"), RRClass("IN"),
                                       "rdata_dnskey_empty_keydata_fromWire"),
                  InvalidRdataLength);
+    // Short keydata for RSA/MD5 should throw
+    EXPECT_THROW(rdataFactoryFromFile(RRType("DNSKEY"), RRClass("IN"),
+                                      "rdata_dnskey_short_keydata1_fromWire"),
+                 InvalidRdataLength);
 }
 
 TEST_F(Rdata_DNSKEY_Test, getTag) {

+ 1 - 0
src/lib/dns/tests/testdata/Makefile.am

@@ -103,6 +103,7 @@ EXTRA_DIST += rdatafields1.spec rdatafields2.spec rdatafields3.spec
 EXTRA_DIST += rdatafields4.spec rdatafields5.spec rdatafields6.spec
 EXTRA_DIST += rdata_cname_fromWire rdata_dname_fromWire
 EXTRA_DIST += rdata_dnskey_fromWire rdata_dnskey_empty_keydata_fromWire
+EXTRA_DIST += rdata_dnskey_short_keydata1_fromWire
 EXTRA_DIST += rdata_dhcid_fromWire rdata_dhcid_toWire
 EXTRA_DIST += rdata_ds_fromWire rdata_in_a_fromWire rdata_in_aaaa_fromWire
 EXTRA_DIST += rdata_mx_fromWire rdata_mx_toWire1 rdata_mx_toWire2

+ 8 - 0
src/lib/dns/tests/testdata/rdata_dnskey_short_keydata1_fromWire

@@ -0,0 +1,8 @@
+# RDLENGTH = 6 bytes
+ 00 06
+# DNSKEY, flags 257
+ 01 01
+# protocol 3, algorithm 1
+ 03 01
+# keydata (only 2 bytes long for algorithm 1):
+ 04 40