summaryrefslogtreecommitdiffstats
path: root/contrib/try-all-ns/dnsmasq-2.47_no_nxdomain_until_end.patch
blob: 758600386d10448515331451f65e83aa155a8366 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
diff -ur dnsmasq-2.47/src/forward.c dnsmasq-2.47-patched/src/forward.c
--- dnsmasq-2.47/src/forward.c	2009-02-01 17:59:48.000000000 +0200
+++ dnsmasq-2.47-patched/src/forward.c	2009-03-18 19:10:22.000000000 +0200
@@ -488,9 +488,12 @@
     return;
    
   server = forward->sentto;
+
+  if ( (header->rcode == NXDOMAIN) && ((daemon->options & OPT_ORDER) != 0) && (server->next != NULL) )
+    header->rcode = SERVFAIL;
   
   if ((header->rcode == SERVFAIL || header->rcode == REFUSED) &&
-      !(daemon->options & OPT_ORDER) &&
+      ((daemon->options & OPT_ORDER) != 0) &&
       forward->forwardall == 0)
     /* for broken servers, attempt to send to another one. */
     {