Report information
The Basics
Id:
46427
Status:
resolved
Estimated:
10.67 hours (640 minutes)
Worked:
6.67 hours (400 minutes)
Users:
tmark: 6.67 hours (400 minutes)
Priority:
Low/Low
Queue:

BugTracker
Version Fixed:
(no value)
Version Found:
(no value)
Versions Affected:
(no value)
Versions Planned:
4.4.0 4.3.7
Priority:
P1 High
Severity:
S1 High
CVSS Score:
(no value)
CVE ID:
(no value)
Component:
(no value)
Area:
bug

Dates
Created:Mon, 30 Oct 2017 00:46:03 -0400
Updated:Thu, 07 Dec 2017 11:48:36 -0500
Closed:Thu, 07 Dec 2017 11:48:36 -0500



This bug tracker is no longer active.

Please go to our Gitlab to submit issues (both feature requests and bug reports) for active projects maintained by Internet Systems Consortium (ISC).

Due to security and confidentiality requirements, full access is limited to the primary maintainers.

Subject: 4.3.6 - DHCP Server does not send Vendor Specific Option when Client requests
From: "sumant gupta" <sumantgupta@gmail.com>
To: dhcp-bugs@isc.org
Date: Mon, 30 Oct 2017 04:45:19 +0000
Bug Report from www.isc.org: Name: sumant gupta Email: sumantgupta@gmail.com Software Version: 4.3.6 OS: Ubuntu Subject:DHCP Server does not send Vendor Specific Option when Client requests Bug Detail =========== Hi, I am using ISC dhcpv6 server version 4.3.6 on Ubuntu. My server config. file dhcpd6.conf has these lines: option dhcp6.vendor-opts 00:00:XX:XX: # where XX:XX is the enterprise-number 00:01:00:0c: 48:65:6c:6c:6f:20:77:6f:72:6c:64:21; My client is sending OPTION_VENDOR_CLASS(16) to server with the correct enterprise-number, but the isc dhcp server doesn't send the data that is part of dhcp6.vendor-opts(in option 17) in the config. file. Along with that i am also sending the ORO(with Requested Option Code 17) but still DHCP Server does not reply with vendor options configured in its config file. After that i installed older version ISC DHCP 4.2.4 and ran with all the above configuration. I worked !!!. DHCP server sent the VSIO options when requested by Client in ORO. Seems like there is any issue in latest version or something broken. Regards Sumant --- This email was received through isc.org Bug Submission Form
Hello Sumant: We're looking into the issue. What client software are you using? If i is dhclient, could provide your client configuration? Regards, Thomas Markwalder ISC Software Engineering
Hello Sumant: Thank you for reporting this issue. A correction made in 4.3.5 under ticket 29246 that made it possible for the server to send the FQDN option to v6 clients, broke the ability to return option 17. We will be correcting this our next feature release, 4.4.0, which is due out Q1 of 2018. We may have a patch that can be applied manually to 4.3.6 prior to that. Please accept our apologies for any inconvenience this may be causing you. If you would be willing to test a manual patch that would be tremendous help to us. Regards, Thomas Markwalder ISC Software Engineering
To: "dhcp-public@isc.org" <dhcp-public@isc.org>
Date: Wed, 15 Nov 2017 21:39:23 +0530
Subject: Re: [ISC-Bugs #46427] 4.3.6 - DHCP Server does not send Vendor Specific Option when Client requests
From: "Sumant Gupta" <sumantgupta@gmail.com>
Hi Thomas,
You can send me the patch and I will let you know the results after I finish my current work.

Regards
Sumant

On Tuesday, November 14, 2017, Thomas Markwalder via RT <dhcp-public@isc.org> wrote:
Hello Sumant:

Thank you for reporting this issue.  A correction made in 4.3.5 under ticket 29246 that made it possible for the server to send the FQDN option to v6 clients, broke the ability to return option 17.

We will be correcting this our next feature release, 4.4.0, which is due out Q1 of 2018.  We may have a patch that can be applied manually to 4.3.6 prior to that.  Please accept our apologies for any inconvenience this may be causing you.

If you would be willing to test a manual patch that would be tremendous help to us.

Regards,

Thomas Markwalder
ISC Software Engineering



Hello Sumant: I've attached a patch that works for 4.3.6 and 4.3.5. If you have time to test it that would be wonderful. If you have any issues with it please let me know. Thanks, Thomas Markwalder ISC Software Engineering
Subject: rt46427_v4.3.6.patch
diff --git a/common/options.c b/common/options.c index 5547287..5d10309 100644 --- a/common/options.c +++ b/common/options.c @@ -1112,11 +1112,13 @@ store_options6(char *buf, int buflen, } /* - * See if this is the VSIO option. + * If this is the VSIO option flag it so we'll know to + * check the vsio space later on. However we still need + * to check for the existence of any defined via + * dhcp6.vendor-opts. Those are stored as simple values. */ if (code == vsio_option_code) { vsio_wanted = 1; - continue; } /*
On Wed Nov 29 16:49:09 2017, tmark wrote: > Ticket is ready for review. => code OK. BTW if the vsio is found in required options there was no continue... so the logic was not consistent. > This needs to be backported to v4_3. => agreed.
Date: Thu, 7 Dec 2017 11:39:07 +0530
Subject: Re: [ISC-Bugs #46427] 4.3.6 - DHCP Server does not send Vendor Specific Option when Client requests
From: "Sumant Gupta" <sumantgupta@gmail.com>
To: dhcp-public@isc.org
Hi Thomas,

Patch works fine. I have a query if there are multiple vendor options with different enterprise ID(a,b) in the dhcp.conf file.

Now i send the Solicit with Vendor Class(with enterpise a) Will the vendor options returns as per enterprise ID or will it return the last one in the conf file(which is b).

Regards
Sumant

On Thu, Dec 7, 2017 at 1:55 AM, Francis Dupont via RT <dhcp-public@isc.org> wrote:
On Wed Nov 29 16:49:09 2017, tmark wrote:
> Ticket is ready for review.

=> code OK. BTW if the vsio is found in
required options there was no continue...
so the logic was not consistent.

>  This needs to be backported to v4_3.

=> agreed.



Hello Sumant: > > Patch works fine. I have a query if there are multiple vendor options with > different enterprise ID(a,b) in the dhcp.conf file. > Excellent! Thank you for testing it. > Now i send the Solicit with Vendor Class(with enterpise a) Will the vendor > options returns as per enterprise ID or will it return the last one in the > conf file(which is b). > Within a given scope the last definition of dhcp6.vendor-opts wins. In other words, if you have two definitions of it globally, as in your example, the second definition is what the client will receive. You can of course define them in different scopes. For instance you could create classes which match based on enterprise ID and define dhcp6.vendor-opts within each class. This is a pretty typical approach. We like to credit our contributors in the release notes. If you would like to be recognized in this way, please respond with how you wish to be identified. Cheers, Thomas Markwalder ISC Software Engineering
Date: Thu, 7 Dec 2017 21:23:47 +0530
Subject: [ISC-Bugs #46427] 4.3.6 - DHCP Server does not send Vendor Specific Option when Client requests
From: "Sumant Gupta" <sumantgupta@gmail.com>
To: "dhcp-public@isc.org" <dhcp-public@isc.org>
Hi Thomas,

Please recognize me as:

Sumant Gupta
Landis+Gyr

Regards
Sumant

On Thursday, December 7, 2017, Thomas Markwalder via RT <dhcp-public@isc.org> wrote:
Hello Sumant:

>
> Patch works fine. I have a query if there are multiple vendor options with
> different enterprise ID(a,b) in the dhcp.conf file.
>

Excellent!  Thank you for testing it.

> Now i send the Solicit with Vendor Class(with enterpise a) Will the vendor
> options returns as per enterprise ID or will it return the last one in the
> conf file(which is b).
>

Within a given scope the last definition of dhcp6.vendor-opts wins. In other words, if you have two definitions of it globally, as in your example, the second definition is what the client will receive.

You can of course define them in different scopes. For instance you could create classes which match based on enterprise ID and define dhcp6.vendor-opts within each class.  This is a pretty typical approach.

We like to credit our contributors in the release notes.  If you would like to be recognized in this way, please respond with how you wish to be identified.

Cheers,

Thomas Markwalder
ISC Software Engineering