Browse Source

cleaned up nsec3 code a bit

git-svn-id: svn://bind10.isc.org/svn/bind10/trunk@1183 e5f2f494-b856-4b98-b285-d166d9295462
Evan Hunt 15 years ago
parent
commit
e9d6bcdabd
1 changed files with 9 additions and 11 deletions
  1. 9 11
      src/lib/auth/data_source.cc

+ 9 - 11
src/lib/auth/data_source.cc

@@ -347,18 +347,13 @@ proveNX(Query& q, QueryTaskPtr task, const DataSrc* ds, const Name& zonename)
     DataSrc::Result result;
     ConstNsec3ParamPtr nsec3 = getNsec3Param(q, ds, zonename);
     if (nsec3 != NULL) {
-        string node = nsec3->getHash(task->qname);
-        string apex = nsec3->getHash(zonename);
-        string wild("");
-        if ((task->flags & DataSrc::NAME_NOT_FOUND) != 0) {
-            wild = nsec3->getHash(Name("*").concatenate(zonename));
-        }
-
+        string node(nsec3->getHash(task->qname));
         result = addNSEC3(node, q, ds, zonename);
         if (result != DataSrc::SUCCESS) {
             return (result);
         }
 
+        string apex(nsec3->getHash(zonename));
         if (node != apex) {
             result = addNSEC3(apex, q, ds, zonename);
             if (result != DataSrc::SUCCESS) {
@@ -366,10 +361,13 @@ proveNX(Query& q, QueryTaskPtr task, const DataSrc* ds, const Name& zonename)
             }
         }
 
-        if (wild.length() != 0 && node != wild) {
-            result = addNSEC3(wild, q, ds, zonename);
-            if (result != DataSrc::SUCCESS) {
-                return (result);
+        if ((task->flags & DataSrc::NAME_NOT_FOUND) != 0) {
+            string wild(nsec3->getHash(Name("*").concatenate(zonename)));
+            if (node != wild) {
+                result = addNSEC3(wild, q, ds, zonename);
+                if (result != DataSrc::SUCCESS) {
+                    return (result);
+                }
             }
         }
     } else {