network: dhcp-server: also refuse link local address to use as the server address

This commit is contained in:
Yu Watanabe
2022-02-01 11:18:53 +00:00
committed by Luca Boccassi
parent b0f83c2d82
commit bab29f2ab7
+17 -6
View File
@@ -58,12 +58,21 @@ void network_adjust_dhcp_server(Network *network) {
ORDERED_HASHMAP_FOREACH(address, network->addresses_by_section) {
if (section_is_invalid(address->section))
continue;
if (address->family == AF_INET &&
!in4_addr_is_localhost(&address->in_addr.in) &&
in4_addr_is_null(&address->in_addr_peer.in)) {
have = true;
break;
}
if (address->family != AF_INET)
continue;
if (in4_addr_is_localhost(&address->in_addr.in))
continue;
if (in4_addr_is_link_local(&address->in_addr.in))
continue;
if (in4_addr_is_set(&address->in_addr_peer.in))
continue;
have = true;
break;
}
if (!have) {
log_warning("%s: DHCPServer= is enabled, but no static address configured. "
@@ -130,6 +139,8 @@ static int link_find_dhcp_server_address(Link *link, Address **ret) {
continue;
if (in4_addr_is_localhost(&address->in_addr.in))
continue;
if (in4_addr_is_link_local(&address->in_addr.in))
continue;
if (in4_addr_is_set(&address->in_addr_peer.in))
continue;