From: Roy Marples Date: Wed, 5 Oct 2016 19:20:13 +0000 (+0000) Subject: Fix sending DHCPv6 vendor option. X-Git-Tag: v7.0.0-beta1~143 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1600f50c6957c1aedab06c696ba6bf30d49eb7ac;p=thirdparty%2Fdhcpcd.git Fix sending DHCPv6 vendor option. --- diff --git a/dhcp6.c b/dhcp6.c index 9b1e30cd..6623e2cb 100644 --- a/dhcp6.c +++ b/dhcp6.c @@ -208,6 +208,7 @@ dhcp6_makevendor(void *data, const struct interface *ifp) vlen = 0; /* silence bogus gcc warning */ } else { vlen = dhcp_vendor(vendor, sizeof(vendor)); + printf ("VENDOR: %s***\n", vendor); if (vlen == -1) vlen = 0; else @@ -247,7 +248,7 @@ dhcp6_makevendor(void *data, const struct interface *ifp) } else if (vlen) { hvlen = htons((uint16_t)vlen); memcpy(p, &hvlen, sizeof(hvlen)); - p += sizeof(len); + p += sizeof(hvlen); memcpy(p, vendor, (size_t)vlen); } } @@ -643,7 +644,7 @@ dhcp6_makemessage(struct interface *ifp) len += sizeof(o) + ifp->ctx->duid_len; len += sizeof(o) + sizeof(uint16_t); /* elapsed */ if (!has_option_mask(ifo->nomask6, D6_OPTION_VENDOR_CLASS)) - len += sizeof(o) + dhcp6_makevendor(NULL, ifp); + len += dhcp6_makevendor(NULL, ifp); /* IA */ m = NULL;