mirror of
https://github.com/NLnetLabs/unbound.git
synced 2025-12-20 23:00:56 -05:00
- Fix #3512: unbound incorrectly reports SERVFAIL for CAA query
when there is a CNAME loop. git-svn-id: file:///svn/unbound/trunk@4544 be551aaa-1e26-0410-a405-d3ace91eadb9
This commit is contained in:
parent
a92e9692c1
commit
b89db70821
2 changed files with 16 additions and 0 deletions
|
|
@ -1,3 +1,7 @@
|
||||||
|
21 February 2018: Wouter
|
||||||
|
- Fix #3512: unbound incorrectly reports SERVFAIL for CAA query
|
||||||
|
when there is a CNAME loop.
|
||||||
|
|
||||||
19 February 2018: Wouter
|
19 February 2018: Wouter
|
||||||
- Fix #3505: Documentation for default local zones references
|
- Fix #3505: Documentation for default local zones references
|
||||||
wrong RFC.
|
wrong RFC.
|
||||||
|
|
|
||||||
|
|
@ -1157,6 +1157,10 @@ processInitRequest(struct module_qstate* qstate, struct iter_qstate* iq,
|
||||||
if(iq->query_restart_count > MAX_RESTART_COUNT) {
|
if(iq->query_restart_count > MAX_RESTART_COUNT) {
|
||||||
verbose(VERB_QUERY, "request has exceeded the maximum number"
|
verbose(VERB_QUERY, "request has exceeded the maximum number"
|
||||||
" of query restarts with %d", iq->query_restart_count);
|
" of query restarts with %d", iq->query_restart_count);
|
||||||
|
if(iq->response) {
|
||||||
|
iq->state = FINISHED_STATE;
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
return error_response(qstate, id, LDNS_RCODE_SERVFAIL);
|
return error_response(qstate, id, LDNS_RCODE_SERVFAIL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1246,6 +1250,10 @@ processInitRequest(struct module_qstate* qstate, struct iter_qstate* iq,
|
||||||
iq->qchase.qname_len = slen;
|
iq->qchase.qname_len = slen;
|
||||||
/* This *is* a query restart, even if it is a cheap
|
/* This *is* a query restart, even if it is a cheap
|
||||||
* one. */
|
* one. */
|
||||||
|
msg->rep->an_numrrsets = 0;
|
||||||
|
msg->rep->ns_numrrsets = 0;
|
||||||
|
msg->rep->ar_numrrsets = 0;
|
||||||
|
msg->rep->rrset_count = 0;
|
||||||
iq->dp = NULL;
|
iq->dp = NULL;
|
||||||
iq->refetch_glue = 0;
|
iq->refetch_glue = 0;
|
||||||
iq->query_restart_count++;
|
iq->query_restart_count++;
|
||||||
|
|
@ -2739,6 +2747,10 @@ processQueryResponse(struct module_qstate* qstate, struct iter_qstate* iq,
|
||||||
if (qstate->env->cfg->qname_minimisation)
|
if (qstate->env->cfg->qname_minimisation)
|
||||||
iq->minimisation_state = INIT_MINIMISE_STATE;
|
iq->minimisation_state = INIT_MINIMISE_STATE;
|
||||||
/* Clear the query state, since this is a query restart. */
|
/* Clear the query state, since this is a query restart. */
|
||||||
|
iq->response->rep->an_numrrsets = 0;
|
||||||
|
iq->response->rep->ns_numrrsets = 0;
|
||||||
|
iq->response->rep->ar_numrrsets = 0;
|
||||||
|
iq->response->rep->rrset_count = 0;
|
||||||
iq->deleg_msg = NULL;
|
iq->deleg_msg = NULL;
|
||||||
iq->dp = NULL;
|
iq->dp = NULL;
|
||||||
iq->dsns_point = NULL;
|
iq->dsns_point = NULL;
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue