mirror of
https://github.com/systemd/systemd.git
synced 2025-02-11 21:57:53 +03:00
network: ndisc: do not read DNSSL option when UseDomains=no
Previously, the following confing did not work: ``` [IPv6AcceptRA] UseDNS=no UseDomains=yes ```
This commit is contained in:
parent
fbdda4bb53
commit
ad0b2df635
@ -677,8 +677,12 @@ static int ndisc_router_process_rdnss(Link *link, sd_ndisc_router *rt) {
|
|||||||
int n, r;
|
int n, r;
|
||||||
|
|
||||||
assert(link);
|
assert(link);
|
||||||
|
assert(link->network);
|
||||||
assert(rt);
|
assert(rt);
|
||||||
|
|
||||||
|
if (!link->network->ipv6_accept_ra_use_dns)
|
||||||
|
return 0;
|
||||||
|
|
||||||
r = sd_ndisc_router_get_address(rt, &router);
|
r = sd_ndisc_router_get_address(rt, &router);
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
return log_link_error_errno(link, r, "Failed to get router address from RA: %m");
|
return log_link_error_errno(link, r, "Failed to get router address from RA: %m");
|
||||||
@ -768,8 +772,12 @@ static int ndisc_router_process_dnssl(Link *link, sd_ndisc_router *rt) {
|
|||||||
int r;
|
int r;
|
||||||
|
|
||||||
assert(link);
|
assert(link);
|
||||||
|
assert(link->network);
|
||||||
assert(rt);
|
assert(rt);
|
||||||
|
|
||||||
|
if (link->network->ipv6_accept_ra_use_domains == DHCP_USE_DOMAINS_NO)
|
||||||
|
return 0;
|
||||||
|
|
||||||
r = sd_ndisc_router_get_address(rt, &router);
|
r = sd_ndisc_router_get_address(rt, &router);
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
return log_link_error_errno(link, r, "Failed to get router address from RA: %m");
|
return log_link_error_errno(link, r, "Failed to get router address from RA: %m");
|
||||||
@ -866,19 +874,15 @@ static int ndisc_router_process_options(Link *link, sd_ndisc_router *rt) {
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case SD_NDISC_OPTION_RDNSS:
|
case SD_NDISC_OPTION_RDNSS:
|
||||||
if (link->network->ipv6_accept_ra_use_dns) {
|
r = ndisc_router_process_rdnss(link, rt);
|
||||||
r = ndisc_router_process_rdnss(link, rt);
|
if (r < 0)
|
||||||
if (r < 0)
|
return r;
|
||||||
return r;
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SD_NDISC_OPTION_DNSSL:
|
case SD_NDISC_OPTION_DNSSL:
|
||||||
if (link->network->ipv6_accept_ra_use_dns) {
|
r = ndisc_router_process_dnssl(link, rt);
|
||||||
r = ndisc_router_process_dnssl(link, rt);
|
if (r < 0)
|
||||||
if (r < 0)
|
return r;
|
||||||
return r;
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user