Moved string/enum conversion functions inside D2ClientConfig
Changed underscores to hypens in replace-client-name values and changed
all literal values to lower case.
Fixed minor wording issues in admin guide and new log messages.
Added commentary and extra error logging to unit tests
Added test case for invalid value of replace-client-name
Distcheck sporadically fails to clean up test_leases.csv.2
can be left behind by dhcp4 and dhcp6 testing.
src/bin/dhcp4/tests/Makefile.am
src/bin/dhcp6/tests/Makefile.am
- Added test_leases.csv.* to CLEANFILES
src/lib/asiolink/Makefile.am
added asio_wrapper.h to list of sources
src/lib/asiolink/asio_wrapper.h
updated commentary to include GNU/Boost bugs and
added prominent warning comment
src/bin/dhcp6/dhcp6_messages.mes
- Added new log message, DHCP6_DDNS_SUPPLY_FQDN
src/bin/dhcp6/dhcp6_srv.cc
- Dhcpv6Srv::processClientFqdn() - modified to support the name
replacement modes
src/bin/dhcp6/tests/fqdn_unittest.cc
- FqdnDhcpv6SrvTest::testReplaceClientNameMode() new method which tests
a server's handling of a single client packet for a given
replace-client-name mode.
- TEST_F(FqdnDhcpv6SrvTest, replaceClientNameModeTest) - new test which
exercises the permutations of client packets and replace-client-name
modes.
src/bin/dhcp4/dhcp4_messages.mes
- Added new log message DHCP4_SUPPLY_HOSTNAME
src/bin/dhcp4/dhcp4_srv.cc
- Dhcpv4Srv::processClientName() - pushed lack of host option in the
client request down into processHostoption()
- Dhcpv4Srv::processHostnameOption() - modified to support the new name
replacement modes
src/bin/dhcp4/tests/fqdn_unittest.cc
- NameDhcpv4SrvTest:: testReplaceClientNameMode() - new method which
tests a server's handling of a single client packet for a given
replace-client-name mode.
- TEST_F(NameDhcpv4SrvTest, replaceClientNameModeTest) - new test which
exercises the permutations of client packets and replace-client-name
modes.
The D2 client configuration parameter, replace-client-name, was
changed from a boolean, to an enumerated list of modes:
"NEVER" - do not alter or supply the client name
"ALWAYS" - always replace the client name, or supply it if
not sent by the client
"WHEN_PRESENT" - replace the client name sent by the client,
do not supply one otherwise
"WHEN_NOT_PRESENT" - supply the client name only if one was
not sent by the client
src/lib/dhcpsrv/d2_client_cfg.cc
src/lib/dhcpsrv/d2_client_cfg.h
Added the D2ClientConfig::ReplaceClientNameMode enumeration.
src/lib/dhcpsrv/parsers/dhcp_parsers.cc
- Alter replace-client-name parsing to parse the mode labels.
- Maps boolean literals true and false to RCM_WHEN_PRESENT and
RCM_NEVER respectively
src/bin/dhcp4/dhcp6_srv.cc
src/bin/dhcp4/dhcp4_srv.cc
src/lib/dhcpsrv/d2_client_mgr.h
- Adapted to use the enumeration
src/bin/dhcp4/tests/config_parser_unittest.cc
src/bin/dhcp4/tests/fqdn_unittest.cc
src/bin/dhcp6/tests/config_parser_unittest.cc
src/bin/dhcp6/tests/fqdn_unittest.cc
src/lib/dhcpsrv/tests/cfgmgr_unittest.cc
src/lib/dhcpsrv/tests/d2_client_unittest.cc
src/lib/dhcpsrv/tests/d2_udp_unittest.cc
src/lib/dhcpsrv/tests/dhcp_parsers_unittest.cc
- Alter existing tests to use the enumeration. Note false was replaced
with RCM_NEVER and true with RCM_WHEN_PRESENT
The message may have multiple causes, a shutdown being one of
them. As the condition leading to the message is benign, the
message has been made a debug message.