Annotation of embedaddon/dnsmasq/contrib/try-all-ns/dnsmasq-2.78xx-try-all-ns.patch, revision 1.1
1.1 ! misho 1: diff --git a/src/forward.c b/src/forward.c
! 2: index e3fa94b..ecf3b98 100644
! 3: --- a/src/forward.c
! 4: +++ b/src/forward.c
! 5: @@ -789,9 +789,12 @@ void reply_query(int fd, int family, time_t now)
! 6:
! 7: /* Note: if we send extra options in the EDNS0 header, we can't recreate
! 8: the query from the reply. */
! 9: - if (RCODE(header) == REFUSED &&
! 10: - forward->forwardall == 0 &&
! 11: - !(forward->flags & FREC_HAS_EXTRADATA))
! 12: + if ((RCODE(header) == REFUSED &&
! 13: + forward->forwardall == 0 &&
! 14: + !(forward->flags & FREC_HAS_EXTRADATA)) ||
! 15: + /* If strict-order is set, try next server on NXDOMAIN reply */
! 16: + (RCODE(header) == NXDOMAIN && option_bool(OPT_ORDER) &&
! 17: + server->next != NULL))
! 18: /* for broken servers, attempt to send to another one. */
! 19: {
! 20: unsigned char *pheader;
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>