BIND 10 trac2218_2, updated. 5b1952368e65ab130340c46d5e0f3bb72a343993 [2218] Fix NSEC3 RDATA check when salt length is 0
BIND 10 source code commits
bind10-changes at lists.isc.org
Mon Sep 24 05:51:54 UTC 2012
The branch, trac2218_2 has been updated
via 5b1952368e65ab130340c46d5e0f3bb72a343993 (commit)
via c33327c47f10065f09cc32bcd93b1e7f5612e5d8 (commit)
via e7bd7d6ceafd9ba44c953835b6bea33d5f54b32c (commit)
from 55eaa4303d7bc462286b4a6b7f262976f1a346bb (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 5b1952368e65ab130340c46d5e0f3bb72a343993
Author: Mukund Sivaraman <muks at isc.org>
Date: Mon Sep 24 11:21:14 2012 +0530
[2218] Fix NSEC3 RDATA check when salt length is 0
commit c33327c47f10065f09cc32bcd93b1e7f5612e5d8
Author: Mukund Sivaraman <muks at isc.org>
Date: Mon Sep 24 11:11:47 2012 +0530
[2218] Remove obsolete comment
commit e7bd7d6ceafd9ba44c953835b6bea33d5f54b32c
Author: Mukund Sivaraman <muks at isc.org>
Date: Mon Sep 24 11:11:26 2012 +0530
[2218] Rename InMemoryClient::findZone2() to ::findZoneData()
Also make it non-const and non-virtual.
-----------------------------------------------------------------------
Summary of changes:
src/lib/datasrc/memory/memory_client.cc | 9 +++++++--
src/lib/datasrc/memory/memory_client.h | 7 ++++---
.../datasrc/memory/tests/memory_client_unittest.cc | 10 +++++-----
.../datasrc/memory/tests/zone_finder_unittest.cc | 9 +++++++--
4 files changed, 23 insertions(+), 12 deletions(-)
-----------------------------------------------------------------------
diff --git a/src/lib/datasrc/memory/memory_client.cc b/src/lib/datasrc/memory/memory_client.cc
index 3aee0be..3cdb2d6 100644
--- a/src/lib/datasrc/memory/memory_client.cc
+++ b/src/lib/datasrc/memory/memory_client.cc
@@ -317,7 +317,12 @@ public:
if ((nsec3_rdata.getHashalg() != nsec3_data->hashalg) ||
(nsec3_rdata.getIterations() != nsec3_data->iterations) ||
- (salt_data_2.size() != salt_len) ||
+ (salt_data_2.size() != salt_len)) {
+ isc_throw(AddError,
+ "NSEC3 with inconsistent parameters: " <<
+ rrset->toText());
+ }
+ if ((salt_len > 0) &&
(std::memcmp(&salt_data_2[0], salt_data, salt_len) != 0)) {
isc_throw(AddError,
"NSEC3 with inconsistent parameters: " <<
@@ -699,7 +704,7 @@ InMemoryClient::findZone(const isc::dns::Name& zone_name) const {
}
isc::datasrc::memory::ZoneTable::FindResult
-InMemoryClient::findZone2(const isc::dns::Name& zone_name) const {
+InMemoryClient::findZoneData(const isc::dns::Name& zone_name) {
ZoneTable::FindResult result(impl_->zone_table_->findZone(zone_name));
return (result);
}
diff --git a/src/lib/datasrc/memory/memory_client.h b/src/lib/datasrc/memory/memory_client.h
index 34d737b..7b7e36f 100644
--- a/src/lib/datasrc/memory/memory_client.h
+++ b/src/lib/datasrc/memory/memory_client.h
@@ -209,12 +209,13 @@ public:
virtual isc::datasrc::DataSourceClient::FindResult
findZone(const isc::dns::Name& name) const;
- /// Returns a \c ZoneTable result that best matches the given name.
+ /// Returns a \c ZoneData in the result that best matches the given
+ /// name.
///
/// This derived version of the method never throws an exception.
/// For other details see \c DataSourceClient::findZone().
- virtual isc::datasrc::memory::ZoneTable::FindResult
- findZone2(const isc::dns::Name& name) const;
+ isc::datasrc::memory::ZoneTable::FindResult
+ findZoneData(const isc::dns::Name& name);
/// \brief Implementation of the getIterator method
virtual isc::datasrc::ZoneIteratorPtr
diff --git a/src/lib/datasrc/memory/tests/memory_client_unittest.cc b/src/lib/datasrc/memory/tests/memory_client_unittest.cc
index 03c1ba6..41e6b92 100644
--- a/src/lib/datasrc/memory/tests/memory_client_unittest.cc
+++ b/src/lib/datasrc/memory/tests/memory_client_unittest.cc
@@ -248,7 +248,7 @@ TEST_F(MemoryClientTest, loadReloadZone) {
EXPECT_EQ(1, client_->getZoneCount());
isc::datasrc::memory::ZoneTable::FindResult
- result(client_->findZone2(Name("example.org")));
+ result(client_->findZoneData(Name("example.org")));
EXPECT_EQ(result::SUCCESS, result.code);
EXPECT_NE(static_cast<ZoneData*>(NULL),
result.zone_data);
@@ -276,7 +276,7 @@ TEST_F(MemoryClientTest, loadReloadZone) {
EXPECT_EQ(1, client_->getZoneCount());
isc::datasrc::memory::ZoneTable::FindResult
- result2(client_->findZone2(Name("example.org")));
+ result2(client_->findZoneData(Name("example.org")));
EXPECT_EQ(result::SUCCESS, result2.code);
EXPECT_NE(static_cast<ZoneData*>(NULL),
result2.zone_data);
@@ -675,18 +675,18 @@ TEST_F(MemoryClientTest, add) {
EXPECT_EQ(ConstRRsetPtr(), iterator->getNextRRset());
}
-TEST_F(MemoryClientTest, findZone2) {
+TEST_F(MemoryClientTest, findZoneData) {
client_->load(Name("example.org"),
TEST_DATA_DIR "/example.org-rrsigs.zone");
isc::datasrc::memory::ZoneTable::FindResult
- result(client_->findZone2(Name("example.com")));
+ result(client_->findZoneData(Name("example.com")));
EXPECT_EQ(result::NOTFOUND, result.code);
EXPECT_EQ(static_cast<ZoneData*>(NULL),
result.zone_data);
isc::datasrc::memory::ZoneTable::FindResult
- result2(client_->findZone2(Name("example.org")));
+ result2(client_->findZoneData(Name("example.org")));
EXPECT_EQ(result::SUCCESS, result2.code);
EXPECT_NE(static_cast<ZoneData*>(NULL),
result2.zone_data);
diff --git a/src/lib/datasrc/memory/tests/zone_finder_unittest.cc b/src/lib/datasrc/memory/tests/zone_finder_unittest.cc
index 8f27bce..654fda7 100644
--- a/src/lib/datasrc/memory/tests/zone_finder_unittest.cc
+++ b/src/lib/datasrc/memory/tests/zone_finder_unittest.cc
@@ -231,7 +231,6 @@ public:
}
// NSEC3-specific call for 'loading' data
- // This needs to be updated and checked when implementing #2118
void addZoneDataNSEC3(const ConstRRsetPtr rrset) {
assert(rrset->getType() == RRType::NSEC3());
@@ -250,7 +249,13 @@ public:
if ((nsec3_rdata.getHashalg() != nsec3_data->hashalg) ||
(nsec3_rdata.getIterations() != nsec3_data->iterations) ||
- (salt_data_2.size() != salt_len) ||
+ (salt_data_2.size() != salt_len)) {
+ isc_throw(isc::Unexpected,
+ "NSEC3 with inconsistent parameters: " <<
+ rrset->toText());
+ }
+
+ if ((salt_len > 0) &&
(std::memcmp(&salt_data_2[0], salt_data, salt_len) != 0)) {
isc_throw(isc::Unexpected,
"NSEC3 with inconsistent parameters: " <<
More information about the bind10-changes
mailing list