Mercurial > hg > dhcpcd
changeset 1319:78eb68827c8b draft
Enforce a minimum lease of 20 seconds so we can do things
like ARP check and restart services.
| author | Roy Marples <roy@marples.name> |
|---|---|
| date | Wed, 13 May 2009 18:14:50 +0000 |
| parents | 905ab2c2467e |
| children | 8c7fd91fb635 |
| files | bind.c |
| diffstat | 1 files changed, 9 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/bind.c Mon May 11 07:18:10 2009 +0000 +++ b/bind.c Wed May 13 18:14:50 2009 +0000 @@ -49,6 +49,9 @@ # define _PATH_DEVNULL "/dev/null" #endif +/* We do things after aquiring the lease, so ensure we have enough time for them */ +#define DHCP_MIN_LEASE 20 + #ifndef THERE_IS_NO_FORK pid_t daemonise(void) @@ -164,6 +167,12 @@ syslog(LOG_INFO, "%s: leased %s for infinity", iface->name, inet_ntoa(lease->addr)); } else { + if (lease->leasetime < DHCP_MIN_LEASE) { + syslog(LOG_WARNING, + "%s: minimum lease is %d seconds", + iface->name, DHCP_MIN_LEASE); + lease->leasetime = DHCP_MIN_LEASE; + } if (lease->rebindtime == 0) lease->rebindtime = lease->leasetime * T2; else if (lease->rebindtime >= lease->leasetime) {
