From 72082d2f6c2ee568470575c09ba4984f1a5c44f0 Mon Sep 17 00:00:00 2001 From: Steven Barth Date: Tue, 17 Jun 2014 09:59:57 +0200 Subject: [PATCH] use leaetime as base for T1 and T2 upper bound --- src/dhcpv6-ia.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) 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; -- 2.11.0