[Kea-announce] Kea 0.9.1-beta released!
Wlodek Wencel
wlodek at isc.org
Wed Feb 18 22:32:27 UTC 2015
Kea 0.9.1-beta was released today!
Kea is an alternative DHCP implementation being developed by
Internet Systems Consortium, Inc. that features fully functional
DHCPv4, DHCPv6 and Dynamic DNS servers. Both DHCP servers fully
support server discovery, address assignment, renewal, rebinding,
release, DNS updates and host reservation. The DHCPv6 server
supports prefix delegation.
Version 0.9.1 adds the following features to Kea:
* Host Reservation - the ability to add static reservations of
addresses (DHCPv4 and DHCPv6) and prefixes (DHCPv6) for clients.
For DHCPv6 clients, several methods have been provided to extract
the client's MAC address from the information it sends to the server.
* Support for the DHCPv6 Information-Request message.
* The periodic removal of redundant information from the "memfile"
backend's lease file. (Prior to this, the file would grow without
bound.)
* A tool - kea-admin - for administrators to create and update the
databases used for the MySQL and PostgreSQL backends.
Note: when migrating from Kea 0.9 to 0.9.1:
* The JSON-based configuration file needs to be updated.
* The MySQL/PostgreSQL lease databases (if used) need to be updated.
Download
The kea-0.9.1-beta source with PGP signature of the distribution
may be downloaded from:
http://www.ic.org/downloads
The signature was generated with the ISC code signing key which is
available at https://www.isc.org/about/openpgp
Kea provides detailed documentation, including installation instructions
and usage tutorials. In addition, all logging messages have unique
documented explanations. This documentation is included with the
installation or via http://kea.isc.org/docs/ in HTML, plain text, or PDF
formats. We also maintain a public open source code tree and wiki pages
with roadmap and issue tracking at http://kea.isc.org/.
Limitations and known issues with this DHCP release can be found at
http://kea.isc.org/wiki/KeaKnownIssues
We'd like users of this software to please let us know how it worked for
you and what operating system you tested on. Feel free to share your
configuration or use case. Also we would like to hear whether the
documentation is adequate and accurate (please open tickets for
documentation omissions and errors). We want to hear from you even if
everything worked.
Support
Professional support will be available when Kea reaches Release 1.0.
Free best-effort support is provided by our user community via a mailing
list. Information on all public email lists is available at
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
or to the Kea Jabber room. Bugs and feature requests may be submitted
via the ticket tracking system at http://kea.isc.org/.
Changes
The following summarizes changes and important upgrade notes since
the previous release (0.9).
(See the git history for more details and additional development.)
901. [bug] tomek
Previously, the DHCPv4 and DHCPv6 servers gave up after
100 failed lease selection attempts. Now both DHCPv4 and
DHCPv6 servers calculate the number of attempts required
to find a lease using the pool capacity.
(Trac #3711, git cb5533a1bf1023faf61c1b8ade6ac8fa425f46c2)
900. [doc] marcin
Documented configuration of the Lease File Cleanup (LFC) in
the Kea Administrator Reference.
(Trac #3672, git da3c676f009785204f9d84ca008890959bffcc18)
899. [func] tomek
reservation-mode parameter has been added to DHCPv6 server.
It controls what host reservation types are allowed and may
improve performance in certain situations. It is also
accepted in the DHCPv4 configuration, but currently not
used.
(Trac #3565, git cfbe13ad05aac23e09357fc78507cf9a82c908e6)
898. [func] marcin
The DHCPv4 server configuration allows for opening multiple
sockets on a single interface with multiple IPv4 addresses
assigned. This facilitates to use case when different relay
agents send messages to different addresses on the interface.
(Trac #3695, git 3116243706a2dbcae3f9b5b3af9d2241a07b9ab2)
897. [bug] fdupont
Removed a double free of the read_buffer_ field of Iface
objects after (spurious) copy (partial as copies are not
yet fixed).
(Trac #3712, git 0b38ff6a6e77eb4182bfd7c0c681bef22ad5f634)
896. [bug] fdupont
Removed exit() in D2 for version command line processing.
This interfered with how the unit-tests were run.
(Trac #3616, git 758a61e277675e89d857a22c3f8e844de307dca6)
895. [doc] tomek
Host reservation for DHCPv4 and DHCPv6 is now documented.
(Trac #3575, git a981e42eb0f39d27795364a6862b3a5e574e540a)
894. [bug] fdupont
Accept empty options or sub options in DHCPv4 messages unpacking
routines.
(Trac #3661, git 42a4854208ec16834c590a9316b9a5306c60a3bb)
893. [func,bug] fdupont
Changed the qualifying-suffix parameter in the dhcp-ddns
configuration element to be mandatory with no default value when
updates are enabled (i.e., the enable-updates mandatory parameter
is true).
(Trac #3632, git 12808651448837c611e4f6a262f7a1eb3deaf8da)
892. [func] sar
A class, LeaseFileStats, has been added to provide simple
statistics for use with lease files. Also added logging
to the kea-lfc process per the design.
See http://kea.isc.org/wiki/LFCDesign for the design.
(Trac #3667, git 7f36e034fe79d85f317d7d07e2fe636d6cdf1f6e)
891. [func] tomek
libdhcpsrv: Allocation Engine now uses statically assigned
addresses when processing DHCPv6 renewals.
(Trac #3677, git 9ce50790c91624937ff2b622e4afff36d5d3cc2d)
890. [func] marcin
It is now possible to specify whether the DHCPv4 server
should use raw sockets or IP/UDP datagram sockets to
receive and send DHCP messages. The configuration format
has been changed for the selection of interfaces on which
the DHCPv4 and DHCPv6 servers should listen. The
configuration files using an old format are incompatible
with the latest version of Kea.
(Trac #3604, git c726bbc4eae0f576f6791c7490bfba8c30a401d9)
889. [bug] marcin
Resolved a bug in the DHCPv4 allocation engine whereby the
client could request and obtain an address reserved for
another client.
(Trac #3690, git 1afa4e24b0fcdd6d3a2e596663ce1102ffe2340d)
888. [func] marcin
DHCPv4 and DHCPv6 servers launch the kea-lfc program, according
to the value of lfc-interval configuration parameter for the
Memfile lease database backend.
(Trac #3669, git c92665ce05d71e9e5cad9a0679018e9e3f7e3be5)
887. [func] sar
A new process, kea-lfc, has been added. It is meant to
be periodically executed by the DHCPv4 and DHCPv6 servers
to remove redundant information from the lease files.
See http://kea.isc.org/wiki/LFCDesign for the design.
(Trac #3664, git cc85938b35e2d4bd00ccb74f1b83d3017ab0e41b)
(Trac #3665, git b1707981f48b13895b50bf27176dede866576292)
(Trac #3687, git 1e92382aaa2fbff08bbf1d6bbf0add195a7b6fae)
886. [func] tomek
libdhcpsrv: Allocation Engine now uses statically assigned
addresses when it allocates leases for the DHCPv6 clients.
(Trac #3563, git b86b24fd011c0617515d62b7091d56fdfd1a7360)
885. [func] tomek
Information-Request (stateless mode) in DHCPv6 is now supported.
(Trac #2949, git 3185d229c39ed4660e9bc98a7f4a9d0dfbe64a04)
884. [func] marcin
The DHCPv6 server configuration now allows for defining a pool
for prefix delegation in which prefixes do not match a
subnet prefix.
(Trac #3647, git 5455d96cbf773e678bd6b1c3e31bfdeb617e6c13)
883. [bug] marcin
libdhcpsrv: Prevent infinite loops in the allocation engine,
when the address pool becomes exhausted.
(Trac #3692, git f1e464558c89a6dc88ab28a25dd14a65fee62578)
882. [func] sar
A utility class has been added which handles writing and
deleting pid files as well as checking if the process with
the given pid is running.
(Trac #3687, git 1e92382aaa2fbff08bbf1d6bbf0add195a7b6fae)
881. [func] kalmus
Extracting hardware/MAC address from the DHCPv6 remote-id
option is now implemented.
(Trac #3552, git 6db5fc158133b3f308c43f1fe2fa54a6f89baae1)
880. [doc] tomek
kea-admin is now described in Kea User's Guide.
(Trac #3644, git fa83c48826e41663d93e56ec7fd6983e9b0b2cd1)
879. [bug] fdupont
Drop DHCPREQUEST message from an unknown client in the
INIT-REBOOT state.
(Trac #3656, git 8e205adc35d8e72d1802d5ee9056e6c4ac78274a)
878. [func] marcin
DHCPv4 and DHCPv6 server now support the lfc-interval
parameter which configures the interval in which the
Memfile lease database backend executes the Lease File
Cleanup (LFC). Note: the LFC is currently no-op and will
be implemented shortly.
(Trac #3668, git 2ce54eeb607d2caa0901125b5d86a373e9e3f165)
877. [func] marcin
DHCPv4 server drops unicast packets sent to the IPv4 address
on which the server is not configured to listen.
(Trac #3547, git 803f1f0f145b0f252ffc3637f758a47e0061de85)
876. [func] tomek
Two new MAC acquisition methods implemented for DHCPv6:
docsis-modem (which extracts MAC address from an option inserted
by a cable modem) and docsis-ctms (which extracts MAC address from
an option inserted by CMTS which acts as a DHCPv6 relay agent).
(Trac #3553, git ad0a3772774bc5f9831a5ba16725a5a22887b8cb)
875. [bug] afidalgo, marcin
The DHCPv4 server no longer appends the trailing dot to the
hostnames sent to the clients in the Hostname option (12).
Appending trailing dot confused some DHCPv4 clients.
Credits to Alexis Fidalgo for submitting a patch.
(Trac #3636, git 450867e6987f4c786ad6c2cc95cabcff601c1b48)
874. [func] marcin
Changes to the Memfile lease database backend to load
leases from multiple files during startup or server
reconfiguration. This change is required by the Lease File
Cleanup feature, which leads to the creation of additional
files holding cleaned up lease information.
(Trac #3671, git 667de2ef9044e97c76b15cacc7285132cdffdfcf)
873. [bug] wlodek
Removed references to non-existing pgsql_test.sh script
from Makefile.
(Trac #3662, git ab69f38dd82cf3c3736588e03c1dc568de3ae6d6)
872. [func] wlodek
Check for required header file errcode.h for PostgreSQL
backend added to configure process.
(Trac #3663, git d666dd9263ba1aaf88bec5b8e5ae3f0cb8e5c1db)
871. [func] kalmus, tomek
DHCPv6 is now able to extract MAC from DUID-LLT and DUID-LL.
(Trac #3548, git f6d9630e2762a0f256a2b7825d74d2bce8fe4c60)
870. [func] fdupont
Cleanup the cryptolink API (e.g., removing spurious 'magic'
zero length parameters).
(Trac #3606, git 55d2df9d78321b3844217055e376ae44ac962d8f)
869. [func] tomek
'mac-sources' configuration parameter added. The DHCPv6 server
can now be configured to use various MAC/Hardware address
sources.
(Trac #3554, git 2e7c32e7c19372f0c97968ef7c8256509d80fdfc)
868. [func] marcin
DHCPv4 server configuration allows for selection of the
address on the interface that server should listen on.
This is specifically useful in the environments with
multiple IPv4 addresses assigned to one interface.
(Trac #3539, git ff71887c605eedc3914bacfd2e551da7bddcc0d6)
867. [func] marcin
libdhcpsrv: Allocation Engine uses statically assigned
addresses when it allocates or renews leases for the
DHCPv4 clients.
(Trac #3564, git 7b192fe314c12e38622742b3b338e997934f862f)
866. [doc] stephen
Corrected documentation concerning the way to configure hooks
libraries.
(Trac #3635, git 42d1c98a2e66ab7fc3e372365edad1f5709df885)
865. [func] marcin
Host reservations can be specified in the DHCPv4 and DHCPv6
servers configuration. The reservations are loaded, but they
are currently unused.
(Trac #3562, git 1ba5ec3b7831ef8126be17b9542d9b89a419e7dd)
(Trac #3628, git 00b49298ec5e5e5c722e5938547c86c954fc76e1)
864. [func] tomek
MySQL backend is now able to store information about hardware
addresses and associated information in DHCPv6.
(Trac #3556, git 08a29d8d2374bc3c6b3799d5dd97f586ee869392)
863. [func] tomek
A new tool called kea-admin added. It allows database maintenance.
Initialization of a new database, version check and upgrade between
version is now supported. Currently the only backend supported is
mysql, but support for memfile and pgsql is planned.
(Trac #3599, git cf22f8d212f2435957f89b51722f8e26e14635f2)
862. [func] dgutier, tomek
Support for client link-layer address option (RFC6939) has
been added.
(Trac #3551, git dabdf965d92085f86d5e96c8dadce0f0a8f7c8e3)
861. [func] marcin
The configuration parameters for a DHCPv4 and DHCPv6 options are now
optional.
(Trac #3467, git 7bf8cef161e6dd00a7f2b2fe8ec04e1958d6db3f)
860. [bug] marcin
Fixed calculation of the Client FQDN option length for the ASCII
domain name encoding.
(Trac #3624, git 5a120d9bf85e27ea5b2674d35af0f2774e4cd2a7)
859. [func] marcin
Implemented Host Manager, which can retrieve host reservations
specified in the server's configuration. Future tickets will
extend Host Manager to retrieve reservations from other sources,
e.g. SQL databases.
(Trac #3561, git faac5e9746dbf82eb04ffef95658e4b4c7d64a4a)
858. [bug] marcin
Added missing "lease-database" entry to the default DHCPv6
server configuration, in kea.conf.
(Trac #3630, git 0f7ff732ea2add45a24e040eae8a0dda27532a31)
857. [func] fdupont
Improve the cryptolink code, for instance use a constant
time comparison.
(Trac #3602, git 0c1f433da650330b40fe1a67bae4716c9184f636)
856. [build] marcinw
callout_manager.h and server_hooks.h headers are now exported,
so statically linked libraries can be tested.
(Github #4, git 00b5f3fa0369c13021bf4fb78c6450e524e4e411)
855. [build] fdupont
Use convenience archives for objects used in a makefile and
its parent makefile: before sources were compiled twice using
the broken subdir-objects option of automake, now objects
are put into a convenience static library (so an archive).
(Trac #3631, git d7954b4234114d8fa41aa51f671d4faa1724b748)
854. [bug] marcin
Corrected a regression on "make distcheck" which appeared after
implementation of #3162 (partial fix).
(Trac #3629, git 9bb6b76a24e4356b30e59631e76e32c3096fb515)
853. [func] tomek
Lease6 now is able to store MAC/hardware address information. Memfile
memfile backend has been updated to store/retrieve that additional
piece of information. Server now tries to use available methods to
obtain MAC/hardware address from incoming packet.
(Trac #3555, git ab76a9e7a9d39cb3cf533729473b63a2d2401ac7)
852. [func] tomek
Pkt6 class is now able to generate client's MAC from source IPv6
link-local address if EUI-64 identifier was used.
(Trac #3549, git d92e76860e6931477b3e60e5be8978302973f88f)
851. [bug] tmark
Corrected a segmentation fault that was occurring under OS-X
during D2 module shutdown.
(Trac #3470, git f7822568abd04c12faa3cde34fadaac238a373d3)
850. [build] fdupont
Moved optional gtest sources to ext/gtest.
(Trac #3162, git 055512758f5c79f29eb375126d496483c9a6d0a1)
849. [bug] tomek
DHCPv6 component now processes incoming vendor-class options
properly (packets are classified as VENDOR_CLASS_[content of the
vendor-class option]).
(Trac #3486, git 62409cd9531b081943b8f3567f7b0dca36b18802)
848. [func] fdupont
Added truncated HMAC support to TSIG, as per RFC 4635.
(Trac #3593, git ae3a9cd1a0d2dc07b7092368149381d69bc2c61a)
847. [build] fdupont
Removed no longer used configuration option --with-shared-memory
and associated files and variables.
(Trac #3614, git adee8c93f7c7c1303390dd63dbeae74a48a34845)
846. [bug] fdupont
Fixed subdir-objects warnings from recent versions of autotools,
e.g., on Apple OSX.
(Trac #3162, git e25c7477f3c35cdaa0f038732f697224bfd44847)
845. [func] marcin
Implemented Host class for storing information about IPv4 and IPv6
reservations for the host.
(Trac #3560, git fb5e1883b01ce6388d1b7a92c61061b493c36713)
844. [bug] tmark, marcin
Fixed multiple issues in the DHCP-DDNS unit tests.
(Trac #3615, git fec824d36121b12e98dd407a0bdf1bc71c8de18d)
843. [bug] marcin
DHCPv4 server sets ciaddr to 0 in DHCPOFFER and DHCPNAK messages to
adhere to section 4.3.1 of RFC2131.
(Trac #3367, git 9f05a29caa960df2b09b7a8c23100da8b40e73d0)
842. [func] marcin
DHCPv4 server logs when the packet sent by the client contains
invalid combination of giaddr/hops before discarding the packet.
(Trac #3537, git 760c652b54dcdfdfbd1a0014da43d3c31e848f02)
841. [func] tomek
Pkt4 and Pkt6 class have a common base now. A lot code duplication
removed. Added getMAC() method that will be used to extract MAC
in DHCPv6.
(Trac #3546, git 6e68af7dfe15e4d461bf068f545d2bdaaa8fcfb0)
840. [func] nicolas
PktFilterInet::send method now sets source IPv4 address
explicitly. This enabled perfdhcp to control its source address
on systems that have more than one address assigned to a given
interface. Thanks to Nicolas Chaigneau from Capgemini for
providing this fix.
(Github #2, git 6ac36ed7a1d97bcf52ffb2aec7cbf116e58e5803)
839. [doc] adam
DHCPv4 examples corrected in Kea ARM. Thanks to Adam Osuchowski
from Silesian University of Technology for providing this fix.
(Github #1, git 15785c0e28190659b037cfcca19f0267ccd9049f)
838. [bug] tomek
Kea components now use the KEA_LOCKFILE_DIR environment variable
to specify the directory of the logging lockfile. Locking can be
disabled completely by setting the variable to 'none'.
(Trac #3591, git d4556e1d21766b94f2f0cda59df15e47e6f2676e)
837. [bug,doc] tomek
Logging configuration examples in kea.conf fixed. Also updated
Kea documentation for logging.
(Trac #3536, git 2cf3f6b9cb3d2ae6fc7b0940b55490f109ddd2f9)
836. [bug] fdupont
Moved duplicated getXXXHashAlgorithm() function to new
xxx_common.h include files in the cryptolink library.
(Trac #3471, git 8cf2ee46b3d7398f4f716435be3d9b19bf3599f5)
835. [build] fdupont
The configure script checks if OpenSSL supports SHA-2, in order
to avoid very old (and likely subject to unfixed security bugs)
OpenSSL versions.
(Trac #3482, git c779a0ef23d2092cf896276dab1fbcb190380374)
834. [bug] marcin
Corrected the definition of the example DHCPv4 and DHCPv6 address
pools in the default kea.conf file.
(Trac #3538, git 8712cc0df77368940d8d3d11811a9ac9504bce12)
833. [func] marcin
Configuration Manager supports two stage configuration. In the
first stage a temporary configuration is created and in the
second stage this configuration is committed. If configuration
fails at the first stage, the temporary configuration is rolled
back and the server continues to use the old configuration.
(Trac #3534, git 4ecee3c0c97fe417b050317356f9093ba3771a15)
Thank you again to everyone who assisted us in making this release
possible. If you would like to contribute to ISC to assist us in
continuing to make quality open source software, please visit our
donations page at http://www.isc.org/donate-to-isc/.
We look forward to receiving your feedback,
Kea dhcp-team
More information about the Kea-announce
mailing list