FW: [ISC-Bugs #37715] AutoReply: dhcp-4.3.1 and initial versions. - dhcp user class option 77 encoding is not encoding as per the RFC.

Venkatesh Siddappa Venkatesh.Siddappa at oneaccess-net.com
Tue Nov 25 16:21:36 UTC 2014


Hi,

Please let me know if anyone faced following issue.

Thanks,
Venkatesh.


-----Original Message-----
From: DHCP Bugs via RT [mailto:dhcp-bugs at isc.org] 
Sent: Tuesday, November 04, 2014 7:00 PM
To: Venkatesh Siddappa
Subject: [ISC-Bugs #37715] AutoReply: dhcp-4.3.1 and initial versions. - dhcp user class option 77 encoding is not encoding as per the RFC. 


Greetings,

This message has been automatically generated in response to the creation of a trouble ticket regarding:
	"dhcp-4.3.1 and initial versions. - dhcp user  class  option 77 encoding is not encoding as per the RFC.", a summary of which appears below.

There is no need to reply to this message right now.  Your ticket has been assigned an ID of [ISC-Bugs #37715].

Please include the string:

         [ISC-Bugs #37715]

in the subject line of all future correspondence about this issue. To do so, you may reply to this message.

                        Thank you,
                        dhcp-bugs at isc.org

-------------------------------------------------------------------------
Bug Report from www.isc.org:

  * Name: venkatesh

  * Email: venkatesh.siddappa at oneaccess-net.com

  * Software Version: dhcp-4.3.1 and initial versions.

  * OS: Linux

  * Subject:dhcp user class option 77 encoding is not encoding as per the RFC.

Bug Detail

The format of this option is as follows:

Code Len Value
+—–+—–+——————— . . . –+
| 77 | N | User Class Data ('Len' octets) |
+—–+—–+——————— . . . –+

UC_Len_i User_Class_Data_i
+——–+———————— . . . –+
| L_i | Opaque-Data ('UC_Len_i' octets) |
+——–+———————— . . . –+

Each User Class value (User_Class_Data_i) is indicated as an opaque field. The value in UC_Len_i does not include the length field itself and MUST be non-zero. Let m be the number of User Classes carried in the option. The length of the option as specified in Len must be the sum of the lengths of each of the class names plus m:
Len= UC_Len_1 + UC_Len_2 + … + UC_Len_m + m. If any instances of User Class Data are present, the minimum value of Len is two (Len =
UC_Len_1 + 1 = 1 + 1 = 2)

===
config:

debian73-32bit:/home/oauser/opensource/dhcp-4.3.1/client# cat /etc/dhcp/dhclient.conf # Configuration file for /sbin/dhclient, which is included in Debian's # dhcp3-client package.
#
# This is a sample configuration file for dhclient. See dhclient.conf's # man page for more information about the syntax of this file # and a more comprehensive list of the parameters understood by # dhclient.
#
# Normally, if the DHCP server provides reasonable information and does # not leave anything out (like the domain name, for example), then # few changes must be made to this file, if any.
#

option rfc3442-classless-static-routes code 121 = array of unsigned integer 8;

#send host-name "andare.fugue.com";
#send host-name = gethostname();
#send dhcp-client-identifier 1:0:a0:24:ab:fb:9c; #send dhcp-client-identifier eth0; #send dhcp-lease-time 3600; #send dhcp-lease-time 36; send user-class "MC76"; #send vendor-class-identifier "1:0:a0:24:ab:fb:9c"; #supersede domain-name "fugue.com home.vix.com"; #prepend domain-name-servers 127.0.0.1; #omapi port 7911; request subnet-mask, broadcast-address, time-offset, routers, domain-name, domain-name-servers, domain-search, host-name, dhcp6.name-servers, dhcp6.domain-search, netbios-name-servers, netbios-scope, interface-mtu, rfc3442-classless-static-routes, ntp-servers, static-routes, extensions-path; #require subnet-mask, domain-name-servers; #timeout 60; #retry 60; #reboot 10; #select-timeout 5; #initial-interval 2; #script "/etc/dhcp3/dhclient-script"; #media "-link0 -link1 -link2", "link0 link1"; #reject 192.33.137.209;

#alias {
# interface "eth0";
# fixed-address 192.5.5.213;
# option subnet-mask 255.255.255.255;
#}

#lease {
# interface "eth0";
# fixed-address 192.33.137.200;
# medium "link0 link1";
# option host-name "andare.swiftmedia.com"; # option subnet-mask 255.255.255.0; # option broadcast-address 192.33.137.255; # option routers 192.33.137.250; # option domain-name-servers 127.0.0.1; # renew 2 2000/1/12 00:00:01; # rebind 2 2000/1/12 00:00:01; =============================== comand executed:
debian73-32bit:/home/oauser/opensource/dhcp-4.3.1/client# ./dhclient -4 -d -cf /etc/dhcp/dhclient.conf eth1

====

If i see in the wireshark "user-class "MC76";", is encoding as -> 4d 04 4d 43
37 36
But ideally it should have been in the form -> 4d 05 04 4d 43 37 36

DHCP servers not able to give offers because of user-class not matched.

Please let me know whether "user class option " not handled in isc dhcp cleint.

Thanks,
venkatesh.

---

This email was received through isc.org Bug Submission Form

All information within this email is considered confidential and for internal use only.



More information about the dhcp-users mailing list