Skip Menu |
Report information
The Basics
Id: 48316
Status: open
Priority: 0/
Queue: dhcp-public

Owner: Nobody in particular
Requestors: Xavier G. <>

Bug Information
Version Fixed: (no value)
Version Found: (no value)
Versions Affected: (no value)
Versions Planned: 4.4.2
Priority: (no value)
Severity: (no value)
CVSS Score: (no value)
CVE ID: (no value)
Component: (no value)
Area: (no value)

Created:Wed, 10 Oct 2018 11:16:57 -0400
Updated:Thu, 18 Oct 2018 08:54:05 -0400
Closed:Not set

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.

Date: Wed, 10 Oct 2018 17:16:43 +0200
From: "Xavier G." <>
Subject: Implement the generate() operator.
Download (untitled) / with headers
text/plain 1.6KiB
Hello, Attached is a patch that implement the generate() operator as part of dhcp-eval. generate() is similar to execute() in that it executes an external program. However, unlike execute(), generate() is a data expression: it reads up to 1024 bytes from the standard output of the resulting child process and makes them available as a C string. It can therefore be combined with substring(), concat() and other similar operators for maximum flexibility. Similarly to execute(), generate() can be disabled through ./configure --disable-generate. generate() typically enables users to generate complex DHCP options that would otherwise require the implementation of many more operators. For instance, we recently stumbled upon an ISP which expects a particular value for options 90 or 11 (authentication). This value is computed using a proprietary, ISP-specific algorithm (it involves random salts, MD5 hashing and a password... far from rocket science, but definitely ISP-specific) and should be renewed systematically or at least frequently. Moreover, this algorithm is likely to change often enough to discourage its implementation in C within dhclient/dhcpd. generate() enables users to delegate tricky value generations to external programs which can be implemented using more high-level languages and can be updated frequently. Note: the attached patch modifies and config but the configure script itself needs to be regenerated. Let me know whether this feature is welcome within isc-dhcp and if anything ought to be improved in the attached patch. Thanks in advance. -- Xavier G.

Message body is not shown because sender requested not to inline it.

Download signature.asc
application/pgp-signature 228B

Message body not shown because it is not plain text.

Hello Xavier: Thank you for your submission. This is an interesting addition to the configuration syntax. We will take into consideration for our next release, 4.4.2, though its release date has yet to be determined. We will let you know whether or not we decide to include your changes. As you may know, 4.4.1 was the last feature release for ISC DHCP. While we will continue to do maintenance releases for some time to come, most of our DHCP resources are focused on our new DHCP project, Kea: Again, thank you for taking the time to create the patch and submit it to us. User involvement has always been a huge part of ISC's efforts and we appreciate all of them. Regards, Thomas Markwalder ISC Software Engineering