From: Rahul Thakur <rahul.tha...@iopsys.eu> The handling of truncated reponse is broken in 2.90. The answers are removed before forwarding in case TC bit is set, which seems incorrect as per rfc 5625. A combined reading of section 4.4.1 of rfc 5625 section 6.1.3.2 of rfc 1123 suggests when dnsmasq explicitly deletes the answers in a truncated response, then it deprives clients that do not fallback to TCP and are happy with the truncated UDP response to be able to resolve the queries. In light of this, it sounds like a better strategy is to forward the truncated UDP response as is to the client, and let the client decide what action it wants to take.
Signed-off-by: Rahul Thakur <rahul.tha...@iopsys.eu> --- src/forward.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/forward.c b/src/forward.c index 10e7496..1ede913 100644 --- a/src/forward.c +++ b/src/forward.c @@ -785,9 +785,6 @@ static size_t process_reply(struct dns_header *header, time_t now, struct server if (header->hb3 & HB3_TC) { log_query(F_UPSTREAM, NULL, NULL, "truncated", 0); - header->ancount = htons(0); - header->nscount = htons(0); - header->arcount = htons(0); } if (!(header->hb3 & HB3_TC) && (!bogusanswer || (header->hb4 & HB4_CD))) -- 2.25.1 _______________________________________________ Dnsmasq-discuss mailing list Dnsmasq-discuss@lists.thekelleys.org.uk https://lists.thekelleys.org.uk/cgi-bin/mailman/listinfo/dnsmasq-discuss