DHCPv6 IAID should be of unsigned type. It is derived from strtoul() in lease.c:read_leases() and already now interpreted as unsigned in helper.c:276 and outpacket.c:put_opt6_long(). RFC3315 (section 22.4) shows that the IAID is 4 bytes long so we do not need to go up to unsigned long.
Signed-off-by: Dominik DL6ER <dl6er@dl6er.de>
diff --git a/src/rfc3315.c b/src/rfc3315.c
index 44a09bb..6d8df35 100644
--- a/src/rfc3315.c
+++ b/src/rfc3315.c
@@ -21,11 +21,11 @@
struct state {
unsigned char *clid;
- int clid_len, iaid, ia_type, interface, hostname_auth, lease_allocate;
+ int clid_len, ia_type, interface, hostname_auth, lease_allocate;
char *client_hostname, *hostname, *domain, *send_domain;
struct dhcp_context *context;
struct in6_addr *link_address, *fallback, *ll_addr, *ula_addr;
- unsigned int xid, fqdn_flags;
+ unsigned int xid, fqdn_flags, iaid;
char *iface_name;
void *packet_options, *end;
struct dhcp_netid *tags, *context_tags;