[LEDE-DEV] [PATCH] odhcpd: Display infinite valid lifetime as -1

Hans Dedecker dedeckeh at gmail.com
Mon Nov 21 05:42:16 PST 2016


Display infinite valid lifetime as -1 both in ubus
and statefile

Signed-off-by: Hans Dedecker <dedeckeh at gmail.com>
---

Follow-up patch as a result of the remark given in
http://lists.infradead.org/pipermail/lede-dev/2016-November/004133.html

src/dhcpv6-ia.c | 16 ++++++++--------
 src/ubus.c      |  4 ++--
 2 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/src/dhcpv6-ia.c b/src/dhcpv6-ia.c
index 852af97..8db53b9 100644
--- a/src/dhcpv6-ia.c
+++ b/src/dhcpv6-ia.c
@@ -243,12 +243,12 @@ void dhcpv6_write_statefile(void)
 					odhcpd_hexlify(duidbuf, c->clid_data, c->clid_len);
 
 					// iface DUID iaid hostname lifetime assigned length [addrs...]
-					int l = snprintf(leasebuf, sizeof(leasebuf), "# %s %s %x %s %u %x %u ",
+					int l = snprintf(leasebuf, sizeof(leasebuf), "# %s %s %x %s %ld %x %u ",
 							iface->ifname, duidbuf, ntohl(c->iaid),
 							(c->hostname ? c->hostname : "-"),
-							(unsigned)(c->valid_until > now ?
-									(c->valid_until - now + wall_time) :
-									(INFINITE_VALID(c->valid_until) ? INT32_MAX: 0)),
+							(c->valid_until > now ?
+								(c->valid_until - now + wall_time) :
+								(INFINITE_VALID(c->valid_until) ? -1 : 0)),
 							c->assigned, (unsigned)c->length);
 
 					struct in6_addr addr;
@@ -306,12 +306,12 @@ void dhcpv6_write_statefile(void)
 					odhcpd_hexlify(duidbuf, c->hwaddr, sizeof(c->hwaddr));
 
 					// iface DUID iaid hostname lifetime assigned length [addrs...]
-					int l = snprintf(leasebuf, sizeof(leasebuf), "# %s %s ipv4 %s %u %x 32 ",
+					int l = snprintf(leasebuf, sizeof(leasebuf), "# %s %s ipv4 %s %ld %x 32 ",
 							iface->ifname, duidbuf,
 							(c->hostname ? c->hostname : "-"),
-							(unsigned)(c->valid_until > now ?
-									(c->valid_until - now + wall_time) :
-									(INFINITE_VALID(c->valid_until) ? INT32_MAX: 0)),
+							(c->valid_until > now ?
+								(c->valid_until - now + wall_time) :
+								(INFINITE_VALID(c->valid_until) ? -1 : 0)),
 							c->addr);
 
 					struct in_addr addr = {htonl(c->addr)};
diff --git a/src/ubus.c b/src/ubus.c
index 425abe4..e9e2de3 100644
--- a/src/ubus.c
+++ b/src/ubus.c
@@ -51,7 +51,7 @@ static int handle_dhcpv4_leases(struct ubus_context *ctx, _unused struct ubus_ob
 			blobmsg_add_string_buffer(&b);
 
 			blobmsg_add_u32(&b, "valid", INFINITE_VALID(lease->valid_until) ?
-						INT32_MAX : (uint32_t)(lease->valid_until - now));
+						(uint32_t)-1 : (uint32_t)(lease->valid_until - now));
 
 			blobmsg_close_table(&b, l);
 		}
@@ -117,7 +117,7 @@ static int handle_dhcpv6_leases(_unused struct ubus_context *ctx, _unused struct
 			blobmsg_close_table(&b, m);
 
 			blobmsg_add_u32(&b, "valid", INFINITE_VALID(lease->valid_until) ?
-						INT32_MAX : (uint32_t)(lease->valid_until - now));
+						(uint32_t)-1 : (uint32_t)(lease->valid_until - now));
 
 			blobmsg_close_table(&b, l);
 		}
-- 
1.9.1




More information about the Lede-dev mailing list