]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
sd-dhcp-server: do not forget previously assigned addresses on pool change 30720/head
authorYu Watanabe <watanabe.yu+github@gmail.com>
Tue, 2 Jan 2024 21:06:59 +0000 (06:06 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Wed, 3 Jan 2024 20:10:47 +0000 (05:10 +0900)
Currently, networkd does not change pool size dynamically, so this
should not change behavior. But if networkd does that, then forgetting
leases causes that an address still used by a client may be assigned to
another host.

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

index 0e7831f70d92f648a6197c6cb4c53b2e64a8b61e..d59bf430d7ace6f9e174bbb0ec8438200b60997e 100644 (file)
@@ -87,13 +87,6 @@ int sd_dhcp_server_configure_pool(
                 server->address = address->s_addr;
                 server->netmask = netmask;
                 server->subnet = address->s_addr & netmask;
-
-                /* Drop any leases associated with the old address range */
-                hashmap_clear(server->bound_leases_by_address);
-                hashmap_clear(server->bound_leases_by_client_id);
-
-                if (server->callback)
-                        server->callback(server, SD_DHCP_SERVER_EVENT_LEASE_CHANGED, server->callback_userdata);
         }
 
         return 0;