Knowledge Base ISC Main Website Ask a Question/Contact ISC
Kea 1.4.0
Author: Wlodzimierz Wencel Reference Number: AA-01624 Views: 355 Created: 2018-06-15 15:36 Last Updated: 2018-06-15 15:39 0 Rating/ Voters
= Kea 1.4.0, June 15 2018, Release Notes =

Welcome to the 1.4.0 release of Kea. Kea is a DHCP implementation developed by 
Internet Systems Consortium, Inc. that features fully functional DHCPv4 and 
DHCPv6 servers, a dynamic DNS update daemon, a Control Agent (CA) that provides 
a REST API to control the DHCP servers, an example shell client to connect to 
the CA and a DHCP performance measurement tool. Both DHCP servers fully support 
server discovery, address assignment, renewal, rebinding, release, decline, 
information request, DNS updates, client classification and host reservations. 
The DHCPv6 server also supports prefix delegation. Lease information can be 
stored in a MySQL, PostgreSQL or Cassandra database; it can also be stored in a 
CSV file. Host reservations can be stored in a configuration file; they can 
also be stored in a MySQL, PostgreSQL, Cassandra databases and to some degree 
also retrieved from a RADIUS server.

Version 1.4.0 adds the following features to Kea:

* High Availability - To provide a highly available service, despite server 
failure, two Kea instances can now be configured to run as a pair. Two modes 
are supported. In hot standby mode there is a primary instance handling all 
traffic and sending updates to its secondary partner. The secondary monitors 
the health of the primary and is able to take over automatically in case the 
primary fails. In load balancing mode both partners are active and are handling 
approximately half of the traffic traffic. In case of a failure of either 
server, the partner is able to take over responding to all traffic directed to 
both servers. Support for additional backup servers is implemented. The backup 
server's database is updated as soon as possible after changes are made to the 
primary server's database, so that it can be used as an almost drop-in 
replacement in case of catastrophic failures that take out both primary and 
secondary servers. The solution supports both IPv4 and IPv6 and can work with 
any backend, including memfile. Note that this is NOT an implementation of the 
IETF draft DHCPv4 failover (which does not support DHCPv6).

The HA feature was planned to be a Premium feature, and so it was not included 
in the Kea 1.4 open source beta package. During the beta period we decided to 
instead offer it as part of the free open source to enable more users who rely 
on DHCP failover to migrate to Kea.

* Database improvements - Many Kea users report using multiple Kea instances 
sharing a single database backend, or cluster of databases. One of the 
frequently requested features was the ability to report accurate statistics in 
this case. This surprisingly tricky problem was solved for MySQL and PostgreSQL 
by a new stat_cmds hook library and schema updates.  Users also requested the 
ability to reconnect after the database connection is lost for whatever reason. 
NOTE: You will need to upgrade any existing MySQL and PostgreSQL Kea databases 
to the new schema versions. This is readily done using kea-admin:
$ kea-admin lease-upgrade {mysql|pgsql} -u database-user -p database-password 
-n database-name

* Cassandra - Kea has had experimental support for a Apache Cassandra database 
backend for a while, but the feature hadn't been finished or fully tested. This 
has changed: the code now supports host reservations and has a great number of 
new smaller fixes and improvements. Its is now both easier to install and much 
better documented. Thank you to Deutsche Telekom AG for sponsoring this work.

* Classification - It is now possible to specify client classes on a pool 
level, so you can control who is able to use specific pools, group similar 
clients together or even reject clients that don't meet certain class 
requirements. Class expressions have expanded capabilities. The most popular 
seems to be a member operator, which determines whether packet is a member of a 
given class. Two new built in classes - KNOWN and UNKNOWN - have been added. 
Complex boolean logic is available. Ever wanted to do member(foo) and not 
member(bar)? Now you can.

* Bug fixes and quality of life improvements - With 176 tickets closed (134 
before beta and 42 after beta), 1.4.0 is by far the biggest release we ever did.

* Extended API - Several new commands have been implemented. This Kea version 
supports 65 management commands that allow you to conduct various operations 
during operation, such as setting new configuration, list, retrieve, add or 
delete subnets, shared networks, host reservations, leases and much more.

We have also added a new premium hook library:

