BIND 10 trac551, updated. c95b25359f139a816f114378872bc08ab7e6aef2 [trac551] Handle grand-children wildcards

BIND 10 source code commits bind10-changes at lists.isc.org
Thu Feb 10 11:25:13 UTC 2011


The branch, trac551 has been updated
       via  c95b25359f139a816f114378872bc08ab7e6aef2 (commit)
      from  91a8eaa5b51c15b6d8f6cad3d75597678eeb03f1 (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 c95b25359f139a816f114378872bc08ab7e6aef2
Author: Michal 'vorner' Vaner <michal.vaner at nic.cz>
Date:   Thu Feb 10 12:21:36 2011 +0100

    [trac551] Handle grand-children wildcards

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

Summary of changes:
 src/lib/datasrc/memory_datasrc.cc |   29 ++++++++++++++---------------
 1 files changed, 14 insertions(+), 15 deletions(-)

-----------------------------------------------------------------------
diff --git a/src/lib/datasrc/memory_datasrc.cc b/src/lib/datasrc/memory_datasrc.cc
index 33bcf43..82c623f 100644
--- a/src/lib/datasrc/memory_datasrc.cc
+++ b/src/lib/datasrc/memory_datasrc.cc
@@ -392,21 +392,20 @@ struct MemoryZone::MemoryZoneImpl {
                  * No redirection anywhere. Let's try if it is a wildcard.
                  */
                 if (node->getFlag(DOMAINFLAG_WILD)) {
-                    Name wildcard(Name("*").concatenate(name.split(1)));
-                    switch (domains_.find(wildcard, &node))
-                    {
-                        case DomainTree::EXACTMATCH:
-                            // This is the node we want.
-                            break;
-                        default:
-                            // This wildcard is not here. It means we want
-                            // something like a.b.wildcard.example.org
-                            // and have only *.wildcard.example.org and
-                            // we don't want that.
-                            return (FindResult(NXDOMAIN, ConstRRsetPtr()));
-                    }
-                    // If we got here, we have the wildcard node. Jump to
-                    // EXACTMATCH
+                    Name wildcard(Name("*").concatenate(
+                        node_path.getAbsoluteName()));
+                    DomainTree::Result result(domains_.find(wildcard, &node));
+                    /*
+                     * Otherwise, why would the DOMAINFLAG_WILD be there if
+                     * there was no wildcard under it?
+                     */
+                    assert(result = DomainTree::EXACTMATCH);
+                    /*
+                     * We have the wildcard node now. Jump below the switch,
+                     * where handling of the common (exact-match) case is.
+                     *
+                     * TODO: Some synthesis of RRsets for the wildcard node.
+                     */
                     break;
                 }
 




More information about the bind10-changes mailing list