From: <abe...@us...> - 2016-01-25 23:22:04
|
Revision: 7483 http://sourceforge.net/p/astlinux/code/7483 Author: abelbeck Date: 2016-01-25 23:22:03 +0000 (Mon, 25 Jan 2016) Log Message: ----------- dnsmasq, fix forward SERVFAIL regression from upstream Ref: http://thekelleys.org.uk/gitweb/?p=dnsmasq.git;a=commit;h=4ace25c5d6c30949be9171ff1c524b2139b989d3 Added Paths: ----------- branches/1.0/package/dnsmasq/dnsmasq-fix-forward-SERVFAIL-regression.patch Added: branches/1.0/package/dnsmasq/dnsmasq-fix-forward-SERVFAIL-regression.patch =================================================================== --- branches/1.0/package/dnsmasq/dnsmasq-fix-forward-SERVFAIL-regression.patch (rev 0) +++ branches/1.0/package/dnsmasq/dnsmasq-fix-forward-SERVFAIL-regression.patch 2016-01-25 23:22:03 UTC (rev 7483) @@ -0,0 +1,36 @@ +From 4ace25c5d6c30949be9171ff1c524b2139b989d3 Mon Sep 17 00:00:00 2001 +From: Chris Novakovic <ch...@ch...> +Date: Mon, 25 Jan 2016 21:54:35 +0000 +Subject: [PATCH] Treat REFUSED (not SERVFAIL) as an unsuccessful upstream + response + +Commit 51967f9807665dae403f1497b827165c5fa1084b began treating SERVFAIL +as a successful response from an upstream server (thus ignoring future +responses to the query from other upstream servers), but a typo in that +commit means that REFUSED responses are accidentally being treated as +successful instead of SERVFAIL responses. + +This commit corrects this typo and provides the behaviour intended by +commit 51967f9: SERVFAIL responses are considered successful (and will +be sent back to the requester), while REFUSED responses are considered +unsuccessful (and dnsmasq will wait for responses from other upstream +servers that haven't responded yet). +--- + src/forward.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/forward.c b/src/forward.c +index 414f988..9b464d3 100644 +--- a/src/forward.c ++++ b/src/forward.c +@@ -810,7 +810,7 @@ void reply_query(int fd, int family, time_t now) + we get a good reply from another server. Kill it when we've + had replies from all to avoid filling the forwarding table when + everything is broken */ +- if (forward->forwardall == 0 || --forward->forwardall == 1 || RCODE(header) != SERVFAIL) ++ if (forward->forwardall == 0 || --forward->forwardall == 1 || RCODE(header) != REFUSED) + { + int check_rebind = 0, no_cache_dnssec = 0, cache_secure = 0, bogusanswer = 0; + +-- +1.7.10.4 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |