diff options
author | Tom Gundersen <teg@jklm.no> | 2014-03-19 10:41:29 +0100 |
---|---|---|
committer | Tom Gundersen <teg@jklm.no> | 2014-03-19 10:41:29 +0100 |
commit | 7bf2f4397255bc8f6cf20a0f2adab4c984ea7d14 (patch) | |
tree | bf1733f39261e5f6875a1aea2ff40ba40d565742 /src/libsystemd-network/sd-dhcp-client.c | |
parent | 8b1243f72ed321bd11f0939405b6d0963ce5eea5 (diff) |
sd-dhcp-client: accept infinite lease lifetime
Otherwise we would fail with -EINVAL. Thanks to Brandon Philips
<brandon.philips@coreos.com>, for reporting the bug.
Diffstat (limited to 'src/libsystemd-network/sd-dhcp-client.c')
-rw-r--r-- | src/libsystemd-network/sd-dhcp-client.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/libsystemd-network/sd-dhcp-client.c b/src/libsystemd-network/sd-dhcp-client.c index 84111412d1..ce375dd016 100644 --- a/src/libsystemd-network/sd-dhcp-client.c +++ b/src/libsystemd-network/sd-dhcp-client.c @@ -747,6 +747,10 @@ static int client_set_lease_timeouts(sd_dhcp_client *client, uint64_t usec) { assert(client); assert(client->event); + /* don't set timers for infinite leases */ + if (client->lease->lifetime == 0xffffffff) + return 0; + if (client->lease->lifetime < 10) return -EINVAL; |