RFC2131 Section 3.1 mentions a scenario where the client is supposed to drop its lease using DHCPDECLINE after sending the DHCPREQUEST and receiving the DHCPACK meaning that lease is no longer in the offering state: "5. The client receives the DHCPACK message with configuration parameters. The client SHOULD perform a final check on the parameters [...]. If the client detects that the address is already in use (e.g., through the use of ARP), the client MUST send a DHCPDECLINE message..." --- ell/dhcp-server.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ell/dhcp-server.c b/ell/dhcp-server.c index 6415872..9f4703c 100644 --- a/ell/dhcp-server.c +++ b/ell/dhcp-server.c @@ -734,7 +734,7 @@ static void listener_event(const void *data, size_t len, void *user_data) SERVER_DEBUG("Received DECLINE"); if (server_id_opt != server->address || !requested_ip_opt || - !lease || !lease->offering) + !lease) break; if (requested_ip_opt == lease->address) -- 2.30.2