summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYu Watanabe <watanabe.yu+github@gmail.com>2020-07-07 09:43:10 +0900
committerYu Watanabe <watanabe.yu+github@gmail.com>2020-07-07 10:18:22 +0900
commitceaec54a3c8366e81863a7d0d9c1f1d9f09960e1 (patch)
tree554d3848a3c0b77a6e987a37c024a32223e95187
parentc82012605b3d578710996e29e8fa4ef8ff35a610 (diff)
downloadsystemd-ceaec54a3c8366e81863a7d0d9c1f1d9f09960e1.tar.gz
dhcp4: do not renew address if client is not running yet
-rw-r--r--src/libsystemd-network/sd-dhcp-client.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/libsystemd-network/sd-dhcp-client.c b/src/libsystemd-network/sd-dhcp-client.c
index d5f25d5a19..69589c301b 100644
--- a/src/libsystemd-network/sd-dhcp-client.c
+++ b/src/libsystemd-network/sd-dhcp-client.c
@@ -2012,6 +2012,9 @@ int sd_dhcp_client_send_renew(sd_dhcp_client *client) {
assert_return(client, -EINVAL);
assert_return(client->fd >= 0, -EINVAL);
+ if (IN_SET(client->state, DHCP_STATE_INIT, DHCP_STATE_INIT_REBOOT, DHCP_STATE_STOPPED))
+ return 0;
+
client->start_delay = 0;
client->attempt = 1;
client->state = DHCP_STATE_RENEWING;