Commit a21e27bc authored by Simon Kelley's avatar Simon Kelley

Support DHCP DNS server option if we're not doing DNS.

parent b0ff858e
...@@ -26,6 +26,10 @@ version 2.66 ...@@ -26,6 +26,10 @@ version 2.66
on other platforms. Many thanks to Tomas Hozza for on other platforms. Many thanks to Tomas Hozza for
spotting the problem, and doing invaluable discovery of spotting the problem, and doing invaluable discovery of
the obscure and undocumented API required for the solution. the obscure and undocumented API required for the solution.
Don't send the default DHCP option advertising dnsmasq as
the local DNS server if dnsmasq is configured to not act
as DNS server, or it's configured to a non-standard port.
version 2.65 version 2.65
......
...@@ -2234,7 +2234,8 @@ static void do_options(struct dhcp_context *context, ...@@ -2234,7 +2234,8 @@ static void do_options(struct dhcp_context *context,
!option_find2(OPTION_ROUTER)) !option_find2(OPTION_ROUTER))
option_put(mess, end, OPTION_ROUTER, INADDRSZ, ntohl(context->router.s_addr)); option_put(mess, end, OPTION_ROUTER, INADDRSZ, ntohl(context->router.s_addr));
if (in_list(req_options, OPTION_DNSSERVER) && if (daemon->port == NAMESERVER_PORT &&
in_list(req_options, OPTION_DNSSERVER) &&
!option_find2(OPTION_DNSSERVER)) !option_find2(OPTION_DNSSERVER))
option_put(mess, end, OPTION_DNSSERVER, INADDRSZ, ntohl(context->local.s_addr)); option_put(mess, end, OPTION_DNSSERVER, INADDRSZ, ntohl(context->local.s_addr));
} }
......
...@@ -1265,7 +1265,7 @@ static int dhcp6_no_relay(int msg_type, struct in6_addr *link_address, struct dh ...@@ -1265,7 +1265,7 @@ static int dhcp6_no_relay(int msg_type, struct in6_addr *link_address, struct dh
end_opt6(o); end_opt6(o);
} }
if (!done_dns && if (daemon->port == NAMESERVER_PORT && !done_dns &&
(!IN6_IS_ADDR_UNSPECIFIED(&context->local6) || (!IN6_IS_ADDR_UNSPECIFIED(&context->local6) ||
!IN6_IS_ADDR_UNSPECIFIED(fallback))) !IN6_IS_ADDR_UNSPECIFIED(fallback)))
{ {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment