From: Roy Marples Date: Thu, 22 Jan 2009 14:16:29 +0000 (+0000) Subject: The lack of a rebind time should not force a default renewal time, #156. X-Git-Tag: v5.0.0~111 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=40bc2d7f23e235b30dc00524eebfc033fce2fc0b;p=thirdparty%2Fdhcpcd.git The lack of a rebind time should not force a default renewal time, #156. --- 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);