diff options
| author | Roy Marples <roy@marples.name> | 2009-01-22 14:19:46 +0000 |
|---|---|---|
| committer | Roy Marples <roy@marples.name> | 2009-01-22 14:19:46 +0000 |
| commit | d2ddb0e68d36fd5a8f5cda944176a68de0a0ded2 (patch) | |
| tree | b06ab9995bc8e612ce5b1e9ce152f7d896fe9908 | |
| parent | a553e02ebd315a65b29344fc05b29e19bdf05f7c (diff) | |
| download | dhcpcd-d2ddb0e68d36fd5a8f5cda944176a68de0a0ded2.tar.xz | |
Backport fix for #156.
| -rw-r--r-- | client.c | 12 |
1 files changed, 6 insertions, 6 deletions
@@ -947,24 +947,24 @@ static int bind_dhcp(struct if_state *state, const struct options *options) state->state = STATE_BOUND; timerclear(&state->stop); } else { - if (lease->rebindtime >= lease->leasetime) { + if (lease->rebindtime == 0) + lease->rebindtime = lease->leasetime * T2; + else if (lease->rebindtime >= lease->leasetime) { lease->rebindtime = lease->leasetime * T2; logger(LOG_ERR, "rebind time greater than lease " "time, forcing to %u seconds", lease->rebindtime); } - if (lease->renewaltime > lease->rebindtime) { + if (lease->renewaltime == 0) + lease->renewaltime = lease->leasetime * T1; + else if (lease->renewaltime > lease->rebindtime) { lease->renewaltime = lease->leasetime * T1; logger(LOG_ERR, "renewal time greater than rebind time, " "forcing to %u seconds", lease->renewaltime); } - if (!lease->renewaltime) - lease->renewaltime = lease->leasetime * T1; - if (!lease->rebindtime) - lease->rebindtime = lease->leasetime * T2; logger(LOG_INFO, "leased %s for %u seconds", inet_ntoa(lease->addr), lease->leasetime); |