* RADIUS - Kea can now be integrated with an existing RADIUS server. Both 
access and accounting roles are supported. Kea is able to send Access-Request 
messages and alter its behavior depending on the responses. Specific IP 
addresses may be assigned (if Framed-IP-Address or Framed-IPv6-Address is 
received), client can be assigned to specific pool (if Framed-Pool or 
Framed-IPv6-Pool is received) or denied service altogether (if Access-Reject is 
received). Kea can also send accounting messages to RADIUS accounting servers. 
As with other features, this supports both IPv4 and IPv6.

We have introduced the following backward incompatible changes since Kea 1.4.0 
beta release:

* Logger names - Several Kea loggers have been renamed to adhere to the common 
naming convention, i.e. hyphens are used instead of underscores and loggers 
used by the hook libraries use include "-hooks" postfix. For example: 
''kea-dhcp4.lease-cmds-hooks'' rather than ''kea-dhcp4-lease_cmds''). This 
change affects loggers used both in the core Kea code and in the hooks 
libraries. See Kea ticket #5622 for details.

* Host reservations API changes - Removed deprecated API functions which had 
been used for retrieving host reservations by HW address and/or DUID. This 
change does not affect Kea users. It merely affects hooks library developers 
who use the removed functions for retrieving host reservations. See Kea ticket 
#5563 for details.

* Hook installation - We have changed the installation method for hooks 
packages. Hooks released with earlier versions of Kea will need to be updated 
to the Kea 1.4 versions.

* Client Classification change planned for Kea 1.5 - In a future version of 
Kea, probably in Kea 1.5, we would like to adjust the option precedence order 
for Kea so that it matches the order for ISC DHCP (to simplify configuration 
for users migrating to Kea). Currently, Kea uses host, pool, subnet, shared 
network, class, global precedence, while ISC DHCP uses host, class, pool, 
subnet, shared network, global. Because this is a potentially disruptive change 
to existing Kea users, we want to give advance notice that we are planning 
this. To express your feedback about this pending change, please send your 
comments to kea-users at lists.isc.org.

== License ==
Kea 1.4.0 is released under the Mozilla Public License, version 2.0.

   https://www.mozilla.org/en-US/MPL/2.0

The premium hook libraries are provided in source code form, under the terms of 
an End User License Agreement (you are not permitted to redistribute).

== Download ==

The Kea 1.4.0 source may be downloaded from:

   https://ftp.isc.org/isc/kea/1.4.0/kea-1.4.0.tar.gz

A PGP signature of the distribution is at

   https://ftp.isc.org/isc/kea/1.4.0/kea-1.4.0.tar.gz.sha512.asc

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

   https://www.isc.org/about/openpgp

ISC provides detailed documentation, including installation instructions and 
usage tutorials in the Kea Administrator Reference Manual. Documentation is 
included with the installation or via https://kea.isc.org/docs in HTML, plain 
text, or PDF formats.  ISC maintains a public open source code tree at 
https://github.com/isc-projects/kea and wiki pages with roadmap and issue 
tracking at https://kea.isc.org.

Limitations and known issues with this release can be found at 
https://kea.isc.org/wiki/KeaKnownIssues

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 for Kea is available from ISC. We encourage all 
professional users to consider this option: Kea maintenance is funded with 
support subscriptions. For more information on ISC's DHCP software support see 
https://www.isc.org/dhcp-subscription/.  Free best-effort support is provided 
by our user community via a mailing list. Information on all public email lists 
is available at https://www.isc.org/community/mailing-list

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.  Bugs 
and feature requests may be submitted via the ticket tracking system at 
https://kea.isc.org.

== Changes ==

The following summarizes changes and important upgrade notes since the previous 
release (1.4.0-beta).

