From: Wouter Wijngaards Date: Fri, 8 Feb 2019 15:05:24 +0000 (+0000) Subject: - Fix #4225: clients seem to erroneously receive no answer with X-Git-Tag: release-1.9.1rc1~22 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=cae8361dcd2809c8e266d259370c9ab8660c2c0e;p=thirdparty%2Funbound.git - Fix #4225: clients seem to erroneously receive no answer with DNS-over-TLS and qname-minimisation. git-svn-id: file:///svn/unbound/trunk@5108 be551aaa-1e26-0410-a405-d3ace91eadb9 --- diff --git a/doc/Changelog b/doc/Changelog index ca54d2906..4a14c6060 100644 --- a/doc/Changelog +++ b/doc/Changelog @@ -2,6 +2,8 @@ - Fix #4206: OpenSSL 1.0.2 hostname verification for FreeBSD 11.2. - Fix that qname minimisation does not skip a label when missing nameserver targets need to be fetched. + - Fix #4225: clients seem to erroneously receive no answer with + DNS-over-TLS and qname-minimisation. 4 February 2019: Wouter - Fix that log-replies prints the correct name for local-alias diff --git a/services/listen_dnsport.c b/services/listen_dnsport.c index f86a83d96..664072aa4 100644 --- a/services/listen_dnsport.c +++ b/services/listen_dnsport.c @@ -1779,6 +1779,12 @@ tcp_req_info_handle_readdone(struct tcp_req_info* req) /* If mesh failed(mallocfail) and called commpoint_send_reply with * something like servfail then we pick up that reply below. */ if(req->is_reply) { + /* reply from mesh is in the spool_buffer */ + sldns_buffer_clear(c->buffer); + sldns_buffer_write(c->buffer, + sldns_buffer_begin(req->spool_buffer), + sldns_buffer_limit(req->spool_buffer)); + sldns_buffer_flip(c->buffer); goto send_it; }