]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
sd-dhcp-server: do not assign address reserved for static leases to non-matching...
authorYu Watanabe <watanabe.yu+github@gmail.com>
Thu, 27 Jan 2022 17:25:37 +0000 (02:25 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Tue, 1 Feb 2022 02:56:22 +0000 (11:56 +0900)
This fix the root cause of the issue #22253.

src/libsystemd-network/sd-dhcp-server.c

index 2f429020bbced9f1be65c7894eeb1cdc107bc48a..904298ebb04f7f76daecd27fd4d271deb591e3a1 100644 (file)
@@ -801,6 +801,9 @@ static bool address_is_in_pool(sd_dhcp_server *server, be32_t address) {
             be32toh(address) >= (be32toh(server->subnet) | (server->pool_offset + server->pool_size)))
                 return false;
 
+        if (hashmap_contains(server->static_leases_by_address, UINT32_TO_PTR(address)))
+                return false;
+
         return true;
 }