diff options
author | Garming Sam <garming@catalyst.net.nz> | 2016-02-17 11:30:21 +1300 |
---|---|---|
committer | Garming Sam <garming@samba.org> | 2016-05-03 08:10:09 +0200 |
commit | 5caebde11d1a25581e5f8d7c7f7deadfeae7759e (patch) | |
tree | 6f872bfed07db21e49b16b8f0a5eb1443484c71b /source4/dns_server/dns_server.c | |
parent | 870b74d73eb6812d2002e4d88a2553d6edd545c4 (diff) | |
download | samba-5caebde11d1a25581e5f8d7c7f7deadfeae7759e.tar.gz |
dns: modify dns forwarder param to be multi-valued
This allows a secondary DNS forwarder for a trivial failover. Requests
which fail/timeout at the primary DNS forwarder will be restarted
entirely with the next forwarder in the list.
Signed-off-by: Garming Sam <garming@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Diffstat (limited to 'source4/dns_server/dns_server.c')
-rw-r--r-- | source4/dns_server/dns_server.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/source4/dns_server/dns_server.c b/source4/dns_server/dns_server.c index a2dc15195bf..ae7ec7aad6f 100644 --- a/source4/dns_server/dns_server.c +++ b/source4/dns_server/dns_server.c @@ -123,7 +123,7 @@ static struct tevent_req *dns_process_send(TALLOC_CTX *mem_ctx, struct dns_process_state *state; enum ndr_err_code ndr_err; WERROR ret; - const char *forwarder = lpcfg_dns_forwarder(dns->task->lp_ctx); + const char **forwarder = lpcfg_dns_forwarder(dns->task->lp_ctx); req = tevent_req_create(mem_ctx, &state, struct dns_process_state); if (req == NULL) { return NULL; @@ -169,8 +169,8 @@ static struct tevent_req *dns_process_send(TALLOC_CTX *mem_ctx, state->state.flags = state->in_packet.operation; state->state.flags |= DNS_FLAG_REPLY; - - if (forwarder && *forwarder) { + + if (forwarder && *forwarder && **forwarder) { state->state.flags |= DNS_FLAG_RECURSION_AVAIL; } |