[RFC2132]Subnet-mask option doesn't come previously.

Yoshihiro takahashi yoshihiro.takahashi at miraclelinux.com
Fri May 20 10:34:25 UTC 2011


Hi.

Subnet-mask option doesn't come previously. 
There is a pattern that doesn't become RFC2132. 
I found the correction of [ISC-Bugs #17117] to be wrong. 

    - The subnet-mask option inclusion now conforms with RFC2132 section 3.3;
      it will only appear prior to the routers option if it is present on the
      Parameter-Request-List.  The subnet-mask option will also only be
      included by default (if it is not on the PRL) in response to DISCOVER
      or REQUEST messages.
      [ISC-Bugs #17117]

Description of problem:
Subnet-mask option doesn't come previously. 
Because a turn does not change when there is subnet-mask of last.

Version-Release number of selected component (if applicable):
ISC DHCP 4.2.1-P1

How reproducible:
100%

Steps to Reproduce:
1. tcpdump -s 15000 -i eth0 -w case1.dump
2. echo "request routers,subnet-mask;" > case1-dhclient.conf
3. dhclient -cf case1-dhclient.conf
4. check case1.dump

Actual results:
DHCP packet routers, subnet-mask

Expected results:
DHCP packet subnet-mask, routers

Additional info:
diff -aurp dhcp-4.2.1-P1.orig/common/options.c dhcp-4.2.1-P1/common/options.c
--- dhcp-4.2.1-P1.orig/common/options.c 2011-03-25 06:57:13.000000000 +0900
+++ dhcp-4.2.1-P1/common/options.c      2011-05-13 22:24:35.000000000 +0900
@@ -1166,7 +1166,7 @@ store_options(int *ocount,
        /* Eliminate duplicate options from the parameter request list.
         * Enforce RFC-mandated ordering of options that are present.
         */
-       for (i = 0; i < priority_len - 1; i++) {
+       for (i = 0; i < priority_len; i++) {
                /* Eliminate duplicates. */
                tto = 0;
                for (ix = i + 1; ix < priority_len + tto; ix++) {


Best regards,



More information about the dhcp-workers mailing list