Possible dhclient bug ?



  • May have discovered a bug in dhclient

    When the client identifier type is 0 (0x00) the option is not sent.
    /sbin/dhclient -c /var/etc/dhclient_wan.conf -l /var/db/dhclient.leases.em0 -d em0

    However the ISC version works as expected.  Sending the dhcp client option with type 0 (0x00) followed by the specified string.
    /usr/local/sbin/dhclient -cf /var/etc/dhclient_wan.conf -lf /var/db/dhclient.leases.em0 -d em0

    /var/etc/dhclient_wan.conf
    . . .

    
    # DHCP Protocol Options
    #send dhcp-client-identifier "MYCIDX";     # Type 0x4D (non-spec type) - Sent
    #send dhcp-client-identifier " MYCIDX";    # Type 0x20 (InfiniBand) - Sent
     send dhcp-client-identifier "nulMYCIDX";  # Type 0x00 (other) - Not Sent
    #send dhcp-client-identifier "sohMYCIDX";  # Type 0x01 (Ethernet) - Sent
    
    

    . . .
    EOF

    Client Identifier

    The code for this option is 61, and its minimum length is 2.  The type and at least one additional byte (character).

    Code  Len  Type  Client-Identifier
      +–---+-----+-----+-----+-----+---
      |  61 |  n  |  t1 |  i1 |  i2 | ...
      +-----+-----+-----+-----+-----+---

    A hardware type of 0 (zero) should be used when the value field contains an identifier other than a hardware address (e.g. a fully qualified domain name).


  • Rebel Alliance Developer Netgate

    If it's in the FreeBSD base system dhclient you should file a PR against FreeBSD directly. At least from the description it sounds as though it may be a bug.