From: Steven Barth Date: Tue, 17 Jun 2014 07:59:57 +0000 (+0200) Subject: use leaetime as base for T1 and T2 upper bound X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=72082d2f6c2ee568470575c09ba4984f1a5c44f0;p=oweals%2Fodhcpd.git use leaetime as base for T1 and T2 upper bound --- diff --git a/src/dhcpv6-ia.c b/src/dhcpv6-ia.c index 3a12114..181973d 100644 --- a/src/dhcpv6-ia.c +++ b/src/dhcpv6-ia.c @@ -718,8 +718,14 @@ static size_t append_reply(uint8_t *buf, size_t buflen, uint16_t status, datalen += sizeof(stat); } else { if (a) { - uint32_t pref = 3600; - uint32_t valid = 3600; + uint32_t leasetime = iface->dhcpv4_leasetime; + if (leasetime == 0) + leasetime = 3600; + else if (leasetime < 60) + leasetime = 60; + + uint32_t pref = leasetime; + uint32_t valid = leasetime; struct odhcpd_ipaddr *addrs = (a->managed) ? a->managed : iface->ia_addr; size_t addrlen = (a->managed) ? (size_t)a->managed_size : iface->ia_addr_len;