- Fix #4188: IPv6 forwarders without ipv6 result in SERVFAIL, fixes

qname minimisation with a forwarder when connectivity has issues
  from rejecting responses.


git-svn-id: file:///svn/unbound/trunk@4916 be551aaa-1e26-0410-a405-d3ace91eadb9
This commit is contained in:
Wouter Wijngaards 2018-09-27 08:19:29 +00:00
parent 377d5b426a
commit 9be04e6fac
2 changed files with 9 additions and 2 deletions

View file

@ -1,3 +1,8 @@
27 September 2018: Wouter
- Fix #4188: IPv6 forwarders without ipv6 result in SERVFAIL, fixes
qname minimisation with a forwarder when connectivity has issues
from rejecting responses.
25 September 2018: Wouter 25 September 2018: Wouter
- Perform TLS SNI indication of the host that is being contacted - Perform TLS SNI indication of the host that is being contacted
for DNS over TLS service. It sets the configured tls auth name. for DNS over TLS service. It sets the configured tls auth name.

View file

@ -2174,7 +2174,8 @@ processQueryTargets(struct module_qstate* qstate, struct iter_qstate* iq,
return 0; return 0;
} }
if(iq->minimisation_state == INIT_MINIMISE_STATE) { if(iq->minimisation_state == INIT_MINIMISE_STATE
&& !(iq->chase_flags & BIT_RD)) {
/* (Re)set qinfo_out to (new) delegation point, except when /* (Re)set qinfo_out to (new) delegation point, except when
* qinfo_out is already a subdomain of dp. This happens when * qinfo_out is already a subdomain of dp. This happens when
* increasing by more than one label at once (QNAMEs with more * increasing by more than one label at once (QNAMEs with more
@ -2715,7 +2716,8 @@ processQueryResponse(struct module_qstate* qstate, struct iter_qstate* iq,
sock_list_insert(&qstate->reply_origin, sock_list_insert(&qstate->reply_origin,
&qstate->reply->addr, qstate->reply->addrlen, &qstate->reply->addr, qstate->reply->addrlen,
qstate->region); qstate->region);
if(iq->minimisation_state != DONOT_MINIMISE_STATE) { if(iq->minimisation_state != DONOT_MINIMISE_STATE
&& !(iq->chase_flags & BIT_RD)) {
if(FLAGS_GET_RCODE(iq->response->rep->flags) != if(FLAGS_GET_RCODE(iq->response->rep->flags) !=
LDNS_RCODE_NOERROR) { LDNS_RCODE_NOERROR) {
if(qstate->env->cfg->qname_minimisation_strict) if(qstate->env->cfg->qname_minimisation_strict)