From: Wouter Wijngaards Date: Thu, 5 Apr 2018 09:58:59 +0000 (+0000) Subject: Fixup. X-Git-Tag: release-1.7.1rc1~59 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=100cc496de983616b95904325f461db6cfda1d45;p=thirdparty%2Funbound.git Fixup. git-svn-id: file:///svn/unbound/trunk@4605 be551aaa-1e26-0410-a405-d3ace91eadb9 --- diff --git a/iterator/iterator.c b/iterator/iterator.c index 7c5fa952c..0d70b6eff 100644 --- a/iterator/iterator.c +++ b/iterator/iterator.c @@ -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;