BIND 10 trac505, updated. 0b1f8cb6dfa5481cb67e43ee8c2f24fac97ec95d [trac505] Some more comments

BIND 10 source code commits bind10-changes at lists.isc.org
Wed Feb 9 14:56:37 UTC 2011


The branch, trac505 has been updated
       via  0b1f8cb6dfa5481cb67e43ee8c2f24fac97ec95d (commit)
       via  0c760d178eecf3162e848074e3fe631d690cc77a (commit)
       via  c393ec92641b6699822ebacd1c3f4c68496f3316 (commit)
       via  e7251d0c587ee8a794e590fdcdd4fa07f6a19c1c (commit)
      from  f167a263da41987a76b76e8b71acb9620a0c89c5 (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 0b1f8cb6dfa5481cb67e43ee8c2f24fac97ec95d
Author: Michal 'vorner' Vaner <michal.vaner at nic.cz>
Date:   Wed Feb 9 15:56:24 2011 +0100

    [trac505] Some more comments

commit 0c760d178eecf3162e848074e3fe631d690cc77a
Author: Michal 'vorner' Vaner <michal.vaner at nic.cz>
Date:   Wed Feb 9 15:52:33 2011 +0100

    [trac505] No need for two different DNAMEs in test
    
    We overflow the size of name by prolonging a name of full length by
    little bit.

commit c393ec92641b6699822ebacd1c3f4c68496f3316
Author: Michal 'vorner' Vaner <michal.vaner at nic.cz>
Date:   Wed Feb 9 15:43:00 2011 +0100

    [trac505] Recover comment removed by mistake

commit e7251d0c587ee8a794e590fdcdd4fa07f6a19c1c
Author: Michal 'vorner' Vaner <michal.vaner at nic.cz>
Date:   Wed Feb 9 15:39:56 2011 +0100

    [trac505] Split long line

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

Summary of changes:
 src/bin/auth/query.cc                |    4 +-
 src/bin/auth/tests/query_unittest.cc |   43 +++++++++++++--------------------
 2 files changed, 19 insertions(+), 28 deletions(-)

-----------------------------------------------------------------------
diff --git a/src/bin/auth/query.cc b/src/bin/auth/query.cc
index 6b8e492..a5d15d9 100644
--- a/src/bin/auth/query.cc
+++ b/src/bin/auth/query.cc
@@ -177,8 +177,8 @@ Query::process() const {
                     break;
                 }
                 /*
-                 * In case the synthetized name is too long, section 4.1 of RFC 2672
-                 * mandates we return YXDOMAIN.
+                 * In case the synthetized name is too long, section 4.1 of RFC
+                 * 2672 mandates we return YXDOMAIN.
                  */
                 catch (const isc::dns::TooLongName&) {
                     response_.setRcode(Rcode::YXDOMAIN());
diff --git a/src/bin/auth/tests/query_unittest.cc b/src/bin/auth/tests/query_unittest.cc
index 1c1869e..d391d5d 100644
--- a/src/bin/auth/tests/query_unittest.cc
+++ b/src/bin/auth/tests/query_unittest.cc
@@ -75,20 +75,17 @@ const char* const cname_nxdom_txt =
 // CNAME Leading out of zone
 const char* const cname_out_txt =
     "cnameout.example.com. 3600 IN CNAME www.example.org.\n";
+// The DNAME to do tests against
 const char* const dname_txt =
-    "dname.example.com. 3600 IN DNAME dnametarget.example.com.\n";
+    "dname.example.com. 3600 IN DNAME "
+    "somethinglong.dnametarget.example.com.\n";
+// Some data at the dname node (allowed by RFC 2672)
 const char* const dname_a_txt =
     "dname.example.com. 3600 IN A 192.0.2.5\n";
-const char* const dname_long_txt =
-    "longdname.example.com. 3600 IN DNAME "
-    "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa."
-    "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa."
-    "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa."
-    "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa."
-    "example.com.\n";
 // This is not inside the zone, this is created at runtime
 const char* const synthetized_cname_txt =
-    "www.dname.example.com. 3600 IN CNAME www.dnametarget.example.com.\n";
+    "www.dname.example.com. 3600 IN CNAME "
+    "www.somethinglong.dnametarget.example.com.\n";
 // The rest of data won't be referenced from the test cases.
 const char* const other_zone_rrs =
     "cnamemailer.example.com. 3600 IN CNAME www.example.com.\n"
@@ -110,7 +107,6 @@ public:
         origin_(Name("example.com")),
         delegation_name_("delegation.example.com"),
         dname_name_("dname.example.com"),
-        longdname_name_("longdname.example.com"),
         has_SOA_(true),
         has_apex_NS_(true),
         rrclass_(RRClass::IN())
@@ -119,7 +115,7 @@ public:
         zone_stream << soa_txt << zone_ns_txt << ns_addrs_txt <<
             delegation_txt << mx_txt << www_a_txt << cname_txt <<
             cname_nxdom_txt << cname_out_txt << dname_txt << dname_a_txt <<
-            dname_long_txt << other_zone_rrs;
+            other_zone_rrs;
 
         masterLoad(zone_stream, origin_, rrclass_,
                    boost::bind(&MockZone::loadRRset, this, _1));
@@ -152,22 +148,16 @@ private:
             rrset->getType() == RRType::DNAME())
         {
             dname_rrset_ = rrset;
-        } else if (rrset->getName() == longdname_name_ &&
-            rrset->getType() == RRType::DNAME())
-        {
-            longdname_rrset_ = rrset;
         }
     }
 
     const Name origin_;
     const Name delegation_name_;
     const Name dname_name_;
-    const Name longdname_name_;
     bool has_SOA_;
     bool has_apex_NS_;
     ConstRRsetPtr delegation_rrset_;
     ConstRRsetPtr dname_rrset_;
-    ConstRRsetPtr longdname_rrset_;
     const RRClass rrclass_;
 };
 
@@ -194,10 +184,6 @@ MockZone::find(const Name& name, const RRType& type,
         NameComparisonResult::SUBDOMAIN)
     {
         return (FindResult(DNAME, dname_rrset_));
-    } else if (name.compare(longdname_name_).getRelation() ==
-        NameComparisonResult::SUBDOMAIN)
-    {
-        return (FindResult(DNAME, longdname_rrset_));
     }
 
     // normal cases.  names are searched for only per exact-match basis
@@ -377,7 +363,7 @@ TEST_F(QueryTest, nodomainANY) {
                   NULL, soa_txt, NULL, mock_zone->getOrigin());
 }
 
-
+// This tests that when we need to look up Zone's apex NS records for
 // authoritative answer, and there is no apex NS records. It should
 // throw in that case.
 TEST_F(QueryTest, noApexNS) {
@@ -635,13 +621,18 @@ TEST_F(QueryTest, DNAME_NX_RRSET) {
  * YXDOMAIN.
  */
 TEST_F(QueryTest, LongDNAME) {
-    EXPECT_NO_THROW(Query(memory_datasrc,
-        Name("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa."
-        "somethingveryveryverylong.longdname.example.com"), RRType::A(),
+    // A name that is as long as it can be
+    Name longname(
+        "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa."
+        "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa."
+        "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa."
+        "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa."
+        "dname.example.com.");
+    EXPECT_NO_THROW(Query(memory_datasrc, longname, RRType::A(),
         response).process());
 
     responseCheck(response, Rcode::YXDOMAIN(), AA_FLAG, 1, 0, 0,
-        dname_long_txt, NULL, NULL);
+        dname_txt, NULL, NULL);
 }
 
 }




More information about the bind10-changes mailing list