From: Cédric Schieli Date: Mon, 16 Jan 2017 17:23:26 +0000 (+0100) Subject: ndisc: honor IPv6AcceptRA.UseDNS when parsing RA options (#5071) X-Git-Tag: v233~231 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=fe0252e5b8180f7358eb3780cd19722b0f6c998c;p=thirdparty%2Fsystemd.git ndisc: honor IPv6AcceptRA.UseDNS when parsing RA options (#5071) RDNSS and DNSLL options received in RA are always used, possibly breaking the resolution of private domains hosted on a local DNS server. When setting UseDNS=no in a [IPv6AcceptRA] section of a .network file, both RDNSS and DNSLL options in received RA should be ignored. Fixes: #5040 --- diff --git a/src/network/networkd-ndisc.c b/src/network/networkd-ndisc.c index bc80c693d09..4fd5d8ae703 100644 --- a/src/network/networkd-ndisc.c +++ b/src/network/networkd-ndisc.c @@ -587,11 +587,13 @@ static void ndisc_router_process_options(Link *link, sd_ndisc_router *rt) { break; case SD_NDISC_OPTION_RDNSS: - ndisc_router_process_rdnss(link, rt); + if (link->network->ipv6_accept_ra_use_dns) + ndisc_router_process_rdnss(link, rt); break; case SD_NDISC_OPTION_DNSSL: - ndisc_router_process_dnssl(link, rt); + if (link->network->ipv6_accept_ra_use_dns) + ndisc_router_process_dnssl(link, rt); break; }