]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
sd-dhcp-client: propagate failure in setting timer and stop the client
authorYu Watanabe <watanabe.yu+github@gmail.com>
Sat, 18 Apr 2026 23:37:53 +0000 (08:37 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Thu, 23 Apr 2026 22:40:08 +0000 (07:40 +0900)
If we fail to setup timer event sources about the lease lifetime or
T1/T2, then the lease will be never updated, and the user (networkd)
will not receive any notification about the expire. The situation is
terrible. Let's stop the client with error code earlier, and notify the
failure to networkd.

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

index 76558bdd72e04ec5df87bac36bec8ed72c757e93..f6ab4b34dfcc6c7e944348d7c6e8fbb6f5b8700c 100644 (file)
@@ -1769,7 +1769,7 @@ static int client_enter_bound(sd_dhcp_client *client, int notify_event) {
 
         r = client_set_lease_timeouts(client);
         if (r < 0)
-                log_dhcp_client_errno(client, r, "Failed to set lease timeouts: %m");
+                return log_dhcp_client_errno(client, r, "Failed to set lease timeouts: %m");
 
         client_notify(client, notify_event);
         return 0;