From 40bc2d7f23e235b30dc00524eebfc033fce2fc0b Mon Sep 17 00:00:00 2001 From: Roy Marples Date: Thu, 22 Jan 2009 14:16:29 +0000 Subject: [PATCH] The lack of a rebind time should not force a default renewal time, #156. --- bind.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/bind.c b/bind.c index 5d384f79..1b34ffd6 100644 --- a/bind.c +++ b/bind.c @@ -159,24 +159,24 @@ bind_interface(void *arg) syslog(LOG_INFO, "%s: leased %s for infinity", iface->name, inet_ntoa(lease->addr)); } 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; syslog(LOG_ERR, "%s: rebind time greater than lease " "time, forcing to %u seconds", iface->name, 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; syslog(LOG_ERR, "%s: renewal time greater than rebind " "time, forcing to %u seconds", iface->name, lease->renewaltime); } - if (!lease->renewaltime) - lease->renewaltime = lease->leasetime * T1; - if (!lease->rebindtime) - lease->rebindtime = lease->leasetime * T2; syslog(LOG_INFO, "%s: leased %s for %u seconds", iface->name, inet_ntoa(lease->addr), lease->leasetime); -- 2.47.3