From 94b39d22ddba59c4b6ba2366b1d4f472e9497acb Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Mon, 11 May 2026 00:25:02 +0900 Subject: [PATCH] dhcp-server-request: logs more when received invalid messages --- src/libsystemd-network/dhcp-server-request.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/libsystemd-network/dhcp-server-request.c b/src/libsystemd-network/dhcp-server-request.c index a914f3ef1d..6b6b85bae6 100644 --- a/src/libsystemd-network/dhcp-server-request.c +++ b/src/libsystemd-network/dhcp-server-request.c @@ -252,7 +252,7 @@ static int dhcp_server_process_discover(sd_dhcp_server *server, DHCPRequest *req sd_dhcp_server_lease *l = hashmap_get(server->bound_leases_by_address, UINT32_TO_PTR(static_lease->address)); if (l && l != existing_lease) /* The address is already assigned to another host. Refusing. */ - return 0; + return -EADDRINUSE; /* Found a matching static lease. */ req->static_lease = static_lease; @@ -286,8 +286,7 @@ static int dhcp_server_process_discover(sd_dhcp_server *server, DHCPRequest *req } if (req->address == INADDR_ANY) - /* no free addresses left */ - return 0; + return -EADDRNOTAVAIL; /* no free addresses left */ if (server->rapid_commit && dhcp_message_get_option_flag(req->message, SD_DHCP_OPTION_RAPID_COMMIT) >= 0) @@ -319,7 +318,7 @@ static int dhcp_server_process_request(sd_dhcp_server *server, DHCPRequest *req) return 0; /* The message is not for us. Let's silently ignore the packet. */ if (req->message->header.ciaddr != INADDR_ANY) /* this MUST be zero */ - return 0; + return -EBADMSG; /* this must be filled in with the yiaddr from the chosen OFFER */ r = dhcp_message_get_option_be32(req->message, SD_DHCP_OPTION_REQUESTED_IP_ADDRESS, &address);