BIND 10 #2637: DHCP code tidy-up for the release in January 2013

BIND 10 Development do-not-reply at isc.org
Mon Jan 21 13:24:27 UTC 2013


#2637: DHCP code tidy-up for the release in January 2013
-------------------------------------+-------------------------------------
            Reporter:  marcin        |                        Owner:
                Type:  task          |  UnAssigned
            Priority:  medium        |                       Status:
           Component:  dhcp          |  assigned
            Keywords:                |                    Milestone:
           Sensitive:  0             |  Sprint-DHCP-20130122
         Sub-Project:  DHCP          |                   Resolution:
Estimated Difficulty:  0             |                 CVSS Scoring:
         Total Hours:  0             |              Defect Severity:  N/A
                                     |  Feature Depending on Ticket:
                                     |          Add Hours to Ticket:  0
                                     |                    Internal?:  0
-------------------------------------+-------------------------------------
Changes (by marcin):

 * owner:  marcin => UnAssigned
 * status:  accepted => assigned


Comment:

 The summary of changes:
 - Fixed configuration of the V4 and V6 servers:
   - Server did not get the configuration on its startup until some change
 has been made to the configuration.
   - Config handler now uses full configuration merged with the new
 configuration passed to it, which should satisfy the dependencies between
 various parsers.
 - Minor fixes to logging, i.e. cast uint8_t to int to avoid printing of
 unreadable chars
 - Fixed doxygen and clang static analyzer issues
 - Fixed typos in dhcpX.spec files
 - Enabled setting FQDN for options - ommision in one of the previous
 tickets
 - Merged !Option::pack4() and !Option::pack6()

 Most of the changes made had been introduced as a result of basic manual
 tests of DHCPv4 and DHCPv6 servers. The test involved installation of a
 server, running bindctl and attempting to set various parameters, firing
 the dhclient (or dhclient and relay for V4) and checking whether the lease
 has been granted and various options returned to the client.

 Eventually it has been decided NOT to replace the reference to an
 !OptionDefinition to the pointer when creating !OptionCustom object. The
 copy constructor inside !OptionCustom will not let an !OptionDefinition
 object to invalidate.

 There is one outstanding issue that has been discovered during testing.
 That is, the configuration parsers do not handle default values very well.
 This specifically refers to setting option values and option definitions.
 For example, the !''dhcp4!'' is the default option space for each option.
 However, when leaving the default value the parser will simply receive
 partial configuration (that excludes space name). This in turn will cause
 an error message that the !''space!'' parameter is missing. For this
 reason it is necessary to implement some conditions in option parsers that
 set default value for various parameters when they are not received from
 the Config Manager. The #2646 has been submitted to resolve this issue.

-- 
Ticket URL: <http://bind10.isc.org/ticket/2637#comment:4>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development


More information about the bind10-tickets mailing list