BIND 10 trac449, updated. 0ae5d2d73aad78ee24e641870cec1ab06f65e3f6 [trac449] second round of review comments

BIND 10 source code commits bind10-changes at lists.isc.org
Mon Feb 14 09:52:13 UTC 2011


The branch, trac449 has been updated
       via  0ae5d2d73aad78ee24e641870cec1ab06f65e3f6 (commit)
      from  a02e4f3441285f10958b72e2337aa1b6e290fb56 (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 0ae5d2d73aad78ee24e641870cec1ab06f65e3f6
Author: Jelte Jansen <jelte at isc.org>
Date:   Mon Feb 14 10:50:31 2011 +0100

    [trac449] second round of review comments

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

Summary of changes:
 src/lib/cache/message_entry.cc  |    1 +
 src/lib/cache/resolver_cache.cc |   53 ++++++++++++++++++--------------------
 src/lib/cache/rrset_cache.cc    |    2 +
 3 files changed, 28 insertions(+), 28 deletions(-)

-----------------------------------------------------------------------
diff --git a/src/lib/cache/message_entry.cc b/src/lib/cache/message_entry.cc
index 8891eb9..26c8bee 100644
--- a/src/lib/cache/message_entry.cc
+++ b/src/lib/cache/message_entry.cc
@@ -128,6 +128,7 @@ MessageEntry::getRRsetTrustLevel(const Message& message,
                       rrset_iter != message.endSection(section)) {
                     ++rrset_iter;
                 }
+                assert(rrset_iter != message.endSection(section));
                 
                 // According RFC2181 section 5.4.1, only the record
                 // describing that ailas is necessarily authoritative.
diff --git a/src/lib/cache/resolver_cache.cc b/src/lib/cache/resolver_cache.cc
index 2cfd660..67d86d0 100644
--- a/src/lib/cache/resolver_cache.cc
+++ b/src/lib/cache/resolver_cache.cc
@@ -35,7 +35,6 @@ ResolverClassCache::ResolverClassCache(const RRClass& cache_class) :
     messages_cache_ = MessageCachePtr(new MessageCache(rrsets_cache_,
                                       MESSAGE_CACHE_DEFAULT_SIZE,
                                       cache_class_.getCode()));
-    std::cout << "[XX] Created cache for class " << cache_class_ << std::endl;
 }
 
 ResolverClassCache::ResolverClassCache(CacheSizeInfo cache_info) :
@@ -49,7 +48,6 @@ ResolverClassCache::ResolverClassCache(CacheSizeInfo cache_info) :
     messages_cache_ = MessageCachePtr(new MessageCache(rrsets_cache_,
                                       cache_info.message_cache_size,
                                       klass));
-    std::cout << "[XX] Created cache for class " << cache_class_ << std::endl;
 }
 
 const RRClass&
@@ -110,8 +108,8 @@ ResolverClassCache::updateRRsetCache(const isc::dns::ConstRRsetPtr rrset_ptr,
                                 RRsetCachePtr rrset_cache_ptr)
 {
     RRsetTrustLevel level;
-    string typestr = rrset_ptr->getType().toText();
-    if (typestr == "A" || typestr == "AAAA") {
+    if (rrset_ptr->getType() == RRType::A() || 
+        rrset_ptr->getType() == RRType::AAAA()) {
         level = RRSET_TRUST_PRIM_GLUE;
     } else {
         level = RRSET_TRUST_PRIM_ZONE_NONGLUE;
@@ -182,21 +180,19 @@ ResolverCache::lookupClosestRRset(const isc::dns::Name& qname,
                                   const isc::dns::RRClass& qclass) const
 {
     ResolverClassCache* cc = getClassCache(qclass);
-    if (!cc) {
-        return (RRsetPtr());
-    }
-
-    unsigned int count = qname.getLabelCount();
-    unsigned int level = 0;
-    while(level < count) {
-        Name close_name = qname.split(level);
-        RRsetPtr rrset_ptr = cc->lookup(close_name, qtype);
-        if (rrset_ptr) {
-            return (rrset_ptr);
-        } else {
-            ++level;
-        }
-    }
+	if (cc) {
+	    unsigned int count = qname.getLabelCount();
+	    unsigned int level = 0;
+	    while(level < count) {
+	        Name close_name = qname.split(level);
+	        RRsetPtr rrset_ptr = cc->lookup(close_name, qtype);
+	        if (rrset_ptr) {
+	            return (rrset_ptr);
+	        } else {
+	            ++level;
+	        }
+	    }
+	}
 
     return (RRsetPtr());
 }
@@ -206,20 +202,21 @@ ResolverCache::update(const isc::dns::Message& msg) {
     
     QuestionIterator iter = msg.beginQuestion();
     ResolverClassCache* cc = getClassCache((*iter)->getClass());
-    if (!cc) {
-        return (false);
-    }
-
-    return (cc->update(msg));
+    if (cc) {
+		return (cc->update(msg));
+	} else {
+		return (false);
+	}
 }
 
 bool
 ResolverCache::update(const isc::dns::ConstRRsetPtr rrset_ptr) {
     ResolverClassCache* cc = getClassCache(rrset_ptr->getClass());
-    if (!cc) {
-        return (false);
-    }
-    return (cc->update(rrset_ptr));
+    if (cc) {
+		return (cc->update(rrset_ptr));
+	} else {
+		return (false);
+	}
 }
 
 void
diff --git a/src/lib/cache/rrset_cache.cc b/src/lib/cache/rrset_cache.cc
index f0e5b2e..e980bcd 100644
--- a/src/lib/cache/rrset_cache.cc
+++ b/src/lib/cache/rrset_cache.cc
@@ -52,6 +52,8 @@ RRsetCache::lookup(const isc::dns::Name& qname,
 
 RRsetEntryPtr
 RRsetCache::update(const isc::dns::RRset& rrset, const RRsetTrustLevel& level) {
+	// TODO: If the RRset is an NS, we should update the NSAS as well
+	
     // lookup first
     RRsetEntryPtr entry_ptr = lookup(rrset.getName(), rrset.getType());
     if(!entry_ptr) {




More information about the bind10-changes mailing list