[Kea-announce] Kea 0.9.2-beta released!

Wlodek Wencel wlodek at isc.org
Tue Jun 30 19:18:51 UTC 2015

Kea 0.9.2-beta was released today!

Version 0.9.2-beta adds the following features to Kea:
* statistics - Kea now records a number of measurements, e.g. number of packets 
  received, type of packets, or leases assigned;
* control channel - If configured, it allows sysadmin to send commands
  to the server. For 0.9.2-beta the commands supported are for retrieving,
  resetting and removing statistics, but the number of commands is expected
  to grow with each release;
* logging: new loggers. Our logging system received a significant upgrade.
  There are several new loggers specified, so it's now possible to better
  fine tune logging;
* logging: new messages - many new log messages have been added to improve
  the traceability of the servers' behavior, especially in error conditions
* logging: updated existing messages - many existing messages were updated
  to include more tracing information 

Note: when migrating from Kea 0.9.1 to 0.9.2-beta:
* There is a new MySQL schema, reported as version 3.0. Kea 0.9.1 used 2.0.
  This new schema introduces tables that will eventually store host reservations.
  In 0.9.2-beta only database schema was updated, the new tables are not used
  by the code yet. kea-admin can be used to migrate to new schema.

== Download ==

The kea-0.9.2-beta source and PGP signature may be downloaded from:


The signature was generated with the ISC code signing key which is available at


Kea provides detailed documentation, including installation instructions
and usage tutorials. In addition, all logging messages have unique documented
explanations.  This documentation is included with the installation or via
http://kea.isc.org/docs/ in HTML, plain text, or PDF formats.  We also
maintain a public open source code tree and wiki pages with roadmap and issue
tracking at http://kea.isc.org/.

Limitations and known issues with this DHCP release can be found at


We'd like users of this software to please let us know how it worked for you
and what operating system you tested on. Feel free to share your configuration
or use case.  Also we would like to hear whether the documentation is adequate
and accurate (please open tickets for documentation omissions and errors).
We want to hear from you even if everything worked.

== Support ==

Professional support will be available when Kea reaches Release 1.0. Free
best-effort support is provided by our user community via a mailing list.
Information on all public email lists is available at


If you have any comments or questions about working with Kea, please share them
to the Kea Users List https://lists.isc.org/mailman/listinfo/kea-users or to
the Kea Jabber room.  Bugs and feature requests may be submitted via the ticket
tracking system at 


== Changes ==

