diff --git a/contrib/try-all-ns/README-2.78 b/contrib/try-all-ns/README-2.78 new file mode 100644 index 0000000..3dfd200 --- /dev/null +++ b/contrib/try-all-ns/README-2.78 @@ -0,0 +1,10 @@ +Hi, +I updated the try-all-ns patch to work with the latest version of git. Ended up implementing it on top of master, 2.78test2-7-g63437ff. As that specific if-clause has been changed in the last few commits, it's not compatible for 2.77, sadly. + +Find the patch attached. + +Regards, + +Rasmus Ahlberg +Software Developer, R&D +Electrolux Small Appliances diff --git a/contrib/try-all-ns/dnsmasq-2.78xx-try-all-ns.patch b/contrib/try-all-ns/dnsmasq-2.78xx-try-all-ns.patch new file mode 100644 index 0000000..700439e --- /dev/null +++ b/contrib/try-all-ns/dnsmasq-2.78xx-try-all-ns.patch @@ -0,0 +1,20 @@ +diff --git a/src/forward.c b/src/forward.c +index e3fa94b..ecf3b98 100644 +--- a/src/forward.c ++++ b/src/forward.c +@@ -789,9 +789,12 @@ void reply_query(int fd, int family, time_t now) + + /* Note: if we send extra options in the EDNS0 header, we can't recreate + the query from the reply. */ +- if (RCODE(header) == REFUSED && +- forward->forwardall == 0 && +- !(forward->flags & FREC_HAS_EXTRADATA)) ++ if ((RCODE(header) == REFUSED && ++ forward->forwardall == 0 && ++ !(forward->flags & FREC_HAS_EXTRADATA)) || ++ /* If strict-order is set, try next server on NXDOMAIN reply */ ++ (RCODE(header) == NXDOMAIN && option_bool(OPT_ORDER) && ++ server->next != NULL)) + /* for broken servers, attempt to send to another one. */ + { + unsigned char *pheader;