[Kea-announce] Kea 1.4.0 released!

Wlodek Wencel wlodek at isc.org
Fri Jun 15 16:38:17 UTC 2018


On behalf of ISC and Kea team I'm pleased to announce that
new version 1.4.0 is released and available to use!

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, If you purchased the
Kea 1.3.0 premium package before you will be getting an  email with
instructions on how to download a free update to the Kea 1.4.0
premium package.

* 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 and PGP signature may be downloaded from:

   https://www.isc.org/downloads

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<max-drop>, -n<num-request>, -p<test-period>
    and -t<report> 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.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.isc.org/pipermail/kea-announce/attachments/20180615/25bbcf0a/attachment-0001.html>


More information about the Kea-announce mailing list