summaryrefslogtreecommitdiffstats
path: root/bind.c
diff options
context:
space:
mode:
authorRoy Marples <roy@marples.name>2009-01-22 14:16:29 +0000
committerRoy Marples <roy@marples.name>2009-01-22 14:16:29 +0000
commit40bc2d7f23e235b30dc00524eebfc033fce2fc0b (patch)
tree0d3cbbbdab5293492e8f2a1daccfb8849fdb0a21 /bind.c
parent8b4278839695499ca1cd2b761ae65feed8b5b9de (diff)
downloaddhcpcd-40bc2d7f23e235b30dc00524eebfc033fce2fc0b.tar.xz
The lack of a rebind time should not force a default renewal time, #156.
Diffstat (limited to 'bind.c')
-rw-r--r--bind.c12
1 files 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);