The following summarizes changes and important upgrade notes since the previous
release (0.9.1). (See the git history for more details and additional 

969.    [func]          tomek
        KEA_SOCKET_TEST_DIR environment variable can be used to specify
        the directory for opening Unix sockets during tests. That may
        be used to avoid path length limitations when running unit-tests
        in deeply nested directories.
        (Trac #3918, git 9cfd502e8d4605eaf34f8744f90272dc3e8a3e34)

968.    [bug]           marcin
        DHCPv6 server extends the lifetime of the client's lease
        in the database when the client sends the Request message.
        This prevents premature lease expiration before the client
        renews the lease, according to the timers and lifetimes
        returned by the server.
        (Tracc #3913, git 1d64829a3f1a8288dc833ed388d9ffc9fe4cf491)

967.	[doc]		tomek
	Management API section added in the DHCPv6 chapter of the Kea
	User's Guide
	(Trac #3917, git 21305d2da26090e3fad1ff9fb242a2bbb6b7e56b)

966.	[func]		fdupont
	Include database software details in extended version information.
	(Trac #3882, git b0e166c4d8b0383ebd6e2f51d55eed68a2bcafa8)

965.	[func]		sar
	Per IPv6 subnet statistics (subnet[id].assigned-nas, 
	subnet[id].total-nas, subnet[id].assigned-pds, and
	subnet[id].total-pds) has been implemented.
	(Trac #3799, git 4aa4808268bbc54290578f60ba60ed33cf344712)

964.	[doc]		tomek
	User's Guide and Developer's Guide updated with statistics and
	control channel description.
	(Trac #3800, git 7ce8ca560370ec5f9bd4d5199a177b441f08a47e)

963.    [func]		tmark
	DHCPv6 server now supports a control channel, implemented over
	a UNIX socket. Currently supported commands are: statistic-get,
	statistic-reset, statistic-remove, statistic-get-all,
	statistic-reset-all, statistic-remove-all, and shutdown.
	(Trac #3797, git f49828612d9030c9f3441acaf4b3a9f60b492a3e)

962.	[func]		fdupont
	Make the parsing of options and vendor options more consistent
	between v4 and v6. In addition make the parsing more robust
	against malformed packets.
	(Trac #3618, git f4066793c5e034386c689fd72d2a91a70ffb6d5f)

961.	[func]		fdupont
	Improved error messages when handling invalid or malformed
	configuration file. File and line number are printed, when
	(Trac #3697, git 70fc36e164e988c251bdaaee7e27c5f6407e0f4c)

960.	[build]		fdupont
	Get rid of the last bundy pieces of code.
	(Trac #3732, git 6b7da42f902fabb6855e54a19ea472c18ba82a93)

959.	[build]		fdupont
	Removed no longer used logging in cc and config libraries.
	(Trac #3732, git 8d0324f4786900db953489ebaa9e018b1238543f)

958.	[func]		tomek
	DHCPv4 server now supports control channel, implemented over UNIX
	socket. Currently supported commands are: statistic-get,
	statistic-reset, statistic-remove, statistic-get-all,
	statistic-reset-all, statistic-remove-all, shutdown.
	(Trac #3880, git 688658395518f0b97d5384af81ceab5206691ad5)

957.	[func]		tomek
	Per IPv4 subnet statistics (subnet[id].assigned-addresses and
	subnet[id].total-addresses) has been implemented.
	(Trac #3798, git bab2030f56bbf390959f9f9238a8acc62d583c70)

956.	[func]		marcin
	Improved log messages emitted by the allocation engine,
	which now uses a dedicated logger.
	(Trac #3852, git 923928774f4f59c887d768cf155b5978e838a6f2)

955.	[func]		tmark
	Added unit tests to kea-admin for testing the lease-dump command
	with a PostgreSQL backend. Updated PostgreSQL database installation
	instructions in Kea Administrator's guide to include use of kea-admin
	(Trac #3884, git 0772b7df2a89e1019141be1d0ddec30d53c4b919)

954.	[func]		fdupont
	Enhance the versioning information printed by the executables and
	make it more consistent across all of the executables. "-v" is for
	basic Kea version information, "-V" provides more detailed
	versioning and versions for external dynamic libraries, finally
	"-W" provides the configure report from the configuration step
	during the build of Kea.
	(Trac #3513, git 584cf666e101c6cb5c9af76175ddd867ece85764)
	(Trac #3859, git 384e6c6225de18fc97d606e4a1972baeef598ba4)

953.	[bug]		fdupont
	Corrected the setting of string characters to values above 127
	in HMAC tests.
	(Trac #3829, git 54f4ec64e513fea1547631122dc1af8579fae3db)

952.	[bug]		fdupont
	Made some loop indexes an unsigned type to avoid compiler warnings
	where the termination condition is comparison with an unsigned
	(Trac #3833, git 3db9f1d78f59856b982a1ff84c3b5a1ba7ea39df)

951.	[build]		fdupont
	Removed BUNDY configuration backend.
	(Trac #3732, git 96364cbbb15318c8f55d5b287cda0990d3eaae32)

950.	[doc]		marcin
	Updated section about logging in the User Guide. Also,
	updated Hooks Developer's Guide with the recommendations for
	the developers about use of logging in hooks libraries.
	(Trac #3805, git b403de1f335a2fb5098c9abc0858b8137892f868)

949.	[func]		tmark
	kea-admin now supports dumping MySQL and PostgreSQL lease tables
	to CSV file, via a new command "lease-dump".  This is primarily
	intended for use as a diagnostic tool.
	(Trac #3802, git 6ec774e8523e7f8415d6cd18c34062489e127847)

948.	[bug]		fdupont
	libdhcpsrv: check if new host reservation tries to use an already
	reserved address.
	(Trac #3652, git 4f10b78341b197bd321fbf2ec71db7420e40718d)

947.	[func]		marcin
	DHCPv6 server now supports Rapid Commit option.
	(Trac #3070, git a6b6156aaa95ab74c69a537e90483f82e9fbe4a2)

946.	[doc]		tmark
	Added documentation for kea-admin "lease-dump" command to the
	Kea Administrator’s Guide and kea-admin man page.
	(Trac #3803, git 54b59b7ef02f6428405794066ea779e9bd4c0b6e)

945.	[func]		marcin
	Improved log messages emitted by the DHCPv6 server. Also,
	the server is now using multiple distinct loggers for logging
	messages pertaining to different functional parts of the
	code, e.g. packet transmission, lease allocation, DDNS etc.
	(Trac #3807, git c95ebdaf39c3d8d78d83d53db15824c60078f566)

944.    [func]      tmark
	kea-admin commands lease-init, lease-version, and lease-upgrade
	now support PostgreSQL. Note that at this time the PostgreSQL
	backend only supports Kea schema version 1.0, so there are no
	upgrades available.
	(Trac #3883, git 990a0d72fa247e4a12e2608994204c48274e4cd6)

943.	[func]		sar
	Split the DHCP-DDNS logging messages among several loggers to
	allow the administrator finer control over debugging messages.
	Messages pertaining to the name change requests processing include
	an ID, currently the DHCID, to identify the transactions.
	(Trac #3808, git 4fbe08234049de6ef67bb5cdb244d180a7a4c3a9)

942.	[func]		tomek
	18 new statistics added in DHCPv4 server: generic packet counters,
	per packet type counters, parsing failure and packet drops.
	(Trac #3794, git a61f40c44910a09699a9a566a5ec35ab758564ba)

941.	[bug]		marcin
	Configuration parser for host reservations returns an error
	when an unsupported parameter is specified.
	(Trac 3810, git 54ee0f6328a303c366dd8239e768dfc4a23a5d9b)

940.	[bug]		fdupont
	DHCPv4 server drops DHCPRELEASE messages sent from a bad
	location (i.e., no subnet can be selected)
	(Trac 3504, git f0f13ac74779f76ed7af91bd5dab3d11ba00be79)

939.	[bug]		fdupont
	Small fix in HooksDhcpv4SrvTest.subnet4SelectSimple unit-test.
	(Trac 3881, git a21afdffec41fceb61e6760d4108d670b2eabe75)

938.	[build]		fdupont
	Removed Python from the log library (code, message compiler and
	(Trac #3734, git d24b7c9716c6eb7a3e9dd2cb3fd2d1bfe4e1201f)

937.	[bug]		fdupont
	LOG_UNRECOGNIZED_DIRECTIVE to follow US English spelling.
	(Trac #3762, git 235e3304746352e9341008225f9f2392586a9f66)

936.	[bug]		fdupont
	Added an ASSERT to avoid a crash in HooksDhcpv4SrvTest
	subnet4SelectSimple unit test. Fixed out of bounds vector accesses
	in perfdhcp (which should not be able to handle links
	with long (i.e., more than 6 bytes) link-layer addresses).
	(Trac #3868, git c20f47e19d6060605c0611754db7b66b08553caa)

935.	[bug]		fdupont
	Fixed 3 out of bounds accesses on vectors in DHCP++ code.
	(Trac #3854, git de263ad0008f3494a85592f78db1ec662b68e689)

934.	[bug]		fdupont
	to avoid conflicting with a constant of that name defined on some
	operating systems.
	(Trac #3861, git 28205225ceed03ff3126e43cd06cedbaa7d8d657)

933.	[func]*		marcin
	DHCPv4 server by default identifies a client using the
	client-identifier, if present. The new configuration
	parameter 'match-client-id' allows for disabling this
	behavior, i.e. 'chaddr' field is used to identify the
	client instead.
	(Trac #3747, git b9dc6ffd0f3396e9da8e0c83fd82164b8b8af011)

932.	[func]		kalmus
	MySQL schema has been extended with tables that can store
	host reservation. This ticket updates database schema only,
	the tables are not in use yet.
	(Trac #3567, git d2cd5d53b3f31422a342c9bb8946dad9ed1ea032)

931.	[func]		marcin
	Improved log messages emitted by the DHCPv4 server. Also,
	the server is now using multiple distinct loggers for logging
	messages pertaining to different functional parts of the
	code, e.g. packet transmission, lease allocation, DDNS etc.
	For complete list of logger names see User Guide.
	(Trac #3806, git 7b148c2dd5e2696a541883223ce1efd2de81f143)

930.	[func]		tomek
	Statistics Manager is now implemented. There is a new library
	libkea-stats that governs statistics collection. Its usage will
	be added in the upcoming tickets.
	(Trac #3793, git 68e9554ecabfc2a79731eeec1c706522e4d39332)

929.	[build]		fdupont
	Corrected problem in build system whereby specifying an
	installation directory on the "configure" command line that
	included a "+" in the name caused the build to fail.
	(Trac #3713, git 741ff09b743307bad28ae13db440e5e0f402d319)

928.	[build]		fdupont
	A CONFIG_H_WAS_INCLUDED define has been added to provide
	a way in source files to check whether config.h has been included.
	(Trac #3812, git cbb135d5f217b0692dcdbc9cfcc04f6a0dbc3922)

927.	[bug]		tmark
	DHCPv4 no longer attempts to update the lease database with the
	generated FQDN when processing DHCPDISCOVERs.
	(Trac #3779, git 0b413ee8aba1afa1643b216a1e8c35103c6c975b)

926.	[bug]		marcin
	Fixed the crash during the logging deinitialization.
	(Trac #3823, git 435b958860ec7b921645bd5923fff96ea4341f19)

925.	[func]		marcin
	libkea-hooks logs when the callouts execution begins or ends
	for the particular hook. It also logs the execution time of
	individual callouts and the total time for all callouts.
	(Trac #3804 git dd1432d7807e7d3b54c87dd4b3155d3110619fbd)

924.	[bug]		marcin
	Removed shell warning about the "missing format character"
	in the keactrl usage.
	(Trac #3784, git aa683395a4cd75af5340eb8603fe46b7b0dd8f4e)

923.	[func]		tmark
	The DHCPv4 server now logs packets it has either dropped as invalid
	or to which it has replied with a NAK to a separate logger,
	(Trac #3743, git cb91ca851099423e1b6c39cca3f3e2ba29795a51)

922.	[build]		fdupont
	The config.h file should never be included by another include file.
	Copy missing header files to the install directory.
	(Trac #3782, git ea6e9d166faa54b1f9781bc56d7d8fee6c87b1f9)

921.	[func]		marcin
	libdhcpsrv: Added log traces to the host manager.
	(Trac #3699, git 75b75c89db88eb1a81e76f5550f2a5b3155ce42d)

920.	[bug]		marcin
	Corrected issues with logging initialization in hooks
	libraries. The dynamically loaded hooks libraries may now
	define their own loggers which are configurable using Kea
	configuration file.
	(Trac #3198, git 8216a6b1a2ed6e2b38919280809ee21fc4107fd6)

Thank you again to everyone who assisted us in making this release
possible. If you would like to contribute to ISC to assist us in
continuing to make quality open source software, please visit our
donations page at http://www.isc.org/donate-to-isc/.

We look forward to receiving your feedback.

More information about the Kea-announce mailing list