[3407] Added one-shot behavior to set asiolink::IntervalTimer
asiolink::IntervalTimer::setup() has been extended to accept a mode
parameter which determines if the timer will reschedule itself after
each expiration (default behavior), or if it should only run for a
single interval and stop (one-shot).
[3407] Added on-receipt signal handling to util::SignalSet
util::SignalSet now supports registering a signal handler
from within it's internal handler. This allows a custom
handler to process signals as soon as they occur, rather
than through deferred processing.
[master] Bundy version of D2Controller missing handlers
Added static handlers for ModuleSession configuration and command
handling to BUNDY version of D2Controller that were removed from
DControllerBase as per 3401 review.
Static handlers were removed from DControllerBase.
Developer's guide has been updated to with --with-kea-config
discussion and updated diagrams.
Other minor corrections.
(Note ingore diffs in the diagram .svg files, they aren't particularly
meaningful to the human eye).
[3405] Properly initialize sigaction data for SignalSet object.
Had to use memset to reset sa_action structure. Without that the signal
handled wasn't installed correctly because of the random data in the
sigaction structure and caused unit tests to fail.
The configuration switch --with-kea-config, now selects between
two versions of D2Controller:
1. One which must run as a BUNDY module and is implemented in
bundy_d2_controller.(h/cc)
All of the BIND10 support was extracted from DControllerBase and moved
into this version of D2Controller.
This controller is tested in tests/bundy_d2_controller_unittests.cc
2. One that runs as a stand alone executable which must be supplied
with a configuration file via the command line and is implemented in
d2_controller.(h/cc).
This version of D2Controller is nearly identical the the original.
DControllerBase supports configuration from file.
This controller is tested in tests/d2_controller_unittests.cc
DControllerBase now inherits from Daemon which keeps it in step with
K4 and K6.
The stand-alone mode flag has been removed from all controllers.
[3405] LeaseMgr is not started until server is configured.
Starting lease manager in the server constructor implied the use of the
default memfile for a short period until the server is configured. The
default memfile configuration used the persistence (writing leases to disk)
which in many cases required root privileges. This caused some unit tests
to fail.
Fixed one typo and clarified in the configuration examples that it is up
to the client to pick the renew and rebind timers if the server doesn't
send option 58 and 59.
Tomek Mrugalski [Tue, 3 Jun 2014 14:34:54 +0000 (16:34 +0200)]
[3413] Several build steps no longer require python3
- *.spec files in src/lib/dns/tests/testsdata are now included in dist
- src/lib/util/pyunittests is removed
- src/lib/util/python trimmed down a lot
- fix for missing dhcp6_shutdown_test.sh in src/bin/dhcp6
- many python macros in configure.ac removed
(more of them to be removed in Makefiles)
Tomek Mrugalski [Fri, 30 May 2014 12:24:25 +0000 (14:24 +0200)]
[3399] Changes after review
- ChangLog updated (b10-dhcp4 => DHCPv4 server)
- stand-alone mode removed in Kea4,Kea6
- getInstance() used instead of server_
- ctrl_dhcp4_srv.cc: one stringstream instance now shared by all error messages
- ctrl_dhcp4_srv.h: comments cleaned up
- Added log message for received configuration
- kea_controller.cc: Unnecessary header/using namespace removed
- *.json files are now cleaned up in src/bin/dhcp4/tests
- added comment that explains lack of tests for Bundy backend
- kea_controller_unittest.cc now uses the same filename everywhere
Marcin Siodelski [Wed, 28 May 2014 18:12:10 +0000 (20:12 +0200)]
[3406] Ignore window size when calling ps to get process pid.
Without that change the name of the process will be truncated if the
command line to start the process is out of bounds of the window size.
When running unit tests on the build farm there is in fact no window so
the ps function wouldn't find a pid of Kea and the shell-based tests
would fail.
Consolidated DNSClient::doUpdate variants into a single method which
accepts a smart pointer to a TSIGKey instead of TSIGKey reference.
Simplified some unit tests.
Added missing commentary.
Corrected typos and copyright dates.