BIND 10 trac2656_2, updated. 271e37c6b0befddbf9291577460868f0c67ea428 [2656] Check that origin argument is used for relative names

BIND 10 source code commits bind10-changes at lists.isc.org
Thu Jan 31 00:39:12 UTC 2013


The branch, trac2656_2 has been updated
       via  271e37c6b0befddbf9291577460868f0c67ea428 (commit)
       via  f59c311cfd135589af52c6f8a9afa45c03f84318 (commit)
      from  10833250f2751b41b6d9e9b86be5396ec3b4e062 (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 271e37c6b0befddbf9291577460868f0c67ea428
Author: Mukund Sivaraman <muks at isc.org>
Date:   Thu Jan 31 06:08:59 2013 +0530

    [2656] Check that origin argument is used for relative names

commit f59c311cfd135589af52c6f8a9afa45c03f84318
Author: Mukund Sivaraman <muks at isc.org>
Date:   Thu Jan 31 06:03:04 2013 +0530

    [2656] Include bad data in the exception message

-----------------------------------------------------------------------

Summary of changes:
 src/lib/dns/rdata/in_1/srv_33.cc          |   12 ++++++------
 src/lib/dns/tests/rdata_cname_unittest.cc |    7 +++++++
 src/lib/dns/tests/rdata_dname_unittest.cc |    7 +++++++
 src/lib/dns/tests/rdata_srv_unittest.cc   |    6 ++++++
 4 files changed, 26 insertions(+), 6 deletions(-)

-----------------------------------------------------------------------
diff --git a/src/lib/dns/rdata/in_1/srv_33.cc b/src/lib/dns/rdata/in_1/srv_33.cc
index b7962d3..ac62071 100644
--- a/src/lib/dns/rdata/in_1/srv_33.cc
+++ b/src/lib/dns/rdata/in_1/srv_33.cc
@@ -75,19 +75,19 @@ SRV::SRV(const std::string& srv_str) :
 
         uint32_t num = lexer.getNextToken(MasterToken::NUMBER).getNumber();
         if (num > 65535) {
-            isc_throw(InvalidRdataText, "Invalid SRV priority");
+            isc_throw(InvalidRdataText, "Invalid SRV priority in: " << srv_str);
         }
         const uint16_t priority = static_cast<uint16_t>(num);
 
         num = lexer.getNextToken(MasterToken::NUMBER).getNumber();
         if (num > 65535) {
-            isc_throw(InvalidRdataText, "Invalid SRV weight");
+            isc_throw(InvalidRdataText, "Invalid SRV weight in: " << srv_str);
         }
         const uint16_t weight = static_cast<uint16_t>(num);
 
         num = lexer.getNextToken(MasterToken::NUMBER).getNumber();
         if (num > 65535) {
-            isc_throw(InvalidRdataText, "Invalid SRV port");
+            isc_throw(InvalidRdataText, "Invalid SRV port in: " << srv_str);
         }
         const uint16_t port = static_cast<uint16_t>(num);
 
@@ -158,19 +158,19 @@ SRV::SRV(MasterLexer& lexer, const Name* origin,
 {
     uint32_t num = lexer.getNextToken(MasterToken::NUMBER).getNumber();
     if (num > 65535) {
-        isc_throw(InvalidRdataText, "Invalid SRV priority");
+        isc_throw(InvalidRdataText, "Invalid SRV priority: " << num);
     }
     const uint16_t priority = static_cast<uint16_t>(num);
 
     num = lexer.getNextToken(MasterToken::NUMBER).getNumber();
     if (num > 65535) {
-        isc_throw(InvalidRdataText, "Invalid SRV weight");
+        isc_throw(InvalidRdataText, "Invalid SRV weight: " << num);
     }
     const uint16_t weight = static_cast<uint16_t>(num);
 
     num = lexer.getNextToken(MasterToken::NUMBER).getNumber();
     if (num > 65535) {
-        isc_throw(InvalidRdataText, "Invalid SRV port");
+        isc_throw(InvalidRdataText, "Invalid SRV port: " << num);
     }
     const uint16_t port = static_cast<uint16_t>(num);
 
diff --git a/src/lib/dns/tests/rdata_cname_unittest.cc b/src/lib/dns/tests/rdata_cname_unittest.cc
index 17df1ea..c00cab7 100644
--- a/src/lib/dns/tests/rdata_cname_unittest.cc
+++ b/src/lib/dns/tests/rdata_cname_unittest.cc
@@ -96,6 +96,13 @@ TEST_F(Rdata_CNAME_Test, createFromLexer) {
     EXPECT_EQ(0, rdata_cname.compare(
         *test::createRdataUsingLexer(RRType::CNAME(), RRClass::IN(),
                                      "cn.example.com.")));
+
+    // test::createRdataUsingLexer() constructs relative to
+    // "example.org." origin.
+    EXPECT_EQ(0, generic::CNAME("cname10.example.org.").compare(
+        *test::createRdataUsingLexer(RRType::CNAME(), RRClass::IN(),
+                                     "cname10")));
+
     // Extra text at end of line
     EXPECT_FALSE(test::createRdataUsingLexer(RRType::CNAME(), RRClass::IN(),
                                              "cname.example.com. extra."));
diff --git a/src/lib/dns/tests/rdata_dname_unittest.cc b/src/lib/dns/tests/rdata_dname_unittest.cc
index 3101f75..5b6d9ac 100644
--- a/src/lib/dns/tests/rdata_dname_unittest.cc
+++ b/src/lib/dns/tests/rdata_dname_unittest.cc
@@ -98,6 +98,13 @@ TEST_F(Rdata_DNAME_Test, createFromLexer) {
     EXPECT_EQ(0, rdata_dname.compare(
         *test::createRdataUsingLexer(RRType::DNAME(), RRClass::IN(),
                                      "dn.example.com.")));
+
+    // test::createRdataUsingLexer() constructs relative to
+    // "example.org." origin.
+    EXPECT_EQ(0, generic::DNAME("dname8.example.org.").compare(
+        *test::createRdataUsingLexer(RRType::DNAME(), RRClass::IN(),
+                                     "dname8")));
+
     // Extra text at end of line
     EXPECT_FALSE(test::createRdataUsingLexer(RRType::DNAME(), RRClass::IN(),
                                              "dname.example.com. extra."));
diff --git a/src/lib/dns/tests/rdata_srv_unittest.cc b/src/lib/dns/tests/rdata_srv_unittest.cc
index 36dd653..a3d7721 100644
--- a/src/lib/dns/tests/rdata_srv_unittest.cc
+++ b/src/lib/dns/tests/rdata_srv_unittest.cc
@@ -126,6 +126,12 @@ TEST_F(Rdata_SRV_Test, createFromLexer) {
         *test::createRdataUsingLexer(RRType::SRV(), RRClass::IN(),
                                      "1 5 1500 a.example.com.")));
 
+    // test::createRdataUsingLexer() constructs relative to
+    // "example.org." origin.
+    EXPECT_EQ(0, in::SRV("1 5 1500 server16.example.org.").compare(
+        *test::createRdataUsingLexer(RRType::SRV(), RRClass::IN(),
+                                     "1 5 1500 server16")));
+
     // Exceptions cause NULL to be returned.
 
     // Bad priority



More information about the bind10-changes mailing list