BIND 10 trac2512, updated. a6a6cb2e33f807593e6d457bfc822a9c31ef211e [2512] Use CharStringData when constructing from parameters too
BIND 10 source code commits
bind10-changes at lists.isc.org
Tue Feb 11 08:06:27 UTC 2014
The branch, trac2512 has been updated
via a6a6cb2e33f807593e6d457bfc822a9c31ef211e (commit)
from 3c09cb5da05b2439201dc01b351f5003f1dd8557 (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 a6a6cb2e33f807593e6d457bfc822a9c31ef211e
Author: Mukund Sivaraman <muks at isc.org>
Date: Tue Feb 11 13:35:59 2014 +0530
[2512] Use CharStringData when constructing from parameters too
This supports handling escapes and such when coming from the
presentation format.
-----------------------------------------------------------------------
Summary of changes:
src/lib/dns/rdata/generic/caa_257.cc | 7 +++++--
src/lib/dns/tests/rdata_caa_unittest.cc | 6 ++++++
2 files changed, 11 insertions(+), 2 deletions(-)
-----------------------------------------------------------------------
diff --git a/src/lib/dns/rdata/generic/caa_257.cc b/src/lib/dns/rdata/generic/caa_257.cc
index a031ab1..9e6fa9b 100644
--- a/src/lib/dns/rdata/generic/caa_257.cc
+++ b/src/lib/dns/rdata/generic/caa_257.cc
@@ -195,9 +195,12 @@ CAA::CAA(uint8_t flags, const std::string& tag, const std::string& value) :
"CAA tag field is too large: " << tag.size());
}
+ MasterToken::StringRegion region;
+ region.beg = &value[0]; // note std ensures this works even if str is empty
+ region.len = value.size();
+
detail::CharStringData value_vec;
- value_vec.reserve(value.size());
- value_vec.insert(value_vec.end(), value.begin(), value.end());
+ detail::stringToCharStringData(region, value_vec);
impl_ = new CAAImpl(flags, tag, value_vec);
}
diff --git a/src/lib/dns/tests/rdata_caa_unittest.cc b/src/lib/dns/tests/rdata_caa_unittest.cc
index 05d177e..a2a9f9e 100644
--- a/src/lib/dns/tests/rdata_caa_unittest.cc
+++ b/src/lib/dns/tests/rdata_caa_unittest.cc
@@ -207,6 +207,12 @@ TEST_F(Rdata_CAA_Test, createFromParams) {
const generic::CAA rdata_caa2(0, "issue", "ca.example.net");
EXPECT_EQ(0, rdata_caa2.compare(rdata_caa));
+ const generic::CAA rdata_caa4(0, "issue", "ca.e\\xample.net");
+ EXPECT_EQ(0, rdata_caa4.compare(rdata_caa));
+
+ const generic::CAA rdata_caa5(0, "issue", "ca.e\\120ample.net");
+ EXPECT_EQ(0, rdata_caa5.compare(rdata_caa));
+
// Tag is empty
EXPECT_THROW(const generic::CAA rdata_caa3(0, "", "ca.example.net"),
isc::InvalidParameter);
More information about the bind10-changes
mailing list