From: Wouter Wijngaards Date: Thu, 27 Sep 2018 08:19:29 +0000 (+0000) Subject: - Fix #4188: IPv6 forwarders without ipv6 result in SERVFAIL, fixes X-Git-Tag: release-1.8.1rc1~2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=9be04e6fac3f4ee8fa08d3671dac41d2156d2ced;p=thirdparty%2Funbound.git - 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 --- diff --git a/doc/Changelog b/doc/Changelog index 717cd3384..b4a16f38b 100644 --- a/doc/Changelog +++ b/doc/Changelog @@ -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 - Perform TLS SNI indication of the host that is being contacted for DNS over TLS service. It sets the configured tls auth name. diff --git a/iterator/iterator.c b/iterator/iterator.c index 7baf92b75..2f26bd334 100644 --- a/iterator/iterator.c +++ b/iterator/iterator.c @@ -2174,7 +2174,8 @@ processQueryTargets(struct module_qstate* qstate, struct iter_qstate* iq, 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 * qinfo_out is already a subdomain of dp. This happens when * 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, &qstate->reply->addr, qstate->reply->addrlen, 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) != LDNS_RCODE_NOERROR) { if(qstate->env->cfg->qname_minimisation_strict)