If there are any classes in the host reservations, instead of clearing all
of the classes, remove the ones that are definede in the config. Then,
evaluate them again taking into account reserved ones.
The DHCPv4 server now takes into account client classes specified in
gobal reservations to select a subnet and/or pool for allocation within
a shared network.
Added exit-value argument to shutdown command.
kea-dhcpX servers now exit with EXIT_FAILURE status on db loss
src/lib/process/daemon.*
Daemon::exit_value_, new member with getter/setter
src/lib/process/d_controller.*
DControllerBase::launch() - now returns getExitValue()
DControllerBase::shutdownHandler() - uses exit-value argument to set exit
value
src/lib/process/tests/daemon_unittest.cc
TEST_F(DaemonTest, exitValue) - new test
src/bin/agent/main.cc
Use launch() return value for exit value.
src/bin/agent/tests/ca_controller_unittests.cc
TEST_F(CtrlAgentControllerTest, shutdownExitValue) - new test
src/bin/d2/main.cc
Use launch() return value for exit value.
src/bin/d2/tests/d2_command_unittest.cc
TEST_F(CtrlChannelD2Test, shutdownExitValue) - new test
src/bin/dhcp4/ctrl_dhcp4_srv.*
ControlledDhcpv4Srv::
commandShutdownHandler() - handle exit-value argument
shutdown(int exit_value) - added exit_value parameter
dbReconnect() - call shutdown(EXIT_FAILURE)
dbLostCallback() - call shutdown(EXIT_FAILURE)
src/bin/dhcp4/dhcp4_srv.*
Dhcp4Srv::run() - returns int Daemon::exit_value instead of bool
src/bin/dhcp4/main.cc
Use run() return value for exit value.
src/bin/dhcp4/tests/ctrl_dhcp4_srv_unittest.cc
TEST_F(CtrlChannelDhcpv4SrvTest, commands) - revamped test
src/bin/dhcp6/ctrl_dhcp6_srv.*
ControlledDhcpv6Srv::
commandShutdownHandler() - use exit-value argument to set exit value
shutdown(int exit_value) - added exit_value parameter
dbReconnect() - call shutdown(EXIT_FAILURE)
dbLostCallback() - call shutdown(EXIT_FAILURE)
src/bin/dhcp6/dhcp6_srv.*
Dhcp6Srv::run() - returns int Daemon::exit_value instead of bool
src/bin/dhcp6/main.cc
Use run() return value for exit value.
src/bin/dhcp6/tests/ctrl_dhcp6_srv_unittest.cc
TEST_F(CtrlDhcpv6SrvTest, commands) - revamped test
Instead of using a separate thread to read input from the fuzzer,
the input is now read in the main thread and transferred to the
interface on which Kea is expecting it to appear.
1. Convert to C++ class.
2. Extend framework to support DHCPv4 fuzzing.
3. Restrict size of data that can be accepted from AFL. (Kea will
only accept up to about 64k or data, (set by the size of a UDP
datagram). However, AFL can send much larger data packets,
which may cause problems in synchronization between the two
threads used to implement fuzzing in Kea.
src/bin/dhcp4/ctrl_dhcp4_srv.cc
Removed setting D2ClientCfg fetch function
src/bin/dhcp4/dhcp4_lexer.ll
src/bin/dhcp4/dhcp4_parser.yy
ddns-send-updates
ddns-override-no-update
ddns-override-client-update
ddns-replace-client-name
ddns-generated-prefix
ddns-qualifying-suffix
- added to DHCP4,SHARED_NETWORK,SUBNET4
hostname-char-set
hostname-char-replacement
- added to SHARED_NETWORK,SUBNET4
src/bin/dhcp4/dhcp4_srv.cc
Dhcpv4Srv::processClientFqdnOption()
Dhcpv4Srv::processHostnameOption()
Dhcpv4Srv::assignLease()
Use scoped DdnsParams from context to make decisions, pass
into D2ClientMgr functions, and supply hostname sanitizer
src/bin/dhcp4/json_config_parser.cc
configureDhcp4Server()
- use SrvConfig::moveDdnsParams() to move dhcp-ddns parameters
- handle new "ddns-" globals
src/bin/dhcp4/tests/config_parser_unittest.cc
src/bin/dhcp4/tests/d2_unittest.cc
src/bin/dhcp4/tests/dhcp4_test_utils.cc
src/bin/dhcp4/tests/fqdn_unittest.cc
src/bin/dhcp4/tests/get_config_unittest.cc
Updated and new tests
src/bin/dhcp4/dhcp4_srv.cc
Dhcpv4Srv::processRequest()
Dhcpv4Srv::processRelease()
Dhcpv4Srv::processDecline()
Dhcpv4Srv::processInform() - now all call sanityCheck()
src/bin/dhcp4/tests/dhcp4_srv_unittest.cc
TEST_F(Dhcpv4SrvTest, sanityCheckDiscover)
TEST_F(Dhcpv4SrvTest, sanityCheckRequest)
TEST_F(Dhcpv4SrvTest, sanityCheckDecline)
TEST_F(Dhcpv4SrvTest, sanityCheckRelease)
TEST_F(Dhcpv4SrvTest, sanityCheckInform) - new tests
src/lib/testutils/gtest_utils.h
New file with handy new test macros:
EXPECT_THROW_MSG()
ASSERT_THROW_MSG()
src/lib/testutils/Makefile.am
Added new file gtest_utils.h
Added a ChangeLog entry