• Print
  • Share
  • Dark

LDAP and updating to DHCP 4.3.3 or newer

  • Updated on 17 Feb 2017
  • 2 minutes to read
  • Contributors 

The LDAP integration code for ISC DHCP was originally contributed to ISC and for the most part has not been directly supported by ISC staff.  Bugs reported against it were left to be addressed by contributors and with our limited development resources the contributed patches accumulated without being merged into the product. 

As part of our release of 4.3.3 we took upon ourselves to to comb through all of the LDAP related patches and merged them into the source.  While we here at ISC conducted limited testing there were several contributors who did test it prior to the release so by the time of the release our confidence in the usability of the LDAP integration was reasonably high.  Most of the changes were seamless to users but there was one change in particular that we later discovered can cause incompatibility issues when updating to 4.3.3.

Prior to 4.3.3 double quotes were required around the value assigned to the attribute, dhcpClassData. This attribute specifies the parent class for subclasses.  Apparently having to quote these values was a work-around and one of the patches included in 4.3.3, removed the need for them, providing a cleaner, more consistent approach. So prior to the release of 4.3.3, dhcpClassData values must be included in quotes:

dhcpClassData: "Student"

But as of 4.3.3, they no longer need to be, and must not be enclosed in quotes:

dhcpClassData: Student

This change is neither forwards nor backwards compatible and causes configuration parsing errors when the values are enclosed in quotes.  Given the following LDAP snippet:

  :dn: cn=64:d4:da:22:4e:64,ou=subclasses,ou=hosts,cn=DHCP Config,dc=dhcpcn: 64:d4:da:22:4e:64dhcpClassData: "Student"dhcpComments: johndoe  :

4.3.3 and later will produce a parsing error log messages like this:

  :Found LDAP entry 'ou=hosts,cn=DHCP Config,dc=dhcp'Parsing external DNs for 'ou=hosts,cn=DHCP Config,dc=dhcp'Found LDAP entry 'ou=subclasses,ou=hosts,cn=DHCP Config,dc=dhcp'Parsing external DNs for 'ou=subclasses,ou=hosts,cn=DHCP Config,dc=dhcp'Found LDAP entry 'cn=64:d4:da:22:4e:64,ou=subclasses,ou=hosts,cn=DHCP Config,dc=dhcp'Parsing external DNs for 'cn=64:d4:da:22:4e:64,ou=subclasses,ou=hosts,cn=DHCP Config,dc=dhcp'Sending config portion 'subclass Student 64:d4:da:22:4e:64 'LDAP line 206: no class namedsubclass ""  :

In order for these entries to parse correctly, the quotes must removed. 

One way to deal with this is to export the directory content to an ldif and scrub the double quotes from each line containing dhcpDataClass and then import the scrubbed ldif. 

© 2001-2018 Internet Systems Consortium For assistance with problems and questions for which you have not been able to find an answer in our Knowledge Base, we recommend searching our community mailing list archives and/or posting your question there (you will need to register there first for your posts to be accepted). The bind-users and the dhcp-users lists particularly have a long-standing and active membership. ISC relies on the financial support of the community to fund the development of its open source software products. If you would like to support future product evolution and maintenance as well having peace of mind knowing that our team of experts are poised to provide you with individual technical assistance whenever you call upon them, then please consider our Professional Subscription Support services - details can be found on our main website.

Problems with this site? Email us at marketing@isc.org