unbound 1.9 respone wrong answer (from cache?) when dig +tcp used.
Wouter Wijngaards
wouter at nlnetlabs.nl
Fri Feb 8 15:58:06 UTC 2019
Hi,
On 08/02/2019 16:35, A. Schulze via Unbound-users wrote:
>
> Am 08.02.19 um 04:36 schrieb Punk[D.M] via Unbound-users:
>> Let’s run `dig @127.0.0.1 <http://127.0.0.1> -p 5300 twitter.com <http://twitter.com> *+tcp*` repeat:
>>
>>
>>
>> The first answer is ok, but left answer all “empty”
This seems to be bug#4225, for which there is a fix in the code
repository. It was just fixed an hour ago. The patch for it is this, I
think:
Index: services/listen_dnsport.c
===================================================================
--- services/listen_dnsport.c (revision 5105)
+++ services/listen_dnsport.c (working copy)
@@ -1779,6 +1779,12 @@
/* 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;
}
Best regards, Wouter
>>
>>
>>
>> dig say “WARNING: recursion requested but not available”,
>>
>> kdig say “WARNING: response QR bit not set”
>>
>>
>>
>> Back to 1.8.3, everthing work fine.
> can't reproduce:
>
> $ dig @::1 version.bind. txt ch +short
> "unbound 1.9.0"
>
> $ for i in 1 2 3 ; do dig @::1 twitter.com +tcp +short; done
> 104.244.42.193
> 104.244.42.65
> 104.244.42.193
> 104.244.42.65
> 104.244.42.65
> 104.244.42.193
>
> any special configuration / compile options?
>
> Andreas
>
More information about the Unbound-users
mailing list