]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
2421. [bug] Handle the special return value of a empty node as
authorMark Andrews <marka@isc.org>
Thu, 21 Aug 2008 04:59:16 +0000 (04:59 +0000)
committerMark Andrews <marka@isc.org>
Thu, 21 Aug 2008 04:59:16 +0000 (04:59 +0000)
                        if it was a NXRRSET in the validator. [RT #18447]

CHANGES
lib/dns/validator.c

diff --git a/CHANGES b/CHANGES
index be1e282c19c8b1609af04bb82a82b8bc0df662f3..dc94403121d946d2e9fa2e3b93f6404d34bde8bf 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,6 @@
+2421.  [bug]           Handle the special return value of a empty node as
+                       if it was a NXRRSET in the validator. [RT #18447]
+
 2420.  [func]          Add new command line option '-S' for named to specify
                        the max number of sockets. [RT #18493]
                        Use caution: this option may not work for some
index a32892f3b7d621c278ac06b91d86825615fce80f..7c7aae1f17ec76607692bbb3eaa2326ff6ec23b8 100644 (file)
@@ -15,7 +15,7 @@
  * PERFORMANCE OF THIS SOFTWARE.
  */
 
-/* $Id: validator.c,v 1.91.2.5.8.40 2008/02/19 17:10:55 each Exp $ */
+/* $Id: validator.c,v 1.91.2.5.8.41 2008/08/21 04:59:16 marka Exp $ */
 
 #include <config.h>
 
@@ -974,6 +974,7 @@ view_find(dns_validator_t *val, dns_name_t *name, dns_rdatatype_t type) {
        } else if (result != ISC_R_SUCCESS &&
                   result != DNS_R_NCACHENXDOMAIN &&
                   result != DNS_R_NCACHENXRRSET &&
+                  result != DNS_R_EMPTYNAME &&
                   result != DNS_R_NXRRSET &&
                   result != ISC_R_NOTFOUND) {
                goto  notfound;
@@ -1231,6 +1232,7 @@ get_key(dns_validator_t *val, dns_rdata_rrsig_t *siginfo) {
                return (DNS_R_WAIT);
        } else if (result ==  DNS_R_NCACHENXDOMAIN ||
                   result == DNS_R_NCACHENXRRSET ||
+                  result == DNS_R_EMPTYNAME ||
                   result == DNS_R_NXDOMAIN ||
                   result == DNS_R_NXRRSET)
        {
@@ -1791,8 +1793,9 @@ validatezonekey(dns_validator_t *val) {
                        if (result != ISC_R_SUCCESS)
                                return (result);
                        return (DNS_R_WAIT);
-                } else if (result ==  DNS_R_NCACHENXDOMAIN ||
+               } else if (result ==  DNS_R_NCACHENXDOMAIN ||
                           result == DNS_R_NCACHENXRRSET ||
+                          result == DNS_R_EMPTYNAME ||
                           result == DNS_R_NXDOMAIN ||
                           result == DNS_R_NXRRSET)
                {
@@ -2420,6 +2423,7 @@ finddlvsep(dns_validator_t *val, isc_boolean_t resume) {
                }
                if (result != DNS_R_NXRRSET &&
                    result != DNS_R_NXDOMAIN &&
+                   result != DNS_R_EMPTYNAME &&
                    result != DNS_R_NCACHENXRRSET &&
                    result != DNS_R_NCACHENXDOMAIN)
                        return (result);