mirror of
https://github.com/systemd/systemd.git
synced 2025-01-27 18:04:05 +03:00
network: restart dhcp4 client when renewing lease is requested but the client is stopped
Follow-up for fc35a9f8d1632c4e7a279228f869bfc77d8f5b9c. Fixes the issue https://github.com/systemd/systemd/pull/29472#issuecomment-1759092138.
This commit is contained in:
parent
9ff6876555
commit
9bd91e34aa
@ -626,11 +626,15 @@ int bus_link_method_renew(sd_bus_message *message, void *userdata, sd_bus_error
|
|||||||
if (r == 0)
|
if (r == 0)
|
||||||
return 1; /* Polkit will call us back */
|
return 1; /* Polkit will call us back */
|
||||||
|
|
||||||
if (l->dhcp_client) {
|
if (sd_dhcp_client_is_running(l->dhcp_client))
|
||||||
r = sd_dhcp_client_send_renew(l->dhcp_client);
|
r = sd_dhcp_client_send_renew(l->dhcp_client);
|
||||||
if (r < 0)
|
else
|
||||||
return r;
|
/* The DHCPv4 client may have been stopped by the IPv6 only mode. Let's unconditionally
|
||||||
}
|
* restart the client here. Note, if the DHCPv4 client is disabled, then dhcp4_start() does
|
||||||
|
* nothing and returns 0. */
|
||||||
|
r = dhcp4_start(l);
|
||||||
|
if (r < 0)
|
||||||
|
return r;
|
||||||
|
|
||||||
return sd_bus_reply_method_return(message, NULL);
|
return sd_bus_reply_method_return(message, NULL);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user