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 4c12327..0e18cf8 100644 --- a/ell/dhcp-server.c +++ b/ell/dhcp-server.c @@ -736,7 +736,7 @@ static void listener_event(const void *data, size_t len, void *user_data) SERVER_DEBUG("Received DECLINE"); if (!server_id_opt || !server_id_match || !requested_ip_opt || - !lease || !lease->offering) + !lease) break; if (requested_ip_opt == lease->address) -- 2.30.2