Annotation of embedaddon/dnsmasq/contrib/try-all-ns/dnsmasq-2.68-try-all-ns, revision 1.1
1.1 ! misho 1: From: Jesse Glick <jglick@cloudbees.com>
! 2: To: dnsmasq-discuss@lists.thekelleys.org.uk
! 3: Subject: Re: [Dnsmasq-discuss] Ability to delegate to one server but fall
! 4: back to another after NXDOMAIN?
! 5:
! 6:
! 7: On Wed, Jan 15, 2014 at 12:30 PM, Simon Kelley <simon@thekelleys.org.uk> wrote:
! 8: > > There's a (very old) patch in contrib/try-all-ns that would make a starting point
! 9: This does not apply against trunk, so I tried to rework it. The
! 10: following appears to do what I expect:
! 11:
! 12: diff --git a/src/forward.c b/src/forward.c
! 13: index 8167229..76070b5 100644
! 14: --- a/src/forward.c
! 15: +++ b/src/forward.c
! 16: @@ -610,7 +610,11 @@ void reply_query(int fd, int family, time_t now)
! 17:
! 18: if ((RCODE(header) == SERVFAIL || RCODE(header) == REFUSED) &&
! 19: !option_bool(OPT_ORDER) &&
! 20: - forward->forwardall == 0)
! 21: + forward->forwardall == 0 ||
! 22: + /* try each in turn */
! 23: + RCODE(header) == NXDOMAIN &&
! 24: + option_bool(OPT_ORDER) &&
! 25: + server->next != NULL)
! 26: /* for broken servers, attempt to send to another one. */
! 27: {
! 28: unsigned char *pheader;
! 29:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>