BIND 10 trac2218_2, updated. d0a412aeddad9a64649eb28a3a5ad1003aa97d94 [2218] Work inside the subtree under the origin's node only

BIND 10 source code commits bind10-changes at lists.isc.org
Wed Sep 19 07:32:09 UTC 2012


The branch, trac2218_2 has been updated
       via  d0a412aeddad9a64649eb28a3a5ad1003aa97d94 (commit)
      from  9ec629f3465d8651ceaf5b766fc91598e26f7023 (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 d0a412aeddad9a64649eb28a3a5ad1003aa97d94
Author: Mukund Sivaraman <muks at isc.org>
Date:   Wed Sep 19 12:59:57 2012 +0530

    [2218] Work inside the subtree under the origin's node only

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

Summary of changes:
 src/lib/datasrc/memory/zone_finder.cc |   18 ++++++++++--------
 1 file changed, 10 insertions(+), 8 deletions(-)

-----------------------------------------------------------------------
diff --git a/src/lib/datasrc/memory/zone_finder.cc b/src/lib/datasrc/memory/zone_finder.cc
index 52b4ff6..9221c91 100644
--- a/src/lib/datasrc/memory/zone_finder.cc
+++ b/src/lib/datasrc/memory/zone_finder.cc
@@ -699,19 +699,21 @@ InMemoryZoneFinder::findNSEC3(const isc::dns::Name& name, bool recursive) {
 
             return (FindNSEC3Result(true, labels, closest, next));
         } else {
-            const NameComparisonResult& cmp = chain.getLastComparisonResult();
-            assert(cmp.getOrder() != 0);
+            const NameComparisonResult& last_cmp =
+                chain.getLastComparisonResult();
+            const ZoneNode* last_node = chain.getLastComparedNode();
+            assert(last_cmp.getOrder() != 0);
 
-            // find() finished in between these two:
-            const ZoneNode* previous_node = tree.previousNode(chain);
-            const ZoneNode* next_node = tree.nextNode(chain);
+            // find() finished in between one of these and last_node:
+            const ZoneNode* previous_node = last_node->predecessor();
+            const ZoneNode* next_node = last_node->successor();
 
             // If the given hash is larger than the largest stored hash or
             // the first label doesn't match the target, identify the "previous"
             // hash value and remember it as the candidate next closer proof.
-            if (((cmp.getOrder() < 0) && (previous_node == NULL)) ||
-                ((cmp.getOrder() > 0) && (next_node == NULL))) {
-                covering_node = tree.getLargestNode();
+            if (((last_cmp.getOrder() < 0) && (previous_node == NULL)) ||
+                ((last_cmp.getOrder() > 0) && (next_node == NULL))) {
+                covering_node = last_node->getLargestInSubTree();
             } else {
                 // Otherwise, H(found_entry-1) < given_hash < H(found_entry).
                 // The covering proof is the first one (and it's valid



More information about the bind10-changes mailing list