From: Mukund Sivaraman Date: Wed, 26 Sep 2012 11:55:42 +0000 (+0530) Subject: [2218] Test that 0 length NSEC3 hash salts are compared correctly X-Git-Tag: trac2351_base~37^2~1^2~3^2~15 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=736bcacc37bde8182160fbf5b4c8191a1846373e;p=thirdparty%2Fkea.git [2218] Test that 0 length NSEC3 hash salts are compared correctly --- diff --git a/src/lib/datasrc/memory/tests/memory_client_unittest.cc b/src/lib/datasrc/memory/tests/memory_client_unittest.cc index a27ca73221..3c14cdccf2 100644 --- a/src/lib/datasrc/memory/tests/memory_client_unittest.cc +++ b/src/lib/datasrc/memory/tests/memory_client_unittest.cc @@ -241,6 +241,20 @@ TEST_F(MemoryClientTest, loadNSEC3Signed) { EXPECT_TRUE(result.zone_data->isNSEC3Signed()); } +TEST_F(MemoryClientTest, loadNSEC3EmptySalt) { + // Load NSEC3 with empty ("-") salt. This should not throw or crash + // or anything. + client_->load(Name("example.org"), + TEST_DATA_DIR "/example.org-nsec3-empty-salt.zone"); + isc::datasrc::memory::ZoneTable::FindResult + result(client_->findZoneData(Name("example.org"))); + EXPECT_EQ(result::SUCCESS, result.code); + ASSERT_NE(static_cast(NULL), + result.zone_data); + EXPECT_TRUE(result.zone_data->isSigned()); + EXPECT_TRUE(result.zone_data->isNSEC3Signed()); +} + TEST_F(MemoryClientTest, loadNSEC3SignedNoParam) { client_->load(Name("example.org"), TEST_DATA_DIR "/example.org-nsec3-signed-no-param.zone"); diff --git a/src/lib/datasrc/memory/tests/testdata/Makefile.am b/src/lib/datasrc/memory/tests/testdata/Makefile.am index 9fb99866a3..00c7bd8620 100644 --- a/src/lib/datasrc/memory/tests/testdata/Makefile.am +++ b/src/lib/datasrc/memory/tests/testdata/Makefile.am @@ -19,6 +19,7 @@ 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-multiple.zone +EXTRA_DIST += example.org-nsec3-empty-salt.zone EXTRA_DIST += example.org-nsec3-fewer-labels.zone example.org-nsec3-more-labels.zone EXTRA_DIST += example.org-nsec3-signed-no-param.zone EXTRA_DIST += example.org-nsec3-signed.zone diff --git a/src/lib/datasrc/memory/tests/testdata/example.org-nsec3-empty-salt.zone b/src/lib/datasrc/memory/tests/testdata/example.org-nsec3-empty-salt.zone new file mode 100644 index 0000000000..6c20ee9722 --- /dev/null +++ b/src/lib/datasrc/memory/tests/testdata/example.org-nsec3-empty-salt.zone @@ -0,0 +1,14 @@ +example.org. 86400 IN SOA ns.example.org. ns.example.org. 2012092602 7200 3600 2592000 1200 +example.org. 86400 IN RRSIG SOA 7 2 86400 20120301040838 20120131040838 19562 example.org. Jt9wCRLS5TQxZH0IBqrM9uMGD453rIoxYopfM9AjjRZfEx+HGlBpOZeR pGN7yLcN+URnicOD0ydLHiakaBODiZyNoYCKYG5d2ZOhL+026REnDKNM 0m5T3X3sczP+l55An/GITheTdrKt3Y1Ouc2yKI8ro8JjOxV/a4nGDWjK x9A= +example.org. 86400 IN NS ns.example.org. +example.org. 86400 IN RRSIG NS 7 2 86400 20120301040838 20120131040838 19562 example.org. gYXL3xK4IFdJU6TtiVuzqDBb2MeA8xB3AKtHlJGFTfTRNHyuej0ZGovx TeUYsLYmoiGYaJG66iD1tYYFq0qdj0xWq+LEa53ACtKvYf9IIwK4ijJs k0g6xCNavc6/qPppymDhN7MvoFVkW59uJa0HPWlsIIuRlEAr7xyt85vq yoA= +example.org. 86400 IN DNSKEY 256 3 7 AwEAAbrBkKf2gmGtG4aogZY4svIZCrOLLZlQzVHwz7WxJdTR8iEnvz/x Q/jReDroS5CBZWvzwLlhPIpsJAojx0oj0RvfJNsz3+6LN8q7x9u6+86B 85CYjTk3dcFOebgkF4fXr7/kkOX+ZY94Zk0Z1+pUC3eY4gkKcyME/Uxm O18PBTeB +example.org. 86400 IN RRSIG DNSKEY 7 2 86400 20120301040838 20120131040838 19562 example.org. d0eLF8JqNHaGuBSX0ashU5c1O/wyWU43UUsKGrMQIoBDiJ588MWQOnas rwvW6vdkLNqRqCsP/B4epV/EtLL0tBsk5SHkTYbNo80gGrBufQ6YrWRr Ile8Z+h+MR4y9DybbjmuNKqaO4uQMg/X6+4HqRAKx1lmZMTcrcVeOwDM ZA4= +example.org. 0 IN NSEC3PARAM 1 0 10 - +example.org. 0 IN RRSIG NSEC3PARAM 7 2 0 20120301040838 20120131040838 19562 example.org. Ggs5MiQDlXXt22Fz9DNg3Ujc0T6MBfumlRkd8/enBbJwLmqw2QXAzDEk pjUeGstCEHKzxJDJstavGoCpTDJgoV4Fd9szooMx69rzPrq9tdoM46jG xZHqw+Pv2fkRGC6aP7ZX1r3Qnpwpk47AQgATftbO4G6KcMcO8JoKE47x XLM= +ns.example.org. 86400 IN A 192.0.2.1 +ns.example.org. 86400 IN RRSIG A 7 3 86400 20120301040838 20120131040838 19562 example.org. dOH+Dxib8VcGnjLrKILsqDhS1wki6BWk1dZwpOGUGHyLWcLNW8ygWY2o r29jPhHtaFCNWpn46JebgnXDPRiQjaY3dQqL8rcf2QX1e3+Cicw1OSrs S0sUDE5DmMNEac+ZCUQ0quCStZTCldl05hlspV2RS92TpApnoOK0nXMp Uak= +09GM5T42SMIMT7R8DF6RTG80SFMS1NLU.example.org. 1200 IN NSEC3 1 0 10 - RKOF8QMFRB5F2V9EJHFBVB2JPVSA0DJD A RRSIG +09GM5T42SMIMT7R8DF6RTG80SFMS1NLU.example.org. 1200 IN RRSIG NSEC3 7 3 1200 20120301040838 20120131040838 19562 example.org. EdwMeepLf//lV+KpCAN+213Scv1rrZyj4i2OwoCP4XxxS3CWGSuvYuKO yfZc8wKRcrD/4YG6nZVXE0s5O8NahjBJmDIyVt4WkfZ6QthxGg8ggLVv cD3dFksPyiKHf/WrTOZPSsxvN5m/i1Ey6+YWS01Gf3WDCMWDauC7Nmh3 CTM= +RKOF8QMFRB5F2V9EJHFBVB2JPVSA0DJD.example.org. 1200 IN NSEC3 1 0 10 - 09GM5T42SMIMT7R8DF6RTG80SFMS1NLU NS SOA RRSIG DNSKEY NSEC3PARAM +RKOF8QMFRB5F2V9EJHFBVB2JPVSA0DJD.example.org. 1200 IN RRSIG NSEC3 7 3 1200 20120301040838 20120131040838 19562 example.org. j7d8GL4YqX035FBcPPsEcSWHjWcKdlQMHLL4TB67xVNFnl4SEFQCp4OO AtPap5tkKakwgWxoQVN9XjnqrBz+oQhofDkB3aTatAjIIkcwcnrm3AYQ rTI3E03ySiRwuCPKVmHOLUV2cG6O4xzcmP+MYZcvPTS8V3F5LlaU22i7 A3E=