From d2ddb0e68d36fd5a8f5cda944176a68de0a0ded2 Mon Sep 17 00:00:00 2001 From: Roy Marples Date: Thu, 22 Jan 2009 14:19:46 +0000 Subject: [PATCH] Backport fix for #156. --- client.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/client.c b/client.c index 864957be..d599d1bb 100644 --- a/client.c +++ b/client.c @@ -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); -- 2.47.2