From 53313014b50f256ae3aaa40990f46d927ae8c101 Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Tue, 17 Mar 2026 12:09:36 +0000 Subject: [PATCH] Fix broken DHCPv6 vendorclass data in DHCP script. The code sending vendorclass data to the DHCP script was confused about the format of the vendorclass in the DHCP packet, resulting in broken data passed to the packet. --- src/rfc3315.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/rfc3315.c b/src/rfc3315.c index b1ecac8..31a88b0 100644 --- a/src/rfc3315.c +++ b/src/rfc3315.c @@ -1918,10 +1918,10 @@ static void update_leases(struct state *state, struct dhcp_context *context, str lease_add_extradata(lease, (unsigned char *)daemon->dhcp_buff2, strlen(daemon->dhcp_buff2), 0); if (opt6_len(opt) >= 6) - for (enc_opt = opt6_ptr(opt, 4); enc_opt; enc_opt = opt6_next(enc_opt, enc_end)) + for (enc_opt = opt6_ptr(opt, 4); enc_opt; enc_opt = opt6_user_vendor_next(enc_opt, enc_end)) { lease->vendorclass_count++; - lease_add_extradata(lease, opt6_ptr(enc_opt, 0), opt6_len(enc_opt), 0); + lease_add_extradata(lease, opt6_user_vendor_ptr(enc_opt, 0), opt6_user_vendor_len(enc_opt), 0); } }