1427.    [bug]        marcin
    Resolved multiple problems causing slow synchronization of
    leases in the HA hooks library, including adjusting
    timeouts in control channel and improving performance of
    responses sent by the Command Manager to Control Agent.
    Also, introduced 'sync-timeout' configuration parameter
    into HA hooks library to control lease database
    synchronization timeout.
    (Trac #5649, git cbc29128863916a13364749bf681586aea2aa51e)

1426.    [func]        fdupont
    Added KNOWN and UNKNOWN built-in client classes: after host lookup
    if a matching host entry is found the incoming packet is added to
    the KNOWN class, if none is found to the UNKNOWN class. Then
    expressions depending directly or indirectly on these classes are
    evaluated. Note these classes may be used to select a pool but
    they may not to select a subnet.
    (Trac #5549, git 6a856ed9722b918a65dca15ff44314e28897784e)

1425.    [bug]        marcin
    Improved performance of the DHCP server running in High
    Availability configuration by optimizing the management of
    CalloutHandle objects passed to the callouts.
    (Trac #5647, git eea88d5c8f4d8efb6c5bfdfbf4e070a90069db5d)

1424.    [doc]        marcin
    List of hooks libraries provided by ISC includes an
    information which Kea servers the libraries can be attached
    to. The detailed description of each supported hooks library
    also contains this information.
    (Trac #5613, git 9d6f8de3d988c42c413a7d628e31854e9c80d8c9)

1423.    [bug]        tmark
    kea-dhcp4 and kea-dhcp6 now retain and emit global, scalar
    parameters specified in their configuration.
    (Trac #5378, git 4d05122f03d00b10a888c768fe1725cae9d6aea6)

1422.    [build]        fdupont
    Commented out BOOST_ASIO_DISABLE_THREADS in configure to reflect
    the current use of threads by boost ASIO in Kea.
    (Trac #5615, git f3fc8b1a4257a42a97aaf88a36287bbe33d1f65b)

1421.    [build]        marcin
    Moved libdhcp_ha (High Availability) hooks library from
    premium to main Kea repository and changed its license to
    MPLv2.0. Future ChangeLog entries for this library will be
    tracked in the Kea ChangeLog file.
    (Trac #5645, git 19b2553d4869bdd52b63b6f7969052d8a724f78d)

1420.    [doc]        marcin
    Updated list of loggers in the Kea Administrator's Manual.
    The updated list contains all loggers, including those
    from supported hooks libraries.
    (Trac #5622, git bd94afc0af7183452c94f3b5768c6138f79d3b60)

1419.    [doc]        marcin
    Documented "sync-leases" configuration parameter of the HA
    hooks library in the Kea Administrator's Manual.
    (Trac #5621, git 4ebac3a411aa02d1cc3d74e7eaf3212ad208159a)

1418.    [bug]        marcin
    Corrected bug in the allocation engine which caused occasional
    lease allocation failures when a loaded hooks library set the
    callout status to non default value, e.g. "skip" rather than
    "continue". In such cases, the server reported that it failed
    to allocate a lease "after 0 attempts".
    (Trac #5638, git f2e9b686ae52e1b06f660e1b522588b1440e2620)

1417.    [bug]        marcin
    Improved logging in the HTTP library both for the server and
    the client.
    (Trac #5205, git fd0bec610c89084d5a5d43ef032c9875c3e6ad46)

1416.    [bug]        fdupont
    Added support of recent Botan 2.x crypto backend.
    Note that Botan 1.[9-11] is still supported but not recommended.
    (Trac #5382, git 22651b1935a2397edfbddb9b8873c353c090f18e)

1415.    [bug]        tmark
    kea-dhcp4 and kea-dhcp6 now validate the schema version
    of lease and host back ends after establishing a connection.
    If a schema version does not match the version the server
    expects, the server will emit an error log and close
    the connection. This applies to MySQL, PostgreSQL, and Cassandra.
    (Trac #5629, git 15c34afdba45be609e35284a209ad18ed66605f8)

1414.    [bug]        tmark
    kea-dhcp4 parsing now treats renew-timer and rebind-timer
    as optional with no defaults. The logic for sending them
    to the client was changed to: send rebind-timer only
    when it is less than the lease lifetime; and send renew-timer
    only when it less than either the rebind-timer if specified,
    or lease lifetime in the absence of rebind-timer.
    (Trac #5596, git 38426e16ec04a786e35a65d27cbcb7dbabfe79b5)

1413.    [func]        fdupont
    Removed getAll, get4 and get6 methods using both hardware address
    and DUID from host backend (aka host data source) APIs.
    This is an *incompatible* change.
    (Trac #5563, git db4c34b069f114f93d9f29cdeb02b536a0fbc982)

1412.    [func]*        marcin
    The client classes used by the High Availability hook library
    use upper case "HA_" prefix and they are now built-in classes.
    This means that those classes do not need to be    declared in the
    server configuration.
    (Trac #5632, git 2d590bfd7d1b0eca377eb99eef83a3083a1d7399)

1411.    [bug]        fdupont
    Fixed warnings about lambda's not using captured variables.
    (Trac #5591, git f88a505823d39faec7dc5f647f40e6454e5dfc74)

1410.    [bug]        marcin
    Fixed multiple hanging Control Agent unittests.
    (Trac #5576, git 310af68101cba74220652ec2b403520fc5666dc0)

1409.    [doc]        marcin
    Documented in the User's Guide how Kea HA service behaves
    when the clock skew between active servers becomes too
    high.
    (Trac #5603, git ffaff4d2a03600bb4f81d335b49a840e31d03c8c)

1408.    [func]        tomek
    perfdhcp now supports -o option that adds DHCP options.
    This may be used to simulate various clients.
    (github #77, git b81dedb7f0a2516130e7bd799d9084c63f0e844c)

1407.    [bug]        tmark
    Corrected an issue where the destruction of loggers
    prior to the destruction of the TimerMgr singleton
    caused unit tests to segfault.
    (Trac #5626, git 9f4e3f9cd8acf8e7d1d3e714d8f904754377c00f)

1406.    [func]        fdupont
    Added pkg-config alternative to configure --with-cql path so
    now you can use either pkg-config or cql_config.
    (Trac #5488, git 55498ca3455517132533a39002ebfc05d26c7e38)

1405.    [bug]        tmark
    Corrected missing "override" warning in cql_lease_mgr.h
    (Trac #5625, git df3068ba0e520df4d96dd38e2de679beb99f2e23)


The following summarizes changes and important upgrade notes since the previous 
release (1.3.0).


1404.    [doc]        tomek
    Hooks package installation intruction added to Kea
    User's Guide.
    (Trac #5427, git 7bc5e4297e8b2ccb87d5d5d79ae066fe32964841)

1403.    [build]        tomek
    Support for hook packages has been updated. The --with-tierX
    flags have been removed. Each hook library is now detected
    independently.
    (Trac #5619, git aa1f95d699dc664a5660db120ef71edee910a9b3)

1402.    [bug]        tomek
    Fixed a crash that was caused by hook library registering
    new hook points. This fixes unit-tests with forensic
    logging, but the problem was generic and could cause
    other libraries to segfault during unloading or reconfiguration.
    (Trac #5577, git 2f9d1aa95c16e12fabc50d581b966f20b6d8a950)

1401.    [bug]        tmark
    Corrected an issue which caused kea-dhcp4 and kea-dhcp6 servers
    to unload their hooks libraries upon receipt of the first client
    message following a dynamic reconfigure.
    (Trac #5564, git 5111f569bd251c2a98a2e6d958e8f6b640a1802d)

1400.   [func]        tmark
    A new hooks library, Stat Cmds, has been added to the open source
    distribution.  This library provides commands for fetching lease
    allocation statistics using lease backend as the source for
    lease counts per state.  This resolves an issue in deployments,
    where multiple Kea servers share a common lease backend, which made
    it difficult to obtain accurate lease statistics.
    (Trac #5589, git 36f20f1c8b28f629fe2896b817ac0f3c6026fe0e)

1399.    [func]        tmark
    Support for fetching lease allocation statistics by subnet-id
    or subnet-id range has been added to the Cassandra back end. This
    allows it to be used in conjunction with the Stat Cmds hooks
    library commands for fetching shared lease statistics.
    (Trac #5588, git 3fcfefdea5ac838936c2109ecbbbc32eabc8fdba)

1398.    [bug]        fdupont
    Fixed bug in configurations where "outbound-interface" parameter
    was set to "use-routing", which in some cases would reset outbound
    interface index to a negative value and cause the server to fail
    to respond to the clients.
    (Trac #5515, git 9d8d00f1f127ee606f09f7ff6006f0d142aac976)

1397.    [bug]        marcin
    A bug in http client library was fixed. The IPv6 address specified
    in brackets is now supported properly.
    (Trac #5620, git fe38c4368853e47bc993d6c3844cdddba5effde5)

1396.    [bug]        tmark
    The PostgreSQL schema was expanded to include two new tables:
    lease4-stat and lease6-stat and triggers to update them as leases
    are modified. This resolves an issue in deployments, where multiple
    Kea servers share a common PostgreSQL lease database, which made
    it difficult to obtain accurate lease statistics. Since these statistics
    are now tracked by the database, they do not have to be recalculated at
    startup or following reconfiguration. This may result in less
    processing overhead during these events. The new statistics will be
    accessible via a new Hooks library, being developed for Kea 1.4
    under #5589.
    (Trac #5587, git 36a0160de0df7789eea224954717be05c08638b7)

1395.    [bug]        tmark
    The MySQL schema was expanded to include two new tables:
    lease4-stat and lease6-stat and triggers to update them as leases
    are modified. This resolves an issue in deployments, where multiple
    Kea servers share a common MySQL lease database, which made it difficult
    to obtain accurate lease statistics. Since these statistics are now
    tracked by the database, they do not have to be recalculated at startup
    or following reconfiguration. This may result in less processing 
        overhead
    during these events. The new statistics will be accessible via a new 
        Hooks library, being developed for Kea 1.4 under #5589. 
    (Trac #5586, git a070c327668c10de3b28f5e249f91d6d16a97ff5)

1394.    [doc]        marcin
    Documented High Availability hook library in the Kea
    Administrator Reference Manual.
    (Trac #5478, git 3db34400d0331e3d4fc208529eeb18f6abfb6562)

1393.    [build]        marcin
    Install new header files introduced since Kea 1.3 release.
    Also, bumped up libraries version numbers for Kea 1.4 beta
    release.
    (Trac #5590, git 64351229a30832735c5a81ac17ca1521aa2483b2)

1392.    [func]        fdupont, marcin
    Implemented new hook point "leases6_committed" in the DHCPv6
    server. It supports new next step status NEXT_STEP_PARK
    which causes the server    to "park" the client's DHCP packet.
    (Trac #5458, git 04d6fb0a0ac5b9dff2a02764cc9265f9a2a05ae8)

1391.    [func]        tmark
    For both kea-dhcp4 and kea-dhcp6, the "ip-address" parameter
    in the "relay" element for both subnets and shared networks,
    has been replaced with a list form, "ip-addresses".  Configuration
    parsing will continue to honor the singular form, but it should
    be considered deprecated.  In addition, an omission in 1.3 that
    caused shared network parsing to ignore the "relay' element has
    been corrected.
    (Trac #5535, git f4601abdb657122a8ba5d7784eded773ec01d171)

1390.    [doc]        tomek
    User's Guide documentation for RADIUS and Host Cache written.
    (Trac #5538, git c73337a8ec691874b8ac0b2efcd8708f1a79acbb)

1389.    [func]        fdupont
    dhcp6_srv_configured hook point added.
    (Trac #5530, git 3bb521f6ec8b4e2a1e57ec84b17ee12b0ccf0f83)

1388.    [build]        tmark
    Modified configure script to support --with-dhcp-mysql and
    --with-dhcp-pgsql but emit a deprecation warning message
    encouraging their replacement with --with-mysql and --with-pgsql.
    (Trac #5567, git 53761069761ddde44636baa30185322debfe4186)

1387.    [func]        tmark
    perfdhcp no longer requires -r (rate) be specified in order to use
    -D, -n, -p and -t options.
    (Trac #5115, git c3ba89c56882cac1080899ad201f0c02056eef38)

1386.    [func]        fdupont
    Extended comment / user-context support to DHCP-DDNS and
    Control Agent configuration syntax.
    (Trac #5495, git fe79959e3bc3c46ccb89661cb27696671a8508b8)

1385.    [func]        tomek
    lease4-wipe and lease6-wipe are now able to wipe all leases
    from all configured subnets if subnet-id specified is 0
    or the subnet-id parameter is omitted.
    (Trac #5543, git ecaf777dff4b8d1100c2a97c4fb1cf8f8e63566d)

1384.    [func]        fdupont
    Significant improvements to client classification introduced.
    The order of classes evaluation has changed from alphabetical
    to the order of appearance. New 'member' expression allows
    combination of classes. The new 'only-if-required' and
    'require-client-class' parameters controlling the scope of
    a class have been introduced.
    (Trac #5474, git 3f2d93f0731fc1858b20e831a7d1f090ea8841fe)

1383.    [func]        tmark
    kea-dhcp4 and kea-dhcp6 can now be configured to attempt to
    reconnect to MySQL backends if connectivity is lost.
    (Trac #5556, git b31da6f9a3545a2cac228eb17c59d72b6b4823f2)

1382.    [func]        fdupont
    Added support for generalized UDP Source Port for DHCP Relay
    (RFC 8357) for DHCPv4, DHCPv6 and DHCPv4-over-DHCPv6. Note
    this required changes to the inter-server protocol used by
    our 4o6 implementation, and is therefore not backward
    compatible.
    (Trac #5404, git 2a6049947ad4caaaa697dba8cb7669a09264f0bc)

1381.    [bug]        marcin
    Corrected a bug in the libkea-asiolink library which caused
    the DHCP servers to crash while processing commands over
    the unix domain socket on some systems.
    (Trac #5580, git cb5276a24436a9e9ce4d1ab4630e7193a4c2d803)

1380.    [func]        fdupont
    Implemented lease6-get-all command in lease_cmds hooks library.
    (Trac #5469, git a0bb7188df47a0f8020ff57739c5a6ab5f7e9828)

1379.    [func, bug]    marcin
    The network_state argument is provided to the callouts in
    the dhcp4_srv_configured hook point. Also, fixed a couple
    of minor bugs in the HTTP client classes.
    (Trac #5470, git 93e2b2198c3163afb81d51fdf5ec547602a12415)

1378.    [doc]        tomek
    New parameter subnets-action for network4-del and network6-del
    commands is now documented.
    (Trac #5441, git 8b2ffabb3d1ba709f319df2b34d0804ee824446b)

1377.    [doc]        tomek
    New parameters for Cassandra are now documented.
    (Trac #5484, git 56e7026ea2bfab99dbfa1a047dc920ec2f743540)

1376.    [func]        razvan
    Cassandra backend improvements: get all IPv4 leases, delete
    hosts, ability to store fixed DHCPv4 fields (next-server,
    server-hostname, boot-file-name) and user contexts in host
    reservations. Also, the ability to store MAC address details
        in DHCPv6 leases on PostgreSQL has been improved.
    (Github #70, git 8cd0c1ae416be88baf69c2243e83a429d6d5c965)
    (Trac #5506, git 8cd0c1ae416be88baf69c2243e83a429d6d5c965)
    (Trac #5507, git 8cd0c1ae416be88baf69c2243e83a429d6d5c965)
    (Trac #5508, git 8cd0c1ae416be88baf69c2243e83a429d6d5c965)
    (Trac #4530, git 8cd0c1ae416be88baf69c2243e83a429d6d5c965)

1375.    [func]        tmark
    When encountering errors unpacking vendor specific options,
    both kea-dhcp4 and kea-dhcp6 will now log the error, skip
    unpacking any remaining options, and then attempt to process
    the packet as is.  Prior to this the servers would log the issue
    and then drop the packet.
    (Trac #5551, git 59ef33ee17672c55cee4ec86ff59737b361a3c21)

1374.    [func]        tmark
    kea-dhp4 and kea-dhcp6 can now be configured to attempt to
    reconnect to Postgresql backends if connectivity is lost.
    (Trac #5477, git 8e62a058382b2245d418cfbf829776934c638e5e)

1373.    [func]        marcin
    Implemented leases parsing from JSON in libkea-dhcpsrv.
    (Trac #5466, git 84c2a2084b0fb7c086fc6b9502f7ff58b708174e)

1372.    [func]        marcin
    Implemented new hook points "dhcp4_srv_configured" and
    "leases4_committed" in the DHCPv4 server. The latter supports
    new next step status NEXT_STEP_PARK which causes the server
    to "park" the client's DHCP packet.
    (Trac #5457, git af43f07b0e227ccabcdf07a046a64cebb11bdccf)

1371.    [bug]        fdupont
    Fixed a bug in JSONfeed tool which did not correctly handle
    strings and interpret their content.
    (Trac #5513, git 231e923a85db7fb8305c7baa4d15f766fdf60942)

1370.    [bug]        tmark
    Fixed a bug which prevented inserting multiple host reservations
    where IPv4 address was unspecified or when selected subnet identifier
    was not specified (5416).  Corrected inconsistent data types for
    subnet id columns in both Postgres and MySQL schemas.  Now both
    schemas support up to MAX UINT32 in all subnet id columns. Exiting
    databases may be updated without data migration.
    (Trac #5416, #5522, git d1dd0f2e27ffa49515c17cf68d54f162359b6384)

1369.    [bug]        marcin
    Multiple critical performance optimizations in the allocation
    engine for shared networks.
    (Trac #5437, git 9d8bcd39802795d48c737a05ef3de3634a28ca4e)

1368.    [func]        tmark
    kea-dhcp4 now explicitly logs packets dropped due to a lack
    message type as a log type DHCP4_PACKET_DROP_0009.  Prior
    to this such packets were logged has having an unsupported
    message type of 0.
    (Trac #5553, git ff97e5ffb5f3478be71aae8130b6eff3208bd69a)

1367.    [func]        fdupont
    Added initial skeleton implementation for Radius hook library.
    (Trac #5524, git 832aa23b89eab71875bcbdb1e955eb92fdc0e01a)

1366.    [func]        fdupont
    Implemented FNV hashing function. Cassandra backend no longer
    explicitly depends on OpenSSL.
    (Trac #5502, git 71de75c3bb099f21fdef0d41806da281d6271287)

1365.    [func]        fdupont
    Both DHCPv4 and DHCPv6 servers can now listen on loopback
    interfaces. This capability requires setting socket type to UDP in
    DHCPv4. Note the feature has not been thoroughly tested.
    (Trac #5390, git f38cbd73581a7a0f8634a63cb17f9b60407e3acc)

1364.    [func]        fdupont
    Extended forensic (aka legal) logging with database capability.
    (Trac #5420, git 94bd3cc313e9f2a982ef8f8adf0cf44024c76499)

1363.    [func]        tmark
    Added support for automatically recalculating lease statistics
    to the CQL backend.
    (Trac #5487, git c807388d581ee1c3e479324f3c399f27feba1c96)

1362.    [func]        razvan, andrei
    A new parameter exit-wait-time has been added to perfdhcp. It is
    now possible to tell perfdhcp to wait certain amount of time after
    exit conditions are met before actually terminating.
    (Github #55, git 0cd1178ae092fa0c2f122d0e16fb673b4074a6e6)

1361.    [func]        razvan, andrei, tomek
    Support for Google Benchmark has been added. To compile
    benchmarking support, please use --with-benchmark option.
    (Github #36, git d6819971410b460d7742c762844e2e75ba580944)

1360.    [build,bug]    fdupont
    Cassandra build fixes for macOS.
    (Trac #5494, git cb0d735628aefd6bca2acc11b73d1f66b45d1c40)

1359.    [bug]        rcgoodfellow
    Fixed bug in kea-admin causing error on lease-dump.
    (Github #61, git 2c9454ec56edc8f3cff8a23329f53ced0d172280)

1358.    [func]        andreipavelQ,tomek
    The logging configuration is now applied early, which helps
    seeing errors in case the new configuration is faulty.
    (Github #41, git d77fbec5a003a69cab207aa741133015f2657878)

1357.    [build]        andreipavelQ
    --with-dhcp-mysql renamed to --with-mysql and
    --with-dhcp-pgsql renamed to --with-pgsql. These names were
    leftovers from old BIND10 times when Kea was part of bigger
    solution that also provided DNS services. Kea is now a stand-alone
    software, thus the -dhcp- doesn't make sense in those options any
    more.
    (Github #40, git 318c9e3d3db9bb938ced27932d8401172529a2ff)

1356.    [doc]        andreipavelQ
    Documentation has been upgraded to DocBook 5.0.
    (Github #39, git 9b6705bd6c534128ec18820ff0cbdd72b7fce9e9)

1355.    [func]        tomek
    Lightweight 4over6 options reinstantiated. Definitions for DHCPv6
    options 89 through 96 were added back. DHCPv4 v4 Parameters Option
        159 has its definition tweaked slightly.
    (Trac #5514, git 6a4aac2b3bfffe41460db6d1cd3c55b1430aa50c)

1354.    [build]        andrei
    Support for coverage tests has been improved.
    (Github #43, git 1949bb3abf71fb3997044d239eb683095166c39f)

1353.    [build,bug]    andrei, razvan
    Various small changes and bugfixes. Thank you to Andrei Pavel
    and Razvan Becheriu for submitting their patch.
    (Github #54, git 2efa7494228a1797dff8d9d74107a452c61e2386)

1352.    [func]        fdupont
    It is now possible to specify client classification restrictions
    on per pool basis. This capability will be useful for grouping
    certain types of devices into specific address and/or prefix
    pools.
    (Trac #5425, git 5f3a89d6e32e90cd9cbb2347c7b2208c3e1561e0)

1351.    [build]        andreipavelQ
    Compilation parameters unified (every file now includes config.h,
    several makefile tweaks).
    (Github #38, git 7206aa79c57be7466c4ab3dd558663c6c4f858b7)

1350.    [func]        fdupont
    Several hook points now support next step status DROP. This allows
    more flexibility with dropping packets from within hooks.
    (Trac #5443, git ff22a906915a34df327174f550f69a396a05bb2c)

1349.    [func]        marcin
    Implemented HTTP client classes in libkea-http.
    (Trac #5451, git 94267e252b372650e4235389251b49d6f5501322)

1348.    [build]        fdupont
    Modified configure.ac to include premium module m4 macros, if the
    module is present. Prior to this it relied on premium having it's
    own configure.ac script.
    (Trac #5400, git 38c4f2fb8fc8c8874a0e4671cc295a049acf675f)

1347.    [build]        fdupont
    Added support of boost 1.66.0 ASIO.
    (Github #60/Trac #5496, git bc2947de4296bd99b74e50e65f272c7ad5312429)

1346.    [func]        marcin
    Implemented lease4-get-all command in lease_cmds hooks library.
    (Trac #5468, git a378ec28489e98df64830d1f26c3bebd20e256b2)

1345.    [func]        marcin
    Implemented "force-create" parameter for lease4-update and
    lease6-update commands.
    (Trac #5472, git 369245e4c5308a701fd483123f2cb2fd7d3d0966)

1344.    [func]        andrei, razvan
    Support for host reservations stored in Cassandra added. The core
    functionality was added. There are some limitations (delete,
    client classes, fixed DHCPv4 fields, statistics recount, etc.)
    These will be addressed in upcoming tickets.
    (github #37, git e37606fd2d0c02234a55f7445c52a12b2e7a82ec)

1343.    [func]        fdupont
    User-context and comments are now supported in many new scopes:
    global, shared-network, subnet, pool, host reservation, option,
    option definition, client-class, control-socket, dhcp-ddns,
    interfaces, loggers, and for DHCPv6 pd-pool and server-id.
    (Trac #5351, git 3405a8fa5d391d96cd15874fd3de3ac63ceb33b6)

1342.    [bug]        fdupont
    Fixed subnets and host reservations returned by config-get and
    config-write.
    (Trac #5452, git c24d057bed2692eaf3cdb6af889122eb582ffede)

1341.    [func]        razvan, andrei
    Significant update of Cassandra support. A lot of code for
    Cassandra Lease Manager has been updated and partially rewritten.
    (github #35, git 41795494720cd9886c1e98d21eaeefd94d674e37)

1340.    [func]        marcin
    Added support for "dhcp-enable" and "dhcp-disable" commands in
    the DHCPv4 and DHCPv6 server.
    (Trac #5442, git 36dc68ff7aa8b3cfd265c4f982d10248590039bd)

1339.    [doc]        marcin
    Updated User's Guide describing how to selectively disable
    legal logging for a subnet.
    (Trac #5407, git 469080abd711f8e88a5133f76f4ab31a5549a858)

1338.    [func]        marcin
    Persistent HTTP/1.1 connections and HTTP/1.0 keep-alive
    are supported by RESTful API.
    (Trac #5448, git 05018f7cc0662d6956b9b7648646e0c17da948ba)

1337.    [doc]        marcin
    Added placeholder section for the libdhcp_ha hooks library.
    (Trac #5447, git d939b5b8bc4befb24daf863f2408d97493e4bfbf)

1336.    [bug]        marcin
    DHCPv6 server always sends prefixes with the lifetime of 0 for
    the prefix leases that should no longer be used, even if those
    prefixes are not included in the Renew/Rebind.
    (Trac #5403, git 91bb0855ff7ef86ff72b5a946ae716798d7bebc1)

1335.    [bug]        marcin
    Fixed a bug which prevented inserting multiple host reservations
    where IPv4 address was unspecified or when selected subnet
    identifier was not specified. This change affects both Postgres
    and MySQL backend.
    (Trac #5416, git 03fab8f7d5c2e8a5ea735b11ff75652aa31d791d)

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 https://www.isc.org/donate-to-isc/.

We look forward to receiving your feedback.


© 2001-2018 Internet Systems Consortium

For assistance with problems and questions for which you have not been able to find an answer in our Knowledge Base, we recommend searching our community mailing list archives and/or posting your question there (you will need to register there first for your posts to be accepted). The bind-users and the dhcp-users lists particularly have a long-standing and active membership.

ISC relies on the financial support of the community to fund the development of its open source software products. If you would like to support future product evolution and maintenance as well having peace of mind knowing that our team of experts are poised to provide you with individual technical assistance whenever you call upon them, then please consider our Professional Subscription Support services - details can be found on our main website.

Feedback
  • There is no feedback for this article
Quick Jump Menu