# Kea 1.6.1, November 20th 2019, Release Notes Welcome to Kea 1.6.1, a maintenance release of the 1.6 series. 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 and DNS update servers, an example shell client to connect to the CA, a daemon that is able to retrieve YANG configuration and updates from Sysrepo, 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 is stored in a CSV file by default; it can optionally be stored in a MySQL, PostgreSQL, or Cassandra database instead. Host reservations can be stored in a configuration file, or in a MySQL, PostgreSQL, or Cassandra database. They can also be retrieved from a RADIUS server, although this functionality is somewhat limited. Kea DHCPv4 and DHCPv6 daemons provide support for YANG models, which are stored in a Sysrepo datastore and can be configured via the NETCONF protocol. This maintenance release brings in two bug fixes for problems that were considered important enough to warrant a maintenance release. If you are not affected by these issues, no upgrade is necessary. However, if you wish to deploy the latest stable Kea version, please upgrade to 1.6.1. If you are interested in the latest development releases with new features, please look at the 1.7.x series. The text below references issue numbers. For more details, visit the Kea GitLab page at https://gitlab.isc.org/isc-projects/kea/issues. The following issues were fixed since 1.6.0: 1. **Better handling of packets with malformed hostnames**. Null characters are not allowed in the hostname. However, Kea 1.6.0 was overly strict about that and dropped the whole packet if a null character was detected. As a result, slightly misconfigured or buggy clients were completely refused service. This check has been loosened; Kea now ignores just the faulty hostname option and attempts to process the packet. As a result, even buggy or misconfigured clients are able to get service. This fix is of interest only to users who experience clients sending malformed hostnames (#900). 2. **Improved support for backup servers in HA configuration**. Kea 1.4.0 introduced High Availability mode with an optional capability to send lease updates to a third backup server. It was recently discovered that under special circumstances (initial traffic being serviced by the primary server, followed by more than 30 seconds of inactivity), the backup server could close the connection. The primary server would enter a "confused" state where it believed there was data to be received from the backup server, but the connection was broken. In effect, the primary server would enter a busy loop, resulting in 100% CPU utilization and general unresponsiveness to DHCP traffic and API commands. This bug has been fixed. This problem affects only users who use HA configuration with an additional backup server and periods of inactivity. (#964). ## License This version of Kea is released under the Mozilla Public License, version 2.0. https://www.mozilla.org/en-US/MPL/2.0 The premium and subscriber-only hooks libraries are provided in source code form, under the terms of an End User License Agreement (you will get the source code that you can modify freely, but you are not permitted to redistribute it). ## Download Pre-built ISC packages for current versions of the most popular Linux operating systems are available at: https://cloudsmith.io/~isc/repos/ The Kea source and PGP signature for this release may be downloaded from: https://www.isc.org/download The signature was generated with the ISC code signing key, which is available at: https://www.isc.org/pgpkeys 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://kb.isc.org/docs/kea-administrator-reference-manual in HTML, plain text, or PDF formats. ISC maintains a public open source code tree, wiki, issue tracking system, milestone planner, and roadmap at https://gitlab.isc.org//isc-projects/kea. Limitations and known issues with this release can be found at https://gitlab.isc.org/isc-projects/kea/wikis/known-issues-list. We ask 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 feedback on the Kea Users mailing list (https://lists.isc.org/mailman/listinfo/kea-users). We would also like to hear whether the documentation is adequate and accurate. Please open tickets in the Kea GitLab project for bugs, documentation omissions and errors, and enhancement requests. We want to hear from you even if everything worked. ## Support Professional support for Kea is available from ISC. We encourage all professional users to consider this option; Kea maintenance is funded with support subscriptions. For more information on ISC's Kea and DHCP software support see https://www.isc.org/support/. Free best-effort support is provided by our user community via a mailing list. Information on all public email lists is available at https://www.isc.org/community/mailing-list. If you have any comments or questions about working with Kea, please share them to the Kea Users list (https://lists.isc.org/mailman/listinfo/kea-users). Bugs and feature requests may be submitted via GitLab at https://gitlab.isc.org/isc-projects/kea/issues. ## Changes The following summarizes changes and important upgrade notes since the previous release (1.6.1). ``` 1660. [bug] tmark Fixed a bug introduced in Kea 1.6.0 (see #539) that caused kea-dhcp4 and kea-dhcp6 to discard inbound packets containing string options that consist solely of nulls. The servers will now quietly omit empty or all-null string options from inbound packets. (Gitlab #900) 1659. [bug]* tmark Added logic to core code and HA hook lib to allow HA peers to detect and handle out of bandwidth socket events. This corrects a defect introduced in Kea 1.6.0 that can cause an HA server to become unresponsive when an HA socket has been closed by a peer. Note that there is a change to the signature of the external socket callback handler invoked by IfaceMgr. Custom hook libraries happen register external sockets with IfaceMgr will require modification and recompilation. (Gitlab #964) ``` Thank you again to everyone who assisted us in making this release possible. We look forward to receiving your feedback.