]> git.ipfire.org Git - thirdparty/unbound.git/commitdiff
Fixup.
authorWouter Wijngaards <wouter@nlnetlabs.nl>
Thu, 5 Apr 2018 09:58:59 +0000 (09:58 +0000)
committerWouter Wijngaards <wouter@nlnetlabs.nl>
Thu, 5 Apr 2018 09:58:59 +0000 (09:58 +0000)
git-svn-id: file:///svn/unbound/trunk@4605 be551aaa-1e26-0410-a405-d3ace91eadb9

iterator/iterator.c

index 7c5fa952c692b6396804ed8edc9e45daf767a759..0d70b6effc4b2dd992abcd1cb6ba991e8414cd19 100644 (file)
@@ -1416,6 +1416,12 @@ processInitRequest(struct module_qstate* qstate, struct iter_qstate* iq,
                 */
                if(iter_dp_is_useless(&qstate->qinfo, qstate->query_flags, 
                        iq->dp)) {
+                       if(!can_have_last_resort(qstate->env, iq->dp->name, iq->dp->namelen, iq->qchase.qclass)) {
+                               verbose(VERB_ALGO, "useless dp "
+                                       "but cannot go up, servfail");
+                               return error_response(qstate, id, 
+                                       LDNS_RCODE_SERVFAIL);
+                       }
                        if(dname_is_root(iq->dp->name)) {
                                /* use safety belt */
                                verbose(VERB_QUERY, "Cache has root NS but "
@@ -1440,12 +1446,6 @@ processInitRequest(struct module_qstate* qstate, struct iter_qstate* iq,
                                verbose(VERB_ALGO, 
                                        "cache delegation was useless:");
                                delegpt_log(VERB_ALGO, iq->dp);
-                               if(!can_have_last_resort(qstate->env, delname, delnamelen, iq->qchase.qclass)) {
-                                       verbose(VERB_ALGO, "useless dp "
-                                               "but cannot go up, servfail");
-                                       return error_response(qstate, id, 
-                                               LDNS_RCODE_SERVFAIL);
-                               }
                                /* go up */
                                delname = iq->dp->name;
                                delnamelen = iq->dp->namelen;