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
This commit is contained in:
parent
e52b13cfc4
commit
fe0252e5b8
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue