Kea 1.4.0 released!
Wlodek Wencel <[email protected]> Fri, 15 Jun 2018 18:38:17 +0200
| Newsgroups | gmane.network.dhcp.isc.kea.announce,gmane.network.dhcp.isc.kea.user,gmane.network.dhcp.isc.announce |
|---|---|
| Message-ID | <[email protected]> |
This is a multi-part message in MIME format.
--===============6179339182519237224==
Content-Type: multipart/alternative;
boundary="------------0CCD20326ED350DF668647DD"
Content-Language: en-GB
This is a multi-part message in MIME format.
--------------0CCD20326ED350DF668647DD
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
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.=C2=A0 Users also requested the ability to reconnect after
the database connection is lost for whatever reason.=C2=A0=C2=A0=C2=A0 ''=
'NOTE''' You
will need to upgrade any existing MySQL and PostgreSQL Kea databases to
the new schema versions.=C2=A0 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=C2=A0 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.
=3D=3D License =3D=3D
Kea 1.4.0 is released under the Mozilla Public License, version 2.0.
=C2=A0=C2=A0 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).
=3D=3D Download =3D=3D
The Kea 1.4.0 source and PGP signature may be downloaded from:
=C2=A0=C2=A0 https://www.isc.org/downloads
The signature was generated with the ISC code signing key which is
available at
=C2=A0=C2=A0 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.=C2=A0 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.=C2=A0 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.
=3D=3D Support =3D=3D
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/.=C2=A0 Free best-effor=
t
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.=C2=A0 Bugs and feature
requests may be submitted via the ticket tracking system at
https://kea.isc.org.
=3D=3D Changes =3D=3D
The following summarizes changes and important upgrade notes since the
previous release (1.4.0-beta).
1427.=C2=A0=C2=A0=C2=A0 [bug]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 m=
arcin
=C2=A0=C2=A0=C2=A0 Resolved multiple problems causing slow synchronizatio=
n of
=C2=A0=C2=A0=C2=A0 leases in the HA hooks library, including adjusting
=C2=A0=C2=A0=C2=A0 timeouts in control channel and improving performance =
of
=C2=A0=C2=A0=C2=A0 responses sent by the Command Manager to Control Agent=
.
=C2=A0=C2=A0=C2=A0 Also, introduced 'sync-timeout' configuration paramete=
r
=C2=A0=C2=A0=C2=A0 into HA hooks library to control lease database
=C2=A0=C2=A0=C2=A0 synchronization timeout.
=C2=A0=C2=A0=C2=A0 (Trac #5649, git cbc29128863916a13364749bf681586aea2aa=
51e)
1426.=C2=A0=C2=A0=C2=A0 [func]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
fdupont
=C2=A0=C2=A0=C2=A0 Added KNOWN and UNKNOWN built-in client classes: after=
host
=C2=A0=C2=A0=C2=A0 lookup if a matching host entry is found
=C2=A0=C2=A0=C2=A0 the incoming packet is added to
=C2=A0=C2=A0=C2=A0 the KNOWN class, if none is found to the UNKNOWN class=
. Then
=C2=A0=C2=A0=C2=A0 expressions depending directly or indirectly on these =
classes
=C2=A0=C2=A0=C2=A0 are evaluated. Note these classes may be used to selec=
t
=C2=A0=C2=A0=C2=A0 a pool but they may not to select a subnet.
=C2=A0=C2=A0=C2=A0 (Trac #5549, git 6a856ed9722b918a65dca15ff44314e288977=
84e)
1425.=C2=A0=C2=A0=C2=A0 [bug]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 m=
arcin
=C2=A0=C2=A0=C2=A0 Improved performance of the DHCP server running in Hig=
h
=C2=A0=C2=A0=C2=A0 Availability configuration by optimizing the managemen=
t of
=C2=A0=C2=A0=C2=A0 CalloutHandle objects passed to the callouts.
=C2=A0=C2=A0=C2=A0 (Trac #5647, git eea88d5c8f4d8efb6c5bfdfbf4e070a90069d=
b5d)
1424.=C2=A0=C2=A0=C2=A0 [doc]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 m=
arcin
=C2=A0=C2=A0=C2=A0 List of hooks libraries provided by ISC includes an
=C2=A0=C2=A0=C2=A0 information which Kea servers the libraries can be att=
ached
=C2=A0=C2=A0=C2=A0 to. The detailed description of each supported hooks l=
ibrary
=C2=A0=C2=A0=C2=A0 also contains this information.
=C2=A0=C2=A0=C2=A0 (Trac #5613, git 9d6f8de3d988c42c413a7d628e31854e9c80d=
8c9)
1423.=C2=A0=C2=A0=C2=A0 [bug]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 t=
mark
=C2=A0=C2=A0=C2=A0 kea-dhcp4 and kea-dhcp6 now retain and emit global, sc=
alar
=C2=A0=C2=A0=C2=A0 parameters specified in their configuration.
=C2=A0=C2=A0=C2=A0 (Trac #5378, git 4d05122f03d00b10a888c768fe1725cae9d6a=
ea6)
1422.=C2=A0=C2=A0=C2=A0 [build]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
fdupont
=C2=A0=C2=A0=C2=A0 Commented out BOOST_ASIO_DISABLE_THREADS in configure =
to reflect
=C2=A0=C2=A0=C2=A0 the current use of threads by boost ASIO in Kea.
=C2=A0=C2=A0=C2=A0 (Trac #5615, git f3fc8b1a4257a42a97aaf88a36287bbe33d1f=
65b)
1421.=C2=A0=C2=A0=C2=A0 [build]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
marcin
=C2=A0=C2=A0=C2=A0 Moved libdhcp_ha (High Availability) hooks library fro=
m
=C2=A0=C2=A0=C2=A0 premium to main Kea repository and changed its license=
to
=C2=A0=C2=A0=C2=A0 MPLv2.0. Future ChangeLog entries for this library wil=
l be
=C2=A0=C2=A0=C2=A0 tracked in the Kea ChangeLog file.
=C2=A0=C2=A0=C2=A0 (Trac #5645, git 19b2553d4869bdd52b63b6f7969052d8a724f=
78d)
1420.=C2=A0=C2=A0=C2=A0 [doc]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 m=
arcin
=C2=A0=C2=A0=C2=A0 Updated list of loggers in the Kea Administrator's Man=
ual.
=C2=A0=C2=A0=C2=A0 The updated list contains all loggers, including those
=C2=A0=C2=A0=C2=A0 from supported hooks libraries.
=C2=A0=C2=A0=C2=A0 (Trac #5622, git bd94afc0af7183452c94f3b5768c6138f79d3=
b60)
1419.=C2=A0=C2=A0=C2=A0 [doc]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 m=
arcin
=C2=A0=C2=A0=C2=A0 Documented "sync-leases" configuration parameter of th=
e HA
=C2=A0=C2=A0=C2=A0 hooks library in the Kea Administrator's Manual.
=C2=A0=C2=A0=C2=A0 (Trac #5621, git 4ebac3a411aa02d1cc3d74e7eaf3212ad2081=
59a)
1418.=C2=A0=C2=A0=C2=A0 [bug]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 m=
arcin
=C2=A0=C2=A0=C2=A0 Corrected bug in the allocation engine which caused oc=
casional
=C2=A0=C2=A0=C2=A0 lease allocation failures when a loaded hooks library =
set the
=C2=A0=C2=A0=C2=A0 callout status to non default value, e.g. "skip" rathe=
r than
=C2=A0=C2=A0=C2=A0 "continue". In such cases, the server reported that it=
failed
=C2=A0=C2=A0=C2=A0 to allocate a lease "after 0 attempts".
=C2=A0=C2=A0=C2=A0 (Trac #5638, git f2e9b686ae52e1b06f660e1b522588b1440e2=
620)
1417.=C2=A0=C2=A0=C2=A0 [bug]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 m=
arcin
=C2=A0=C2=A0=C2=A0 Improved logging in the HTTP library both for the serv=
er and
=C2=A0=C2=A0=C2=A0 the client.
=C2=A0=C2=A0=C2=A0 (Trac #5205, git fd0bec610c89084d5a5d43ef032c9875c3e6a=
d46)
1416.=C2=A0=C2=A0=C2=A0 [bug]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 f=
dupont
=C2=A0=C2=A0=C2=A0 Added support of recent Botan 2.x crypto backend.
=C2=A0=C2=A0=C2=A0 Note that Botan 1.[9-11] is still supported but not re=
commended.
=C2=A0=C2=A0=C2=A0 (Trac #5382, git 22651b1935a2397edfbddb9b8873c353c090f=
18e)
1415.=C2=A0=C2=A0=C2=A0 [bug]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 t=
mark
=C2=A0=C2=A0=C2=A0 kea-dhcp4 and kea-dhcp6 now validate the schema versio=
n
=C2=A0=C2=A0=C2=A0 of lease and host back ends after establishing a conne=
ction.
=C2=A0=C2=A0=C2=A0 If a schema version does not match the version the ser=
ver
=C2=A0=C2=A0=C2=A0 expects, the server will emit an error log and close
=C2=A0=C2=A0=C2=A0 the connection. This applies to MySQL, PostgreSQL, and
=C2=A0=C2=A0=C2=A0 Cassandra.
=C2=A0=C2=A0=C2=A0 (Trac #5629, git 15c34afdba45be609e35284a209ad18ed6660=
5f8)
1414.=C2=A0=C2=A0=C2=A0 [bug]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 t=
mark
=C2=A0=C2=A0=C2=A0 kea-dhcp4 parsing now treats renew-timer and rebind-ti=
mer
=C2=A0=C2=A0=C2=A0 as optional with no defaults. The logic for sending th=
em
=C2=A0=C2=A0=C2=A0 to the client was changed to: send rebind-timer only
=C2=A0=C2=A0=C2=A0 when it is less than the lease lifetime; and send rene=
w-timer
=C2=A0=C2=A0=C2=A0 only when it less than either the rebind-timer if spec=
ified,
=C2=A0=C2=A0=C2=A0 or lease lifetime in the absence of rebind-timer.
=C2=A0=C2=A0=C2=A0 (Trac #5596, git 38426e16ec04a786e35a65d27cbcb7dbabfe7=
9b5)
1413.=C2=A0=C2=A0=C2=A0 [func]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
fdupont
=C2=A0=C2=A0=C2=A0 Removed getAll, get4 and get6 methods using both hardw=
are
=C2=A0=C2=A0=C2=A0 address and DUID from host backend (aka host data sour=
ce) APIs.
=C2=A0=C2=A0=C2=A0 This is an *incompatible* change.
=C2=A0=C2=A0=C2=A0 (Trac #5563, git db4c34b069f114f93d9f29cdeb02b536a0fbc=
982)
1412.=C2=A0=C2=A0=C2=A0 [func]*=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
marcin
=C2=A0=C2=A0=C2=A0 The client classes used by the High Availability hook =
library
=C2=A0=C2=A0=C2=A0 use upper case "HA_" prefix and they are now built-in =
classes.
=C2=A0=C2=A0=C2=A0 This means that those classes do not need to be=C2=A0=C2=
=A0=C2=A0 declared in the
=C2=A0=C2=A0=C2=A0 server configuration.
=C2=A0=C2=A0=C2=A0 (Trac #5632, git 2d590bfd7d1b0eca377eb99eef83a3083a1d7=
399)
1411.=C2=A0=C2=A0=C2=A0 [bug]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 f=
dupont
=C2=A0=C2=A0=C2=A0 Fixed warnings about lambda's not using captured varia=
bles.
=C2=A0=C2=A0=C2=A0 (Trac #5591, git f88a505823d39faec7dc5f647f40e6454e5df=
c74)
1410.=C2=A0=C2=A0=C2=A0 [bug]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 m=
arcin
=C2=A0=C2=A0=C2=A0 Fixed multiple hanging Control Agent unittests.
=C2=A0=C2=A0=C2=A0 (Trac #5576, git 310af68101cba74220652ec2b403520fc5666=
dc0)
1409.=C2=A0=C2=A0=C2=A0 [doc]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 m=
arcin
=C2=A0=C2=A0=C2=A0 Documented in the User's Guide how Kea HA service beha=
ves
=C2=A0=C2=A0=C2=A0 when the clock skew between active servers becomes too
=C2=A0=C2=A0=C2=A0 high.
=C2=A0=C2=A0=C2=A0 (Trac #5603, git ffaff4d2a03600bb4f81d335b49a840e31d03=
c8c)
1408.=C2=A0=C2=A0=C2=A0 [func]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
tomek
=C2=A0=C2=A0=C2=A0 perfdhcp now supports -o option that adds DHCP options=
.
=C2=A0=C2=A0=C2=A0 This may be used to simulate various clients.
=C2=A0=C2=A0=C2=A0 (github #77, git b81dedb7f0a2516130e7bd799d9084c63f0e8=
44c)
1407.=C2=A0=C2=A0=C2=A0 [bug]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 t=
mark
=C2=A0=C2=A0=C2=A0 Corrected an issue where the destruction of loggers
=C2=A0=C2=A0=C2=A0 prior to the destruction of the TimerMgr singleton
=C2=A0=C2=A0=C2=A0 caused unit tests to segfault.
=C2=A0=C2=A0=C2=A0 (Trac #5626, git 9f4e3f9cd8acf8e7d1d3e714d8f904754377c=
00f)
1406.=C2=A0=C2=A0=C2=A0 [func]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
fdupont
=C2=A0=C2=A0=C2=A0 Added pkg-config alternative to configure --with-cql p=
ath so
=C2=A0=C2=A0=C2=A0 now you can use either pkg-config or cql_config.
=C2=A0=C2=A0=C2=A0 (Trac #5488, git 55498ca3455517132533a39002ebfc05d26c7=
e38)
1405.=C2=A0=C2=A0=C2=A0 [bug]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 t=
mark
=C2=A0=C2=A0=C2=A0 Corrected missing "override" warning in cql_lease_mgr.=
h
=C2=A0=C2=A0=C2=A0 (Trac #5625, git df3068ba0e520df4d96dd38e2de679beb99f2=
e23)
The following summarizes changes and important upgrade notes since the
previous release (1.3.0).
1404.=C2=A0=C2=A0=C2=A0 [doc]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 t=
omek
=C2=A0=C2=A0=C2=A0 Hooks package installation intruction added to Kea
=C2=A0=C2=A0=C2=A0 User's Guide.
=C2=A0=C2=A0=C2=A0 (Trac #5427, git 7bc5e4297e8b2ccb87d5d5d79ae066fe32964=
841)
1403.=C2=A0=C2=A0=C2=A0 [build]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
tomek
=C2=A0=C2=A0=C2=A0 Support for hook packages has been updated. The --with=
-tierX
=C2=A0=C2=A0=C2=A0 flags have been removed. Each hook library is now dete=
cted
=C2=A0=C2=A0=C2=A0 independently.
=C2=A0=C2=A0=C2=A0 (Trac #5619, git aa1f95d699dc664a5660db120ef71edee910a=
9b3)
1402.=C2=A0=C2=A0=C2=A0 [bug]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 t=
omek
=C2=A0=C2=A0=C2=A0 Fixed a crash that was caused by hook library register=
ing
=C2=A0=C2=A0=C2=A0 new hook points. This fixes unit-tests with forensic
=C2=A0=C2=A0=C2=A0 logging, but the problem was generic and could cause
=C2=A0=C2=A0=C2=A0 other libraries to segfault during unloading or reconf=
iguration.
=C2=A0=C2=A0=C2=A0 (Trac #5577, git 2f9d1aa95c16e12fabc50d581b966f20b6d8a=
950)
1401.=C2=A0=C2=A0=C2=A0 [bug]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 t=
mark
=C2=A0=C2=A0=C2=A0 Corrected an issue which caused kea-dhcp4 and kea-dhcp=
6 servers
=C2=A0=C2=A0=C2=A0 to unload their hooks libraries upon receipt of the fi=
rst client
=C2=A0=C2=A0=C2=A0 message following a dynamic reconfigure.
=C2=A0=C2=A0=C2=A0 (Trac #5564, git 5111f569bd251c2a98a2e6d958e8f6b640a18=
02d)
1400.=C2=A0=C2=A0 [func]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 tmark
=C2=A0=C2=A0=C2=A0 A new hooks library, Stat Cmds, has been added to the =
open
=C2=A0=C2=A0=C2=A0 source
=C2=A0=C2=A0=C2=A0 distribution.=C2=A0 This library provides commands for=
fetching lease
=C2=A0=C2=A0=C2=A0 allocation statistics using lease backend as the sourc=
e for
=C2=A0=C2=A0=C2=A0 lease counts per state.=C2=A0 This resolves an issue i=
n deployments,
=C2=A0=C2=A0=C2=A0 where multiple Kea servers share a common lease backen=
d, which
=C2=A0=C2=A0=C2=A0 made it difficult to obtain accurate lease statistics.
=C2=A0=C2=A0=C2=A0 (Trac #5589, git 36f20f1c8b28f629fe2896b817ac0f3c6026f=
e0e)
1399.=C2=A0=C2=A0=C2=A0 [func]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
tmark
=C2=A0=C2=A0=C2=A0 Support for fetching lease allocation statistics by su=
bnet-id
=C2=A0=C2=A0=C2=A0 or subnet-id range has been added to the Cassandra bac=
k end.
=C2=A0=C2=A0=C2=A0 This
=C2=A0=C2=A0=C2=A0 allows it to be used in conjunction with the Stat Cmds=
hooks
=C2=A0=C2=A0=C2=A0 library commands for fetching shared lease statistics.
=C2=A0=C2=A0=C2=A0 (Trac #5588, git 3fcfefdea5ac838936c2109ecbbbc32eabc8f=
dba)
1398.=C2=A0=C2=A0=C2=A0 [bug]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 f=
dupont
=C2=A0=C2=A0=C2=A0 Fixed bug in configurations where "outbound-interface"=
parameter
=C2=A0=C2=A0=C2=A0 was set to "use-routing", which in some cases would re=
set
=C2=A0=C2=A0=C2=A0 outbound interface index to a negative value and cause=
the
=C2=A0=C2=A0=C2=A0 server to fail to respond to the clients.
=C2=A0=C2=A0=C2=A0 (Trac #5515, git 9d8d00f1f127ee606f09f7ff6006f0d142aac=
976)
1397.=C2=A0=C2=A0=C2=A0 [bug]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 m=
arcin
=C2=A0=C2=A0=C2=A0 A bug in http client library was fixed. The IPv6 addre=
ss
=C2=A0=C2=A0=C2=A0 specified in brackets is now supported properly.
=C2=A0=C2=A0=C2=A0 (Trac #5620, git fe38c4368853e47bc993d6c3844cdddba5eff=
de5)
1396.=C2=A0=C2=A0=C2=A0 [bug]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 t=
mark
=C2=A0=C2=A0=C2=A0 The PostgreSQL schema was expanded to include two new =
tables:
=C2=A0=C2=A0=C2=A0 lease4-stat and lease6-stat and triggers to update the=
m as
=C2=A0=C2=A0=C2=A0 leases are modified. This resolves an issue in deploym=
ents,
=C2=A0=C2=A0=C2=A0 where multiple Kea servers share a common PostgreSQL l=
ease
=C2=A0=C2=A0=C2=A0 database, which made it difficult to obtain accurate l=
ease
=C2=A0=C2=A0=C2=A0 statistics. Since these statistics are now tracked by =
the
=C2=A0=C2=A0=C2=A0 database, they do not have to be recalculated at
=C2=A0=C2=A0=C2=A0 startup or following reconfiguration. This may result =
in less
=C2=A0=C2=A0=C2=A0 processing overhead during these events. The new stati=
stics
=C2=A0=C2=A0=C2=A0 will be accessible via a new Hooks library, being deve=
loped
=C2=A0=C2=A0=C2=A0 for Kea 1.4 under #5589.
=C2=A0=C2=A0=C2=A0 (Trac #5587, git 36a0160de0df7789eea224954717be05c0863=
8b7)
1395.=C2=A0=C2=A0=C2=A0 [bug]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 t=
mark
=C2=A0=C2=A0=C2=A0 The MySQL schema was expanded to include two new table=
s:
=C2=A0=C2=A0=C2=A0 lease4-stat and lease6-stat and triggers to update the=
m as
=C2=A0=C2=A0=C2=A0 leases are modified. This resolves an issue in deploym=
ents,
=C2=A0=C2=A0=C2=A0 where multiple Kea servers share a common MySQL lease =
database,
=C2=A0=C2=A0=C2=A0 which made it difficult to obtain accurate lease stati=
stics.
=C2=A0=C2=A0=C2=A0 Since these statistics are now tracked by the database=
,
=C2=A0=C2=A0=C2=A0 they do not have to be recalculated at startup
=C2=A0=C2=A0=C2=A0 or following reconfiguration. This may result in less
=C2=A0=C2=A0=C2=A0 processing overhead during these events. The new stati=
stics
=C2=A0=C2=A0=C2=A0 will be accessible via a new Hooks
=C2=A0=C2=A0=C2=A0 library, being developed for Kea 1.4 under #5589.
=C2=A0=C2=A0=C2=A0 (Trac #5586, git a070c327668c10de3b28f5e249f91d6d16a97=
ff5)
1394.=C2=A0=C2=A0=C2=A0 [doc]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 m=
arcin
=C2=A0=C2=A0=C2=A0 Documented High Availability hook library in the Kea
=C2=A0=C2=A0=C2=A0 Administrator Reference Manual.
=C2=A0=C2=A0=C2=A0 (Trac #5478, git 3db34400d0331e3d4fc208529eeb18f6abfb6=
562)
1393.=C2=A0=C2=A0=C2=A0 [build]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
marcin
=C2=A0=C2=A0=C2=A0 Install new header files introduced since Kea 1.3 rele=
ase.
=C2=A0=C2=A0=C2=A0 Also, bumped up libraries version numbers for Kea 1.4 =
beta
=C2=A0=C2=A0=C2=A0 release.
=C2=A0=C2=A0=C2=A0 (Trac #5590, git 64351229a30832735c5a81ac17ca1521aa248=
3b2)
1392.=C2=A0=C2=A0=C2=A0 [func]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
fdupont, marcin
=C2=A0=C2=A0=C2=A0 Implemented new hook point "leases6_committed" in the =
DHCPv6
=C2=A0=C2=A0=C2=A0 server. It supports new next step status NEXT_STEP_PAR=
K
=C2=A0=C2=A0=C2=A0 which causes the server=C2=A0=C2=A0=C2=A0 to "park" th=
e client's DHCP packet.
=C2=A0=C2=A0=C2=A0 (Trac #5458, git 04d6fb0a0ac5b9dff2a02764cc9265f9a2a05=
ae8)
1391.=C2=A0=C2=A0=C2=A0 [func]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
tmark
=C2=A0=C2=A0=C2=A0 For both kea-dhcp4 and kea-dhcp6, the "ip-address" par=
ameter
=C2=A0=C2=A0=C2=A0 in the "relay" element for both subnets and shared net=
works,
=C2=A0=C2=A0=C2=A0 has been replaced with a list form, "ip-addresses".
=C2=A0=C2=A0=C2=A0 Configuration
=C2=A0=C2=A0=C2=A0 parsing will continue to honor the singular form, but =
it should
=C2=A0=C2=A0=C2=A0 be considered deprecated.=C2=A0 In addition, an omissi=
on in 1.3 that
=C2=A0=C2=A0=C2=A0 caused shared network parsing to ignore the "relay' el=
ement has
=C2=A0=C2=A0=C2=A0 been corrected.
=C2=A0=C2=A0=C2=A0 (Trac #5535, git f4601abdb657122a8ba5d7784eded773ec01d=
171)
1390.=C2=A0=C2=A0=C2=A0 [doc]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 t=
omek
=C2=A0=C2=A0=C2=A0 User's Guide documentation for RADIUS and Host Cache w=
ritten.
=C2=A0=C2=A0=C2=A0 (Trac #5538, git c73337a8ec691874b8ac0b2efcd8708f1a79a=
cbb)
1389.=C2=A0=C2=A0=C2=A0 [func]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
fdupont
=C2=A0=C2=A0=C2=A0 dhcp6_srv_configured hook point added.
=C2=A0=C2=A0=C2=A0 (Trac #5530, git 3bb521f6ec8b4e2a1e57ec84b17ee12b0ccf0=
f83)
1388.=C2=A0=C2=A0=C2=A0 [build]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
tmark
=C2=A0=C2=A0=C2=A0 Modified configure script to support --with-dhcp-mysql=
and
=C2=A0=C2=A0=C2=A0 --with-dhcp-pgsql but emit a deprecation warning messa=
ge
=C2=A0=C2=A0=C2=A0 encouraging their replacement with --with-mysql and
=C2=A0=C2=A0=C2=A0=C2=A0 --with-pgsql.
=C2=A0=C2=A0=C2=A0 (Trac #5567, git 53761069761ddde44636baa30185322debfe4=
186)
1387.=C2=A0=C2=A0=C2=A0 [func]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
tmark
=C2=A0=C2=A0=C2=A0 perfdhcp no longer requires -r (rate) be specified in =
order to
=C2=A0=C2=A0=C2=A0 use -D<max-drop>, -n<num-request>, -p<test-period>
=C2=A0=C2=A0=C2=A0 and -t<report> options.
=C2=A0=C2=A0=C2=A0 (Trac #5115, git c3ba89c56882cac1080899ad201f0c02056ee=
f38)
1386.=C2=A0=C2=A0=C2=A0 [func]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
fdupont
=C2=A0=C2=A0=C2=A0 Extended comment / user-context support to DHCP-DDNS a=
nd
=C2=A0=C2=A0=C2=A0 Control Agent configuration syntax.
=C2=A0=C2=A0=C2=A0 (Trac #5495, git fe79959e3bc3c46ccb89661cb27696671a850=
8b8)
1385.=C2=A0=C2=A0=C2=A0 [func]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
tomek
=C2=A0=C2=A0=C2=A0 lease4-wipe and lease6-wipe are now able to wipe all l=
eases
=C2=A0=C2=A0=C2=A0 from all configured subnets if subnet-id specified is =
0
=C2=A0=C2=A0=C2=A0 or the subnet-id parameter is omitted.
=C2=A0=C2=A0=C2=A0 (Trac #5543, git ecaf777dff4b8d1100c2a97c4fb1cf8f8e635=
66d)
1384.=C2=A0=C2=A0=C2=A0 [func]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
fdupont
=C2=A0=C2=A0=C2=A0 Significant improvements to client classification intr=
oduced.
=C2=A0=C2=A0=C2=A0 The order of classes evaluation has changed from alpha=
betical
=C2=A0=C2=A0=C2=A0 to the order of appearance. New 'member' expression al=
lows
=C2=A0=C2=A0=C2=A0 combination of classes. The new 'only-if-required' and
=C2=A0=C2=A0=C2=A0 'require-client-class' parameters controlling the scop=
e of
=C2=A0=C2=A0=C2=A0 a class have been introduced.
=C2=A0=C2=A0=C2=A0 (Trac #5474, git 3f2d93f0731fc1858b20e831a7d1f090ea884=
1fe)
1383.=C2=A0=C2=A0=C2=A0 [func]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
tmark
=C2=A0=C2=A0=C2=A0 kea-dhcp4 and kea-dhcp6 can now be configured to attem=
pt to
=C2=A0=C2=A0=C2=A0 reconnect to MySQL backends if connectivity is lost.
=C2=A0=C2=A0=C2=A0 (Trac #5556, git b31da6f9a3545a2cac228eb17c59d72b6b482=
3f2)
1382.=C2=A0=C2=A0=C2=A0 [func]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
fdupont
=C2=A0=C2=A0=C2=A0 Added support for generalized UDP Source Port for DHCP=
Relay
=C2=A0=C2=A0=C2=A0 (RFC 8357) for DHCPv4, DHCPv6 and DHCPv4-over-DHCPv6. =
Note
=C2=A0=C2=A0=C2=A0 this required changes to the inter-server protocol use=
d by
=C2=A0=C2=A0=C2=A0 our 4o6 implementation, and is therefore not backward
=C2=A0=C2=A0=C2=A0 compatible.
=C2=A0=C2=A0=C2=A0 (Trac #5404, git 2a6049947ad4caaaa697dba8cb7669a09264f=
0bc)
1381.=C2=A0=C2=A0=C2=A0 [bug]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 m=
arcin
=C2=A0=C2=A0=C2=A0 Corrected a bug in the libkea-asiolink library which c=
aused
=C2=A0=C2=A0=C2=A0 the DHCP servers to crash while processing commands ov=
er
=C2=A0=C2=A0=C2=A0 the unix domain socket on some systems.
=C2=A0=C2=A0=C2=A0 (Trac #5580, git cb5276a24436a9e9ce4d1ab4630e7193a4c2d=
803)
1380.=C2=A0=C2=A0=C2=A0 [func]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
fdupont
=C2=A0=C2=A0=C2=A0 Implemented lease6-get-all command in lease_cmds hooks=
library.
=C2=A0=C2=A0=C2=A0 (Trac #5469, git a0bb7188df47a0f8020ff57739c5a6ab5f7e9=
828)
1379.=C2=A0=C2=A0=C2=A0 [func, bug]=C2=A0=C2=A0=C2=A0 marcin
=C2=A0=C2=A0=C2=A0 The network_state argument is provided to the callouts=
in
=C2=A0=C2=A0=C2=A0 the dhcp4_srv_configured hook point. Also, fixed a cou=
ple
=C2=A0=C2=A0=C2=A0 of minor bugs in the HTTP client classes.
=C2=A0=C2=A0=C2=A0 (Trac #5470, git 93e2b2198c3163afb81d51fdf5ec547602a12=
415)
1378.=C2=A0=C2=A0=C2=A0 [doc]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 t=
omek
=C2=A0=C2=A0=C2=A0 New parameter subnets-action for network4-del and netw=
ork6-del
=C2=A0=C2=A0=C2=A0 commands is now documented.
=C2=A0=C2=A0=C2=A0 (Trac #5441, git 8b2ffabb3d1ba709f319df2b34d0804ee8244=
46b)
1377.=C2=A0=C2=A0=C2=A0 [doc]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 t=
omek
=C2=A0=C2=A0=C2=A0 New parameters for Cassandra are now documented.
=C2=A0=C2=A0=C2=A0 (Trac #5484, git 56e7026ea2bfab99dbfa1a047dc920ec2f743=
540)
1376.=C2=A0=C2=A0=C2=A0 [func]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
razvan
=C2=A0=C2=A0=C2=A0 Cassandra backend improvements: get all IPv4 leases, d=
elete
=C2=A0=C2=A0=C2=A0 hosts, ability to store fixed DHCPv4 fields (next-serv=
er,
=C2=A0=C2=A0=C2=A0 server-hostname, boot-file-name) and user contexts in =
host
=C2=A0=C2=A0=C2=A0 reservations. Also, the ability to store MAC address d=
etails
=C2=A0=C2=A0=C2=A0 in DHCPv6 leases on PostgreSQL has been improved.
=C2=A0=C2=A0=C2=A0 (Github #70, git 8cd0c1ae416be88baf69c2243e83a429d6d5c=
965)
=C2=A0=C2=A0=C2=A0 (Trac #5506, git 8cd0c1ae416be88baf69c2243e83a429d6d5c=
965)
=C2=A0=C2=A0=C2=A0 (Trac #5507, git 8cd0c1ae416be88baf69c2243e83a429d6d5c=
965)
=C2=A0=C2=A0=C2=A0 (Trac #5508, git 8cd0c1ae416be88baf69c2243e83a429d6d5c=
965)
=C2=A0=C2=A0=C2=A0 (Trac #4530, git 8cd0c1ae416be88baf69c2243e83a429d6d5c=
965)
1375.=C2=A0=C2=A0=C2=A0 [func]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
tmark
=C2=A0=C2=A0=C2=A0 When encountering errors unpacking vendor specific opt=
ions,
=C2=A0=C2=A0=C2=A0 both kea-dhcp4 and kea-dhcp6 will now log the error, s=
kip
=C2=A0=C2=A0=C2=A0 unpacking any remaining options, and then attempt to p=
rocess
=C2=A0=C2=A0=C2=A0 the packet as is.=C2=A0 Prior to this the servers woul=
d log the issue
=C2=A0=C2=A0=C2=A0 and then drop the packet.
=C2=A0=C2=A0=C2=A0 (Trac #5551, git 59ef33ee17672c55cee4ec86ff59737b361a3=
c21)
1374.=C2=A0=C2=A0=C2=A0 [func]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
tmark
=C2=A0=C2=A0=C2=A0 kea-dhp4 and kea-dhcp6 can now be configured to attemp=
t to
=C2=A0=C2=A0=C2=A0 reconnect to Postgresql backends if connectivity is lo=
st.
=C2=A0=C2=A0=C2=A0 (Trac #5477, git 8e62a058382b2245d418cfbf829776934c638=
e5e)
1373.=C2=A0=C2=A0=C2=A0 [func]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
marcin
=C2=A0=C2=A0=C2=A0 Implemented leases parsing from JSON in libkea-dhcpsrv=
.
=C2=A0=C2=A0=C2=A0 (Trac #5466, git 84c2a2084b0fb7c086fc6b9502f7ff58b7081=
74e)
1372.=C2=A0=C2=A0=C2=A0 [func]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
marcin
=C2=A0=C2=A0=C2=A0 Implemented new hook points "dhcp4_srv_configured" and
=C2=A0=C2=A0=C2=A0 "leases4_committed" in the DHCPv4 server. The latter s=
upports
=C2=A0=C2=A0=C2=A0 new next step status NEXT_STEP_PARK which causes the s=
erver
=C2=A0=C2=A0=C2=A0 to "park" the client's DHCP packet.
=C2=A0=C2=A0=C2=A0 (Trac #5457, git af43f07b0e227ccabcdf07a046a64cebb11bd=
ccf)
1371.=C2=A0=C2=A0=C2=A0 [bug]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 f=
dupont
=C2=A0=C2=A0=C2=A0 Fixed a bug in JSONfeed tool which did not correctly h=
andle
=C2=A0=C2=A0=C2=A0 strings and interpret their content.
=C2=A0=C2=A0=C2=A0 (Trac #5513, git 231e923a85db7fb8305c7baa4d15f766fdf60=
942)
1370.=C2=A0=C2=A0=C2=A0 [bug]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 t=
mark
=C2=A0=C2=A0=C2=A0 Fixed a bug which prevented inserting multiple host re=
servations
=C2=A0=C2=A0=C2=A0 where IPv4 address was unspecified or when selected su=
bnet
=C2=A0=C2=A0=C2=A0 identifier
=C2=A0=C2=A0=C2=A0 was not specified (5416).=C2=A0 Corrected inconsistent=
data types for
=C2=A0=C2=A0=C2=A0 subnet id columns in both Postgres and MySQL schemas.=C2=
=A0 Now both
=C2=A0=C2=A0=C2=A0 schemas support up to MAX UINT32 in all subnet id colu=
mns.
=C2=A0=C2=A0=C2=A0 Exiting databases may be updated without data migratio=
n.
=C2=A0=C2=A0=C2=A0 (Trac #5416, #5522, git
=C2=A0=C2=A0=C2=A0=C2=A0 d1dd0f2e27ffa49515c17cf68d54f162359b6384)
1369.=C2=A0=C2=A0=C2=A0 [bug]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 m=
arcin
=C2=A0=C2=A0=C2=A0 Multiple critical performance optimizations in the all=
ocation
=C2=A0=C2=A0=C2=A0 engine for shared networks.
=C2=A0=C2=A0=C2=A0 (Trac #5437, git 9d8bcd39802795d48c737a05ef3de3634a28c=
a4e)
1368.=C2=A0=C2=A0=C2=A0 [func]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
tmark
=C2=A0=C2=A0=C2=A0 kea-dhcp4 now explicitly logs packets dropped due to a=
lack
=C2=A0=C2=A0=C2=A0 message type as a log type DHCP4_PACKET_DROP_0009.=C2=A0=
Prior
=C2=A0=C2=A0=C2=A0 to this such packets were logged has having an unsuppo=
rted
=C2=A0=C2=A0=C2=A0 message type of 0.
=C2=A0=C2=A0=C2=A0 (Trac #5553, git ff97e5ffb5f3478be71aae8130b6eff3208bd=
69a)
1367.=C2=A0=C2=A0=C2=A0 [func]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
fdupont
=C2=A0=C2=A0=C2=A0 Added initial skeleton implementation for Radius hook =
library.
=C2=A0=C2=A0=C2=A0 (Trac #5524, git 832aa23b89eab71875bcbdb1e955eb92fdc0e=
01a)
1366.=C2=A0=C2=A0=C2=A0 [func]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
fdupont
=C2=A0=C2=A0=C2=A0 Implemented FNV hashing function. Cassandra backend no=
longer
=C2=A0=C2=A0=C2=A0 explicitly depends on OpenSSL.
=C2=A0=C2=A0=C2=A0 (Trac #5502, git 71de75c3bb099f21fdef0d41806da281d6271=
287)
1365.=C2=A0=C2=A0=C2=A0 [func]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
fdupont
=C2=A0=C2=A0=C2=A0 Both DHCPv4 and DHCPv6 servers can now listen on loopb=
ack
=C2=A0=C2=A0=C2=A0 interfaces. This capability requires setting socket ty=
pe to UDP
=C2=A0=C2=A0=C2=A0 in DHCPv4. Note the feature has not been thoroughly te=
sted.
=C2=A0=C2=A0=C2=A0 (Trac #5390, git f38cbd73581a7a0f8634a63cb17f9b60407e3=
acc)
1364.=C2=A0=C2=A0=C2=A0 [func]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
fdupont
=C2=A0=C2=A0=C2=A0 Extended forensic (aka legal) logging with database ca=
pability.
=C2=A0=C2=A0=C2=A0 (Trac #5420, git 94bd3cc313e9f2a982ef8f8adf0cf44024c76=
499)
1363.=C2=A0=C2=A0=C2=A0 [func]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
tmark
=C2=A0=C2=A0=C2=A0 Added support for automatically recalculating lease st=
atistics
=C2=A0=C2=A0=C2=A0 to the CQL backend.
=C2=A0=C2=A0=C2=A0 (Trac #5487, git c807388d581ee1c3e479324f3c399f27feba1=
c96)
1362.=C2=A0=C2=A0=C2=A0 [func]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
razvan, andrei
=C2=A0=C2=A0=C2=A0 A new parameter exit-wait-time has been added to perfd=
hcp. It is
=C2=A0=C2=A0=C2=A0 now possible to tell perfdhcp to wait certain amount o=
f time
=C2=A0=C2=A0=C2=A0 after exit conditions are met before actually terminat=
ing.
=C2=A0=C2=A0=C2=A0 (Github #55, git 0cd1178ae092fa0c2f122d0e16fb673b4074a=
6e6)
1361.=C2=A0=C2=A0=C2=A0 [func]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
razvan, andrei, tomek
=C2=A0=C2=A0=C2=A0 Support for Google Benchmark has been added. To compil=
e
=C2=A0=C2=A0=C2=A0 benchmarking support, please use --with-benchmark opti=
on.
=C2=A0=C2=A0=C2=A0 (Github #36, git d6819971410b460d7742c762844e2e75ba580=
944)
1360.=C2=A0=C2=A0=C2=A0 [build,bug]=C2=A0=C2=A0=C2=A0 fdupont
=C2=A0=C2=A0=C2=A0 Cassandra build fixes for macOS.
=C2=A0=C2=A0=C2=A0 (Trac #5494, git cb0d735628aefd6bca2acc11b73d1f66b45d1=
c40)
1359.=C2=A0=C2=A0=C2=A0 [bug]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 r=
cgoodfellow
=C2=A0=C2=A0=C2=A0 Fixed bug in kea-admin causing error on lease-dump.
=C2=A0=C2=A0=C2=A0 (Github #61, git 2c9454ec56edc8f3cff8a23329f53ced0d172=
280)
1358.=C2=A0=C2=A0=C2=A0 [func]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
andreipavelQ,tomek
=C2=A0=C2=A0=C2=A0 The logging configuration is now applied early, which =
helps
=C2=A0=C2=A0=C2=A0 seeing errors in case the new configuration is faulty.
=C2=A0=C2=A0=C2=A0 (Github #41, git d77fbec5a003a69cab207aa741133015f2657=
878)
1357.=C2=A0=C2=A0=C2=A0 [build]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
andreipavelQ
=C2=A0=C2=A0=C2=A0 --with-dhcp-mysql renamed to --with-mysql and
=C2=A0=C2=A0=C2=A0 --with-dhcp-pgsql renamed to --with-pgsql. These names=
were
=C2=A0=C2=A0=C2=A0 leftovers from old BIND10 times when Kea was part of b=
igger
=C2=A0=C2=A0=C2=A0 solution that also provided DNS services. Kea is now a
=C2=A0=C2=A0=C2=A0 stand-alone software, thus the -dhcp- doesn't make sen=
se in
=C2=A0=C2=A0=C2=A0 those options any more.
=C2=A0=C2=A0=C2=A0 (Github #40, git 318c9e3d3db9bb938ced27932d8401172529a=
2ff)
1356.=C2=A0=C2=A0=C2=A0 [doc]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 a=
ndreipavelQ
=C2=A0=C2=A0=C2=A0 Documentation has been upgraded to DocBook 5.0.
=C2=A0=C2=A0=C2=A0 (Github #39, git 9b6705bd6c534128ec18820ff0cbdd72b7fce=
9e9)
1355.=C2=A0=C2=A0=C2=A0 [func]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
tomek
=C2=A0=C2=A0=C2=A0 Lightweight 4over6 options reinstantiated. Definitions=
for
=C2=A0=C2=A0=C2=A0 DHCPv6 options 89 through 96 were added back.
=C2=A0=C2=A0=C2=A0 DHCPv4 v4 Parameters Option 159 has its definition twe=
aked
=C2=A0=C2=A0=C2=A0 slightly.
=C2=A0=C2=A0=C2=A0 (Trac #5514, git 6a4aac2b3bfffe41460db6d1cd3c55b1430aa=
50c)
1354.=C2=A0=C2=A0=C2=A0 [build]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
andrei
=C2=A0=C2=A0=C2=A0 Support for coverage tests has been improved.
=C2=A0=C2=A0=C2=A0 (Github #43, git 1949bb3abf71fb3997044d239eb683095166c=
39f)
1353.=C2=A0=C2=A0=C2=A0 [build,bug]=C2=A0=C2=A0=C2=A0 andrei, razvan
=C2=A0=C2=A0=C2=A0 Various small changes and bugfixes. Thank you to Andre=
i Pavel
=C2=A0=C2=A0=C2=A0 and Razvan Becheriu for submitting their patch.
=C2=A0=C2=A0=C2=A0 (Github #54, git 2efa7494228a1797dff8d9d74107a452c61e2=
386)
1352.=C2=A0=C2=A0=C2=A0 [func]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
fdupont
=C2=A0=C2=A0=C2=A0 It is now possible to specify client classification re=
strictions
=C2=A0=C2=A0=C2=A0 on per pool basis. This capability will be useful for =
grouping
=C2=A0=C2=A0=C2=A0 certain types of devices into specific address and/or =
prefix
=C2=A0=C2=A0=C2=A0 pools.
=C2=A0=C2=A0=C2=A0 (Trac #5425, git 5f3a89d6e32e90cd9cbb2347c7b2208c3e156=
1e0)
1351.=C2=A0=C2=A0=C2=A0 [build]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
andreipavelQ
=C2=A0=C2=A0=C2=A0 Compilation parameters unified (every file now include=
s
=C2=A0=C2=A0=C2=A0 config.h, several makefile tweaks).
=C2=A0=C2=A0=C2=A0 (Github #38, git 7206aa79c57be7466c4ab3dd558663c6c4f85=
8b7)
1350.=C2=A0=C2=A0=C2=A0 [func]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
fdupont
=C2=A0=C2=A0=C2=A0 Several hook points now support next step status DROP.=
This
=C2=A0=C2=A0=C2=A0 allows more flexibility with dropping packets from wit=
hin hooks.
=C2=A0=C2=A0=C2=A0 (Trac #5443, git ff22a906915a34df327174f550f69a396a05b=
b2c)
1349.=C2=A0=C2=A0=C2=A0 [func]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
marcin
=C2=A0=C2=A0=C2=A0 Implemented HTTP client classes in libkea-http.
=C2=A0=C2=A0=C2=A0 (Trac #5451, git 94267e252b372650e4235389251b49d6f5501=
322)
1348.=C2=A0=C2=A0=C2=A0 [build]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
fdupont
=C2=A0=C2=A0=C2=A0 Modified configure.ac to include premium module m4 mac=
ros, if
=C2=A0=C2=A0=C2=A0 the module is present. Prior to this it relied on prem=
ium
=C2=A0=C2=A0=C2=A0=C2=A0 having it's own configure.ac script.
=C2=A0=C2=A0=C2=A0 (Trac #5400, git 38c4f2fb8fc8c8874a0e4671cc295a049acf6=
75f)
1347.=C2=A0=C2=A0=C2=A0 [build]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
fdupont
=C2=A0=C2=A0=C2=A0 Added support of boost 1.66.0 ASIO.
=C2=A0=C2=A0=C2=A0 (Github #60/Trac #5496, git
=C2=A0=C2=A0=C2=A0=C2=A0 bc2947de4296bd99b74e50e65f272c7ad5312429)
1346.=C2=A0=C2=A0=C2=A0 [func]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
marcin
=C2=A0=C2=A0=C2=A0 Implemented lease4-get-all command in lease_cmds hooks=
library.
=C2=A0=C2=A0=C2=A0 (Trac #5468, git a378ec28489e98df64830d1f26c3bebd20e25=
6b2)
1345.=C2=A0=C2=A0=C2=A0 [func]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
marcin
=C2=A0=C2=A0=C2=A0 Implemented "force-create" parameter for lease4-update=
and
=C2=A0=C2=A0=C2=A0 lease6-update commands.
=C2=A0=C2=A0=C2=A0 (Trac #5472, git 369245e4c5308a701fd483123f2cb2fd7d3d0=
966)
1344.=C2=A0=C2=A0=C2=A0 [func]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
andrei, razvan
=C2=A0=C2=A0=C2=A0 Support for host reservations stored in Cassandra adde=
d. The
=C2=A0=C2=A0=C2=A0 core functionality was added. There are some limitatio=
ns (delete,
=C2=A0=C2=A0=C2=A0 client classes, fixed DHCPv4 fields, statistics recoun=
t, etc.)
=C2=A0=C2=A0=C2=A0 These will be addressed in upcoming tickets.
=C2=A0=C2=A0=C2=A0 (github #37, git e37606fd2d0c02234a55f7445c52a12b2e7a8=
2ec)
1343.=C2=A0=C2=A0=C2=A0 [func]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
fdupont
=C2=A0=C2=A0=C2=A0 User-context and comments are now supported in many ne=
w scopes:
=C2=A0=C2=A0=C2=A0 global, shared-network, subnet, pool, host reservation=
, option,
=C2=A0=C2=A0=C2=A0 option definition, client-class, control-socket, dhcp-=
ddns,
=C2=A0=C2=A0=C2=A0 interfaces, loggers, and for DHCPv6 pd-pool and server=
-id.
=C2=A0=C2=A0=C2=A0 (Trac #5351, git 3405a8fa5d391d96cd15874fd3de3ac63ceb3=
3b6)
1342.=C2=A0=C2=A0=C2=A0 [bug]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 f=
dupont
=C2=A0=C2=A0=C2=A0 Fixed subnets and host reservations returned by config=
-get and
=C2=A0=C2=A0=C2=A0 config-write.
=C2=A0=C2=A0=C2=A0 (Trac #5452, git c24d057bed2692eaf3cdb6af889122eb582ff=
ede)
1341.=C2=A0=C2=A0=C2=A0 [func]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
razvan, andrei
=C2=A0=C2=A0=C2=A0 Significant update of Cassandra support. A lot of code=
for
=C2=A0=C2=A0=C2=A0 Cassandra Lease Manager has been updated and partially
=C2=A0=C2=A0=C2=A0 rewritten.
=C2=A0=C2=A0=C2=A0 (github #35, git 41795494720cd9886c1e98d21eaeefd94d674=
e37)
1340.=C2=A0=C2=A0=C2=A0 [func]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
marcin
=C2=A0=C2=A0=C2=A0 Added support for "dhcp-enable" and "dhcp-disable" com=
mands in
=C2=A0=C2=A0=C2=A0 the DHCPv4 and DHCPv6 server.
=C2=A0=C2=A0=C2=A0 (Trac #5442, git 36dc68ff7aa8b3cfd265c4f982d1024859003=
9bd)
1339.=C2=A0=C2=A0=C2=A0 [doc]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 m=
arcin
=C2=A0=C2=A0=C2=A0 Updated User's Guide describing how to selectively dis=
able
=C2=A0=C2=A0=C2=A0 legal logging for a subnet.
=C2=A0=C2=A0=C2=A0 (Trac #5407, git 469080abd711f8e88a5133f76f4ab31a5549a=
858)
1338.=C2=A0=C2=A0=C2=A0 [func]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
marcin
=C2=A0=C2=A0=C2=A0 Persistent HTTP/1.1 connections and HTTP/1.0 keep-aliv=
e
=C2=A0=C2=A0=C2=A0 are supported by RESTful API.
=C2=A0=C2=A0=C2=A0 (Trac #5448, git 05018f7cc0662d6956b9b7648646e0c17da94=
8ba)
1337.=C2=A0=C2=A0=C2=A0 [doc]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 m=
arcin
=C2=A0=C2=A0=C2=A0 Added placeholder section for the libdhcp_ha hooks lib=
rary.
=C2=A0=C2=A0=C2=A0 (Trac #5447, git d939b5b8bc4befb24daf863f2408d97493e4b=
fbf)
1336.=C2=A0=C2=A0=C2=A0 [bug]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 m=
arcin
=C2=A0=C2=A0=C2=A0 DHCPv6 server always sends prefixes with the lifetime =
of 0 for
=C2=A0=C2=A0=C2=A0 the prefix leases that should no longer be used, even =
if those
=C2=A0=C2=A0=C2=A0 prefixes are not included in the Renew/Rebind.
=C2=A0=C2=A0=C2=A0 (Trac #5403, git 91bb0855ff7ef86ff72b5a946ae716798d7be=
bc1)
1335.=C2=A0=C2=A0=C2=A0 [bug]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 m=
arcin
=C2=A0=C2=A0=C2=A0 Fixed a bug which prevented inserting multiple host re=
servations
=C2=A0=C2=A0=C2=A0 where IPv4 address was unspecified or when selected su=
bnet
=C2=A0=C2=A0=C2=A0 identifier was not specified. This change affects both=
Postgres
=C2=A0=C2=A0=C2=A0 and MySQL backend.
=C2=A0=C2=A0=C2=A0 (Trac #5416, git 03fab8f7d5c2e8a5ea735b11ff75652aa31d7=
91d)
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.
--------------0CCD20326ED350DF668647DD
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: quoted-printable
<html>
<head>
<meta http-equiv=3D"content-type" content=3D"text/html; charset=3Dutf=
-8">
</head>
<body text=3D"#000000" bgcolor=3D"#FFFFFF">
<p>
</p>
<div class=3D"moz-text-plain" wrap=3D"true" style=3D"font-family:
-moz-fixed; font-size: 12px;" lang=3D"x-unicode">
<pre wrap=3D"">On behalf of ISC and Kea team I'm pleased to announc=
e 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.=C2=A0 Users also requested the ability to reconnect after
the database connection is lost for whatever reason.=C2=A0=C2=A0=C2=A0 ''=
'NOTE''' You
will need to upgrade any existing MySQL and PostgreSQL Kea databases to
the new schema versions.=C2=A0 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=C2=A0 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.
=3D=3D License =3D=3D
Kea 1.4.0 is released under the Mozilla Public License, version 2.0.
=C2=A0=C2=A0 <a class=3D"moz-txt-link-freetext" href=3D"https://www.mozil=
la.org/en-US/MPL/2.0">https://www.mozilla.org/en-US/MPL/2.0</a>
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).
=3D=3D Download =3D=3D
The Kea 1.4.0 source and PGP signature may be downloaded from:
=C2=A0=C2=A0 <a class=3D"moz-txt-link-freetext" href=3D"https://www.isc.o=
rg/downloads">https://www.isc.org/downloads</a>
The signature was generated with the ISC code signing key which is
available at
=C2=A0=C2=A0 <a class=3D"moz-txt-link-freetext" href=3D"https://www.isc.o=
rg/about/openpgp">https://www.isc.org/about/openpgp</a>
ISC provides detailed documentation, including installation
instructions and usage tutorials in the Kea Administrator Reference
Manual. Documentation is included with the installation or via
<a class=3D"moz-txt-link-freetext" href=3D"https://kea.isc.org/docs">http=
s://kea.isc.org/docs</a> in HTML, plain text, or PDF formats.=C2=A0 ISC
maintains a public open source code tree at
<a class=3D"moz-txt-link-freetext" href=3D"https://github.com/isc-project=
s/kea">https://github.com/isc-projects/kea</a> and wiki pages with roadma=
p and
issue tracking at <a class=3D"moz-txt-link-freetext" href=3D"https://kea.=
isc.org">https://kea.isc.org</a>.
Limitations and known issues with this release can be found at
<a class=3D"moz-txt-link-freetext" href=3D"https://kea.isc.org/wiki/KeaKn=
ownIssues">https://kea.isc.org/wiki/KeaKnownIssues</a>
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.=C2=A0 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.
=3D=3D Support =3D=3D
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 <a class=3D"moz-txt-link-freetext" href=3D"https://www.isc.or=
g/dhcp-subscription/">https://www.isc.org/dhcp-subscription/</a>.=C2=A0 F=
ree best-effort
support is provided by our user community via a mailing list.
Information on all public email lists is available at
<a class=3D"moz-txt-link-freetext" href=3D"https://www.isc.org/community/=
mailing-list">https://www.isc.org/community/mailing-list</a>
If you have any comments or questions about working with Kea, please
share them to the Kea Users List
<a class=3D"moz-txt-link-freetext" href=3D"https://lists.isc.org/mailman/=
listinfo/kea-users">https://lists.isc.org/mailman/listinfo/kea-users</a>.=
=C2=A0 Bugs and feature
requests may be submitted via the ticket tracking system at
<a class=3D"moz-txt-link-freetext" href=3D"https://kea.isc.org">https://k=
ea.isc.org</a>.
=3D=3D Changes =3D=3D
The following summarizes changes and important upgrade notes since the
previous release (1.4.0-beta).
1427.=C2=A0=C2=A0=C2=A0 [bug]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 m=
arcin
=C2=A0=C2=A0=C2=A0 Resolved multiple problems causing slow synchronizatio=
n of
=C2=A0=C2=A0=C2=A0 leases in the HA hooks library, including adjusting
=C2=A0=C2=A0=C2=A0 timeouts in control channel and improving performance =
of
=C2=A0=C2=A0=C2=A0 responses sent by the Command Manager to Control Agent=
.
=C2=A0=C2=A0=C2=A0 Also, introduced 'sync-timeout' configuration paramete=
r
=C2=A0=C2=A0=C2=A0 into HA hooks library to control lease database
=C2=A0=C2=A0=C2=A0 synchronization timeout.
=C2=A0=C2=A0=C2=A0 (Trac #5649, git cbc29128863916a13364749bf681586aea2aa=
51e)
1426.=C2=A0=C2=A0=C2=A0 [func]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
fdupont
=C2=A0=C2=A0=C2=A0 Added KNOWN and UNKNOWN built-in client classes: after=
host
=C2=A0=C2=A0=C2=A0 lookup if a matching host entry is found
=C2=A0=C2=A0=C2=A0 the incoming packet is added to
=C2=A0=C2=A0=C2=A0 the KNOWN class, if none is found to the UNKNOWN class=
. Then
=C2=A0=C2=A0=C2=A0 expressions depending directly or indirectly on these =
classes
=C2=A0=C2=A0=C2=A0 are evaluated. Note these classes may be used to selec=
t
=C2=A0=C2=A0=C2=A0 a pool but they may not to select a subnet.
=C2=A0=C2=A0=C2=A0 (Trac #5549, git 6a856ed9722b918a65dca15ff44314e288977=
84e)
1425.=C2=A0=C2=A0=C2=A0 [bug]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 m=
arcin
=C2=A0=C2=A0=C2=A0 Improved performance of the DHCP server running in Hig=
h
=C2=A0=C2=A0=C2=A0 Availability configuration by optimizing the managemen=
t of
=C2=A0=C2=A0=C2=A0 CalloutHandle objects passed to the callouts.
=C2=A0=C2=A0=C2=A0 (Trac #5647, git eea88d5c8f4d8efb6c5bfdfbf4e070a90069d=
b5d)
1424.=C2=A0=C2=A0=C2=A0 [doc]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 m=
arcin
=C2=A0=C2=A0=C2=A0 List of hooks libraries provided by ISC includes an
=C2=A0=C2=A0=C2=A0 information which Kea servers the libraries can be att=
ached
=C2=A0=C2=A0=C2=A0 to. The detailed description of each supported hooks l=
ibrary
=C2=A0=C2=A0=C2=A0 also contains this information.
=C2=A0=C2=A0=C2=A0 (Trac #5613, git 9d6f8de3d988c42c413a7d628e31854e9c80d=
8c9)
1423.=C2=A0=C2=A0=C2=A0 [bug]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 t=
mark
=C2=A0=C2=A0=C2=A0 kea-dhcp4 and kea-dhcp6 now retain and emit global, sc=
alar
=C2=A0=C2=A0=C2=A0 parameters specified in their configuration.
=C2=A0=C2=A0=C2=A0 (Trac #5378, git 4d05122f03d00b10a888c768fe1725cae9d6a=
ea6)
1422.=C2=A0=C2=A0=C2=A0 [build]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
fdupont
=C2=A0=C2=A0=C2=A0 Commented out BOOST_ASIO_DISABLE_THREADS in configure =
to reflect
=C2=A0=C2=A0=C2=A0 the current use of threads by boost ASIO in Kea.
=C2=A0=C2=A0=C2=A0 (Trac #5615, git f3fc8b1a4257a42a97aaf88a36287bbe33d1f=
65b)
1421.=C2=A0=C2=A0=C2=A0 [build]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
marcin
=C2=A0=C2=A0=C2=A0 Moved libdhcp_ha (High Availability) hooks library fro=
m
=C2=A0=C2=A0=C2=A0 premium to main Kea repository and changed its license=
to
=C2=A0=C2=A0=C2=A0 MPLv2.0. Future ChangeLog entries for this library wil=
l be
=C2=A0=C2=A0=C2=A0 tracked in the Kea ChangeLog file.
=C2=A0=C2=A0=C2=A0 (Trac #5645, git 19b2553d4869bdd52b63b6f7969052d8a724f=
78d)
1420.=C2=A0=C2=A0=C2=A0 [doc]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 m=
arcin
=C2=A0=C2=A0=C2=A0 Updated list of loggers in the Kea Administrator's Man=
ual.
=C2=A0=C2=A0=C2=A0 The updated list contains all loggers, including those
=C2=A0=C2=A0=C2=A0 from supported hooks libraries.
=C2=A0=C2=A0=C2=A0 (Trac #5622, git bd94afc0af7183452c94f3b5768c6138f79d3=
b60)
1419.=C2=A0=C2=A0=C2=A0 [doc]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 m=
arcin
=C2=A0=C2=A0=C2=A0 Documented "sync-leases" configuration parameter of th=
e HA
=C2=A0=C2=A0=C2=A0 hooks library in the Kea Administrator's Manual.
=C2=A0=C2=A0=C2=A0 (Trac #5621, git 4ebac3a411aa02d1cc3d74e7eaf3212ad2081=
59a)
1418.=C2=A0=C2=A0=C2=A0 [bug]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 m=
arcin
=C2=A0=C2=A0=C2=A0 Corrected bug in the allocation engine which caused oc=
casional
=C2=A0=C2=A0=C2=A0 lease allocation failures when a loaded hooks library =
set the
=C2=A0=C2=A0=C2=A0 callout status to non default value, e.g. "skip" rathe=
r than
=C2=A0=C2=A0=C2=A0 "continue". In such cases, the server reported that it=
failed
=C2=A0=C2=A0=C2=A0 to allocate a lease "after 0 attempts".
=C2=A0=C2=A0=C2=A0 (Trac #5638, git f2e9b686ae52e1b06f660e1b522588b1440e2=
620)
1417.=C2=A0=C2=A0=C2=A0 [bug]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 m=
arcin
=C2=A0=C2=A0=C2=A0 Improved logging in the HTTP library both for the serv=
er and
=C2=A0=C2=A0=C2=A0 the client.
=C2=A0=C2=A0=C2=A0 (Trac #5205, git fd0bec610c89084d5a5d43ef032c9875c3e6a=
d46)
1416.=C2=A0=C2=A0=C2=A0 [bug]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 f=
dupont
=C2=A0=C2=A0=C2=A0 Added support of recent Botan 2.x crypto backend.
=C2=A0=C2=A0=C2=A0 Note that Botan 1.[9-11] is still supported but not re=
commended.
=C2=A0=C2=A0=C2=A0 (Trac #5382, git 22651b1935a2397edfbddb9b8873c353c090f=
18e)
1415.=C2=A0=C2=A0=C2=A0 [bug]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 t=
mark
=C2=A0=C2=A0=C2=A0 kea-dhcp4 and kea-dhcp6 now validate the schema versio=
n
=C2=A0=C2=A0=C2=A0 of lease and host back ends after establishing a conne=
ction.
=C2=A0=C2=A0=C2=A0 If a schema version does not match the version the ser=
ver
=C2=A0=C2=A0=C2=A0 expects, the server will emit an error log and close
=C2=A0=C2=A0=C2=A0 the connection. This applies to MySQL, PostgreSQL, and
=C2=A0=C2=A0=C2=A0 Cassandra.
=C2=A0=C2=A0=C2=A0 (Trac #5629, git 15c34afdba45be609e35284a209ad18ed6660=
5f8)
1414.=C2=A0=C2=A0=C2=A0 [bug]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 t=
mark
=C2=A0=C2=A0=C2=A0 kea-dhcp4 parsing now treats renew-timer and rebind-ti=
mer
=C2=A0=C2=A0=C2=A0 as optional with no defaults. The logic for sending th=
em
=C2=A0=C2=A0=C2=A0 to the client was changed to: send rebind-timer only
=C2=A0=C2=A0=C2=A0 when it is less than the lease lifetime; and send rene=
w-timer
=C2=A0=C2=A0=C2=A0 only when it less than either the rebind-timer if spec=
ified,
=C2=A0=C2=A0=C2=A0 or lease lifetime in the absence of rebind-timer.
=C2=A0=C2=A0=C2=A0 (Trac #5596, git 38426e16ec04a786e35a65d27cbcb7dbabfe7=
9b5)
1413.=C2=A0=C2=A0=C2=A0 [func]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
fdupont
=C2=A0=C2=A0=C2=A0 Removed getAll, get4 and get6 methods using both hardw=
are
=C2=A0=C2=A0=C2=A0 address and DUID from host backend (aka host data sour=
ce) APIs.
=C2=A0=C2=A0=C2=A0 This is an <b class=3D"moz-txt-star"><span class=3D"mo=
z-txt-tag">*</span>incompatible<span class=3D"moz-txt-tag">*</span></b> c=
hange.
=C2=A0=C2=A0=C2=A0 (Trac #5563, git db4c34b069f114f93d9f29cdeb02b536a0fbc=
982)
1412.=C2=A0=C2=A0=C2=A0 [func]*=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
marcin
=C2=A0=C2=A0=C2=A0 The client classes used by the High Availability hook =
library
=C2=A0=C2=A0=C2=A0 use upper case "HA_" prefix and they are now built-in =
classes.
=C2=A0=C2=A0=C2=A0 This means that those classes do not need to be=C2=A0=C2=
=A0=C2=A0 declared in the
=C2=A0=C2=A0=C2=A0 server configuration.
=C2=A0=C2=A0=C2=A0 (Trac #5632, git 2d590bfd7d1b0eca377eb99eef83a3083a1d7=
399)
1411.=C2=A0=C2=A0=C2=A0 [bug]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 f=
dupont
=C2=A0=C2=A0=C2=A0 Fixed warnings about lambda's not using captured varia=
bles.
=C2=A0=C2=A0=C2=A0 (Trac #5591, git f88a505823d39faec7dc5f647f40e6454e5df=
c74)
1410.=C2=A0=C2=A0=C2=A0 [bug]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 m=
arcin
=C2=A0=C2=A0=C2=A0 Fixed multiple hanging Control Agent unittests.
=C2=A0=C2=A0=C2=A0 (Trac #5576, git 310af68101cba74220652ec2b403520fc5666=
dc0)
1409.=C2=A0=C2=A0=C2=A0 [doc]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 m=
arcin
=C2=A0=C2=A0=C2=A0 Documented in the User's Guide how Kea HA service beha=
ves
=C2=A0=C2=A0=C2=A0 when the clock skew between active servers becomes too
=C2=A0=C2=A0=C2=A0 high.
=C2=A0=C2=A0=C2=A0 (Trac #5603, git ffaff4d2a03600bb4f81d335b49a840e31d03=
c8c)
1408.=C2=A0=C2=A0=C2=A0 [func]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
tomek
=C2=A0=C2=A0=C2=A0 perfdhcp now supports -o option that adds DHCP options=
.
=C2=A0=C2=A0=C2=A0 This may be used to simulate various clients.
=C2=A0=C2=A0=C2=A0 (github #77, git b81dedb7f0a2516130e7bd799d9084c63f0e8=
44c)
1407.=C2=A0=C2=A0=C2=A0 [bug]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 t=
mark
=C2=A0=C2=A0=C2=A0 Corrected an issue where the destruction of loggers
=C2=A0=C2=A0=C2=A0 prior to the destruction of the TimerMgr singleton
=C2=A0=C2=A0=C2=A0 caused unit tests to segfault.
=C2=A0=C2=A0=C2=A0 (Trac #5626, git 9f4e3f9cd8acf8e7d1d3e714d8f904754377c=
00f)
1406.=C2=A0=C2=A0=C2=A0 [func]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
fdupont
=C2=A0=C2=A0=C2=A0 Added pkg-config alternative to configure --with-cql p=
ath so
=C2=A0=C2=A0=C2=A0 now you can use either pkg-config or cql_config.
=C2=A0=C2=A0=C2=A0 (Trac #5488, git 55498ca3455517132533a39002ebfc05d26c7=
e38)
1405.=C2=A0=C2=A0=C2=A0 [bug]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 t=
mark
=C2=A0=C2=A0=C2=A0 Corrected missing "override" warning in cql_lease_mgr.=
h
=C2=A0=C2=A0=C2=A0 (Trac #5625, git df3068ba0e520df4d96dd38e2de679beb99f2=
e23)
The following summarizes changes and important upgrade notes since the
previous release (1.3.0).
1404.=C2=A0=C2=A0=C2=A0 [doc]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 t=
omek
=C2=A0=C2=A0=C2=A0 Hooks package installation intruction added to Kea
=C2=A0=C2=A0=C2=A0 User's Guide.
=C2=A0=C2=A0=C2=A0 (Trac #5427, git 7bc5e4297e8b2ccb87d5d5d79ae066fe32964=
841)
1403.=C2=A0=C2=A0=C2=A0 [build]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
tomek
=C2=A0=C2=A0=C2=A0 Support for hook packages has been updated. The --with=
-tierX
=C2=A0=C2=A0=C2=A0 flags have been removed. Each hook library is now dete=
cted
=C2=A0=C2=A0=C2=A0 independently.
=C2=A0=C2=A0=C2=A0 (Trac #5619, git aa1f95d699dc664a5660db120ef71edee910a=
9b3)
1402.=C2=A0=C2=A0=C2=A0 [bug]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 t=
omek
=C2=A0=C2=A0=C2=A0 Fixed a crash that was caused by hook library register=
ing
=C2=A0=C2=A0=C2=A0 new hook points. This fixes unit-tests with forensic
=C2=A0=C2=A0=C2=A0 logging, but the problem was generic and could cause
=C2=A0=C2=A0=C2=A0 other libraries to segfault during unloading or reconf=
iguration.
=C2=A0=C2=A0=C2=A0 (Trac #5577, git 2f9d1aa95c16e12fabc50d581b966f20b6d8a=
950)
1401.=C2=A0=C2=A0=C2=A0 [bug]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 t=
mark
=C2=A0=C2=A0=C2=A0 Corrected an issue which caused kea-dhcp4 and kea-dhcp=
6 servers
=C2=A0=C2=A0=C2=A0 to unload their hooks libraries upon receipt of the fi=
rst client
=C2=A0=C2=A0=C2=A0 message following a dynamic reconfigure.
=C2=A0=C2=A0=C2=A0 (Trac #5564, git 5111f569bd251c2a98a2e6d958e8f6b640a18=
02d)
1400.=C2=A0=C2=A0 [func]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 tmark
=C2=A0=C2=A0=C2=A0 A new hooks library, Stat Cmds, has been added to the =
open
=C2=A0=C2=A0=C2=A0 source
=C2=A0=C2=A0=C2=A0 distribution.=C2=A0 This library provides commands for=
fetching lease
=C2=A0=C2=A0=C2=A0 allocation statistics using lease backend as the sourc=
e for
=C2=A0=C2=A0=C2=A0 lease counts per state.=C2=A0 This resolves an issue i=
n deployments,
=C2=A0=C2=A0=C2=A0 where multiple Kea servers share a common lease backen=
d, which
=C2=A0=C2=A0=C2=A0 made it difficult to obtain accurate lease statistics.
=C2=A0=C2=A0=C2=A0 (Trac #5589, git 36f20f1c8b28f629fe2896b817ac0f3c6026f=
e0e)
1399.=C2=A0=C2=A0=C2=A0 [func]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
tmark
=C2=A0=C2=A0=C2=A0 Support for fetching lease allocation statistics by su=
bnet-id
=C2=A0=C2=A0=C2=A0 or subnet-id range has been added to the Cassandra bac=
k end.
=C2=A0=C2=A0=C2=A0 This
=C2=A0=C2=A0=C2=A0 allows it to be used in conjunction with the Stat Cmds=
hooks
=C2=A0=C2=A0=C2=A0 library commands for fetching shared lease statistics.
=C2=A0=C2=A0=C2=A0 (Trac #5588, git 3fcfefdea5ac838936c2109ecbbbc32eabc8f=
dba)
1398.=C2=A0=C2=A0=C2=A0 [bug]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 f=
dupont
=C2=A0=C2=A0=C2=A0 Fixed bug in configurations where "outbound-interface"=
parameter
=C2=A0=C2=A0=C2=A0 was set to "use-routing", which in some cases would re=
set
=C2=A0=C2=A0=C2=A0 outbound interface index to a negative value and cause=
the
=C2=A0=C2=A0=C2=A0 server to fail to respond to the clients.
=C2=A0=C2=A0=C2=A0 (Trac #5515, git 9d8d00f1f127ee606f09f7ff6006f0d142aac=
976)
1397.=C2=A0=C2=A0=C2=A0 [bug]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 m=
arcin
=C2=A0=C2=A0=C2=A0 A bug in http client library was fixed. The IPv6 addre=
ss
=C2=A0=C2=A0=C2=A0 specified in brackets is now supported properly.
=C2=A0=C2=A0=C2=A0 (Trac #5620, git fe38c4368853e47bc993d6c3844cdddba5eff=
de5)
1396.=C2=A0=C2=A0=C2=A0 [bug]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 t=
mark
=C2=A0=C2=A0=C2=A0 The PostgreSQL schema was expanded to include two new =
tables:
=C2=A0=C2=A0=C2=A0 lease4-stat and lease6-stat and triggers to update the=
m as
=C2=A0=C2=A0=C2=A0 leases are modified. This resolves an issue in deploym=
ents,
=C2=A0=C2=A0=C2=A0 where multiple Kea servers share a common PostgreSQL l=
ease
=C2=A0=C2=A0=C2=A0 database, which made it difficult to obtain accurate l=
ease
=C2=A0=C2=A0=C2=A0 statistics. Since these statistics are now tracked by =
the
=C2=A0=C2=A0=C2=A0 database, they do not have to be recalculated at
=C2=A0=C2=A0=C2=A0 startup or following reconfiguration. This may result =
in less
=C2=A0=C2=A0=C2=A0 processing overhead during these events. The new stati=
stics
=C2=A0=C2=A0=C2=A0 will be accessible via a new Hooks library, being deve=
loped
=C2=A0=C2=A0=C2=A0 for Kea 1.4 under #5589.
=C2=A0=C2=A0=C2=A0 (Trac #5587, git 36a0160de0df7789eea224954717be05c0863=
8b7)
1395.=C2=A0=C2=A0=C2=A0 [bug]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 t=
mark
=C2=A0=C2=A0=C2=A0 The MySQL schema was expanded to include two new table=
s:
=C2=A0=C2=A0=C2=A0 lease4-stat and lease6-stat and triggers to update the=
m as
=C2=A0=C2=A0=C2=A0 leases are modified. This resolves an issue in deploym=
ents,
=C2=A0=C2=A0=C2=A0 where multiple Kea servers share a common MySQL lease =
database,
=C2=A0=C2=A0=C2=A0 which made it difficult to obtain accurate lease stati=
stics.
=C2=A0=C2=A0=C2=A0 Since these statistics are now tracked by the database=
,
=C2=A0=C2=A0=C2=A0 they do not have to be recalculated at startup
=C2=A0=C2=A0=C2=A0 or following reconfiguration. This may result in less
=C2=A0=C2=A0=C2=A0 processing overhead during these events. The new stati=
stics
=C2=A0=C2=A0=C2=A0 will be accessible via a new Hooks
=C2=A0=C2=A0=C2=A0 library, being developed for Kea 1.4 under #5589.
=C2=A0=C2=A0=C2=A0 (Trac #5586, git a070c327668c10de3b28f5e249f91d6d16a97=
ff5)
1394.=C2=A0=C2=A0=C2=A0 [doc]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 m=
arcin
=C2=A0=C2=A0=C2=A0 Documented High Availability hook library in the Kea
=C2=A0=C2=A0=C2=A0 Administrator Reference Manual.
=C2=A0=C2=A0=C2=A0 (Trac #5478, git 3db34400d0331e3d4fc208529eeb18f6abfb6=
562)
1393.=C2=A0=C2=A0=C2=A0 [build]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
marcin
=C2=A0=C2=A0=C2=A0 Install new header files introduced since Kea 1.3 rele=
ase.
=C2=A0=C2=A0=C2=A0 Also, bumped up libraries version numbers for Kea 1.4 =
beta
=C2=A0=C2=A0=C2=A0 release.
=C2=A0=C2=A0=C2=A0 (Trac #5590, git 64351229a30832735c5a81ac17ca1521aa248=
3b2)
1392.=C2=A0=C2=A0=C2=A0 [func]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
fdupont, marcin
=C2=A0=C2=A0=C2=A0 Implemented new hook point "leases6_committed" in the =
DHCPv6
=C2=A0=C2=A0=C2=A0 server. It supports new next step status NEXT_STEP_PAR=
K
=C2=A0=C2=A0=C2=A0 which causes the server=C2=A0=C2=A0=C2=A0 to "park" th=
e client's DHCP packet.
=C2=A0=C2=A0=C2=A0 (Trac #5458, git 04d6fb0a0ac5b9dff2a02764cc9265f9a2a05=
ae8)
1391.=C2=A0=C2=A0=C2=A0 [func]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
tmark
=C2=A0=C2=A0=C2=A0 For both kea-dhcp4 and kea-dhcp6, the "ip-address" par=
ameter
=C2=A0=C2=A0=C2=A0 in the "relay" element for both subnets and shared net=
works,
=C2=A0=C2=A0=C2=A0 has been replaced with a list form, "ip-addresses".
=C2=A0=C2=A0=C2=A0 Configuration
=C2=A0=C2=A0=C2=A0 parsing will continue to honor the singular form, but =
it should
=C2=A0=C2=A0=C2=A0 be considered deprecated.=C2=A0 In addition, an omissi=
on in 1.3 that
=C2=A0=C2=A0=C2=A0 caused shared network parsing to ignore the "relay' el=
ement has
=C2=A0=C2=A0=C2=A0 been corrected.
=C2=A0=C2=A0=C2=A0 (Trac #5535, git f4601abdb657122a8ba5d7784eded773ec01d=
171)
1390.=C2=A0=C2=A0=C2=A0 [doc]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 t=
omek
=C2=A0=C2=A0=C2=A0 User's Guide documentation for RADIUS and Host Cache w=
ritten.
=C2=A0=C2=A0=C2=A0 (Trac #5538, git c73337a8ec691874b8ac0b2efcd8708f1a79a=
cbb)
1389.=C2=A0=C2=A0=C2=A0 [func]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
fdupont
=C2=A0=C2=A0=C2=A0 dhcp6_srv_configured hook point added.
=C2=A0=C2=A0=C2=A0 (Trac #5530, git 3bb521f6ec8b4e2a1e57ec84b17ee12b0ccf0=
f83)
1388.=C2=A0=C2=A0=C2=A0 [build]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
tmark
=C2=A0=C2=A0=C2=A0 Modified configure script to support --with-dhcp-mysql=
and
=C2=A0=C2=A0=C2=A0 --with-dhcp-pgsql but emit a deprecation warning messa=
ge
=C2=A0=C2=A0=C2=A0 encouraging their replacement with --with-mysql and
=C2=A0=C2=A0=C2=A0=C2=A0 --with-pgsql.
=C2=A0=C2=A0=C2=A0 (Trac #5567, git 53761069761ddde44636baa30185322debfe4=
186)
1387.=C2=A0=C2=A0=C2=A0 [func]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
tmark
=C2=A0=C2=A0=C2=A0 perfdhcp no longer requires -r (rate) be specified in =
order to
=C2=A0=C2=A0=C2=A0 use -D<max-drop>, -n<num-request>, -p<t=
est-period>
=C2=A0=C2=A0=C2=A0 and -t<report> options.
=C2=A0=C2=A0=C2=A0 (Trac #5115, git c3ba89c56882cac1080899ad201f0c02056ee=
f38)
1386.=C2=A0=C2=A0=C2=A0 [func]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
fdupont
=C2=A0=C2=A0=C2=A0 Extended comment / user-context support to DHCP-DDNS a=
nd
=C2=A0=C2=A0=C2=A0 Control Agent configuration syntax.
=C2=A0=C2=A0=C2=A0 (Trac #5495, git fe79959e3bc3c46ccb89661cb27696671a850=
8b8)
1385.=C2=A0=C2=A0=C2=A0 [func]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
tomek
=C2=A0=C2=A0=C2=A0 lease4-wipe and lease6-wipe are now able to wipe all l=
eases
=C2=A0=C2=A0=C2=A0 from all configured subnets if subnet-id specified is =
0
=C2=A0=C2=A0=C2=A0 or the subnet-id parameter is omitted.
=C2=A0=C2=A0=C2=A0 (Trac #5543, git ecaf777dff4b8d1100c2a97c4fb1cf8f8e635=
66d)
1384.=C2=A0=C2=A0=C2=A0 [func]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
fdupont
=C2=A0=C2=A0=C2=A0 Significant improvements to client classification intr=
oduced.
=C2=A0=C2=A0=C2=A0 The order of classes evaluation has changed from alpha=
betical
=C2=A0=C2=A0=C2=A0 to the order of appearance. New 'member' expression al=
lows
=C2=A0=C2=A0=C2=A0 combination of classes. The new 'only-if-required' and
=C2=A0=C2=A0=C2=A0 'require-client-class' parameters controlling the scop=
e of
=C2=A0=C2=A0=C2=A0 a class have been introduced.
=C2=A0=C2=A0=C2=A0 (Trac #5474, git 3f2d93f0731fc1858b20e831a7d1f090ea884=
1fe)
1383.=C2=A0=C2=A0=C2=A0 [func]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
tmark
=C2=A0=C2=A0=C2=A0 kea-dhcp4 and kea-dhcp6 can now be configured to attem=
pt to
=C2=A0=C2=A0=C2=A0 reconnect to MySQL backends if connectivity is lost.
=C2=A0=C2=A0=C2=A0 (Trac #5556, git b31da6f9a3545a2cac228eb17c59d72b6b482=
3f2)
1382.=C2=A0=C2=A0=C2=A0 [func]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
fdupont
=C2=A0=C2=A0=C2=A0 Added support for generalized UDP Source Port for DHCP=
Relay
=C2=A0=C2=A0=C2=A0 (RFC 8357) for DHCPv4, DHCPv6 and DHCPv4-over-DHCPv6. =
Note
=C2=A0=C2=A0=C2=A0 this required changes to the inter-server protocol use=
d by
=C2=A0=C2=A0=C2=A0 our 4o6 implementation, and is therefore not backward
=C2=A0=C2=A0=C2=A0 compatible.
=C2=A0=C2=A0=C2=A0 (Trac #5404, git 2a6049947ad4caaaa697dba8cb7669a09264f=
0bc)
1381.=C2=A0=C2=A0=C2=A0 [bug]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 m=
arcin
=C2=A0=C2=A0=C2=A0 Corrected a bug in the libkea-asiolink library which c=
aused
=C2=A0=C2=A0=C2=A0 the DHCP servers to crash while processing commands ov=
er
=C2=A0=C2=A0=C2=A0 the unix domain socket on some systems.
=C2=A0=C2=A0=C2=A0 (Trac #5580, git cb5276a24436a9e9ce4d1ab4630e7193a4c2d=
803)
1380.=C2=A0=C2=A0=C2=A0 [func]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
fdupont
=C2=A0=C2=A0=C2=A0 Implemented lease6-get-all command in lease_cmds hooks=
library.
=C2=A0=C2=A0=C2=A0 (Trac #5469, git a0bb7188df47a0f8020ff57739c5a6ab5f7e9=
828)
1379.=C2=A0=C2=A0=C2=A0 [func, bug]=C2=A0=C2=A0=C2=A0 marcin
=C2=A0=C2=A0=C2=A0 The network_state argument is provided to the callouts=
in
=C2=A0=C2=A0=C2=A0 the dhcp4_srv_configured hook point. Also, fixed a cou=
ple
=C2=A0=C2=A0=C2=A0 of minor bugs in the HTTP client classes.
=C2=A0=C2=A0=C2=A0 (Trac #5470, git 93e2b2198c3163afb81d51fdf5ec547602a12=
415)
1378.=C2=A0=C2=A0=C2=A0 [doc]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 t=
omek
=C2=A0=C2=A0=C2=A0 New parameter subnets-action for network4-del and netw=
ork6-del
=C2=A0=C2=A0=C2=A0 commands is now documented.
=C2=A0=C2=A0=C2=A0 (Trac #5441, git 8b2ffabb3d1ba709f319df2b34d0804ee8244=
46b)
1377.=C2=A0=C2=A0=C2=A0 [doc]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 t=
omek
=C2=A0=C2=A0=C2=A0 New parameters for Cassandra are now documented.
=C2=A0=C2=A0=C2=A0 (Trac #5484, git 56e7026ea2bfab99dbfa1a047dc920ec2f743=
540)
1376.=C2=A0=C2=A0=C2=A0 [func]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
razvan
=C2=A0=C2=A0=C2=A0 Cassandra backend improvements: get all IPv4 leases, d=
elete
=C2=A0=C2=A0=C2=A0 hosts, ability to store fixed DHCPv4 fields (next-serv=
er,
=C2=A0=C2=A0=C2=A0 server-hostname, boot-file-name) and user contexts in =
host
=C2=A0=C2=A0=C2=A0 reservations. Also, the ability to store MAC address d=
etails
=C2=A0=C2=A0=C2=A0 in DHCPv6 leases on PostgreSQL has been improved.
=C2=A0=C2=A0=C2=A0 (Github #70, git 8cd0c1ae416be88baf69c2243e83a429d6d5c=
965)
=C2=A0=C2=A0=C2=A0 (Trac #5506, git 8cd0c1ae416be88baf69c2243e83a429d6d5c=
965)
=C2=A0=C2=A0=C2=A0 (Trac #5507, git 8cd0c1ae416be88baf69c2243e83a429d6d5c=
965)
=C2=A0=C2=A0=C2=A0 (Trac #5508, git 8cd0c1ae416be88baf69c2243e83a429d6d5c=
965)
=C2=A0=C2=A0=C2=A0 (Trac #4530, git 8cd0c1ae416be88baf69c2243e83a429d6d5c=
965)
1375.=C2=A0=C2=A0=C2=A0 [func]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
tmark
=C2=A0=C2=A0=C2=A0 When encountering errors unpacking vendor specific opt=
ions,
=C2=A0=C2=A0=C2=A0 both kea-dhcp4 and kea-dhcp6 will now log the error, s=
kip
=C2=A0=C2=A0=C2=A0 unpacking any remaining options, and then attempt to p=
rocess
=C2=A0=C2=A0=C2=A0 the packet as is.=C2=A0 Prior to this the servers woul=
d log the issue
=C2=A0=C2=A0=C2=A0 and then drop the packet.
=C2=A0=C2=A0=C2=A0 (Trac #5551, git 59ef33ee17672c55cee4ec86ff59737b361a3=
c21)
1374.=C2=A0=C2=A0=C2=A0 [func]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
tmark
=C2=A0=C2=A0=C2=A0 kea-dhp4 and kea-dhcp6 can now be configured to attemp=
t to
=C2=A0=C2=A0=C2=A0 reconnect to Postgresql backends if connectivity is lo=
st.
=C2=A0=C2=A0=C2=A0 (Trac #5477, git 8e62a058382b2245d418cfbf829776934c638=
e5e)
1373.=C2=A0=C2=A0=C2=A0 [func]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
marcin
=C2=A0=C2=A0=C2=A0 Implemented leases parsing from JSON in libkea-dhcpsrv=
.
=C2=A0=C2=A0=C2=A0 (Trac #5466, git 84c2a2084b0fb7c086fc6b9502f7ff58b7081=
74e)
1372.=C2=A0=C2=A0=C2=A0 [func]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
marcin
=C2=A0=C2=A0=C2=A0 Implemented new hook points "dhcp4_srv_configured" and
=C2=A0=C2=A0=C2=A0 "leases4_committed" in the DHCPv4 server. The latter s=
upports
=C2=A0=C2=A0=C2=A0 new next step status NEXT_STEP_PARK which causes the s=
erver
=C2=A0=C2=A0=C2=A0 to "park" the client's DHCP packet.
=C2=A0=C2=A0=C2=A0 (Trac #5457, git af43f07b0e227ccabcdf07a046a64cebb11bd=
ccf)
1371.=C2=A0=C2=A0=C2=A0 [bug]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 f=
dupont
=C2=A0=C2=A0=C2=A0 Fixed a bug in JSONfeed tool which did not correctly h=
andle
=C2=A0=C2=A0=C2=A0 strings and interpret their content.
=C2=A0=C2=A0=C2=A0 (Trac #5513, git 231e923a85db7fb8305c7baa4d15f766fdf60=
942)
1370.=C2=A0=C2=A0=C2=A0 [bug]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 t=
mark
=C2=A0=C2=A0=C2=A0 Fixed a bug which prevented inserting multiple host re=
servations
=C2=A0=C2=A0=C2=A0 where IPv4 address was unspecified or when selected su=
bnet
=C2=A0=C2=A0=C2=A0 identifier
=C2=A0=C2=A0=C2=A0 was not specified (5416).=C2=A0 Corrected inconsistent=
data types for
=C2=A0=C2=A0=C2=A0 subnet id columns in both Postgres and MySQL schemas.=C2=
=A0 Now both
=C2=A0=C2=A0=C2=A0 schemas support up to MAX UINT32 in all subnet id colu=
mns.
=C2=A0=C2=A0=C2=A0 Exiting databases may be updated without data migratio=
n.
=C2=A0=C2=A0=C2=A0 (Trac #5416, #5522, git
=C2=A0=C2=A0=C2=A0=C2=A0 d1dd0f2e27ffa49515c17cf68d54f162359b6384)
1369.=C2=A0=C2=A0=C2=A0 [bug]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 m=
arcin
=C2=A0=C2=A0=C2=A0 Multiple critical performance optimizations in the all=
ocation
=C2=A0=C2=A0=C2=A0 engine for shared networks.
=C2=A0=C2=A0=C2=A0 (Trac #5437, git 9d8bcd39802795d48c737a05ef3de3634a28c=
a4e)
1368.=C2=A0=C2=A0=C2=A0 [func]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
tmark
=C2=A0=C2=A0=C2=A0 kea-dhcp4 now explicitly logs packets dropped due to a=
lack
=C2=A0=C2=A0=C2=A0 message type as a log type DHCP4_PACKET_DROP_0009.=C2=A0=
Prior
=C2=A0=C2=A0=C2=A0 to this such packets were logged has having an unsuppo=
rted
=C2=A0=C2=A0=C2=A0 message type of 0.
=C2=A0=C2=A0=C2=A0 (Trac #5553, git ff97e5ffb5f3478be71aae8130b6eff3208bd=
69a)
1367.=C2=A0=C2=A0=C2=A0 [func]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
fdupont
=C2=A0=C2=A0=C2=A0 Added initial skeleton implementation for Radius hook =
library.
=C2=A0=C2=A0=C2=A0 (Trac #5524, git 832aa23b89eab71875bcbdb1e955eb92fdc0e=
01a)
1366.=C2=A0=C2=A0=C2=A0 [func]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
fdupont
=C2=A0=C2=A0=C2=A0 Implemented FNV hashing function. Cassandra backend no=
longer
=C2=A0=C2=A0=C2=A0 explicitly depends on OpenSSL.
=C2=A0=C2=A0=C2=A0 (Trac #5502, git 71de75c3bb099f21fdef0d41806da281d6271=
287)
1365.=C2=A0=C2=A0=C2=A0 [func]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
fdupont
=C2=A0=C2=A0=C2=A0 Both DHCPv4 and DHCPv6 servers can now listen on loopb=
ack
=C2=A0=C2=A0=C2=A0 interfaces. This capability requires setting socket ty=
pe to UDP
=C2=A0=C2=A0=C2=A0 in DHCPv4. Note the feature has not been thoroughly te=
sted.
=C2=A0=C2=A0=C2=A0 (Trac #5390, git f38cbd73581a7a0f8634a63cb17f9b60407e3=
acc)
1364.=C2=A0=C2=A0=C2=A0 [func]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
fdupont
=C2=A0=C2=A0=C2=A0 Extended forensic (aka legal) logging with database ca=
pability.
=C2=A0=C2=A0=C2=A0 (Trac #5420, git 94bd3cc313e9f2a982ef8f8adf0cf44024c76=
499)
1363.=C2=A0=C2=A0=C2=A0 [func]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
tmark
=C2=A0=C2=A0=C2=A0 Added support for automatically recalculating lease st=
atistics
=C2=A0=C2=A0=C2=A0 to the CQL backend.
=C2=A0=C2=A0=C2=A0 (Trac #5487, git c807388d581ee1c3e479324f3c399f27feba1=
c96)
1362.=C2=A0=C2=A0=C2=A0 [func]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
razvan, andrei
=C2=A0=C2=A0=C2=A0 A new parameter exit-wait-time has been added to perfd=
hcp. It is
=C2=A0=C2=A0=C2=A0 now possible to tell perfdhcp to wait certain amount o=
f time
=C2=A0=C2=A0=C2=A0 after exit conditions are met before actually terminat=
ing.
=C2=A0=C2=A0=C2=A0 (Github #55, git 0cd1178ae092fa0c2f122d0e16fb673b4074a=
6e6)
1361.=C2=A0=C2=A0=C2=A0 [func]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
razvan, andrei, tomek
=C2=A0=C2=A0=C2=A0 Support for Google Benchmark has been added. To compil=
e
=C2=A0=C2=A0=C2=A0 benchmarking support, please use --with-benchmark opti=
on.
=C2=A0=C2=A0=C2=A0 (Github #36, git d6819971410b460d7742c762844e2e75ba580=
944)
1360.=C2=A0=C2=A0=C2=A0 [build,bug]=C2=A0=C2=A0=C2=A0 fdupont
=C2=A0=C2=A0=C2=A0 Cassandra build fixes for macOS.
=C2=A0=C2=A0=C2=A0 (Trac #5494, git cb0d735628aefd6bca2acc11b73d1f66b45d1=
c40)
1359.=C2=A0=C2=A0=C2=A0 [bug]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 r=
cgoodfellow
=C2=A0=C2=A0=C2=A0 Fixed bug in kea-admin causing error on lease-dump.
=C2=A0=C2=A0=C2=A0 (Github #61, git 2c9454ec56edc8f3cff8a23329f53ced0d172=
280)
1358.=C2=A0=C2=A0=C2=A0 [func]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
andreipavelQ,tomek
=C2=A0=C2=A0=C2=A0 The logging configuration is now applied early, which =
helps
=C2=A0=C2=A0=C2=A0 seeing errors in case the new configuration is faulty.
=C2=A0=C2=A0=C2=A0 (Github #41, git d77fbec5a003a69cab207aa741133015f2657=
878)
1357.=C2=A0=C2=A0=C2=A0 [build]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
andreipavelQ
=C2=A0=C2=A0=C2=A0 --with-dhcp-mysql renamed to --with-mysql and
=C2=A0=C2=A0=C2=A0 --with-dhcp-pgsql renamed to --with-pgsql. These names=
were
=C2=A0=C2=A0=C2=A0 leftovers from old BIND10 times when Kea was part of b=
igger
=C2=A0=C2=A0=C2=A0 solution that also provided DNS services. Kea is now a
=C2=A0=C2=A0=C2=A0 stand-alone software, thus the -dhcp- doesn't make sen=
se in
=C2=A0=C2=A0=C2=A0 those options any more.
=C2=A0=C2=A0=C2=A0 (Github #40, git 318c9e3d3db9bb938ced27932d8401172529a=
2ff)
1356.=C2=A0=C2=A0=C2=A0 [doc]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 a=
ndreipavelQ
=C2=A0=C2=A0=C2=A0 Documentation has been upgraded to DocBook 5.0.
=C2=A0=C2=A0=C2=A0 (Github #39, git 9b6705bd6c534128ec18820ff0cbdd72b7fce=
9e9)
1355.=C2=A0=C2=A0=C2=A0 [func]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
tomek
=C2=A0=C2=A0=C2=A0 Lightweight 4over6 options reinstantiated. Definitions=
for
=C2=A0=C2=A0=C2=A0 DHCPv6 options 89 through 96 were added back.
=C2=A0=C2=A0=C2=A0 DHCPv4 v4 Parameters Option 159 has its definition twe=
aked
=C2=A0=C2=A0=C2=A0 slightly.
=C2=A0=C2=A0=C2=A0 (Trac #5514, git 6a4aac2b3bfffe41460db6d1cd3c55b1430aa=
50c)
1354.=C2=A0=C2=A0=C2=A0 [build]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
andrei
=C2=A0=C2=A0=C2=A0 Support for coverage tests has been improved.
=C2=A0=C2=A0=C2=A0 (Github #43, git 1949bb3abf71fb3997044d239eb683095166c=
39f)
1353.=C2=A0=C2=A0=C2=A0 [build,bug]=C2=A0=C2=A0=C2=A0 andrei, razvan
=C2=A0=C2=A0=C2=A0 Various small changes and bugfixes. Thank you to Andre=
i Pavel
=C2=A0=C2=A0=C2=A0 and Razvan Becheriu for submitting their patch.
=C2=A0=C2=A0=C2=A0 (Github #54, git 2efa7494228a1797dff8d9d74107a452c61e2=
386)
1352.=C2=A0=C2=A0=C2=A0 [func]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
fdupont
=C2=A0=C2=A0=C2=A0 It is now possible to specify client classification re=
strictions
=C2=A0=C2=A0=C2=A0 on per pool basis. This capability will be useful for =
grouping
=C2=A0=C2=A0=C2=A0 certain types of devices into specific address and/or =
prefix
=C2=A0=C2=A0=C2=A0 pools.
=C2=A0=C2=A0=C2=A0 (Trac #5425, git 5f3a89d6e32e90cd9cbb2347c7b2208c3e156=
1e0)
1351.=C2=A0=C2=A0=C2=A0 [build]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
andreipavelQ
=C2=A0=C2=A0=C2=A0 Compilation parameters unified (every file now include=
s
=C2=A0=C2=A0=C2=A0 config.h, several makefile tweaks).
=C2=A0=C2=A0=C2=A0 (Github #38, git 7206aa79c57be7466c4ab3dd558663c6c4f85=
8b7)
1350.=C2=A0=C2=A0=C2=A0 [func]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
fdupont
=C2=A0=C2=A0=C2=A0 Several hook points now support next step status DROP.=
This
=C2=A0=C2=A0=C2=A0 allows more flexibility with dropping packets from wit=
hin hooks.
=C2=A0=C2=A0=C2=A0 (Trac #5443, git ff22a906915a34df327174f550f69a396a05b=
b2c)
1349.=C2=A0=C2=A0=C2=A0 [func]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
marcin
=C2=A0=C2=A0=C2=A0 Implemented HTTP client classes in libkea-http.
=C2=A0=C2=A0=C2=A0 (Trac #5451, git 94267e252b372650e4235389251b49d6f5501=
322)
1348.=C2=A0=C2=A0=C2=A0 [build]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
fdupont
=C2=A0=C2=A0=C2=A0 Modified configure.ac to include premium module m4 mac=
ros, if
=C2=A0=C2=A0=C2=A0 the module is present. Prior to this it relied on prem=
ium
=C2=A0=C2=A0=C2=A0=C2=A0 having it's own configure.ac script.
=C2=A0=C2=A0=C2=A0 (Trac #5400, git 38c4f2fb8fc8c8874a0e4671cc295a049acf6=
75f)
1347.=C2=A0=C2=A0=C2=A0 [build]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
fdupont
=C2=A0=C2=A0=C2=A0 Added support of boost 1.66.0 ASIO.
=C2=A0=C2=A0=C2=A0 (Github #60/Trac #5496, git
=C2=A0=C2=A0=C2=A0=C2=A0 bc2947de4296bd99b74e50e65f272c7ad5312429)
1346.=C2=A0=C2=A0=C2=A0 [func]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
marcin
=C2=A0=C2=A0=C2=A0 Implemented lease4-get-all command in lease_cmds hooks=
library.
=C2=A0=C2=A0=C2=A0 (Trac #5468, git a378ec28489e98df64830d1f26c3bebd20e25=
6b2)
1345.=C2=A0=C2=A0=C2=A0 [func]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
marcin
=C2=A0=C2=A0=C2=A0 Implemented "force-create" parameter for lease4-update=
and
=C2=A0=C2=A0=C2=A0 lease6-update commands.
=C2=A0=C2=A0=C2=A0 (Trac #5472, git 369245e4c5308a701fd483123f2cb2fd7d3d0=
966)
1344.=C2=A0=C2=A0=C2=A0 [func]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
andrei, razvan
=C2=A0=C2=A0=C2=A0 Support for host reservations stored in Cassandra adde=
d. The
=C2=A0=C2=A0=C2=A0 core functionality was added. There are some limitatio=
ns (delete,
=C2=A0=C2=A0=C2=A0 client classes, fixed DHCPv4 fields, statistics recoun=
t, etc.)
=C2=A0=C2=A0=C2=A0 These will be addressed in upcoming tickets.
=C2=A0=C2=A0=C2=A0 (github #37, git e37606fd2d0c02234a55f7445c52a12b2e7a8=
2ec)
1343.=C2=A0=C2=A0=C2=A0 [func]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
fdupont
=C2=A0=C2=A0=C2=A0 User-context and comments are now supported in many ne=
w scopes:
=C2=A0=C2=A0=C2=A0 global, shared-network, subnet, pool, host reservation=
, option,
=C2=A0=C2=A0=C2=A0 option definition, client-class, control-socket, dhcp-=
ddns,
=C2=A0=C2=A0=C2=A0 interfaces, loggers, and for DHCPv6 pd-pool and server=
-id.
=C2=A0=C2=A0=C2=A0 (Trac #5351, git 3405a8fa5d391d96cd15874fd3de3ac63ceb3=
3b6)
1342.=C2=A0=C2=A0=C2=A0 [bug]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 f=
dupont
=C2=A0=C2=A0=C2=A0 Fixed subnets and host reservations returned by config=
-get and
=C2=A0=C2=A0=C2=A0 config-write.
=C2=A0=C2=A0=C2=A0 (Trac #5452, git c24d057bed2692eaf3cdb6af889122eb582ff=
ede)
1341.=C2=A0=C2=A0=C2=A0 [func]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
razvan, andrei
=C2=A0=C2=A0=C2=A0 Significant update of Cassandra support. A lot of code=
for
=C2=A0=C2=A0=C2=A0 Cassandra Lease Manager has been updated and partially
=C2=A0=C2=A0=C2=A0 rewritten.
=C2=A0=C2=A0=C2=A0 (github #35, git 41795494720cd9886c1e98d21eaeefd94d674=
e37)
1340.=C2=A0=C2=A0=C2=A0 [func]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
marcin
=C2=A0=C2=A0=C2=A0 Added support for "dhcp-enable" and "dhcp-disable" com=
mands in
=C2=A0=C2=A0=C2=A0 the DHCPv4 and DHCPv6 server.
=C2=A0=C2=A0=C2=A0 (Trac #5442, git 36dc68ff7aa8b3cfd265c4f982d1024859003=
9bd)
1339.=C2=A0=C2=A0=C2=A0 [doc]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 m=
arcin
=C2=A0=C2=A0=C2=A0 Updated User's Guide describing how to selectively dis=
able
=C2=A0=C2=A0=C2=A0 legal logging for a subnet.
=C2=A0=C2=A0=C2=A0 (Trac #5407, git 469080abd711f8e88a5133f76f4ab31a5549a=
858)
1338.=C2=A0=C2=A0=C2=A0 [func]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
marcin
=C2=A0=C2=A0=C2=A0 Persistent HTTP/1.1 connections and HTTP/1.0 keep-aliv=
e
=C2=A0=C2=A0=C2=A0 are supported by RESTful API.
=C2=A0=C2=A0=C2=A0 (Trac #5448, git 05018f7cc0662d6956b9b7648646e0c17da94=
8ba)
1337.=C2=A0=C2=A0=C2=A0 [doc]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 m=
arcin
=C2=A0=C2=A0=C2=A0 Added placeholder section for the libdhcp_ha hooks lib=
rary.
=C2=A0=C2=A0=C2=A0 (Trac #5447, git d939b5b8bc4befb24daf863f2408d97493e4b=
fbf)
1336.=C2=A0=C2=A0=C2=A0 [bug]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 m=
arcin
=C2=A0=C2=A0=C2=A0 DHCPv6 server always sends prefixes with the lifetime =
of 0 for
=C2=A0=C2=A0=C2=A0 the prefix leases that should no longer be used, even =
if those
=C2=A0=C2=A0=C2=A0 prefixes are not included in the Renew/Rebind.
=C2=A0=C2=A0=C2=A0 (Trac #5403, git 91bb0855ff7ef86ff72b5a946ae716798d7be=
bc1)
1335.=C2=A0=C2=A0=C2=A0 [bug]=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 m=
arcin
=C2=A0=C2=A0=C2=A0 Fixed a bug which prevented inserting multiple host re=
servations
=C2=A0=C2=A0=C2=A0 where IPv4 address was unspecified or when selected su=
bnet
=C2=A0=C2=A0=C2=A0 identifier was not specified. This change affects both=
Postgres
=C2=A0=C2=A0=C2=A0 and MySQL backend.
=C2=A0=C2=A0=C2=A0 (Trac #5416, git 03fab8f7d5c2e8a5ea735b11ff75652aa31d7=
91d)
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 <a class=3D"moz-txt-link-freetext" href=3D"https://www.=
isc.org/donate-to-isc/">https://www.isc.org/donate-to-isc/</a>.
We look forward to receiving your feedback.
</pre>
</div>
</body>
</html>
--------------0CCD20326ED350DF668647DD--
--===============6179339182519237224==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
_______________________________________________
Kea-announce mailing list
[email protected]
https://lists.isc.org/mailman/listinfo/kea-announce
--===============6179339182519237224==--