From: Mukund Sivaraman Date: Tue, 29 Jan 2013 06:34:36 +0000 (+0530) Subject: [2656] Use createNameFromLexer() in CNAME, DNAME and SRV constructors (which accept... X-Git-Tag: bind10-1.0.0-rc-release~58 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=58ccf7aa110fe656c52060cbc7b2cc26b4a9ae9d;p=thirdparty%2Fkea.git [2656] Use createNameFromLexer() in CNAME, DNAME and SRV constructors (which accept a lexer) --- diff --git a/src/lib/dns/rdata/generic/cname_5.cc b/src/lib/dns/rdata/generic/cname_5.cc index b350e5b4bc..ba225f9340 100644 --- a/src/lib/dns/rdata/generic/cname_5.cc +++ b/src/lib/dns/rdata/generic/cname_5.cc @@ -22,8 +22,11 @@ #include #include +#include + using namespace std; using namespace isc::util; +using isc::dns::rdata::generic::detail::createNameFromLexer; // BEGIN_ISC_NAMESPACE // BEGIN_RDATA_NAMESPACE @@ -39,9 +42,9 @@ CNAME::CNAME(InputBuffer& buffer, size_t) : // check consistency. } -CNAME::CNAME(MasterLexer& lexer, const Name*, MasterLoader::Options, - MasterLoaderCallbacks&) : - cname_(lexer.getNextToken(MasterToken::QSTRING).getString()) +CNAME::CNAME(MasterLexer& lexer, const Name* origin, + MasterLoader::Options, MasterLoaderCallbacks&) : + cname_(createNameFromLexer(lexer, origin)) {} CNAME::CNAME(const CNAME& other) : diff --git a/src/lib/dns/rdata/generic/dname_39.cc b/src/lib/dns/rdata/generic/dname_39.cc index f7731a2add..ea77d424c6 100644 --- a/src/lib/dns/rdata/generic/dname_39.cc +++ b/src/lib/dns/rdata/generic/dname_39.cc @@ -22,8 +22,11 @@ #include #include +#include + using namespace std; using namespace isc::util; +using isc::dns::rdata::generic::detail::createNameFromLexer; // BEGIN_ISC_NAMESPACE // BEGIN_RDATA_NAMESPACE @@ -39,9 +42,9 @@ DNAME::DNAME(InputBuffer& buffer, size_t) : // check consistency. } -DNAME::DNAME(MasterLexer& lexer, const Name*, MasterLoader::Options, - MasterLoaderCallbacks&) : - dname_(lexer.getNextToken(MasterToken::QSTRING).getString()) +DNAME::DNAME(MasterLexer& lexer, const Name* origin, + MasterLoader::Options, MasterLoaderCallbacks&) : + dname_(createNameFromLexer(lexer, origin)) {} DNAME::DNAME(const DNAME& other) : diff --git a/src/lib/dns/rdata/in_1/srv_33.cc b/src/lib/dns/rdata/in_1/srv_33.cc index 8d900e62f5..7166e14401 100644 --- a/src/lib/dns/rdata/in_1/srv_33.cc +++ b/src/lib/dns/rdata/in_1/srv_33.cc @@ -25,9 +25,12 @@ #include #include +#include + using namespace std; using namespace isc::util; using namespace isc::util::str; +using isc::dns::rdata::generic::detail::createNameFromLexer; // BEGIN_ISC_NAMESPACE // BEGIN_RDATA_NAMESPACE @@ -120,8 +123,8 @@ SRV::SRV(InputBuffer& buffer, size_t rdata_len) { impl_ = new SRVImpl(priority, weight, port, targetname); } -SRV::SRV(MasterLexer& lexer, const Name*, MasterLoader::Options, - MasterLoaderCallbacks&) +SRV::SRV(MasterLexer& lexer, const Name* origin, + MasterLoader::Options, MasterLoaderCallbacks&) { uint32_t num = lexer.getNextToken(MasterToken::NUMBER).getNumber(); if (num > 65535) { @@ -141,8 +144,7 @@ SRV::SRV(MasterLexer& lexer, const Name*, MasterLoader::Options, } const uint16_t port = static_cast(num); - const Name targetname = - Name(lexer.getNextToken(MasterToken::QSTRING).getString()); + const Name targetname = createNameFromLexer(lexer, origin); impl_ = new SRVImpl(priority, weight, port, targetname); } diff --git a/src/lib/dns/tests/rdata_cname_unittest.cc b/src/lib/dns/tests/rdata_cname_unittest.cc index 6451f72948..eda3aefad9 100644 --- a/src/lib/dns/tests/rdata_cname_unittest.cc +++ b/src/lib/dns/tests/rdata_cname_unittest.cc @@ -90,7 +90,7 @@ TEST_F(Rdata_CNAME_Test, createFromWire) { TEST_F(Rdata_CNAME_Test, createFromLexer) { EXPECT_EQ(0, rdata_cname.compare( *test::createRdataUsingLexer(RRType::CNAME(), RRClass::IN(), - "cn.example.com"))); + "cn.example.com."))); } TEST_F(Rdata_CNAME_Test, toWireBuffer) { diff --git a/src/lib/dns/tests/rdata_dname_unittest.cc b/src/lib/dns/tests/rdata_dname_unittest.cc index c4e517c555..1dc3fecdd8 100644 --- a/src/lib/dns/tests/rdata_dname_unittest.cc +++ b/src/lib/dns/tests/rdata_dname_unittest.cc @@ -92,7 +92,7 @@ TEST_F(Rdata_DNAME_Test, createFromWire) { TEST_F(Rdata_DNAME_Test, createFromLexer) { EXPECT_EQ(0, rdata_dname.compare( *test::createRdataUsingLexer(RRType::DNAME(), RRClass::IN(), - "dn.example.com"))); + "dn.example.com."))); } TEST_F(Rdata_DNAME_Test, toWireBuffer) {