diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-21 14:53:22 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-21 14:53:22 +0000 |
commit | 52c021ee0b0c6ad2128ed550c694aad0d11d4c3f (patch) | |
tree | 83cf8627b94336cf4bee7479b9749263bbfd3a06 /ChangeLog | |
parent | Initial commit. (diff) | |
download | isc-kea-52c021ee0b0c6ad2128ed550c694aad0d11d4c3f.tar.xz isc-kea-52c021ee0b0c6ad2128ed550c694aad0d11d4c3f.zip |
Adding upstream version 2.5.7.upstream/2.5.7upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'ChangeLog')
-rw-r--r-- | ChangeLog | 13985 |
1 files changed, 13985 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog new file mode 100644 index 0000000..4b94d57 --- /dev/null +++ b/ChangeLog @@ -0,0 +1,13985 @@ +Kea 2.5.7 (development) released on March 27, 2024 + +2213. [build] razvan + The library version numbers have been bumped up for the Kea 2.5.7 + development release. + (Gitlab #3304) + +2212. [build] tomek + The jinja dependency, used in building documentation, was + updated. + (Gitlab #3079) + +2211. [bug] razvan, tmark + Corrected an issue in kea-dhcp4 and kea-dhcp6 that + causes an infinite loop when database does not exist + at startup introduced by #2692. + (Gitlab #3300) + +2210. [func] piotrek + Added libkea-dhcp++, libkea-cfgclient, libkea-d2srv, + libkea-dhcpsrv, libkea-util and libkea-util-io headers that were + missing after Kea install. Now all needed headers are installed. + (Gitlab #3267) + +2209. [func] fdupont + Some hooks using multi-threading postpone their startup until + after the configuration has been completed. If the hook + subsequently failed the startup, the error would not have been + properly propagated. The fix ensures that the errors are + reported during the configuration stage. + (Gitlab #2692) + +Kea 2.5.6 (development) released on February 28, 2024 + +2208. [build] razvan + The library version numbers have been bumped up for the Kea 2.5.6 + development release. + (Gitlab #3261) + +2207. [func] piotrek + Kea now supports DNR options as specified in RFC9463, + RFC9461, RFC9460. The option may be configured using + convenient notation, where Kea takes care of complex + option encoding to be inline with RFCs. + (Gitlab #3141) + +2206. [func] andrei + DHCP servers now initialize the database schema automatically on + startup or on reconfiguration if there is at least one database + backend configured and if the configured database is empty. + (Gitlab #3025) + +2205. [func] tmark + Perfmon hook library now dumps the packet event stack + of query packets to debug logging after they have been + processed. + (Gitlab #3231) + +2204. [func] tmark + The skeleton of a new open source hook library, + libdhcp_perfmon.so, has been added. The library is + still in development and does not yet provide any functionality. + (Gitlab #3242) + +Kea 2.5.5 (development) released on January 31, 2024 + +2203. [build] razvan + The library version numbers have been bumped up for the Kea 2.5.5 + development release. + (Gitlab #3235) + +2202. [func] razvan + The Configuration Backend now supports scalar parameters + contained by top level global maps: 'compatibility', + 'control-socket', 'dhcp-ddns', 'expired-leases-processing', + 'multi-threading', 'sanity-checks', 'server-id' and + 'dhcp-queue-control'. + (Gitlab #1790) + +2201. [func] andrei + To facilitate setting multiple option-data entries with same code + and space, but different data, the set of keys for the + option-data list was extended with the "data" leaf in YANG + modules. + (Gitlab #3198) + +2200. [func] piotrek + Kea now supports new DHCPv4 option code 121, Classless Static + Route option defined in RFC 3442. + Option may be defined in binary format and also as a string + using convenient static route notation. + (Gitlab #3074) + +2199. [func] marcin + Added support for hub-and-spoke high availability configuration. + (Gitlab #3106, #3178) + +2198. [func] razvan + A new log message + DHCPSRV_CFGMGR_IP_RESERVATIONS_UNIQUE_DUPLICATES_DETECTED is + shown when multiple reservations are detected for the same IP + address. + (Gitlab #3108) + +2197. [func] razvan + Added support for database connection retry on server startup. + The new 'retry-on-startup' parameter controls this behavior along + with the other existing parameters: 'on-fail', + 'max-reconnect-tries' and 'reconnect-wait-time'. + (Gitlab #3019) + +2196. [func] tmark + The ping-check hook library can now be used with kea-dhcp4 + in either multi-threaded or single-threaded mode. + (Gitlab #3107) + +2195. [func] tmark + Added a new hook point to kea-dhcp4, "lease4_server_decline". + DHCPv4 leases declined by ping-check hook library are now + propagated to HA peers. + (Gitlab #3110) + +Kea 2.5.4 (development) released on November 29, 2023 + +2194. [build] razvan + The library version numbers have been bumped up for the Kea 2.5.4 + development release. + (Gitlab #3173) + +2193. [func] tmark, piotrek + The ping-check hook library is now functional. It provides + the ability of kea-dhcp4 to check the availability of an + address prior to offering it to a client using ICMP ECHO + REQUESTs. + (Gitlab #3084) + +2192. [func] razvan + The packet logging is now more consistent between DHCPv4 and + DHCPv6. Also, extra details are now logged. + (Gitlab #3109) + +2191. [doc] andrei + The new RADIUS hook library is now operational. Documentation has + been updated. A section about differences to the old RADIUS hook + library is included. + (Gitlab #2442) + +Kea 2.5.3 (development) released on October 25, 2023 + +2190. [build] razvan + The library version numbers have been bumped up for the Kea 2.5.3 + development release. + (Gitlab #3118) + +2189. [doc] tomek + Security reporting process described in a Github-friendly format. + There is no new information, mostly pointers to already existing + documents. + (Gitlab #3080) + +2188. [bug] razvan + Fixed a race condition in free lease queue allocator. + (Gitlab #3111) + +2187. [func] tmark + To facilitate use in containers, the restriction from listening + on 0.0.0.0 or :: addresses has been removed from kea-dhcp-ddns. + The server will now issue a warning if configured to use either + address. + (Gitlab #3116) + +2186. [bug] andrei + Fixed interface redetection which had stopped working since + Kea 2.3.6. + (Gitlab #3017) + +2185. [func] razvan + Added extended log messages: DHCP4_DISCOVER, DHCP4_REQUEST, + DHCP6_PROCESS_IA_NA_SOLICIT, DHCP6_PROCESS_IA_PD_SOLICIT, which + include the hint address in the client request. The log message + tag DHCP4_LEASE_ADVERT has been renamed to DHCP4_LEASE_OFFER. + (Gitlab #2918) + +2184. [bug] razvan + Fixed a bug in evaluated expression parser which was not properly + handling escaped null characters. + (Gitlab #3086) + +2183. [bug] andrei + Fixed a bug where one of the commands that retrieve statistic + values sent to the kea-ctrl-agent would get an overflow error in + the response if the inquired statistic was intended to have a big + integer data type, and if the integer value would not be + representable on 64 bits. Affected statistics are "total-nas" and + "total-pds", and the bug only manifests if the inquired pool, or + the inquired subnet's aggregated pool space, is large enough. + Prior to this fix, commands would get a correct response over + unix socket. + (Gitlab #3068) + +Kea 2.5.2 (development) released on September 27, 2023 + +2182. [build] razvan + The library version numbers have been bumped up for the Kea 2.5.2 + development release. + (Gitlab #3085) + +2181. [func] razvan + Added additional tokens which evaluate string expressions: + "lcase" which converts to lower case and "ucase" which + converts to upper case. + (Gitlab #3048) + +2180. [build] andrei + Apart from enabling log4cplus's own logging, and adding more + sanity checks in DNS code, the --enable-debug configure flag + now also makes the compiler produce more abundant debugging + information that can be read by a debugger. + (Gitlab #1520) + +2179. [doc] piotrek + Updated Developer's Guide with information about new hook + point "lease4_offer". + (Gitlab #3067) + +2178. [doc] andrei + Clarified in the ARM that DHCPv6 clients with unstable DUIDs can + be handled using the flex-id library. The configuration examples + that can help with that are found in the flex-id documentation. + (Gitlab #181) + +2177. [func] piotrek + Implemented new DHCPv4 hook point "lease4_offer". + The callout is executed after the server has received + the DHCPDISCOVER and the DHCPOFFER has been constructed + but not yet sent to the client. + (Gitlab #3038, #3063) + +2176. [doc] piotrek, razvan + Updated ARM docs with new configuration key "output-options" and + alias "output_options". All config examples, where previous + "output_options" key appeared, were updated. + (Gitlab #2904, #3004) + +Kea 2.5.1 (development) released on August 30, 2023 + +2175. [build] razvan + The library version numbers have been bumped up for the Kea 2.5.1 + development release. + (Gitlab #3026) + +2174. [func] fdupont + Added a new information message which displays the + client and the transaction identification information + for received queries between message unpacking and + first classification. + (Gitlab #2854) + +2173. [bug] tmark + Fixed a sporadic failure of IOSignaltest.mixedSignals + unit test. Test no longer relies on signals arriving + in order they are sent as it cannot be guaranteed. + (Gitlab #2954) + +2172. [func] fdupont + Completed and improved logs showing what client classes + are assigned to queries during processing. + (Gitlab #2908) + +Kea 2.5.0 (development) released on July 26, 2023 + +2171. [build] andrei + The library version numbers have been bumped up for the Kea 2.5.0 + development release. + (Gitlab #2990) + +2170. [build] fdupont + Moved from C++ 11 to C++ 14 as the minimal C++ version + which must be supported by the C++ compiler tobuild Kea. + (Gitlab #2876) + +2169. [bug] marcin + Applied a workaround in the connection to MySQL that prevents + potential crashes in libmysqlclient library when connection + to the database is lost and re-established. + (Gitlab #2792) + +2168. [func] fdupont + Cross-reference tables to bind relay and remote + identifiers from extended info of DHCPv6 leases + were added to SQL backends. A new command + "extended-info6-upgrade" (re)builds these tables + making leases visible to Bulk Lease Queries. + (Gitlab #2869) + +2167. [func] tmark + The kea-dhcp<4/6> parameter, ddns-use-conflict-resolution, + has been deprecated and replaced with + ddns-conflict-resolution-mode. The new parameter supports + four modes of behavior pertaining to DDNS update conflict + resolution: check-with-dhcid, no-check-with-dhcid, + check-exists-with-dhcid, and no-check-without-dhcid. + Thanks to Shawn Routhier from Infoblox for contributing + the patch to implement this feature. + (Gitlab #2276) + +Kea 2.4.0 (stable) released on July 05, 2023 + +2166. [build] mgodzina + The library version numbers have been bumped up for the Kea 2.4.0 + stable release. + (Gitlab #2939) + +2165. [bug] marcin + DHCP options configured in the host database are now returned + with their encapsulated options to the clients. + (Gitlab #2826) + +2164. [bug] razvan + Added checks to catch invalid prefix/prefix-len combinations in + commands that create or update pools, leases, and reservations. + (Gitlab #2725) + +2163. [build] slawek + Dropped the Kea connector for Python 2. + (Gitlab #2467) + +2162. [doc] marcin + Documented renaming operation-target values in host_cmds hook + library. The "primary" was renamed to "memory", and the + "alternate" was renamed to "database". + (Gitlab #2901) + +2161. [doc] fdupont + Clarified how Kea treats situations where there are multiple + reservations for the same host. + (Gitlab #2745) + +2160. [doc] tomek + Added clarification about RFC3046 (Relay agent option) support, + with some examples how to use its content. + (Gitlab #2887) + +2159. [bug] razvan + Fixed a crash when splitting long options or sending user defined + options when multi-threading is enabled. Also fixed some cases + when options are not properly split if the serialized data + reaches the end of the 255 bytes long boundary. + (Gitlab #2942) + +2158. [func] piotrek + A new command named "reservation-get-by-address" is now available + in the host_cmds hook library. It returns all host reservations + for given IP address either in all subnets or in a given subnet. + (Gitlab #2795) + +2157. [func]* fdupont + Added a warning issued when the configuration contains subnets + without explicit subnet identifiers (without "id" entry). The + auto-generated subnet identifiers are now deprecated. + (Gitlab #2866) + +2156. [func] razvan + Added an optional 'pool-id' parameter that can be used to enable + per-pool statistics. Supported by kea-dhcp4 and kea-dhcp6 for all + pool types. + (Gitlab #2898) + +2155. [func] fdupont, tomek + Added the config-hash-get command which returns the + SHA-256 hash of the current configuration, helping + in detecting changes. Updated config-get, config-set + commands to also return SHA-256 hash. + (Gitlab #2707) + +2154. [doc] darren + Corrected minor typo in table in section 8.2.10 of the ARM where + type was shown as ipv6-address and should have said ipv4-address. + (Gitlab #2913) + +2153. [doc] darren + Changed wording of documentation of ip-reservations-unique + flag to clarify which host reservation backends support false. + (Gitlab #2900) + +2152. [doc] razvan + Added documentation and unittests for counters by pool ID. + (Gitlab #145, #2883) + +2151. [bug] marcin + Corrected a bug in the host manager that affected getting a host + by an IPv6 address or delegated prefix. This query returned only + partial host information. It lacked other IPv6 reservations and + some DHCP options. + (Gitlab #2931) + +2150. [bug] marcin + Fixed a bug in encapsulating DHCP options fetched from the config + backend. The suboptions are now included in the top-level options + they belong to. + (Gitlab #2881) + +2149. [doc] andrei + The vendor options documentation has been improved. + (Gitlab #2793) + +2148. [build] tmark + The include file, cfg_globals.h, has been added to the + to dhcpsrv/Makefile.am such that it now gets installed. + Prior to this it was omitted from installation. + (GitLab #2608) + +2147. [doc] andrei + There are now more cross-references in the ARM. Commands and hook + libraries link to their own section. Programs link to their + manual pages. + (Gitlab #2554) + +2146. [func] piotrek + Making DHCP4_PACKET_DROP_* and DHCP6_PACKET_DROP_* debug prints + more verbose. The prints are including now hwaddr for DHCP4 and + duid for DHCP6. + (Gitlab #2865) + +2145. [bug] piotrek + Fixed a bug in kea-admin script where lack of lease type argument + was not caught correctly and kea-lfc was called without -4 or -6 + DHCP version. + (Gitlab #2855) + +Kea 2.3.8 (development) released on May 31, 2023 + +2144. [build] razvan + The library version numbers have been bumped up for the Kea 2.3.8 + development release. + (Gitlab #2885) + +2143. [func] razvan + Added v4 statistic counters per pool: + subnet[id].pool[id].assigned-addresses + subnet[id].pool[id].cumulative-assigned-addresses + subnet[id].pool[id].declined-addresses + subnet[id].pool[id].reclaimed-declined-addresses + subnet[id].pool[id].reclaimed-leases + subnet[id].pool[id].total-addresses + Added v6 statistic counters per pool: + subnet[id].pool[id].assigned-nas + subnet[id].pd-pool[id].assigned-pds + subnet[id].pool[id].cumulative-assigned-nas + subnet[id].pd-pool[id].cumulative-assigned-pds + subnet[id].pool[id].declined-addresses + subnet[id].pool[id].reclaimed-declined-addresses + subnet[id].pool[id].reclaimed-leases + subnet[id].pd-pool[id].reclaimed-leases + subnet[id].pool[id].total-nas + subnet[id].pd-pool[id].total-pds + Counters are stored in the lease storage and after schema + upgrade all existing leases are considered to be part of pool + ID 0. On lease update, the counters will be updated accordingly + including pool IDs and statistics will converge to real values + over time. + (Gitlab #145) + +2142. [func] piotrek + New command option was added to perfdhcp: --or. + It allows to insert extra option(s) to relayed DHCPv6 message + at given level of encapsulation. For now only the first level of + encapsulation is supported. + (Gitlab #2834) + +2141. [bug] razvan + The High Availability hook library is sending the 'origin' + parameter set to 'ha-partner' when sending lease update + commands which enables the forensic log hook library to + distinguish between administrator commands and HA partner + commands. + (Gitlab #2629) + +2140. [func] slawek + Implemented functions to delete the host reservations from the + JSON configuration. Updated the host manager to fully support + altering the primary source (JSON configuration). Its methods + accept a new argument ("operation target") to specify the data + source (JSON configuration and/or hosts database) to query or + alter. Fixed a function that retrieves IPv6 host reservations + from the configuration by address. + (Gitlab #2815) + +2139. [bug] marcin + Fixed a bug in the delegated prefix permutations that caused + allocating prefixes in the same order by the random and FLQ + allocators. + (Gitlab #2860) + +2138. [bug] marcin + Fixed a bug in the DHCPv4 server that sent DHCPNAK to a client + in the INIT-REBOOT state when the server had no matching subnet + configuration for that client. + (Gitlab #2858) + +2137. [func] fdupont + A new command "extended-info4-upgrade" makes old leases + from SQL DHCPV4 lease database visible to Bulk Lease Queries. + (Gitlab #2757) + +2136. [func] tmark + The default value, in kea-dhcp6, for preferred-lifetime is + now calculated as: 0.625 * valid-lifetime. This calculation + is also used in the event that the specified value for + preferred-lifetime is greater than valid-lifetime. Prior to + this, the default value was 3600 seconds, and there was no + check against sending values greater than valid-lifetime. + (Gitlab #2835) + +2135. [build] tomek + The CodeQL pipeline has been enabled on github. Developer's guide + updated with details. + (Gitlab #2760) + +2134. [func] andrei + Statistics total-nas and total-pds were increased from 64-bit + values to 128-bit values to accurately represent large pools. + (Gitlab #2658) + +2133. [func] andrei + Added missing YANG nodes: allocator, ddns-ttl-percent, + exclude-first-last-24, ignore-dhcp-server-identifier, + offer-lifetime, pd-allocator, read-timeout, tcp-user-timeout, + write-timeout. + Removed obsolete YANG nodes: contact-points, keyspace. + (Gitlab #2832) + +2132. [bug] marcin + Fixed a bug in the allocation engine that could cause an invalid + lease assignment in the shared networks using subnets with + different allocator types. + (Gitlab #2843) + +2131. [bug] razvan + Added support for 255 bytes long client-id and 130 bytes long + duid (2 bytes for type and at most 128 bytes for value). + (Gitlab #2786) + +2130. [func] piotrek + Added support of DHCP Options for the Discovery of + Network-designated Resolvers (DNR) as per draft-ietf-add-dnr. + Kea can now handle DHCPv4 Option code 162 and DHCPv6 Option + code 144. + (Gitlab #2536) + +2129. [func] andrei + New statistics were added to keep track of leases that have their + CLTT increased in memory and their expiration time left unchanged + in persistent storage as part of the lease caching feature. The + statistics are: v4-lease-reuse, subnet[id].v4-lease-reuse, + v6-ia-na-lease-reuse, subnet[id].v6-ia-na-lease-reuse, + v6-ia-pd-lease-reuse, subnet[id].v6-ia-pd-lease-reuse. + (Gitlab #2797) + +2128. [bug]* razvan + In addition to logging them, the server now sets the + CalloutHandle status to DROP to indicate an error occurred when + it catches unhandled exceptions thrown by a callout. + (Gitlab #2805) + +Kea 2.3.7 (development) released on April 26, 2023 + +2127. [build] razvan + The library version numbers have been bumped up for the Kea 2.3.7 + development release. + (Gitlab #2837) + +2126. [func] andrei + A new command named reservation-update is now available in the + host_cmds hook library. It updates an existing reservation. + (Gitlab #549) + +2125. [func] marcin + Allocators can now be configured in the configuration backend. + (Gitlab #2823) + +2124. [perf] andrei + When not explicitly configured, multi-threading mode and the HTTP + dedicated listener are enabled by default for the + high-availability hook library ("enable-multi-threading" and + "http-dedicated-listener" set to true). + (Gitlab #2749) + +2123. [bug] razvan + Fixed a bug which was truncating relay suboptions (circuit-id + code 1 and remote-id code 2) if the data ended in 0x0. The + option definitions have been updated from OPT_STRING_TYPE to + OPT_BINARY_TYPE. + (Gitlab #2794) + +2122. [bug] marcin + Fixed a bug in the HA hook library whereby the HA service could + sometimes terminate even after the partner's clock has been + corrected. The last clock skew is now ignored when a + communication failure with the partner occurs. + (Gitlab #2754) + +2121. [func] marcin + Implemented Free Lease Queue allocator. It can be used for + address assignment in DHCPv4 and prefix delegation in DHCPv6. + The allocator is suitable when the DHCP servers work with + nearly depleted pools, and the time to find an available + lease becomes long with other allocators. The new allocator, + however, slows down the server startup and reconfiguration. + It also uses more memory. + (Gitlab #2780, #2764) + +Kea 2.3.6 (development) released on March 29, 2023 + +2120. [build] razvan + The library version numbers have been bumped up for the Kea 2.3.6 + development release. + (Gitlab #2807) + +2119. [func] tmark + Added a new parameter, ddns-ttl-percent, to kea-dhcp4 + and kea-dhcp6, that may be used to calculate DNS TTL + as a simple percentage of the lease life time. + (Gitlab #225) + +2118. [bug] razvan + Fixed a bug which was changing the multi-threading settings when + running config-test command and the settings were different from + the server's configuration. This also fixes the rollback on the + multi-threading settings if there is a configuration error + detected. Also hooks now set DROP flag on the + dhcp4_srv_configured and dhcp6_srv_configured callouts if the + configuration is invalid or an error occured. Proper shutdown + of the HTTP listener is performed now instead of generating a + server crash if the provided address is not valid. + (Gitlab #2799) + +2117. [func] fdupont + Added a new ignore-dhcp-server-identifier DHCPv4 compatibility + flag which when set to true (default is false) makes any query + to be accepted even when the address in the DHCP Server + Identifier option belongs to another server (standard behavior + is to drop such queries). + (Gitlab #2785) + +2116. [func] piotrek + Added support of Secure Zero Touch Provisioning options as per + RFC8572. Kea can now handle DHCPv4 Option code #143 and DHCPv6 + Option code #136. + (Gitlab #939) + +2115. [func] tmark + Added the parameter, offer-lifetime, to kea-dhcp4. When + greater than zero, the server temporarily allocates and + persists leases during DHCPOFFER processing. + (Gitlab #2719) + +2114. [func] razvan + Added the -T command line parameter to kea-dhcp4 and kea-dhcp6 + for testing configuration files, similar to -t, but with extra + checks like checking database connections, checking hook + libraries parameters, and others. + (Gitlab #1671) + +2113. [bug] razvan + The reload functionality (by sending SIGHUP) of the kea-dhcp4 + and kea-dhcp6 servers has been enhanced to rollback to + previously working configuration if the new configuration is + invalid. There are still cases that can leave the server in an + unrecoverable state, and such case is indicated by a FATAL + log message. The same logic applies to the "config-set" command + available to the server through the control channel. + (Gitlab #2722) + +2112. [doc] fdupont + Added in the ARM security a section explaining how + to tune the OpenSSL configuration file for Kea service + accepting commands over HTTPS. + (Gitlab #2784) + +2111. [bug] fdupont + Fixed a bug which advertised re-assigned released leases + with zero lifetimes. + (Gitlab #2766) + +2110. [func] fdupont + A new boolean configuration flag called "never-send" has been + added to the option data scope. When enabled, the option is not + sent in a response to the client, even if the client explicitly + requests it. + (Gitlab #719) + +2109. [bug] fdupont + Compatibility flags e.g. lenient-option-parsing were not + saved by config-get and similar commands. + (Gitlab #2790) + +2108. [func] fdupont + Added a new exclude-first-last-24 DHCPv4 compatibility flag + which when set to true (default is false) skips addresses + in .0 and .255 in subnets with prefix length less than 24 + in the allocation engine routine picking a free address. + (Gitlab #720) + +2107. [func] fdupont + The Kea DHCPv4 server can now handle multiple vivco-suboptions + options with different enterprise IDs. + (Gitlab #467) + +2106. [bug] tmark + Corrected code that allowed lease6-get-* commands to return + IA_NA leases with prefix length values of zero and logic in + kea-dhcp6 that was incorrectly generating duplicate iaaddr + options with lifetimes of zero for such leases in REPLYs to + RENEWs. + (Gitlab #2660) + +2105. [bug] tmark + kea-dhcp6 now consistently uses valid and preferred lifetime + values provided via classes. Prior to this it was not + utilizing class-supplied lifetimes when renewing existing + leases or when reusing expired leases. + (Gitlab #2739) + +Kea 2.3.5 (development) released on February 22, 2023 + +2104. [build] andrei + The library version numbers have been bumped up for the Kea 2.3.5 + development release. + (Gitlab #2768) + +2103. [perf] andrei + When not explicitly configured, multi-threading is now enabled by + default for the core Kea DHCP service ("enable-multi-threading" + set to true). For now, HA+MT is still disabled by default + ("enable-multi-threading" and "http-dedicated-listener" both + still set to false in the high-availability library parameters). + (Gitlab #2402) + +2102. [func]* tmark + The logger to which kea-dhcp4 now logs EVAL_RESULT log + messages issued during packet classification has been + changed from "options4" to "dhcp4". This corrects an + inconsistency between kea-dhcp6 and kea-dhcp4 behavior. + (Gitlab #2720) + +2101. [build] andrei + Shell tests and python tests no longer run if gtest is disabled. + This provides the ability to run distcheck without tests. + (Gitlab #2742) + +2100. [doc] Kevin P. Fleming + Fixed several JSON examples in the Kea ARM. + (Gitlab #2494) + +2099. [func]* tmark + An address reserved in a global reservation must now lie + within the range of the subnet or shared-network selected + by Kea. If it does not, the server will attempt to allocate an + address dynamically. This change applies to both kea-dhcp4 and + kea-dhcp6. Previously, the servers would grant a lease for any + globally reserved address without regard for its feasibility + within the selected subnet. Thanks to Kyle Birkeland for + reporting the issue and contributing the patch. + (Gitlab #2631, #2632) + +2098. [doc] razvan + Updated client classification examples in the ARM with a case + where both operands of the evaluated expression are computed at + runtime. + (Gitlab #2664) + +2097. [func] tmark + kea-dhcp4 and kea-dhcp6 will now accept renew-timer values that + exceed rebind-timer values but will ignore them and issue a + warning. Previously, the servers treated those values as a fatal + configuration error. + (Gitlab #2677) + +2096. [bug] tmark + Corrected a bug which allowed options to be added to themselves + as suboptions. + (Gitlab #2538) + +2095. [bug] marcin, tmark + Added a compile-time check of whether the PostgreSQL version + supports the "tcp-user-timeout" parameter. This parameter + is available in PostgreSQL version 12 and later. It is now + ignored for earlier versions and a suitable warning message + is issued. + (Gitlab #2734) + +2094. [bug] razvan + Fixed a bug which caused the Kea server to crash when + using the high-availability hooks library and running reconfigure + commands. Thanks to Caciano Machado for reporting this bug and + providing detailed steps on how to replicate it. + (Gitlab #2575) + +2093. [func] fdupont + It is now possible to add an "empty" host reservation without any + attribute (e.g. no address, no hostname, no client classes, + etc.). This is useful for determining the KNOWN class. + (Gitlab #2723) + +2092. [bug] fdupont + Added logic to kea-dhcp4 and kea-dhcp6 to catch and log + database connection errors that occur during lease + reclamation. Previously, such errors caused the + reclamation timer to not get rescheduled. + (Gitlab #2682) + +2091. [bug] marcin + Fixed a bug that caused a response to a config-get command + to lack the configured read-timeout, write-timeout, and + tcp-user-timeout parameters. + (Gitlab #2741) + +2090. [build] andrei + Fixed the --with-site-packages configure flag, which previously + had no effect. + (Gitlab #2669) + +Kea 2.3.4 (development) released on January 25, 2023 + +2089. [build] razvan + The library version numbers have been bumped for the Kea 2.3.4 + development release. + (Gitlab #2726) + +2088. [func]* tomek + The libreload command is now deprecated. The code is still there, + but it will be removed in the future versions. + (Gitlab #2693) + +2087. [func] razvan + The Kea DHCPv4 server can now handle multiple vendor options + with different enterprise IDs and multiple vivso-suboptions. + (Gitlab #1518) + +2086. [bug] andrei + A spacing issue in a prepared statement that prevented Config + Backend from working with PostgreSQL 15 and above has been fixed. + (Gitlab #2724) + +2085. [func] tmark + kea-dhcp-ddns uses new log messages to clearly distinguish + between timeouts and other IO errors when communicating with + DNS servers. + (Gitlab #2589) + +2084. [func] razvan + When the client adds a prefix length in the hint, the server + will try to select a pool with the delegated prefix length + equal to the respective value. If no pool is found, the server + will try to select a pool with a lower delegated prefix length + (a larger address space) and if none is found, it will try to + select a pool with a higher delegated prefix length (a smaller + address space). + (Gitlab #1958) + +2083. [func] marcin + New database connection parameters, "read-timeout" and + "write-timeout", control the timeouts in communication with the + MySQL database. The "tcp-user-timeout" controls the timeout in + communication with the PostgreSQL database. Setting these + timeouts can prevent occasional Kea hangs due to issues with + the database connectivity. + (Gitlab #2688) + +2082. [bug] razvan + The prefix address provided in the prefix and prefix length pair + from the pool configuration is now checked to match the first + address in the pool. + (Gitlab #2612) + +2081. [func] tmark + The default value for the kea-dhcp-ddns parameter, + dns-server-timeout, has been increased from 100 ms to + 500 ms. This was done to improve the out-of-the-box + user experience. + (Gitlab #2590) + +2080. [func] tmark + Bulk Lease Query results can now include delegated prefixes. + Memfile queries used by Bulk Lease Query (BLQ) were modified + to include delegated prefixes when appropriate. Prior to + this they were returning only address leases. + (Gitlab #2713) + +2079. [func] marcin + The lease allocation strategy is now configurable. It is possible + to select between iterative and random lease selection for the + address assignment and prefix delegation, respectively, at the + global, shared network, and subnet levels. + (Gitlab #2348, #969) + +Kea 2.3.3 (development) released on November 30, 2022 + +2078. [build] andrei + The library version numbers have been bumped for the Kea 2.3.3 + development release. + (Gitlab #2650) + +2077. [func] andrei + YANG modules have been updated with three configuration nodes: + extended-info-checks, ignore-rai-link-selection, template-test. + keatest-module has also gained empty, leafref and union nodes for + proper testing of all YANG leaf types. + Additionally, stable libyang and sysrepo versions are recommended + for use in the ARM in place of the previous development versions. + (Gitlab #2601) + +2076. [doc] razvan + Add documentation for template classes and the new parameter + 'template-test' which evaluates to a string value. This indicates + if the class is spawning classes with the name containing the + evaluated value: 'SPAWN_<template-class-name>_<evaluated-value>' + only if the value is not empty string. This will also add the + packet to the <template-class-name> class. + (Gitlab #2606) + +2075. [bug] razvan + The builtin client class ALL can now be used again to apply lease + limits and rate limits. + (Gitlab #2615) + +2074. [func] tmark + Added a new library, libkea_tcp, that provides support for a + generic TCP listener. Initially, this library will be used + for Bulk LeaseQuery + (Gitlab #2583) + +Kea 2.3.2 (development) released on October 26, 2022 + +2073. [build] razvan + The library version numbers have been bumped for the Kea 2.3.2 + development release. + (Gitlab #2607) + +2072. [func] razvan + If both "flush-reclaimed-timer-wait-time" and + "hold-reclaimed-time" are non-zero, when the client sends a + release message the lease is expired. Previously it was deleted + from the lease storage. The default values are 25 and 3600 + respectively, effectively changing the default server behavior. + (Gitlab #2548) + +2071. [perf] andrei + Significantly improved the performance of editing configuration + with kea-netconf. Instead of making a request to the sysrepo + datastore for each leaf and leaf-list node, a single request is + done and the config is translated from the received data node. + This approach is considered experimental. + (Gitlab #2400) + +2070. [func] andrei + kea-netconf now requires libyang v2 and sysrepo v2 to compile and + run. Support for libyang v1 and sysrepo v1 has been dropped. + (Gitlab #2311) + +2069. [func] fdupont + Added a new sanity checker named "extended-info-checks" + which checks and eventually upgrades lease extended + info which store into lease user context in DHCPv4 + the dhcp-agent-options content and in DHCPv6 the + relay-msg fields and options. + (Gitlab #2595) + +2068. [func] djt + Kea's official APK, Deb, and RPM packages have been restructured + and made to follow a consistent packaging standard. Some of the + package names have been modified, and some packages have been + consolidated into larger packages as a result of these changes. + Kea now runs under a service user on RPM systems. Upgrading Kea + on Debian and Ubuntu systems should be done with ``apt + dist-upgrade`` when upgrading to this release or later, as some + packages need to be removed before being reinstalled. Depending + on how Kea was installed, upgrading to this release or later on + Debian or Ubuntu systems could cause the DHCPv6 and/or the DDNS + server, as well as the open-source hooks to be removed. In order + to ensure they are properly installed, either install the + ``isc-kea`` metapackage, or install the packages explicitly by + name. Further details can be found in the Gitlab issue. + (Gitlab #2220) + +2067. [func] fdupont + Updated the layout of extended information optionally + stored in lease user context to add remote and relay + identifier (sub-)options. + (Gitlab #2587) + +2066. [bug] fdupont + Fixed lease reuse process to clear the user context + when the lease expired and was reclaimed. + (Gitlab #2588) + +2065. [func] djt + A compatibility config option called ignore-rai-link-selection + has been added to the DHCPv4 config allow operators to ignore + Link Selection suboption data in Relay Agent information options. + When this configuration value is set to true, Kea will no longer + use data provided in the suboption for subnet selection. + (Gitlab #2543) + +Kea 2.3.1 (development) released on September 28, 2022 + +2064. [build] mgodzina + The library version numbers have been bumped for the Kea 2.3.1 + development release. + (Gitlab #2576) + +2063. [bug] fdupont + Fixed 32 bit compatibility issue with PostgreSQL time. + (Gitlab #2532) + +2062. [func] fdupont + The lease_cmds hook library supports two new commands + "lease4-write" and "lease6-write" which should help + to recover emergency situations e.g. full disk space + by writing the memory lease database into a CSV file. + They are supported only by the memfile backend. + (Gitlab #1654) + +2061. [bug]* fdupont + Enforce length limits on host identifier (20 bytes for + hardware address, 128 bytes for DUID and other types). + (Gitlab #2557) + +2060. [build] andrei + Two scripts that are used for checking YANG modules now + automatically detect the location of the yanglint tool and its + libraries based on the values passed to the configure script. + "make check" should now pass uninterrupted on some delicate + systems like Alpine and RPM-based. Also, reinstall.sh, used to + install YANG modules, now detects sysrepoctl automatically. + (Gitlab #2558) + +2059. [func] marcin + The lease_cmds hook library returns a new "conflict" status + code indicating an issue with a lease update due to a mismatch + between the received lease and the server's configuration or + state. The HA hook library differentiates between this new + status and a general error and avoids transitioning to the + partner-down state when conflicts occur. The new + "max-rejected-lease-updates" parameter sets a limit for the + maximum number of conflicts before the server terminates the + HA service. + (Gitlab #2408) + +2058. [build] fdupont + kea-lfc is now built just after libraries. + (Gitlab #2526) + +2057. [doc] marcin + Fixed broken example and documentation for long DHCPv4 options + in the ARM. + (Gitlab #2545) + +2056. [build] andrei + Improved build compatibility in Kea between g++ and Boost + libraries. The compilation error that was fixed was reported to + occur with g++ 8 and boost 1.75. The fix consists of passing + callbacks directly to boost::asio::io_service::post and not + indirectly through a functor. Thanks to rski for reporting the + error and suggesting the fix! + (Gitlab #2519) + +2055. [func] andrei + When Kea starts with an erroneous file configuration, if the + logging is viable and is configured to log at least at ERROR + level, it will log the errors according to the configured + logging. Previously, it would log them in stderr which made + gathering of the errors more difficult. A final log message is + still logged at stderr just as before. + (Gitlab #1955) + +Kea 2.3.0 (development) released on August 31, 2022 + +2054. [build] razvan + The library version numbers have been bumped for the Kea 2.3.0 + development release. + (Gitlab #2546) + +2053. [doc] razvan + A new appendix for configuration templates added to Kea ARM. + which include High Availability with multi-threading and secure + connections using TLS. + (Gitlab #2441) + +2052. [func] andrei + Omitted logger configuration entries are now properly inherited + from the root logger as the ARM suggests. + (Gitlab #2537) + +2051. [func] razvan + Added support for bulk lease query options defined in RFC 6926. + The bulk lease query functionality has not been implemented yet. + (Gitlab #2527) + +2050. [build] andrei, tomek + Fixed problem with preparing system using hammer on FreeBSD + 13.0. The available sphinx and python versions are now detected + dynamically. This should prevent future package upgrades (e.g. + to python 3.10) from breaking our builds again. + (Gitlab #2534) + +2049. [build] razvan, fdupont + The distcheck rule is able to compile and run unittests for + database backends, GSS-TSIG and Sysrepo/NETCONF. + (Gitlab #2071) + +2048. [bug] fdupont + Set broadcast MAC destination address in DHCPv4 replies + when the IP address is broadcast. Thanks to Joost Bekkers + for reporting the issue and contributing the patch. This + improves Kea's compatibility with Cisco Small Business + switches. + (Gitlab #2211) + +2047. [func] fdupont + Added support of multiple instances of the DHCPv6 + "vendor-class" (code 16) and "vendor-opts" (code 17) + options: specifying multiple options with different + enterprise numbers is now supported by Kea. + +2046. [doc] andrei + Disabled smart quotes in Sphinx configuration to leave quotes + unchanged. Prior to this change, quotes were converted into + left-quotes and right-quotes. This made it difficult for users to + copy and use chunks of configuration directly from the ARM. + (Gitlab #2513) + +Kea 2.2.0 (stable) released on July 27, 2022 + +2045. [build] tmark + Bumped library version numbers for the Kea 2.2.0 stable release. + (Gitlab #2504) + +2044. [func] tmark + Modified indexes on the hosts table in the postgresql + schema to improve performance on host reservation searches. + Thanks to Paul Kutzer for suggesting these changes. + (Gitlab #2452) + +2043. [func] andrei + The status-get command now shows the status of the sockets being + opened to receive DHCP requests, and a list of errors for the + sockets that were not successfully created. + (Gitlab #2434) + +2042. [func] razvan + Added missing parameters to YANG modules, including TLS + parameters for database connections. + (Gitlab #2224) + +2041. [bug] tmark + HA now applies load balancing and scoping only to inbound + client packet types that apply to client lease fulfillment, + e.g. DHCPDISCOVER, DHCPREQUEST, DHCPV6_SOLICIT, DHCPV6_REQUEST, + etc. Previously, HA indiscriminately balanced and + scoped all inbound packets, including those related to lease + query. + (Gitlab #1781) + +2040. [func] djt + Added support for Alpine 3.16 in hammer.py. + (Gitlab #2491) + +2039. [doc] andrei + Updated the limits hook library ARM documentation to reflect + support for lease limits. + (Gitlab #2481) + +2038. [func] djt + Added a new statistic to kea-dhcp4 that counts host + reservation conflicts. They are now tracked at both + the global and subnet levels, as v4-reservation-conflicts + and subnet[id].v4-reservation-conflicts, respectively. + (Gitlab #2419) + +2037. [bug] razvan, marcin + Fixed a crash in the HA+MT scenario caused by a race condition + which occurred between resetting the CalloutHandle state and + accessing the hook point parameters, from different threads, + when unparking packets. + (Gitlab #2473) + +2036. [build] andrei + Added a tool that checks whether there are any missing REST + commands from the API Reference section of the ARM. + See tools/check-for-missing-api-commands.sh. + It has been integrated into the Gitlab CI and runs on every + push. + (Gitlab #2379) + +2035. [doc] Daniel Bjors + The Developer's Guide now correctly uses the Lease4CollectionPtr + and Lease6CollectionPtr types. Thanks to Daniel Bjors for + reporting this typo. + (Gitlab #2447) + +2034. [func] andrei + The PostgreSQL schema has been changed to provide initial support + for the lease-limiting feature, part of the limits hook library. + (Gitlab #2445) + +2033. [func] tmark + Functionality needed to support the lease-limiting feature of + of the limits hook library has been added to Memfile_LeaseMgr. + (Gitlab #2436) + +Kea 2.1.7 (development) released on June 29, 2022 + +2032. [build] razvan + The library version numbers have been bumped for the Kea 2.1.7 + development release. + (Gitlab #2455) + +2031. [func] fdupont + Improved compatibility with OpenSSL 3.0.x, in particular + recover system error messages. + (Gitlab #1614) + +2030. [doc] fdupont, tomek + GSS-TSIG examples updated. The recommendation to not use + client-keytab and credentials-cache at the same time added. + (Gitlab #2247) + +2029. [bug] fdupont + The check of the subnet id in configuration is stricter: + values outside the 0..4294967295 are rejected. Note that + the value 0 means to leave Kea to assign itself the id. + (Gitlab #2086) + +2028. [build] orbea, fdupont + Compatibility with LibreSSL 3.5.2 improved. + (Github #121, Gitlab #2411) + +2027. [func] fdupont + The TLS is now supported with Multi-Threaded HA (HA+MT) scenario. + Additional parameters (trust-anchor, cert-file, key-file, + require-client-certs) are now supported in the HA configuration. + (Gitlab #1706) + +2026. [func] andrei + The MySQL schema has been changed to provide initial support for + the lease limiting feature, part of the limits hook library. + (Gitlab #2438) + +2025. [bug] tmark + Added missing support for client-class user-context to + both MySQL and PostgreSQL CB hook libraries. + (Gitlab #2430) + +2024. [func] djt + The ALLOC_ENGINE_V4_ALLOC_FAIL_SUBNET log message format has been + slightly modified, so that when it is emitted for a subnet that + is not within a shared network, it emits "(none)" for the value + of the shared network. The ARM documentation for this parameter + has been updated to reflect that subnets within shared networks + will in fact display which shared network the subnet belongs to. + The ALLOC_ENGINE_V6_ALLOC_FAIL_SUBNET log message format has + changed to be consistent with the format of + ALLOC_ENGINE_V4_ALLOC_FAIL_SUBNET. + (Gitlab #2395) + +2023. [bug] tmark + Corrected a MySQL CB issue that caused subnets to be + updated without having audit entries created when the + affiliated shared-network is deleted. This can cause + the subnets to be excluded from subsequent CB refresh + cycles. + (Gitlab #2299) + +Kea 2.1.6 (development) released on May 25 2022 + +2022. [func] andrei, djt + kea-admin lease-upload now calls the lease file cleanup (LFC) + process to clean up entries with duplicate addresses in the input + CSV file, to avoid a conflict error when inserting the leases in + the database. kea-admin also no longer asks for input on + non-interactive shells. A new -y|--yes flag has been added that + enables automatic overwriting of any file that kea-admin writes + to, when dumping or uploading leases. + (Gitlab #2293) + +2021. [build] razvan + The library version numbers have been bumped for the Kea 2.1.6 + development release. + (Gitlab #2421) + +2020. [doc] andrei + The rate-limiting feature of the new limits hook library has been + documented. It can apply a specified limit of a certain number of + packets per time unit to a given client class or subnet. + (Gitlab #562, #1650) + +2019. [func] tmark + A new built-in class, "SKIP_DDNS", was added, which can be used + in conjunction with the ddns-tuning hook library to skip + performing DDNS updates for a given client. + (Gitlab #2354) + +2018. [func] razvan + The kea-dhcp4 server now supports portions of RFC 3396, allowing + it to send and receive DHCP options longer than 255 bytes. + (Gitlab #2227) + +2017. [bug] marcin + A bug in the allocation engine, which caused it to write an + allocated lease under the wrong subnet ID within a shared + network, has been corrected. This was occurring when multiple + clients matched the same fixed address reservation. The first + client is now assigned the fixed address, while a subsequent + client is then given a dynamically allocated address from a + different subnet in the shared network. + (Gitlab #2409) + +2016. [doc] fdupont + Documentation for the role-based access control (RBAC) + premium hook library was added to the ARM. + (Gitlab #1263) + +Kea 2.1.5 (development) released on Apr 27, 2022 + +2015. [bug] tmark + Fixed an issue in kea-dhcp6 that was causing the server + not to update the FQDN option in outbound responses when + the ddns-tuning hook lib calculates a new host name. + (Gitlab #2392) + +2014. [bug] tmark + Correct an issue that was causing reconfigure to fail + in kea-dhcp4 and kea-dhcp6 when using ddns-tuning hook + library. + (Gitlab #2390) + +2013. [build] razvan + Library version numbers bumped for Kea 2.1.5 development + version. + (Gitlab #2385) + +2012. [doc] andrei + Documented whether it's OK or not to have overlapping pools, + including PD pools in IPv6. + (Gitlab #1842) + +2011. [func] djt + Added CTRL_AGENT_COMMAND_RECEIVED log line with command and + source address to the kea-ctrl-agent for commands which + are not forwarded on to another daemon. Added client + remote-address to CTRL_AGENT_COMMAND_FORWARDED log message if + it is available. + (Gitlab #687) + +2010. [func] razvan + Several extra log messages now detail the subnet selection + process. The messages are available on debuglevel 40. + (Gitlab #2352) + +2009. [func] tmark + Added new hook callout points: ddns4_update to Kea DHCPv4 + server and ddns6_update to Kea DHCPv6 server. This enables + use of the ddns-tuning hook library. + (Gitlab #1548) + +2008. [func]* tomek + The support for benchmarks have been removed. + (Gitlab #2372) + +2007. [func] tmark + Added split() function to classification expression + language. + (GitLab #2272) + +2006. [func] slawek + Added ``service-sockets-require-all`` parameter to specify + mandatory successfully binding all needed service sockets to + initialize DHCP services (defaults to false). If any socket is + unavailable, then the service fails to start. Added + ``service-sockets-max-retries`` parameter (defaults to 0) to + specify the number of retries to open unavailable sockets and + ``service-sockets-retry-wait-time`` parameter to specify a time + interval to wait between attempts. + (Gitlab #1716) + +2005. [func]* razvan + The support for Cassandra database backend has been removed. + (Gitlab #2116) + +Kea 2.1.4 (development) released on March 30, 2022 + +2004. [build] razvan + Library version numbers bumped for Kea 2.1.4 development + version. + (Gitlab #2363) + +2003. [func] fdupont + Added the support of sub-options in the flex_option + hook library. + (GitLab #2314) + +2002. [bug] tmark + Fixed a bug in MySql config backend that caused it to + store unspecified, client-class valid and preferred life + time values as zero in the database. + (Gitlab #2344) + +2001. [bug] razvan + Fixed a bug which causes client classes with empty test + expressions to fail class evaluation when those classes are + retrieved from config backend. + (Gitlab #2336) + +2000. [func] fdupont + Added the ``early-global-reservations-lookup`` configuration + parameter which allows to perform a search for global host + reservations and set client classes before the subnet + selection. This is achieved when explicitly configured to + ``true`` and it defaults to ``false`` if not configured. + (Gitlab #2249) + +1999. [func] tmark, razvan + The kea-dhcp6 server fully supports using PostgreSQL for config + backend. This should be considered an experimental feature. + (Gitlab #2355, #2356) + +1998. [func] tmark, razvan + With the addition of support for client classes, the kea-dhcp4 + server now fully supports using PostgreSQL for config backend. + (Gitlab #2322) + +1997. [bug] tmark + The obsolete log message, DHCP4_NCR_CREATE, has been + removed from kea-dhcp4. + (GitLab #2301) + +Kea 2.1.3 (development) released on Feb 23, 2022 + +1996. [build] razvan + Library version numbers bumped for Kea 2.1.3 development + version. + (Gitlab #2317) + +1995. [func] tmark + kea-dhcp4 now supports using PostgreSQL for config + backend for everything except client classes. The + new hook library is libdhcp_pgsql_cb.so. This should + be considered an experimental feature. + (Gitlab #95) + +1994. [func] razvan + Added support for Server Identifier Override RAI sub-option + (RFC 5107). The implementation is not complete according to the + RFC, because the server does not store the RAI, but the + functionality handles expected use cases. + (Gitlab #1695) + +1993. [func] razvan + Added global and per subnet counters for allocation failures: + ``v4-allocation-fail``, ``v4-allocation-fail-shared-network``, + ``v4-allocation-fail-subnet``, ``v4-allocation-fail-no-pools``, + ``v4-allocation-fail-classes``, ``subnet[X].v4-allocation-fail``, + ``subnet[X].v4-allocation-fail-shared-network``, + ``subnet[X].v4-allocation-fail-subnet``, + ``subnet[X].v4-allocation-fail-no-pools``, + ``subnet[X].v4-allocation-fail-classes``, + ``v6-allocation-fail``, ``v6-allocation-fail-shared-network``, + ``v6-allocation-fail-subnet``, ``v6-allocation-fail-no-pools``, + ``v6-allocation-fail-classes``, ``subnet[X].v6-allocation-fail``, + ``subnet[X].v6-allocation-fail-shared-network``, + ``subnet[X].v6-allocation-fail-subnet``, + ``subnet[X].v6-allocation-fail-no-pools``, + ``subnet[X].v6-allocation-fail-classes``. + There is a warning log message emitted in the logs each time one + of the allocation failure counters is incremented. + (Gitlab #2054) + +1992. [bug] razvan + The ``maxver`` and ``maxsize`` logger parameters are excluded + from ``config-get`` command response if the logger output is + ``stdout``, ``stderr`` or ``syslog``. + (Gitlab #2288) + +1991. [bug] jinmei, razvan + Fixed keactrl exit code when netconf is not build. + (Gitlab #2262) + +1990. [func] razvan + Added the ``reservations-lookup-first`` configuration parameter + which controls whether host reservations lookup should be + performed before lease lookup. This parameter has effect only + when multi-threading is disabled. When multi-threading is + enabled, host reservations lookup is always performed first. The + ``reservations-lookup-first`` parameter defaults to ``false`` + when multi-threading is disabled. + (Gitlab #2036) + +Kea 2.1.2 (development) released on Jan 26, 2022 + +1989. [build] razvan + Library version numbers bumped for Kea 2.1.2 development + version. + (Gitlab #2281) + +1988. [bug] tmark + Kea core logic now ensures options belonging + to client classes are properly created when + classes are read from configuration backends. + (Gitlab #2246) + +1987. [bug] tmark + Fixed an issue in PostgreSQL support code that caused + asserts when compiled with: -Wp,-D_GLIBCXX_ASSERTIONS. + (Gitlab #2284) + +1986. [func] fdupont + The kea-admin command now accepts extra arguments which + are passed to the database command tool, e.g. '--ssl' to + 'mysql' with `kea-admin ... -x --ssl'. Quotes are not + preserved but multiple arguments can be given. + (Gitlab #2225) + +1985. [func] fdupont + Added support for using files to configure basic HTTP + credentials. Instead of configuring a value, it is taken from + the content of a file. The new parameters of the Control Agent + configuration are: + - 'user-file' pointing to a file vs 'user' + - 'password-file' pointing to a file vs 'password' + - 'password-file' pointing to a file with the secret + (which is <user>:<password>) vs 'user' and 'password'. + For the High Availability hook library the new parameter + is 'basic-auth-password-file' which can be used as an + alternative to 'basic-auth-password'. + (Gitlab #2006) + +1984. [func] andrei + Introduced the lease-upload command to kea-admin which can upload + leases from a memfile CSV file to a database backend. + (Gitlab #2039) + +1983. [bug] fdupont + Minimum and maximum values of lifetimes are no longer + skipped when the configuration is retrieved even when + they are the same as the default value. + (Gitlab #2222) + +1982. [bug] andrei + The config for an HA peer now accepts an IPv6 address as a valid + value for the "url" entry. + (Gitlab #2264) + +1981. [func] tomek + The default-url DHCPv4 option has been replaced with + v4-captive-portal, as defined in RFC8910. + (Gitlab #1684) + +1980. [func]* andrei + The kea-admin lease-dump command now outputs a CSV file that is + compatible with the memfile backend. This is useful when + migrating from database to memfile. The generated output is + backwards incompatible. Any tools that depend on it would need + to adapt. + (Gitlab #2038) + +1979. [bug] fdupont + Update and delete operations on leases no longer raise + an error with infinite valid lifetime (used by BOOTP) + and MySQL or PostgreSQL backends where timestamps can + be limited to 32 bits. + (Gitlab 897) + +1978. [doc] tomek + The Kea Administrator Reference Manual now correctly states that + DHCPv6 authentication option has code 11, not 10. + (Gitlab #2207) + +1977. [bug] razvan + Use only MAX_HWADDR_LEN (20) bytes from remote-id when extracting + the MAC from relay options. + (Gitlab #2201) + +1976. [func] andrei + Added hwtype and hwaddr_source columns to v6 memfile. + (Gitlab #2236) + +1975. [func] tmark + Additional changes and corrections relating to Config Backend + were made to the PostgreSQL database schema. In addition, the + upgrade scripts were renamed to ensure proper file name ordering. + Note that PostgreSQL CB is not yet functional. + (Gitlab #2183, #2244, #2245) + +1974. [func] fdupont + The global parameter lookup has been refactored to provide better + performance. Proper return error code (CONTROL_RESULT_ERROR) has + been fixed in some cases when trying to apply the new + configuration. Old code was using wrong hardcoded '2' value + (CONTROL_RESULT_COMMAND_UNSUPPORTED). + (Gitlab #1082) + +1973. [func] fdupont + MySQL backends now can be configured to use the SSL/TLS + support to protect connections to the server. New + database parameters are "cert-file", "key-file", + "trust-anchor" and "cipher-list". The negotiated cipher + name is logged so the MySQL service configuration can + be checked. PostgreSQL accepts the same parameters + but they only trigger the call to the OpenSSL generic + initialization in the Pq C-API. + (Gitlab #34) + +1972. [func] andrei + Kea servers now can accept trailing commas in file + configurations. While parsing, a warning is printed with the + location of the comma to give the user the ability to correct + a mistake. + (Gitlab #2084) + +1971. [func] tmark, jad + Added support for embedded DHCPv6 DUIDs within DHCPv4 + Client Identifier options per RFC 4361. This allows + Kea to support DDNS in dual stack environments per + RFC 4703(Sec 5.2). Thanks to John Dickinson for + contributing the patch! + (Gitlab #1934) + +Kea 2.1.1 (development) released on Nov 24, 2021 + +1970. [build] razvan + Library version numbers bumped for Kea 2.1.1 development + version. + (Gitlab #2195) + +1969. [build] andrei + Fixed "make check -j N" running tests in parallel in src/lib/log. + (Gitlab #2172) + +1968. [build] andrei + Fixed make check failing when googletest support was disabled. + (Gitlab #2167) + +1967. [bug] andrei + Fixed a bug where keactrl did not color the active status code + for kea-dhcp-ddns as it did for the other servers. + (Gitlab #2117) + +1966. [func] djt + Allow Kea to pack opaque data tuples within options with zero + length to accommodate some DHCP clients who have been observed + to send DHCPv4 option 124 with zero length tuples. + (Gitlab #2021) + +1965. [func] andrei + Increase the value that "maxsize" can take from 2GB to 2PB. + (Gitlab #2130) + +1964. [func] wlodek + Added support for Debian 11 in hammer.py. + (Gitlab #2042, #2193) + +1963. [func] andrei + hammer.py has had several improvements. + NETCONF and PostgreSQL will be properly configured when running + prepare-system on Fedora and FreeBSD. + vagrant will be automatically upgraded if it is too outdated. + Error messages are more clear when running on unsupported + systems. + hammer.py is now able to detect Arch Linux distributions and + offers limited support for it, being able to prepare-system with + freeradius and netconf support. + (Gitlab #2111, #2112) + +1962. [func] andrei + kea-netconf updates: fixed store-extended-info, it was an + operational node instead of a config node. Added several + containers and leaves: compatibility, lenient-option-parsing, + multi-threading, enable-multi-threading, packet-queue-size, + thread-pool-size, valid-lifetime, min-valid-lifetime, + max-valid-lifetime, preferred-lifetime, min-preferred-lifetime, + max-preferred-lifetime, cache-max-age, cache-threshold, + ddns-generated-prefix, ddns-override-client-update, + ddns-override-no-update, ddns-qualifying-suffix, + ddns-replace-client-name, ddns-send-updates, + ddns-update-on-renew, ddns-use-conflict-resolution, + ip-reservations-unique, parked-packet-limit, reservations-global, + reservations-in-subnet, reservations-out-of-pool, + statistic-default-sample-age, statistic-default-sample-count, + store-extended-info, on-fail. + (Gitlab #2136) + +1961. [func] tomek, tmark + The initial, stubbed version of the PostgreSQL CB hook + library has been created. The library is not yet functional + and does not installed. + (Gitlab #1848) + +1960. [build] andrei + Froze sphinx dependency versions used to build documentation. + Added the update-python-dependencies Makefile rule to bump the + versions. + (Gitlab #2161) + +1959. [doc] djt + Move documentation for acceptable format strings into the Kea + ARM. The relevant section of the ARM was previously referring + to a dead link in the Log4cpp documentation. + (Gitlab #2134) + +1958. [func] tomek, tmark + PostgreSQL database schema has been extended with tables for + Config Backend (CB). This is the first step towards PostgreSQL + CB. However, as there is no code yet to use those new tables, + they're not not functional yet. + (Gitlab #90, #2166) + +Kea 2.1.0 (development) released on Oct 27, 2021 + +1957. [build] razvan + Library version numbers bumped for Kea 2.1.0 development + version. + (Gitlab #2141) + +1956. [bug] tmark + Modified stat_cmds hook library to omit statistics + for non-existent subnets from results returned by + stat-lease4-get and stat-lease6-get commands. + (Gitlab #2033) + +1955. [bug] tmark + kea-dhcp4 no longer sends DHCPNAKs in response to + DHCPREQUESTs for addresses for which it has no knowledge. + (Gitlab #1584) + +1954. [doc] fdupont + Updated the Developer's Guide to explain what to do when + GSS-TSIG hook unit tests fail from a system Kerberos + incompatible configuration. + (Gitlab #2056) + +1953. [build] fdupont + Changed the name of the GSS-TSIG hook library object to + libddns_gss_tsig.so. + (Gitlab #2115) + +Kea 2.0.0 (stable) released on September 29, 2021 + +1952. [build] razvan + Library version numbers bumped for Kea 2.0.0 stable version. + (Gitlab #2104) + +1951. [doc] tomek + A new appendix for configuration templates added to Kea ARM. + the first of which is a home power user. + (Gitlab #2050) + +1950. [doc] slawek + Added a description and an example of the usage of the "include" + statement in the Kea configuration file to the ARM. + (Gitalb #2080) + +1949. [bug] tmark + kea-dhcp6 now correctly determines DNS update flags when + the allocation engine dynamically changes the selected + network subnet. + (Gitlab #1622) + +1948. [func] tmark + HTTP library will now emit a warning log when the queue of + pending client requests for a given URL exceeds a threshold. + (Gitlab #2085) + +1947. [bug] marcin + Corrected a bug in the High Availability hooks library that could + cause a standby server not to synchronize its lease database + after a temporary communication interruption with its partner. + (Gitlab #1959) + +1946. [bug] marcin + Fixes a bug in MySQL configuration backend schema. DHCP options + associated with deleted client classes are now automatically + deleted. + (Gitlab #2094) + +1945. [build] andrei + Reverted qa#261 changes, which forced linking with OpenSSL 1.1 + when available. This caused a segfault, when Kea's crypto library + used OpenSSL 1.1, but the MySQL library it linked against, used + OpenSSL 1.0. + (Gitlab #2081) + +1944. [bug] tmark + kea-dhcp4 and kea-dhcp6 both now support a global parameter, + parked-packet-limit, that can be used to limit the number + of client responses the server may park pending completion + of hook library callouts. + (Gitlab #1307) + +1943. [bug] marcin + Fixed a bug in fetching client classes from the Config Backend. + The bug resulted in failures during attempts to evaluate the + classes for a received packet. + (Gitlab #2077) + +1942. [func] fdupont + Added basic statistics to the DHCP-DDNS server. + (Gitlab #2040) + +1941. [func] fdupont + Per DNS server TSIG keys are now supported in the DHCP-DDNS + (aka D2) server configuration. A new callout point 'select_key' + gives access to the selected TSIG key before sending DNS updates. + (Gitlab #2011) + +Kea 1.9.11 (development) released on Aug 30, 2021 + +1940. [build] razvan + Library version numbers bumped for Kea 1.9.11 development + version. + (Gitlab #2053) + +1939. [bug] tmark + Removed all MultiThreadingCriticalSections from lease_cmds + hooks library which can cause a dead-lock when running HA+MT. + The commands simply try to acquire the resource lock and fail + if the resource is unavailable also logging an error message. + (Gitlab #2051) + +1938. [bug] razvan + Fix dead locks caused by commands with CS on http listener + threads and CS on main thread racing with CS on other threads. + (Gitlab #2041, #2043) + +1937. [bug] razvan + The Config Backend is now capable of reestablishing database + connection after a failure. + (Gitlab #1982) + +1936. [build] andrei + Kea attempts to first link with compatibility library OpenSSL 1.1 + (usually found on CentOS 7) before falling back to the system + OpenSSL (1.0 on CentOS 7 which is out of support). + (Gitlab qa#261) + +1935. [func] andrei + The store-extended-info config entry was added to Kea YANG + modules at root-level and at subnet-level. + (Gitlab #1944) + +1934. [func] tmark + Kea-dhcp6 now supports specifying valid-lifetime and + preferred-lifetime values in client classes (via both + configuration file and Config Backend). Prior to this + it could only be specified at the global, shared-network, + and subnet scopes. + (Gitlab #1710) + +1933. [doc] fdupont, tomek + Added a new ARM section about GSS-TSIG. Currently it describes + how to build Kea with GSS-API support. It will be expanded in + the future. + (Gitlab #2018) + +1932. [func] tmark + MySQL indexing of leases database has been improved. It now + behaves better on older MySQL versions. In particular, the lease + reclamation no longer causes full scans to be performed. This + fix introduces MySQL schema update to 11.0. This should reduce + the periodic performance slowdowns. + (Gitlab #2030) + +1931. [bug] tomek + Two hook messages HOOKS_CALLOUT_ERROR and HOOKS_CALLOUT_MESSAGES + are now printing the hook name and index properly. Thank you to + Shawn Routhier for reporting the issue. + (Gitlab #2020) + +1930. [doc] razvan + Extended documentation section about setting up the timezones in + MySQL and PostgreSQL databases. + (Gitlab #1978) + +1929. [build] andrei + Compatibility with upcoming boost 1.77 has been improved. + Thanks to Brad Smith for the patch! + (Gitlab #1980) + +1928. [bug] tmark + Modified kea-dhcp4 and kea-dhcp6 to only append the + ddns-qualifying-suffix if the input name does not + already end with that suffix. Prior to this the + suffix was always added which could lead to names + including the suffix twice. + (Gitlab #1529) + +Kea 1.9.10 (development) released on Jul 30, 2021 + +1927. [build] razvan + Library version numbers bumped for Kea 1.9.10 development + version. + (Gitlab #1984) + +1926. [func]* marcin + Server tags in the MySQL database are now represented as strings + with a maximum length of 64 characters. Previously, the server + tags could be up to 256 characters long, and it could cause + database migrations to fail on the systems with UTF-8 encoding + configured for MySQL. Shorter server tags avoid hitting the + limitation on the maximum length of an indexed table column. + (Gitlab #1976) + +1925. [build] fdupont + Updated parsers to bison 3.3 or later. + (Gitlab #453) + +1924. [bug] razvan + The MultiThreadingCriticalSection is now thread-safe and can be + called from http client or http listener processing threads. + (Gitlab #1964) + +1923. [func] andrei + Integrate with Sysrepo v1.x branch. Building with support for + Sysrepo now requires the latest v1.x versions: + sysrepo v1.4.140 + libyang v1.0.240. + Support for legacy Sysrepo versions v0.x has been dropped. + (Gitlab #1077) + +1922. [func] marcin + Added support for storing client classes in the MySQL config + backend. + (Gitlab #1920, #1928, #1965, #1972, #1977) + +1921. [func] fdupont + The D2 d2_srv_configured hook point used DROP status to notify + the D2 server that an error has occurred and the configuration + is rejected. The error message is passed to the D2 server + through the new 'error' hook parameter. + (Gitlab #1950) + +Kea 1.9.9 (development) released on June 30, 2021 + +1920. [build] andrei + Bump library versions for the Kea 1.9.9 development release. + (Gitlab #1947) + +1919. [bug] razvan + Fix the run script hook library leaving behind defunct processes. + (Gitlab #1878) + +1918. [bug] razvan + When parsed, PSID was incorrectly ignoring the PSID value when + psid-len was 16 instead of ignoring it when the values is 0 as + per the RFC. + (Gitlab #1858) + +1917. [func] tomek + DHCPv4 and DHCPv6 are now more consistent when logging the + reasons why a packet was dropped. This information is now + available on debuglevel 15. Also added a section in the ARM + discussing the debug levels. The subnet selection failed log + message now provides more useful information about the subnet. + (Gitlab #1915, #1916) + +1916. [func] razvan + The Kea DHCPv4 server accepts requests using server identifier + configured at client class level. + (Gitlab #1836) + +1915. [func] andrei + DOCSIS options are no longer offered to any vendor other than + Cable Labs (vendor-id == 4491). This was not an explicit check + previously and the match to the vendor relied on a technicality + such that other vendors could have received these options under + certain conditions. + (Gitlab #1894) + +1914. [func]* tomek + The Cassandra (CQL) support is being deprecated, both for + leases and host backends. For the time being the features + will produce a warning, but will otherwise function normally. + However, the functionality will be removed in the future + Kea releases. + (Gitlab #1892) + +1913. [doc] tomek + Kea adopted Developer Certificate of Origin for incoming + contributions. Please see the CONTRIBUTING.md file for details. + (Gitlab #1895) + +1912. [doc] fdupont, tomek + The Kea configuration syntax is now documented in BNF notation. + See new appendix in the ARM. + (Gitlab #504, #745) + +1911. [bug] andrei + Fixed a minor regression where kea-admin and keactrl would output + technical errors like "unbound variable" instead of more helpful + messages like "missing backend" because of the undefined variable + checks introduced in 1.9.4. Added tests to further prevent it. + (Gitlab #1653) + +1910. [func] andrei + Extended perfdhcp to send v4 DHCPRELEASE messages via -F flag. + (Gitlab #1119) + +1909. [build] fdupont + Experimental support for Heimdal implementation of GSS-API + with Kerberos 5 added. + (Gitlab #1909) + +1908. [func] razvan + Added export for V4 option 82 (DHO_DHCP_AGENT_OPTIONS) and + respective suboptions 1 (RAI_OPTION_AGENT_CIRCUIT_ID) and + suboption 2 (RAI_OPTION_REMOTE_ID) in the run script hooks + library. + (Gitlab #1840) + +1907. [doc] peterd, andrei, razvan + Many Kea ARM corrections and updates. + (Gitlab #1917) + +1906. [func] fdupont + Added support for the TKEY DNS resource record. + (Gitlab #1880) + +1905. [build] fdupont + Added an optional --with-gssapi switch to the configure + script. It checks for the presence and suitability of + packages pertinent to GSS-TSIG. This has been added in + anticipation of future work and does not add any + functionality to Kea. + (Gitlab #1884) + +Kea 1.9.8 (development) released on May 26, 2021 + +1904. [build] wlodek + Library version numbers bumped for Kea 1.9.8 development + version. + (Gitlab #1882) + +1903. [func] andrei + Kea now recognizes requests sent from vendors that include their + information in DHCPv6 Vendor Class option (code 16) for the + purpose of offering custom options in the response. Previously, + only the Vendor-specific Information option (code 17) was + searched for a vendor ID. For the purpose of classification, both + options are looked into, now, just as before. + (Gitlab #1837) + +1902. [func] andrei, fdupont + All logs that expose configuration, either in full or in snippets + now have the values of "password" and "secret" entries replaced + with asterisks "*****". + (Gitlab #1721) + +1901. [bug] marcin + Corrected a bug in DHCPv4 subnet selection. The server ignored + the Subnet Selection option supplied by a client if its query + contained a Relay Agent Information (RAI) option without a Link + Selection option. After this change, the server respects the + Subnet Selection option when RAI lacks the Link Selection + option. If RAI includes it, it takes precedence over the Subnet + Selection option. + (Gitlab #1816) + +1900. [bug] tmark + Fixed a sporadic failure caused by a wrong assertion in + unit test, testMtHttpClientTest.workPauseResumeShutdown, + introduced by #1818. + (Gitlab #1876) + +1899. [func] tmark,razvan + In HA+Mt mode, the HA hook library now pauses and resumes + its worker threads when Kea core enters and exits critical + sections, respectively. This eliminates race conditions + during core processing such as reconfiguration, shutdown, + and certain RESTful API commands. + (Gitlab #1818) + +1898. [func] fdupont + The DROP class may now depend on the KNOWN or UNKNOWN classes + and may be used after the host reservation lookup. + (Gitlab #1815) + +1897. [func] andrei + Kea has a new configuration section called "compatibility" geared + towards non-compliant clients. The only boolean parameter added + for now called "lenient-option-parsing" changes the way DHCPv6 + option 16's vendor-class-data field is parsed. When enabled, + instead of complaining that a length exceeds the rest of the + option's buffer, the value is considered to be the rest of the + buffer. This also applies to custom options defined with the + tuple type for both DHCPv4 and DHCPv6. + (Gitlab #1860) + +1896. [func] wlodek + Perfdhcp extended to send v6 traffic from multiple networks. + (Gitlab #1416) + +1895. [func] razvan + Added additional evaluation tokens to extract and print data: + addrtotext, int8totext, int16totext, int32totext, uint8totext, + uint16totext, uint32totext. + (Gitlab #1680) + +1894. [func] fdupont + Implemented 'auth' logger, dedicated to logging access + control information, such as basic HTTP authentication. + (Gitlab #1590) + +1893. [func] fdupont + Botan 2.14 or later can now be used as a crypto library for + the TLS/HTTPS support in Kea. + (Gitlab #1665) + +1892. [func] fdupont + Added + operator as an convenient alias to concat() function + in expressions. + (Gitlab #1824) + +Kea 1.9.7 (development) released on Apr 28, 2021 + +1891. [build] razvan + Library version numbers bumped for Kea 1.9.7 development + version. + (Gitlab #1820) + +1890. [doc] fdupont + Added a new section to the ARM, Kea Security, which describes + various security related topics and how to address them. + (Gitlab #1587) + +1889. [func] fdupont + Accept comments (shell '#', C++ '//' and C '/*...*/') in + JSON commands sent via the control channel or the Control + Agent. + (Gitlab #1652) + +1888. [func] tmark + Added a new operational mode, HA+MT, to the HA hook library. + HA+MT provides direct, multi-threaded HTTP communication + between peers for the exchange HA protocol commands and + responses. + (Gitlab #1736) + +1887. [build] andrei, fdupont + Migrated autoconf macros, which became warningly deprecated + since autoconf 2.70, to supported macros. + (Gitlab #1632, #1651) + +1886. [doc] tomek + Added a section in the ARM explaining the relationship between + keactrl and systemd scripts. + (Gitlab #1759) + +1885. [func] andrei + kea-admin is now able to interactively ask for a password if no + parameter follows the -p or the --password parameters. This + requires the user to give it as the last parameter. The entered + password is not echoed back to the terminal in order to prevent + over-the-shoulder snooping or other social engineering + techniques. Alternatively, you can set the password via the + KEA_ADMIN_DB_PASSWORD environment variable. + (Gitlab #1675) + +1884. [doc] fdupont + HTTP_CONNECTION_HANDSHAKE_FAILED log message got a + description. + (Gitlab #1779) + +Kea 1.9.6 (development) released on March 31, 2021 + +1883. [build] andrei + Bump library versions for Kea 1.9.6 release. + (Gitlab #1772) + +1882. [func] razvan + Implemented database connection recovery for forensic logging. + To achieve this, the "on-fail" connection parameter has been + added to control the action performed on connection loss. + The supported values are "stop-retry-exit", "serve-retry-exit" + and "serve-retry-continue". They indicate if the server should + disable the service on connection loss ("stop-retry-exit") or if + on recovery failure the server should shut down + ("stop-retry-exit" and "serve-retry-exit") or continue + ("serve-retry-continue"). The default value used (if not + configured) is "stop-retry-exit" for lease, host and config + backends, and "serve-retry-continue" for forensic log. + (Gitlab #1621) + +1881. [func] fdupont + Moved errors about URLs using names (vs addresses) or + https (vs http) scheme in High Availability hook + configuration from connection opening time to + configuration time. + (Gitlab #1758) + +1880. [build] fdupont + TLS support is now reported by configure in the + cryptographic backend section. + (Gitlab #1774) + +1879. [func] fdupont + The Control Agent now supports TLS/HTTPS. This works with + OpenSSL and there are known problems with Botan, which will + be addressed in the future. + (Gitlab #1662) + +1878. [bug] razvan + Request enabling DHCP service when the HA hooks library is + unloaded. It may remain disabled if it had been disabled + outside of the HA hooks library. Prior to this change, if + the HA hooks library disabled the DHCP service it would + always remain disabled after the hooks library was unloaded. + (Gitlab #1697) + +1877. [func] fdupont + kea-shell supports TLS/HTTPS. This is limited to the python 3 + version i.e. if kea-shell is configured with python 2 it still + works in 1.9.6 but raises an error if a new TLS/HTTPS argument + is specified. + (Gitlab #1663) + +1876. [doc] fdupont + Added documentation for TLS/HTTPS support. + (Gitlab #1664) + +1875. [func] fdupont + TLS/HTTPS support was added to asiolink and http libraries. + (Gitlab #1661) + +1874. [doc] marcin + Added notes in the ARM highlighting that the address and + delegated prefix pools must be split when HA load-balancing + mode is used. + (Gitlab #1726) + +1873. [func] andrei + kea-admin now accepts the -P|--port parameter with a custom + port used to connect to the database. + (Gitlab #1674) + +Kea 1.9.5 (development) released on Feb 24, 2021 + +1872. [build] razvan + Library version numbers bumped for Kea 1.9.5 development + version. + (Gitlab #1713) + +1871. [bug] andrei + The cache threshold feature introduced in 1.9.4 modified + previously versioned schema 9.5. This caused problems for people + who had already upgraded to 9.5 which in Kea versions means 1.9.2 + and 1.9.3. + In this change, the upgrade commands were moved to schema 9.6 and + are only applied if the database does not contain the required + columns. Affected Kea installments can now be upgraded to 1.9.5 + and above seamlessly. + (Gitlab #1698) + +1870. [bug] razvan + Fixed a crash when using the Kea Legal Log Hooks Library with + multi-threading. This bug was affecting only database backends. + The log file backend was not affected by this bug. + (Gitlab #1711) + +1869. [func] tmark + Kea-dhcp4 now supports specifying valid-lifetime in client + classes. Prior to this it could only be specified at the + global, shared-network, and subnet scopes. + (Gitlab #1635) + +1868. [func] andrei + The forensic log hook library has gained an auto-increment + primary key column in it's logs table. It is now able to function + in a MySQL Percona cluster which requires a primary key for all + it's tables when configured with pxc_strict_mode = ENFORCING + which is also the default value. + (Gitlab #1709) + +1867. [bug] andrei + MySQL connection unit tests have been modified to work with + Percona cluster. This change doesn't fix all problems, but it + improves the situation sufficiently to be able to run unit tests + with positive results on a Percona cluster. + (Gitlab #1708) + +1866. [func] marcin + Added new log messages issued when a dynamic lease allocation + fails. The new messages provide comprehensive information about + the circumstances in which the failure occurred. In particular, + they state whether the client is connected to a shared network + or not. If it is, the shared network name is provided. Otherwise, + the client's subnet id is logged. The new messages also inform + from how many subnets the server attempted to allocate a lease + and how many subnets could not be used because of non-matching + client classes. + (Gitlab #1701) + +1865. [func] razvan + Implemented the Run Script hooks library which can be used to + run external scripts for specific packet processing hook points. + There are several exported environment variables available for + the script. Currently the implementation is nonblocking and + Kea will not wait for the script to finish execution before + continuing to the next step. For this reason, the next step + provided by the script is ignored. + (Gitlab #899) + +1864. [func] fdupont + New parameters to handle TLS support added in Control Agent + config: "trust-anchor", "cert-file", "key-file" and + "cert-required". They can be configured, but their values are + not yet used. + (Gitlab #1662) + +1863. [func] andrei + The perfdhcp tool now supports the -x l option that exports the + assigned leases to stdout in CSV format. This new capability is + very useful for the ongoing DB cluster experiments, where we need + to correlate leases between multiple Kea instances sharing the + same cluster. + (Gitlab #1703) + +1862. [build] andrei + Added execution permissions to the upgrade scripts in Kea's + installation. Previously kea-admin db-upgrade would fail with a + permission denied error. It started manifesting in 1.9.3 and + affected 1.9.4 as well. Additionally, now, when running make in + the source repository to recreate scripts e.g. kea-admin, after a + change to the .in files e.g. kea-admin.in, they maintain the + execution permissions granted in the initial build. This makes + development more seamless. + (Gitlab #1681) + +1861. [bug]* tmark + kea-dhcp4 now uses the value for each fixed field (e.g. + next-server, server-hostname, boot-file-name) from the + first class in query's list of classes that specifies the + field. Prior to this it used the value from the last class + which specified the field. It may be necessary to revise + existing configurations to get the desired values. + (Gitlab #1672) + +Kea 1.9.4 (development) released on Jan 27, 2021 + +1860. [build] razvan + Library version numbers bumped for Kea 1.9.4 development + version. + (Gitlab #1666) + +1859. [doc] wlodek + Added example files with configured Vendor Specific Information + option (code 43) and Vendor-Identifying Vendor-specific + Information option (code 125) with several suboptions each. + (Gitlab #1546) + +1858. [bug] razvan + The DHCP service can be independently enabled or disabled by + the user command, by the database connection mechanics or + by the HA library. The DHCP service is disabled when any + of those originators disables the service, and it is enabled + when all those who previously disabled the service enable it. + The 'dhcp-enable' and 'dhcp-disable' commands accept 'origin' + parameter with valid values of 'user' (which is the default) + indicating a user generated command and 'ha-partner' which is + used internally by the HA library. + (Gitlab #1601) + +1857. [build] andrei + Code format styles meant to be as close as possible to the + recommended coding guidelines are now included with the Kea + source repository in the form of .clang-format and + .uncrustify.cfg. The clang-format.sh and uncrustify.sh scripts in + the tools directory can be used to apply these styles to chosen + files. See coding guidelines in CONTRIBUTING.md for more details. + (Gitlab #1455) + +1856. [bug] razvan + When using the config backend, the server converts the old + 'reservation-mode' global parameter internally to new + reservation flags. The new flags are listed when issuing the + config-get command. + (Gitlab #1598) + +1855. [func] marcin + Improved failover procedure in Kea High Availability library + by introducing new communication-recovery state. In this + state the load balancing servers remain responsive to DHCP + queries when the communication between them is interrupted. + The new feature is controlled using the delayed-updates-limit + configuration parameter. + (Gitlab #1402) + +1854. [func, perf] fdupont + Implemented "lease caching", a feature similar to ISC + DHCP's dhcp-cache-threshold. Lease caching is configured + through two new parameters: cache-max-age and cache-threshold, + and is supported by both kea-dhcp4 and kea-dhcp6. When enabled, + lease-caching allows the server to skip updating lease storage, + when a client is requesting it's own pre-existing lease whose + age falls under the cache threshold and for which there are no + substantive changes to lease values such as the hostname. + (Gitlab #1418) + +1853. [func] fdupont + Populated the space field of option definitions. This solved + reported bugs where a specific standard option processing + was applied to an option from another space but sharing the + same code. In particular, this fixes the problem reported + with vendor suboption 125. + (Gitlab #1585) + +1852. [bug] razvan + Corrected the value of unacked-clients-left returned in response + to the status-get command and the corresponding log messages. + The previously returned value was too low by 1. + (Gitlab #1578) + +1851. [func] fdupont + Removed methods fetching leases by both client identifier + and hardware addresses from the API. + (Gitlab #1540) + +1850. [build] andrei + Add two scripts to help with code aesthetics, insight on how Kea + is built or minor build optimizations: + * ./tools/check-for-duplicate-includes.sh: warns you if + there is a source file that includes the same header twice. + While this wouldn't normally result in any errors, it is an + unusual practice. If you feel that a header should be included + twice in a file, add the file under "# Exceptions:" in the + script. + * ./tools/print-generated-files.sh: prints all the files + that are generated which may or may not be part of the + repository. These consist of messages, parser files, and "built + sources" (as called in Makefile.am files). + (Gitlab #1602) + +1849. [doc] tomek + Two known DHCPv4 RFC violations are now documented in the ARM. + They are both cases where Kea deliberately deviates from the + RFC to accommodate some common broken-client behaviors. + (Gitlab #1608, #1615) + +1848. [bug] razvan + The cql upgrade script from schema v3.0 to v4.0 was broken in + Kea-1.9.3 and has been fixed also enabling the unittest. + (Gitlab #1616) + +Kea 1.9.3 (development) released on Dec 16, 2020 + +1847. [bug] andrei + Harden shell scripts and fix some of the resulted test failures. + * #!/bin/sh for all scripts + * set -eu in all scripts + * shellcheck all scripts, and fix all shellcheck warnings + * and more... + (Gitlab #1574) + +1846. [build] razvan + Library version numbers bumped for Kea 1.9.3 development + version. + (Gitlab #1605) + +1845. [func] marcin + Kea configuration now allows for using database passwords + which include whitespace. + (Gitlab #692) + +1844. [bug] marcin + Corrected a bug in Kea Control Agent error responses when a + malformed command was sent. In some cases a map with an error + response was returned instead of a list. + (Gitlab #432) + +1843. [func] andrei + Allow perfdhcp to request options via option 55 PRL. perfdhcp + adds option 55 with a few requested options by default so in + order to allow `perfdhcp -o 55,abcd` special logic to merge all + the buffers of option 55 was implemented. Works with multiple + `-o` arguments. + (Gitlab #1508) + +1842. [func] razvan + Fixed the db connection reconnect implementation to honor + each connection backend configuration. The most important + improvement is that only the affected manager will be + recreated when a connection is lost. Previously, even + managers which were not affected had to be recreated on + any connection loss. Also fixed an issue with recovery + when multi-threading is enabled. + (Gitlab #1375) + +1841. [bug] marcin + Corrected issues with inheritance of the DHCPv6 interface-id + parameter. When interface-id is set at shared network level + but not at the subnet level this setting is properly propagated + to the config backend and reported when responding to the + config-get command. Prior to this change, if the interface-id + was set for a shared network, it was always returned for the + subnets belonging to this shared network, even when subnet + specific value was not specified. + (Gitlab #652) + +1840. [bug] fdupont + Fixed the inheritance of the triple min-valid-lifetime, + valid-lifetime and max-valid-lifetime parameters from + the global scope, and fixed it for preferred-lifetime too. + Added a sanity check refusing incorrect settings, e.g. + the lifetime not being between min and max values. + (Gitlab #1456) + +1839. [bug] tmark + kea-dhcp4 and kea-dhcp6 now calculate the DDNS TTL value + based on RFC 4702, Section 5 which suggests that the + TTL value be 1/3 of the lease's valid life time with a + minimum value of 10 minutes. Prior to this the servers + set the TTL to equal to the lease's valid life time. + (Gitlab #936) + +1838. [bug] fdupont + The DHCPv6 sent multiple instances of an option or a + sub-option when it seems to be requested more than once + directly by the client or using the always-send flag. + (Gitlab #1449) + +1837. [doc] cstrotm + Several Kea ARM corrections. + (Gitlab #1514) + +Kea 1.9.2 (development) released on Nov 25, 2020 + +1836. [build] razvan + Library version numbers bumped for Kea 1.9.2 development + version. + (Gitlab #1555) + +1835. [doc] peterd + Several Kea ARM corrections. + (Gitlab #1536) + +1834. [func] fdupont + Added two new callouts (hook points) in the control agent. + The "auth" callout is executed after the basic authentication + (if configured) and the command processing. The "response" + callout is executed after the command processing and before + the HTTP response is returned. + (Gitlab #1421) + +1833. [doc] sgoldlust + Many documentation corrections. + (Gitlab #1539) + +1832. [func] tomek, wlodek + Perfdhcp extended with functionality to gradually + increase elapsed time in solicit and secs field in offer. + (Gitlab #1332) + +1831. [bug] razvan + Fixed the DHCPv6 server implementation of the + reservations-out-of-pool flag to match the DHCPv4 one. When the + flag is true: + * the server assumes that all reserved address do not belong to + the dynamic pool. + * the server will not assign reserved addresses that are inside + the dynamic pool to the respective clients. + * addresses matching the respective reservations from inside + the dynamic pools (if any) can be dynamically assigned to any + client. + (Gitlab #1550) + +1830. [func] fdupont, razvan + Added new configuration options reservations-global, + reservations-in-subnet and reservations-out-of-pool to replace + the old reservation-mode parameter. The new flags can be + configured independently, adding support for new configuration + scenarios when global and in subnet reservations are both + active. + (Gitlab #1405) + +1829. [bug] fdupont, razvan + Fixed a bug in the hasAddressReservation function which was + causing the search for reservations to end as soon as no global + reservation was found when configuring a subnet or shared + network with global reservations enabled. + (Gitlab #1405) + +1828. [bug] andrei, razvan + Fix trivial logic error in handling the "lease4-update" command + manifesting itself on v4 if multi-threading is enabled. + Notable affected environment is a HA with the + "send-lease-updates" configuration setting explicitly set to + true. Prior to this fix, lease updates would not go through to + other HA nodes, even though some log lines would say they would. + A simple workaround prior to this fix is to disable + multi-threading. + (Gitlab #1542) + +1827. [build] andrei + Add `tools/add-config-h.sh` script that can add + `#include <config.h>` lines to non-generated source files that + are missing it. + (Gitlab #1453) + +Kea 1.9.1 (development) released on Oct 28, 2020 + +1826. [build] razvan + Library version numbers bumped for Kea 1.9.1 development + version. + (Gitlab #1481) + +1825. [doc] andrei + Examples for option definitions, option data, standardized option + spaces other than "dhcp[46]", custom option spaces, option + embedding under doc/examples/kea[46]/all-options.json. + (Gitlab #1298) + +1824. [func] tmark + Added a new parameter, ddns-use-conflict-resolution, to + kea-dhcp4 and kea-dhcp6. This parameter is passed per request + to kea-dhcp-ddns which uses it to determine whether or not + conflict resolution rules (see RFC 4703) are followed for that + request. The default value is true. Disabling conflict + resolution should only be used after careful consideration. + (Gitlab #1386) + +1823. [doc] tomek + Updated options documentation for DHCPv4 and DHCPv6. + (Gitlab #1436, #1460) + +1822. [func] fdupont + When multi-threading is enabled the status-get command displays + the average length of the multi-threading packet queue for last + 10, 100 and 1000 packets. + (Gitlab #1306) + +1821. [func] anonymous, fdupont + The forensic log hook library now logs release and decline + events. + (Gitlab #1445) + +1820. [bug] razvan + Fixed lease update when using HA and lease_cmds hooks with + database backend. Previously, HA updates were rejected because + the database backend rejects operations on the lease if the old + expiration time is different than what it is already stored, to + act as a protection mechanism for parallel updates from several + threads or processes. + (Gitlab #1434) + +1819. [func] fdupont + Improved error messages for bad escapes in JSON strings. + (Gitlab #151) + +1818. [doc] andrei + Add to the reservation documentation: + * instructions on how to choose "reservation-mode" + * priority of "reservation-mode" specified at all levels + * priority of file reservations vs database reservations + (Gitlab #1299) + +1817. [func] fdupont + Redact control agent logs to hide basic HTTP authentication + passwords from the configuration files. Note that when HTTP + headers are logged credentials are present in clear text. + (Gitlab #1459) + +1816. [func] fdupont + The message logged when basic HTTP authentication succeed is + now informative (was DEBUG, is INFO now). + (Gitlab #1450) + +1815. [bug] marcin + Fixed libdhcpsrv build failures when building without database + backends. + (Gitlab #1468) + +1814. [func] marcin + Added ip-reservations-unique global parameter which controls + whether or not it is allowed to create multiple host reservations + for the same IP address or delegated prefix. By default, it is + not allowed to create multiple reservations for the same lease + within the same subnet. This change facilitates the use case + in which a single host can communicate with the DHCP server over + multiple network interfaces but should be assigned the same + reserved lease regardless of which interface is used. + (Gitlab #1428) + +1813. [func] tmark + A new parameter, ddns-update-on-renew, has been added to + kea-dhcp4 and kea-dhcp6 configuration. When true, the server + will always update DNS when a lease is renewed even if the DNS + information for the lease has not changed. The prior, and now + default, behavior is for the server to only update DNS for a + renewing lease if its DNS information has changed. + (Gitlab #1385) + +1812. [doc] andrei + Document how MAC addresses can be formatted for use as attributes + in RADIUS authentication + (Gitlab #1441) + +1811. [func] fdupont + Two new parameters were added: cache-threshold and cache-max-age + to the DHCPv4 and DHCPv6 global scopes. They will govern the + upcoming cache threshold feature. The parameters can be set and + retrieved, but they're not used yet. + (Gitlab #1418) + +Kea 1.9.0 (development) released on Sep 30, 2020 + +1810. [build] fdupont, razvan + Bump up libs version for Kea 1.9.0 release. + (Gitlab #1400) + +1809. [func] razvan + Added csv-format option to flex_option hook to be able to insert + option data in csv format. The implicit value is false, + maintaining compatibility with the previous default raw format. + (Gitlab #1373) + +1808. [func] razvan + Support for new IPv6-only-preferred option for DHCPv4 has been + added. It lets Kea to signal to compatible devices that the + IPv6 connectivity is available and they can disable their + IPv4 stack. This implements support for draft-ietf-dhc-v6only-08, + which is expected to be soon published by IETF as an RFC. + (Gitlab #1351) + +1807. [doc] tomek + Added separate table with DHCPv4 options that are governed by Kea + itself, rather than configured by administrator. + (Gitlab #1323, #1398) + +1806. [bug] tmark + The DNS update code behaving better when there is a shared + network and the code initially selected one subnet, but then + later determined that a different subnet will be used. There + is still a corner-case in DHCPv6 if the client requests multiple + addresses or multiple prefixes and some of them is serviced from + one subnet and some from another. + (Gitlab #1389) + +1805. [doc] tomek + API documentation for lease4-get-* and lease6-get-* commands + has been updated. + (Gitlab #1392) + +1804. [func] fdupont + Added a new reservation-get-by-id command to retrieve all host + reservations with an identifier value and type. Made the + subnet-id optional in the reservation-get-page command. + (Gitlab #1163) + +1803. [doc] fdupont + Corrected Kea ARM sections describing how to send DHCPv6 + Vendor-specific Information Option (code 17) with sub-options. + (Gitlab #1025) + +1802. [bug] fdupont + Removed the bug which allowed for repeating the same + configuration parameter multiple times in the same scope. + The second occurrence of the parameter overwrote the first + occurrence causing server misconfiguration. Starting from + this change an error is raised when the same parameter occurs + multiple times in a given scope the location of the first value. + (Gitlab #1102) + +1801. [doc] fdupont + Moved JSON files describing commands to the share directory + and adding a new access entry taking read or write values. + (Gitlab #1240) + +1800. [func] fdupont + Added support of basic HTTP authentication in HTTP library, + control agent, kea shell and high availability hook. + (Gitlab #1304) + +1799. [bug] fdupont + Checked execution of queries to get schema versions of MySQL + and PostgreSQL database in kea-admin. + (Gitlab #828) + +1798. [bug] tmark + kea-dhcp4 now correctly updates DNS when a client + returns for lease after the lease has expired. Prior + to this, the server would remove the entries but then + fail to add them unless the hostname (or FQDN) changed. + This change also eliminates redundant DNS removes when + expired leases are reclaimed and given to different clients. + (Gitlab #1409) + +Kea 1.8.0 (stable) released on Aug 26, 2020 + +1797. [build] razvan + Bump up libs version for Kea 1.8.0 release. + (Gitlab #1395) + +1796. [bug] marcin + Kea HTTP client re-establishes connection with the HTTP server + when timeout occurs. Prior to this change the client tried to + reuse the connection after timeout often getting subsequent + timeouts. Re-establishing the connection may help avoid further + timeouts during the High Availability operation. + (Gitlab #1390) + +1795. [bug] razvan + Added check for 'renew-timer' value to be lower than or equal to + 'rebind-timer' value at subnet and shared network level. + (Gitlab #505) + +1794. [func] razvan + The 'status-get' command send to DHCPv4 or DHCPv6 servers will return + information about multi threading settings ('multi-threading-enabled', + and only if this setting is active, 'thread-pool-size' and + 'packet-queue-size'). + (Gitlab #1305) + +1793. [doc] tmark + Added Leasequery hook library to the list of available hook + libraries in the ARM. + (Gitlab #1372) + +1792. [doc] tmark + Added the Database Connectivity section to the ARM which explains + how Kea servers respond to backend database connectivity issues. + (Gitlab #1284) + +1791. [doc] tmark + Updated the ARM section for the Lease Commands hook library + which incorrectly stated that a command return value of 2 would + be returned when no lease(s) matched the command. The value + returned is actually 3. + (Gitlab #1384) + +1790. [bug] marcin + Fixed a bug in Kea Configuration Backend observed when using certain + MariaDB database versions. As a result of this bug the Kea servers were + unable to fetch configurations stored in the database upon startup. The + bug was related to the usage of timestamps which in MariaDB must be + set to 1970-01-01 00:00:01 UTC or later. In some cases the Kea CB used + out of bounds timestamp values. This bug was observed when using MariaDB + 10.4.13. + (Gitlab #1382) + +1789. [bug] razvan + Fixed a bug in the lease reclaim process which would not reschedule the + timer if the operation failed. + (Gitlab #1335) + +1788. [bug]* fdupont + When a host reservation in a subnet reserves an address, the + address must be within the subnet. This check was previously + only done by the host command hook library. Note it does not + apply to prefix delegation. + (Gitlab #1254) + +1787. [bug] razvan + The recount leases functions consider leases in 'declined' state as + 'assigned' so that when the lease is reclaimed or reused, no negative + counters are generated. The 'subnet[X].reclaimed-leases' and + 'reclaimed-leases' are now cumulative counters and are never + decremented or reset until server restart. Removed references to non + existent 'declined-reclaimed-addresses' counters. + (Gitlab #1336) + +1786. [bug] razvan + Update lease stats when using commands from lease-cmds hook. + (Gitlab #1065) + +1785. [func] fdupont + If enabled, the default value for queue capacity in congestion control + has been trimmed down from 500 to 64. The feature continues to be disabled + by default. + (Gitlab #285) + +1784. [build] wlodek + Socket path in kea ddns default config was changed to + /tmp/kea-ddns-ctrl-socket. + (Gitlab #1379) + +1783. [doc] tomek + Installation instructions for RADIUS hook updated. + (Gitlab #1310) + +1782. [bug] tmark + Corrected a bug that causes kea-dhcp4/kea-dhcp6 servers to crash after + losing connectivity to a configuration backend database. The servers + now correctly honor the max-reconnect-tries parameter. + (Gitlab #1369) + +1781. [bug] razvan + Reject invalid declined state for PD prefix in add and update + commands in lease-cmds hook. + (Gitlab #1349) + +Kea 1.7.10 (development) released on Jul 29, 2020 + +1780. [doc] wlodek + Added a section to Kea ARM about tuning performance for kea-dhcp4 + and kea-dhcp6. + (Gitlab #1285) + +1779. [build] tmark + Library version numbers bumped for release. + (Gitlab #1346) + +1778. [func]* fdupont + Changed the order of subnets to follow ascending subnet identifier. + (Gitlab #1265) + +1777. [doc] fdupont + Added in the Developer's Guide an example about how to cross + compile Kea for a Raspberry Pi. + (Gitlab #1221) + +1776. [func] fdupont + DHCP servers now log a fatal error message when a reconfiguration + attempt left a no longer working server. Documentation was + updated tp propose remedy actions. + (Gitlab #507,#1166) + +1775. [doc] vicky + A Code of Conduct has been added. + (Gitlab #1143) + +1774. [func] tmark + leaseX-del commands now support a new parameter, update-ddns, + which instructs the server to remove DNS entries for a + lease after it has been deleted. + (Gitlab #544) + +1773. [perf] fdupont + Kea statistics now uses standard c++11 chrono library instead + of POSIX time library from boost. + (Gitlab #1174) + +1772. [perf] fdupont + Set kea-lfc process priority to lower than default. + This change should alleviate CPU utilization spikes caused + by LFC process observed on some systems. + (Gitlab #1311) + +1771. [func] fdupont + Duplicate ChangeLog entry removed. + +1770. [func] fdupont + Added kea-admin lease-stat-recount command which recounts cached + statistics in MySQL and PostgreSQL lease databases. + (Gitlab #1196) + +1769. [build] fdupont + Added detection of the musl libc which implements dlclose() as + a no-operation: this behavior breaks Kea expectations for + hook library unloading. + (Gitlab #771) + +1768. [func]* fdupont + Removed the support of the Logging toplevel entry. Now loggers must + be defined in each server toplevel entry. + (Gitlab #916) + +1767. [bug] fdupont + Fixed unit tests failing on systems where an interface is named eth0. + (Gitlab #1043) + +1766. [func] fdupont + Optimized the interface manager code and removed the 16 bit limit + to interface indexes. + (Gitlab #553) + +1765. [bug] fdupont + Corrected a bug in MySQL Config Backend which occasionally caused + the DHCP servers to overlook some configuration changes. This + issue could occur when the server fetched configuration changes + within one second after they they were applied in the database. + (Gitlab #1247) + +1764. [doc] fdupont + Added thread safety consideration sections to library documentations + in the developer guide. + (Gitlab #996,#1264) + +1763. [bug] fdupont + Changed the way hook libraries are unloaded. Now unload is done + in two phases: the first phase calls unload() entry points and + removes callouts, the second phase unmaps hook library memory + spaces. This should lead to fewer problems including fewer crashes + at exit time. On the other hand, incorrect libraries can stay + in memory until exit and prevent any (re)load. + (Gitlab #1282) + +Kea 1.7.9 (development) released on June 24, 2020 + +1762. [bug] fdupont + Fixed the control command execution: either it was deferred by + DHCP packet processing or a spurious error message was logged. + (Gitlab #1234) + +1761. [bug] fdupont + Found and fixed a possible source of incorrect statistics cached + in MySQL and PostgreSQL lease databases which in some cases + made servers fail to start. + (Gitlab #944,#1196) + +1760. [bug] razvan + Fixed log message on DHCPv6 IA_NA lease renew. + (Gitlab #1276) + +1759. [bug]* fdupont + Fixed the way configuration global entries are parsed in DHCPv4 + and DHCPv6 servers. We expect that the change will not be visible + for sane configurations. + (Gitlab #1245) + +1758. [func]* fdupont + Earlier Kea versions converted "comment" entries to "user-context" + scope in the configuration when using config-get. This backwards + compatibility has now been removed. This may affect users who use + config-get or config-write commands and use comments in their + configurations. + (Gitlab #1100) + +1757. [bug] fdupont + config-backend-pull commands were fixed to be applied to the + current configuration + (Gitlab #1189) + +1756. [bug] fdupont + Made the parking lot API generic thread safe. + (Gitlab #1255) + +1755. [func]* fdupont + Implemented various race avoidance mechanisms in the multi-threaded + packet processing: only one query from the same client is processed, + subsequent queries from the same client are dropped at the exception + of the most recent which will be processed after. When picking + a free address or prefix from a pool the resource is considered + as not free for other threads. This is used by the lease commands + hooks library to avoid conflicts with a minimal overhead. + Finally individual lease reclamation is exclusive of multi-threaded + packet processing. + (Gitlab #1147) + +Kea 1.7.8 (development) released on May 27, 2020 + +1754. [func] marcin + Improved the procedure of restarting the servers in the terminated + HA state. The servers can now be restarted sequentially without the + risk of returning to the terminated state right after restart. + Previously, the servers had to be both shutdown before being + restarted to avoid returning to the terminated state. + (Gitlab #1205) + +1753. [func]* marcin + Extended the response to the status-get command to include + information about the progress of the failover procedure + while the active servers are in the communication interrupted + state. The new data allow for monitoring the number of clients + attempting to communicate with the partner which is presumably + offline, total number of packets sent to the partner and so on. + The syntax of the response was modified and is incompatible with + previous Kea versions. + (Gitlab #1087) + +1752. [doc] tmark + Added documentation for the Leasequery premium + hook library to the ARM. + (Gitlab #1180) + +1751. [perf] marcin + Corrected performance issue occurring while loading large configurations + via the MySQL Config Backend. Improper database indexing caused long + server startup time as well as long time to respond to various + commands, such as subnet4-list or subnet6-list. + (Gitlab #1242) + +1750. [func] razvan + Refactored HooksManager so that no lazy initialization is possible + from dhcp processing functions. The function getHooksManager is now + private. + (Gitlab #1227) + +1749. [func] fdupont + When the version is a development (vs. stable) one (second + number is odd, e.g. in 1.7.x) a server or agent logs a + warning to dissuade use in production. + (Gitlab #1184) + +1748. [func] marcin + Added two extensions to the HA hooks library. Firstly, the active + servers no longer wait for the lease update acknowledgments from + the backup servers. Secondly, the new passive-backup mode allows + for running a single active server with a number of backup + servers. + (Gitlab #999) + +1747. [bug] fdupont + Multi-threading and congestion handling were made incompatible: + when both are enabled by a configuration the dhcp-queue-control is + silently disabled, when packet-queue-size is not 0 and the + multi-threading packet queue is full the oldest packet is dropped + to make room for a new received one. + (Gitlab #1173) + +1746. [bug] fdupont + lease4-add and lease6-add commands now return an error when the + lease already exists. + (Gitlab #1170) + +1745. [bug] fdupont + Made state model and external sockets thread safe. + (Gitlab #1095) + +1744. [func] razvan + Stopping packet processing when changing or reloading configuration. + (Gitlab #1188) + +Kea 1.7.7 (development) released on Apr 29, 2020 + +1743. [doc] tomek + ISC now provides a dashboard solution for Kea. Added documentation + pointers about the ISC Stork project. + (Gitlab #1191) + +1742. [func] fdupont + Added new cumulative statistics: for each assigned IPv4 address, + IPv6 NA address or IPv6 PD prefixes cumulative-assigned-addresses, + cumulative-assigned-nas or cumulative-assigned-pds global and + per subnet is increased. A spelling error in the result-set of + the stat-lease4-get of the stat cmds hook library was fixed. + (Gitlab #816) + +1741. [func] fdupont + When the MySQL InnoDB reports a deadlock (very rare event) + the failed query is rerun. + (Gitlab #1160) + +1740. [bug] fdupont + Incorrect signal handling in the process library (used for + control agent, d2 and netconf server but not by DHCPv4 or + DHCPv6 servers) was replaced by the boost ASIO signal set. + (Gitlab #1096) + +1739. [func] razvan + Added multi threading configuration parameters which can be used + to adjust server performance according to setup resources and needs: + enable-multi-threading, thread-pool-size and packet-queue-size. + There is also an automatic detection implemented by using + thread-pool-size set to 0. However, the packet-queue-size must be + manually configured and does not scale automatically. + The temporary -N command line option was removed. + The multi threading is disabled by default. + (Gitlab #893) + +1738. [func] fdupont + Added new global parameters statistic-default-sample-count and + statistic-default-sample-age to set the default values used + for sample keeping limits. + (Gitlab #1005) + +1737. [func] tmark + Added store-extended-info parameter to kea-dhcp4 and kea-dhcp6 + which enables the storage of additional information per lease. + This has been added in anticipation of supporting LeaseQuery. + (Gitlab #1010) + +1736. [doc] fdupont + A default logging syntax has been updated to reflect recently added + multi-threading capabilities. The process is now identified by + name/process-id.thread-id, e.g. kea-dhcp4.dhcpsrv/8475.12345, where + 12345 is the thread-id. Its exact syntax is OS dependent. The + logging syntax can be tweaked using `pattern` option for logging. + (Gitlab #1150) + +Kea 1.7.6 (development) released on Mar 25, 2020 + +1735. [func] wlodek + Added clean output mode to perfdhcp with configurable separator + for periodic reports. + (Gitlab #1046) + +1734. [doc] vicky + A list of supported OSes is now described in a separate + platforms.rst file. + (Gitlab #1055) + +1733. [func] tmark + Added lease4-resend-ddns and lease6-resend-ddns commands to + the Lease Commands hook library. These commands may be used to + instruct kea-dhcp4 or kea-dhcp6 to resend a request to update a + lease's DNS entries to kea-dhcp-ddns. + (Gitlab #1106) + +1732. [func] marcin + Client classes specified within host reservations can be used + to influence subnet choice within a shared network and pool + selection within a subnet. + (Gitlab #1139) + +1731. [func] razvan + The NameChangeSender class is thread safe, making DNS updates + compatible with multi-threading packet processing. + (Gitlab #1148) + +1730. [func] razvan + Added -N command line switch that enables experimental multi-threading + support. Number of threads can be specified (e.g. -N8) or Kea can be + told to autodetect number of CPU threads (-N0). This feature is + experimental. It hasn't been tested extensively and is known to cause + problems with DDNS and HA. Do not use in production! + (Gitlab #893) + +1729. [func] razvan + The RAII MultiThreadingCriticalSection class is now able to + automatically stop and start the packet thread pool in order to + perform server configuration and avoid race conditions in non + thread safe code. + (Gitlab #1016) + +1728. [bug] tmark + Memfile now supports commas in the hostname and user-context + columns. Commas in either column now escaped as "," when + written out, and unescaped when read back in. + (Gitlab #608) + +1727. [bug] tmark + When shutting down due to lost backend database connectivity, + kea-dhcp4 and kea-dhcp6 processes will exit with a non-zero value. + This was temporarily altered by #1108. In addition, the "shutdown" + command now supports an "exit-value" argument. + (Gitlab #1115) + +1726. [func] razvan + Handling SKIP and DROP state in hooks so that the same operation + is not performed multiple times. Some hooks will throw exceptions + if the pktX_receive or pktX_send is handled by other hooks, in + such case, the configuration order of the hooks must be changed. + (Gitlab #1088) + +Kea 1.7.5 (development) released on Feb 26, 2020 + +1725. [func] wlodek + Added perfdhcp command option to enable checking address + and/or prefix uniqueness. + (Gitlab #1021) + +1724. [func] razvan + Added packet thread pool in dhcpv4 and dhcpv6 servers. It adds + the ability to handle processPacket function on multiple threads. + When enabled, parked packets are also added to the queue of items + to be handles by the thread pool. The packet thread pool is + currently disabled and there is no option to enable it yet. + (Gitlab #892) + +1723. [func] tmark + Hostname sanitizing is now globally enabled by default. Prior + to this it was disabled. + (Gitlab #1048) + +1722. [bug] razvan + Compilation fix for MySQL/MariaDB on Ubuntu 19.10. + (Gitlab #1071) + +1721. [func]* fdupont + Added multi_threading_compatible function in hooks to retrieve + the compatibility with multi-threading. This function is called + when the library is loaded and if it reports 0 (incompatible) and + multi-threading is enabled, then the configuration will be + rejected. The absence of this function from the library defaults + to incompatibility with multi-threading. All hooks and premium + hooks must be updated to be able to be used with multi-threading. + However, not all libraries are (or will ever be) compatible. + (Gitlab #947) + +1720. [func]* tomek + The next step status in pkt4_send hook point now is able to + distinguish between SKIP (Kea will skip packing the packet with + the assumption that a hook already did that) and DROP (Kea will + drop the packet). Previously both SKIP and DROP were interpreted + as skip packing. + (Gitlab #1090) + +1719. [func] razvan + Prepared CalloutManager to be used in multi-threading by moving + the current library index and hook index to the CalloutHandle. + This change removes the CallountHandle::getLibraryHandle, along + with the possibility of dynamically registering/deregistering + callouts inside callouts. + (Gitlab #957) + +1718. [bug] tmark + kea-dhcp4 and kea-dhcp6 now shutdown gracefully by executing + the shutdown command, if connectivity with a backend database + has been lost and retries are either disabled or have been + exhausted. Prior to this they simply invoked exit() which + could orphan control socket files or cause segfaults unloading + the CB Cmds hook library. + (Gitlab #1108) + +1717. [func] razvan + Prepared PgSqlHostMgr to be used with multi-threading by using a + connection pool with thread context. + (Gitlab #1074) + +1716. [func] razvan + Implemented thread safe stats manager and stats context. + (Gitlab #891) + +1715. [bug] tmark + Kea servers now detect and remove orphaned control channel + sockets. This corrects a failure of the servers to restart + with an error of "address already in use" following a fatal + loss of database connectivity. + (Gitlab #1097) + +Kea 1.7.4 (development) released on Jan 29, 2020 + +1714. [build] razvan + Bumped up library version numbers for Kea 1.7.4 release. + (Gitlab #1101) + +1713. [bug]* tmark + Code added under #35 to permit scoping of DDNS behavioral parameters + was refactored to improve performance. + (Gitlab #981) + +1712. [bug] tmark + Corrected an issue in the MySQL CB hook library which could + cause subnet and shared-network options, properly added to + the CB database, to be discarded when fetched from the backend. + (Gitlab #1093) + +1711. [func] razvan + Prepared MySqlHostMgr to be used with multi-threading by using a + connection pool with thread context. + (Gitlab #1073) + +1710. [bug] fdupont + The code that handles default parameters and parameters + inheritance, such as applying global values to subnet level, + has been updated slightly. Although unlikely, there is small + possibility this may affect boot-file-name, client-class, + interface, match-client-id, authoritative, next-server, + reservation-mode, and server-hostname values in Subnet4 and + client-class, interface, interface-id, rapid-commit, and + reservation-mode in Subnet6. + (Gitlab #724) + +1709. [func] fdupont + MySQL Configuration Backend now allows for storing DDNS related + configuration in the database. + (Gitlab #946) + +1708. [doc] tomek + Clarified the relationship between comments and user context. + (Gitlab #1079) + +1707. [func] marcin + High Availability hooks library supports controlled maintenance + of the servers. The new ha-maintenance-start command puts one + of the servers in the partner-in-maintenance state and causes + this server to take over the entire DHCP traffic directed to the + HA service. The second server in the in-maintenance state can be + safely shutdown for the maintenance. This new mechanism solves + the problem present in earlier versions of Kea when the + administrator had to rely on the failover mechanism to promote + one of the servers to handle the DHCP traffic while the other + server was down. + (Gitlab #1024) + +1706. [bug] fdupont + Fixed BOOTP hook. It now properly handles BOOTP packets and sends + valid responses. + (Gitlab #1064) + +1705. [bug] fdupont + Modified option 43 parsing to interpret sub-option codes 0 and 255 + as PAD and END when no sub-option with these codes are defined. + This adds control of illegal but common use of these reserved + code points in option 43. + (Gitlab #950) + +1704. [func] fdupont + Prepared memfile lease manager to be used with multi-threading. + (Gitlab #894) + +1703. [bug] niclas rozenvik + A fix in the --with-gtest option. It is now able to detect the + libgtest.a. Thank you to Niclas Rozenvik for reporting the issue + and proposing a fix! + (Gitlab #1080) + +1702. [func] razvan + Update and delete operations on database backends use lease old + expire value (internal storage) to detect concurrent actions on + the same lease. + (Gitlab #1040) + +1701. [func] razvan + Initialize all option definitions at program startup instead of + using lazy initialization to make access thread safe and lock-less. + (Gitlab #889) + +1700. [func] godfryd + Enabled checking Kea merge request in GitLab CI by Danger tool + (see https://danger.systems/guides/dangerfile.html). + (Gitlab #672) + +Kea 1.7.3 (development) released on Nov 18th, 2019 + +1699. [func] fdupont, marcin + Implemented status-get command which returns general status + information about a Kea server status and optionally + HA specific information if the HA hooks library is present. + (Gitlab #1041) + +1698. [doc] wlodek + Avalanche scenario for perfdhcp is now documented. + (Gitlab #876) + +1697. [doc] wlodek + Forensic logging documentation now mentions database + configuration. + (Gitlab #943) + +1696. [func] fdupont + A new hook library libdhcp_bootp has been implemented. Once + loaded, this hook will provide support for BOOTP packets, as + defined in RFC1497. Please see the "BOOTP support" Section in the + ARM for details. + (Gitlab #898) + +1695. [func] fdupont + Added support of BOOTP leases with infinite valid lifetime. + This includes representation of such leases in MySQL and + PostgreSQL databases which the expire date can be a 32 bit + integer. + (Gitlab #897) + +1694. [doc] marcin + Described the usage of the ha-heartbeat command to check the + states of the HA enabled DHCP servers. + (Gitlab #998) + +1693. [func] fdupont + Client supplied ciaddr is now sent back when responding to + DHCPINFORM + (Gitlab #992) + +1692. [build] fdupont + Better support for google test 1.10.0. + (Gitlab #954) + +1691. [build] tomek + Google test version detection improved. + (Gitlab #206) + +1690. [func] fdupont, razvan + As a preparation for upcoming multi-threading, the PgSQL + connection pool has been implemented. This code is not + usable on its own yet, but it will allow all threads + to share a pool of connections in the future. This + should improve the overall PgSQL lease backend performance. + Fixed some log messages that were missing lease type details + in DHCPv6 PostgreSQL lease manager actions. + (Gitlab #1044) + +Kea 1.7.2 (development) released on Nov 27, 2019 + +1689. [bug]* fdupont + The default Kea Control Agent's configuration file uses port 8000 + instead of 8080 for the agent. This corrects the mismatch between + the default port number used by the kea-shell and the agent. + (Gitlab #793) + +1688. [func] fdupont + Added a new callout (hook point) executed when the server has + completed a configuration update using the Config Backend. + (Gitlab #596) + +1687. [doc] fdupont + Described for developers the way for a hook library to be loadable + only for specific server(s) and applied as an example to ha. + (Gitlab #50) + +1686. [func] razvan + Added a generic ThreadPool class which can be used to process + functor work items in parallel, on multiple threads. It uses + a queue container to manage the work items. + (Gitlab #883) + +1685. [build] fdupont + Small build improvement. The fcntl.h header is included in more + portable way. This should make it easier to build on Alpine systems and + possibly other systems. + (Gitlab #765) + +1684. [func] fdupont + As a preparation for upcoming multi-threading, the MySQL + connection pool has been implemented. This code is not + usable on its own yet, but it will allow all threads + to share a pool of connections in the future. This + should improve the overall MySQL lease backend performance. + (Gitlab #960) + +1683. [bug] wlodek + Perfdhcp is able to parse incoming packet and determine + if included IA_NA/IA_PD options are correct, counter + of rejected leases is introduced for all DHCP v6 message + exchanges. Perfdhcp will no longer send Request/Renew/Release + message without proper IA_NA/IA_PD included. + (Gitlab #572) + +1682. [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. Custome hook libraries happen register external + sockets with IfaceMgr will require modification and + recompilation. + (Gitlab #964) + +Kea 1.7.1 (development) released on Oct 30, 2019 + +1681. [func] fdupont + Added new command config-backend-pull which forces the server + to immediately poll the configuration updates from the + configuration backend + (Gitlab #904) + +1680. [bug,build] Kristoffer Larsen + A bug in Makefile has been fixed. The changes made to + src/lib/dhcpsrv/alloc_engine_messages.mes are now picked up + properly. + (Gitlab #752) + +1679. [func] fdupont + Added new commands to the lease_cmds hooks library to search for + leases by hardware address, client-id, DUID and hostname. Now + hostnames are stored in lower case within the lease database. + (Gitlab #393) + +1678. [build] fdupont + The arguments passed to configure are now stored and are available + using -W command line option. + (Gitlab #869) + +1677. [doc] wlodek + Sample configs now all use the same paths for control sockets. + (Gitlab #795) + +1676. [func] fdupont + A new hook - flex-option - has been developed. It allows setting + up DHCPv4 and DHCPv6 option values dynamically, using expression. + This capability is very useful when you want to generate option + value procedurally. For details, see new section "Flexible Option + for Option value settings" in the Kea Administrator Reference + Manual. + (Gitlab #219,!523, git 2bf854c029b9b07ee6161bc1fcb4dfdc9846ee42) + +1675. [func] fdupont + Both DHCPv4 and DHCPv6 can now listen on and send responses + to a custom UDP port, as specified with the -p command line + option. This capability is mostly useful for testing. + (Gitlab #677,!548, git 47e709fb7b89464d4473e8c7cb138f539042d68b) + +1674. [perf] fdupont + Added a Multi Threading Manager singleton class in the util library. + (Gitlab #962,!566, git 66b090e54b45bdeefda266ddd62e42b46ed48d1d) + +1673. [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,!561, git c75a7c10bde74f59d481a7717b4e03b9cb2268a6) + +1672. [build] fdupont + Deprecated bind1st and bind2nd templates were replaced with + lambda expressions or plain bind templates. + (Gitlab #919,!521, git b12fa3374454c9c0d749557d5532aab55dbc58d9) + +1671. [bug] tmark + Corrected an issue in kea-dhcp6 where the server would fail + to extend the expiry of a existing dynamic lease assigned to + client with host reservation. + (Gitlab #754,!558, git c223380012b82c93292528b593002c2b80b5361b) + +1670. [func] fdupont + Added searches for host reservations by hostname and by hostname + and subnet. + (Gitlab #392,!529, git 50068ada6b277c9251de9062501d8c478a8f5529) + +1669. [func] tmark + Rather than within the 'dhcp-ddns' section, DDNS behavioral + parameters may now be specified at global, shared-network, + and subnet scopes. Implemented for both kea-dhcp4 and + kea-dhcp6. Not yet supported by Config Backend or Netconf. + (Gitlab #35,!517, git 49ce6286f5d00f99c1c890f12cbc0fd633c9dbf6) + +1668. [build] fdupont + The Kea util thread library was removed. + (Gitlab #907,!519, git 1b27dc52aae23753643461086f0950b125bf9c93) + +1667. [build] fdupont + The availability of C++11 thread, mutex, condition variable and + atomic libraries is now checked by ./configure. + (Gitlab #918,!520, git baf4097520c1cd38366ee4f33a95dde040906e9e) + +1666. [doc] tmark + Added note in ARM about manually admining cb data being possible + but not supported. + (Gitlab #917,!518, git f242e5c2e0e14331172671477dce3a6597691b55) + +Kea 1.7.0 (development) released on Sep 25, 2019 + +1665. [build] tmark + Bumped up library version numbers for Kea 1.7.0 final release. + (Gitlab #924,!526, git c4061d0fdd660c8e375b4e1317603935ccc00b39) + +1664. [build] razvan + Make sysrepo_config detect installed sysrepo version. + (Gitlab #766,!449, git e1a236fa4f4680d3eadade6b5f5a6a6065620a5b) + +1663. [build] fdupont + Dropped support for Botan 1.x crypto library in Kea as these + versions are now end of life. + (Gitlab #345,!498, git ba028eee986c0da963754c6fcb74790081557bec) + +1662. [bug] marcin + Prevent deadlock in the Kea DHCP servers caused by allocating + memory in the system signal handler. The issue was found on + CentOS 7.6, but could possibly affect Kea running on any other + OS. + (Gitlab #796,!504, git f858d9d0b63a18370ebb8bd7d1b8250d0c5a1cb5) + +1661. [bug] tmark + kea-dhcp4 now rejects inbound client messages that have + neither a hardware address nor a client identifier. + (Gitlab #821,!501, git 60baf65d0c9de384b0da147b50b7fc3180fc54dd) + +1660. [func] franek + Statistics of the DHCP packets are now initialized upon the + server startup. This makes the statistics available for fetching + via control channel immediately after the server is started. + (Gitlab #755,!503, git f0238d1b6e88dfedaa91029ec3b65e06c14cab34) + +1659. [bug] razvan + Corrected an issue in the DHCPv4 server logic whereby the user-defined + option definitions were not committed which could result in + configuration failures when values for such options were specified. + (Gitlab #729, !434, git e5b68fb226161dcdef0e4d2d9d03d9bdb95af5e2) + +Kea 1.6.0 (stable) released on Aug 28, 2019 + +1658. [bug] tmark + Renamed the column "array" in option definition tables + in MySQL schema to "is_array" to avoid a reserved word + conflict introduced by MySQL 8.0.17. + (Gitlab #853,!26-p, git 6665c3b6d0f9f2a45b7710e8e9a36fff8f99bf7f) + +1657. [bug] marcin, tomek + Corrected multiple occurrences of out of bounds vector reads. + These could cause server to assert when GLIBCXX_ASSERTIONS + was enabled during compilation. Also, eliminated overflows as + a result of strncpy. + (Gitlab #851,!24-p, git 4b1d6ffc5ae4f1e1fa5990a644c9786e7f6afea6) + +1656. [bug] marcin + Corrected a bug in the Kea MySQL Configuration Backend which + caused the Kea DHCPv6 server to incorrectly require the server + tag to be provided with the remote-subnet6-option-set command. + In addition, corrected issues with setting and deleting + pool specific DHCP options via the Configuration Backend. + (Gitlab #847,!23-p, git 578bc6c997679c507c2f9e419783d34de77816cd) + +1655. [bug] marcin + Corrected a bug in the Kea MySQL Configuration Backend which + prevented the DHCP servers from discovering and fetching the + changes applied with the new commands. The new commands set + and delete the options embedded within the subnets, shared + networks and pools. + (Gitlab #845,!22-p, git 7fb2255b212e4e98ff4dbf6d8e2e0ada78701110) + +1654. [sec] tmark + kea-dhcp4 Memfile logic now ensures during reading and writing + that leases which are not in the declined state, have either + a hardware address, client id, or both. kea-dhcp6 Memfile logic + now ensures leases which are not declined have a non-empty DUID. + CVE:2019-6474 + (Gitlab #805,!6-p, git 9705445210cf2a5c4bbe86fde4ce010c45b7aac1) + +1653. [sec] tmark + Added a new parameter, "max-row-errors", to Memfile lease database + configuration for kea-dhcp4 and kea-dhcp6. This parameter can be + used to limit the number of rows discarded due to error during + lease file loading after which the server will abandon the effort + and exit. The default value of 0 disables the limit. + CVE:2019-6474 + (Gitlab #805,!5-p git af7393c517cea37a7091075e5d0d24793bccf013) + +1652. [sec] tmark + Prevent the DHCP servers from asserting when malformed + hostname or FQDN options are received. Now the servers will + drop the DHCP packets containing the malformed options. + CVE:2019-6473 + (Gitlab #730,!2-p git a2a98c421bb400a81218bd28d6a6f62accd31b1f) + +1651. [sec] tmark + Added logic to kea-dhcp6 to catch values for client or + server DUIDs that exceed 128 bytes to inbound packet + sanity checking. + CVE:2019-6472 + (Gitlab #722,!1-p git bb1a64b8945950f4439121ce4fef566d37c8630c) + +1650. [build] marcin + Bumped up library version numbers for Kea 1.6.0 final release. + (Gitlab #841,!490, git 2e88e2554905dd66b9974c9fc513ee7e7b825a46) + +1649. [doc] sgoldlust + API documentation updated and cleaned up. + (Gitlab #810,!471, git f1ae84186beb54d45f8455236827108289b0b0d6) + +1648. [func] fdupont,marcin + Client classification information (client-class, + require-client-classes) and excluded prefix (excluded-prefix, + excluded-prefix-len) may now be specified in the MySQL + Configuration Backend. + (Gitlab #659,!387, git 1f2cae397b48e2a28a7a7e61f6392691b9d32c13) + +1647. [doc] marcin + Updated "Local and Relayed Traffic in Shared Networks" sections + of the Kea ARM. Explained that all subnets within a shared + network should have the same subnet selector, i.e. interface + name or relay IP address. + (Gitlab #496,!483, git 1335e5643cc142c65bfc49c13280e9aaf3eeec21) + +1646. [func] fdupont + YANG models updated to cover the latest parameters: + pattern and max-row-errors. + (Gitlab #823,!477, git 79d0d45ec0c791560e297ca77fc88842b0a33868) + +1645. [func] tmark + Binary option data may now be specified as a single-quoted + text string, within double quotes: "'some text'". This is + handy for binary options that convey text such as urls or + file names. + (Gitlab #761,!447, git 215d84f00208ac8a2710c28abc3386d6b765ede6) + +1644. [doc] marcin, fdupont + Added a warning about class dependence on built-in classes. + (Gitlab #727,!466, git 9977d2927cf9b9cf1cd13de30aa5551ca900165b) + +1643. [build] godfryd + Added an optional --with-site-packages switch to configure + script. It allows python package installation in a separate + directory (mostly useful on Debian systems when building native + packages). + (Gitlab #721,#480, git 66332000ff618fbb41656981c7bbf3bb940066fe) + +1642. [doc] fdupont, marcin + User documentation for remote-option{4,6}-* commands. + (Gitlab #826,!479, git 9b469ab63a9627e377a219cf8f83033e4e613b11) + +1641. [func] tmark + Added a new Logger output option, 'pattern', which can be + used to customize log message content and layout. + (Gitlab #665,!460, git 2add51ecf0d91d2a9ac797594c38472190c18460) + +1640. [func] fdupont + Added sub-option expression for client classification and flex-id. + Users can access sub-option with option[12].option[34].hex or + option[12].option[34].exist + (Gitlab #150,!385, git 70bb412f20b706484538680906d6fcfd7ee6da68) + +1639. [func] fdupont + Updated YANG models with the latest changes in kea-dhcp4 and + kea-dhcp6. + (Gitlab #433,!473, git c46e8da1561e7d0c6c6f481d2e32cc9ae398324c) + +1638. [bug] franek, razvan + Kea statistics improvements: Correct statistic-get{all} commands. + (Gitlab #756,!470, git 59fb24794af8a9ca8ee3621bc01dfd507350b2c1) + +1637. [bug] tmark + Corrected an issue in kea-dhcp6 where the server would assign + a different lease each time a client with a dynamic host + reservation returned via a SOLICIT. + (Gitlab #754,!440, git c548d9330e6f626e538343c5e6361457057efdd7) + +1636. [bug] razvan + Http request and response parser now accepts 0 for Content-Length. + (Gitlab #708,!423, git 09d75804e050083b502a96c8e77b0e98c735ae3d) + +1635. [doc] godfryd, tomek + Converted API documentation to Sphinx format. + (Gitlab #777,!464, git 3ba1a265537330308c313a38b85e84cbe02704ae) + +1634. [func] franek, razvan + Kea statistics improvements: Added commands for set sample age and + set sample count. + (Gitlab #731,!459, git dde1b96b33ed20dbe2c815f1168e62b66635e39f) + +1633. [bug] fdupont + Added missing YANG Kea test module in distributions. + (Gitlab #747,!436, git a800e79c7917acc723cbc71b626adc360e15a8d7) + +1632. [doc] razvan, tmark + Fixed doc examples. + (Gitlab #649,!381, git e14b90735ff57be0776270364064952d353d7e3a) + +1631. [bug] marcin + Corrected the bug in mysql_cb hooks library which in some cases + caused the pools to be orphaned and left in the database after + the subnet has been updated. + (Gitlab #632,!438, git ea15b537d62c66e03923b5fdce91db8795f436b4) + +1630. [build] fdupont + Added support for sysrepo 0.7.8 (and libyang 1.0-r3). + (Gitlab #742,!430, git 6776a829f90768225ea794145e522560d26fe959) + +1629. [func] tmark + High Availability logging now also emits server and partner system + times when reporting clock skew issues. Prior to this it reported + only the skew between the two servers. + (Gitlab #174,!414, git 9715ddecb0143d997a57edea564f5c180a7f8577) + +1628. [bug] fdupont + Improved the error message from MySQL CB -set commands when + a specified server does not exist. + (Gitlab #732,!429, git 82f34e60363eec72a117939a5526bdb1ececb53c) + +1627. [func] fdupont + Added new command server-tag-get to DHCPv4 and DHCPv6 servers. + (Gitlab #470,!386, git 3cb43f112662ba3f9d2fc7152dfa1639401b1491) + +1626. [bug] marcin + Automatically delete embedded options as a result of deleting + a subnet, pool or shared network from the MySQL Configuration + Backend. Prior to this change, the options were unnecessarily + left in the database. The database schema version was affected + and its version bumped up to 8.2. + (Gitlab #680,!426, git 03f0af3900bdd9eaa951b23cc9508f0618d3f1bb) + +Kea 1.6.0-beta2 (development) released on July 24, 2019 + +1625. [build] tmark, marcin + Bumped up libraries version numbers for Kea 1.6.0 beta2 release. + (Gitlab #740,!427, git 359fe51531e802f052bd4172d4e295378155dbd5) + +1624. [doc] marcin + Documented a usage of the server tags with the Kea Configuration + Backend in the Kea ARM. + (Gitlab #643,!421, git 4c60b02e619bce2c434bbf9ee0e775d8776b2d74) + +1623. [bug] fdupont + Eliminated the issue whereby the DHCP server could terminate as a + result of the remote-network4-del and remote-network6-del commands. + (Gitlab #738,!425, git b34151b647aae8690fe0996090e13403a8e3ad55) + +1622. [bug] fdupont + Corrected server tags returned with the metadata when fetching + option definitions from the MySQL configuration backend + (Gitlab #737,!424, git 1cc95ae2a66102427e583b4924383fd414e24f0f) + +1621. [func] fdupont + Both kea-dhcp4 and kea-dhcp6 now support a special class, 'DROP'. + When the class is defined, inbound client packets that match the + class's match expression will be dropped without further processing. + Each such drop is logged at DEBUG level and accounted for in + drop statistics. + (Gitlab #606,!375, git bfa5b2c50324e9d2339daa8309774f49a5e7bf3c) + +1620. [func] franek, razvan + Kea statistics improvements: Support for storing more than one + sample. + (Gitlab #696,!418, git c7b8c275758c96f56081e02da429f5dd9d653b87) + +1619. [func] marcin + Add support for associating subnets with the server tags in the + mysql_cb hooks library. + (Gitlab #717,!417, git e121ec4e0a04bc5bebdbfecf9cc1606b50e71263) + +1618. [func] marcin + Add support for associating the shared networks with the server + tags in the mysql_cb hooks library. + (Gitlab #716,!412, git 326fdbeb51dc1f6eebbdbbdcce78cfac87a61bd9) + +1617. [bug] fdupont + During the application of the config backend the external config + is initialized to the default values so when a global parameter + is changed and deleted it gets back a sane value. + (Gitlab #630,!355, git 237afd3c512ed4d05ae76de76cce21dca643a889) + +1616. [func] fdupont + Renamed kea-admin lease-init, lease-version and lease-upgrade + commands to db-init, db-version and db-upgrade. Only the lease-* + command is now lease-dump. + (Gitlab #466,!393, git cbd2ed23f2ea0649ccf608fe818197d2923108f0) + +1615. [func] fdupont + Added check for keyword name and type in parsers of objects + managed by the config backend (options, option definitions, + subnets and shared networks). + (Gitlab #575,!358, git c9d87afad8db924da0aadc1b8ab40638bd0a6738) + +1614. [func] marcin + Add support for associating the DHCP option definitions with + the server tags in the mysql_cb hooks library. + (Gitlab #715,!411, git 5511725555138213de4f48dc1091d65b5db47034) + +1613. [func] marcin + Add support for associating the global DHCP options with the + server tags in the mysql_cb hooks library. + (Gitlab #714,!409, git 711c1dca9de388b786942fe5bedb8b8cf63b85ba) + +1612. [bug] razvan + Fixed crash caused by unloading premium libraries which use + custom host cache containers. + (Gitlab #639,!410, git d3f7e9d9a18d93fb014c8e637e15c6ae9ca9269e) + +1611. [doc] fdupont + Clarified how Kea handles subnet prefixes in server configuration. + (Gitlab #419,!333, git f260b51148b4f7584165e13fcf2320fdd5992a74) + +1610. [build] fdupont + Removed the obsolete compatcheck top directory. + (Gitlab #667,!391, git 8cb113a52f0cf56fbdb5cb0e87464135234c2ac1) + +1609. [bug] fdupont + Fixed the implementation of authentication keys in DHCPv6 + host reservations. Please note this includes a PostgreSQL + schema update. + (Gitlab #550,!297, git f45511f0445cd4204671771175f7f0d34df54b0e) + +1608. [bug] fdupont + Missing debug DHCP6_PACKET_SEND logging message was added. + (Gitlab #699,!401, git ac96edbe30be5c93f5e3d2512961f1bc99c3253a) + +1607. [bug] tmark + Corrected an initialization issue which caused lease sanity + checking to be enabled inside the Lease File Cleanup (LFC) + process. The LFC cannot meaningfully perform sanity checking + as it does not have access to the full server configuration. + (Gitlab #686,!403 git 68b2cb0385779ef0c520164e418dee124d7cb364) + +1606. [bug] tmark + Corrected an error with retrieving DHCPv6 leases, whose IAID + values are larger than int32_t max, from Postgresql lease + databases. + (Gitlab #651,!384, git 67e047df61d56558d474514a21ed0db96152557a) + +1605. [func] marcin + Extended mysql_cb hooks library to support new API calls for + managing the DHCP servers in the database. In addition, added + support for associating the global parameters with the server + tags. + (Gitlab #642,!373, git 8ca1021809a6c44cf8a6589a959e94ca9ca76c29) + +1604. [bug] fdupont + Improved configuration failure messages when the problem is + from the configuration backend and not the configuration file. + (Gitlab #616,!379, git 637e9f03cc502068822ab0310f2e070d4a4da339) + +1603. [perf] tmark + High Availability now registers its HTTP sockets with Interface + Manager's main thread allowing the thread can monitor them for + IO readiness. This should improve the responsiveness of HA peers + to each other. + (Gitlab #691,!395, git 4a0b024bc6d83b26fe702d95ee7ce0c914b37d8e) + +1602. [func] fdupont + Added more information to sanity-checker log messages. + (Gitlab #685,!392, git 5367cd1196662739bbff5e99072ab6a55cfb0489) + +1601. [func] fdupont + Kea servers now add the lease validity lifetime to informational + lease allocation log messages. + (Gitlab #694,!399, git cb29b532cf1f8790f9752d7e8253b0aa31ce05e6) + +1600. [bug] fdupont + Fixed prefixLengthFromRange() routine. + (Gitlab #583.!377, git 10bd31217d8a0a77345c4cba7a59314f70c1b509) + +1599. [perf] marcin + Improved performance of the DHCPv6 server running with High + Availability by aggregating multiple lease updates in a single + lease6-bulk-apply command instead of generating multiple + lease6-update commands, one for each allocated lease. + (Gitlab #689,!394, git 65021b840b94da3d118e541fba5469c8ed15175b) + +1598. [bug] razvan + Added unittests for long (> 65536 chars) tokens in parsed configs + so any crash related to parsers could be detected. + (Gitlab #604,!376, git 811735b67fcdb5592c3e020792c154f2f454259c) + +1597. [func] fdupont + Added new configuration parameters for handling user lease + time hints to kea-dhcp4: min-valid-lifetime and max-valid-lifetime; + and to kea-dhcp6: min-preferred-lifetime, max-preferred-lifetime, + min-valid-lifetime, and max-valid-lifetime. + (Gitlab #295,!325, git 8641448c4106bf28ea32df72e5e0ad520d3946ae) + +1596. [func] marcin + Implemented lease6-bulk-apply command in the lease_cmds hooks + library. + (Gitlab #683,!390, git 122473c18b632ddfa22b8a48f6d9399bc18e2598) + +1595. [func] fdupont + Removed unused t1_ and t2_ members from internal lease class. + (Gitlab #567,!357, git 6072db5f4ca6cfa9573152c255f97dd170acbd57) + +1594. [bug] fdupont + Kea no longer uses the .../var/kea directory, for instance pid + files are now in .../var/run/kea. + BEWARE this applies to the kea-dhcp6-serverid file so if the + server will not find the file at its new location it will believe + it is the first time it is being started and will generate a new + server DUID. If that happens, clients will keep trying to get to + the old server and be confused. + (Gitlab #538,!334, git 928b9ae57452aae1dff92ad689ba180fa975381c) + +1593. [bug] marcin + Fixed a bug in the Kea Control Agent which caused a sporadic crash + after a timeout while sending the HTTP response to the controlling + client. + (Gitlab #491,!363, git ff204dfe4dd80702f8bb2edf83f8486e019a7e04) + +1592. [build] tmark + Files related to YANG and netconf are now only installed + when the build is configured with --with-syspro. + (Gitlab #584,!364, git 350ae513ed4e8e8e07b159658f88ec7d70b644d3) + +1591. [doc] razvan + Fixed classify and pd-exclude documentation examples. + (Gitlab #590,!380, git 26b04d2d2d2a88be6abc5879a2fb48e05f0003fd) + +1590. [func] fdupont + It is now possible to specify hostname-char-set and + hostname-char-replacement at the global scope allowing to sanitize + host names without requiring a dhcp-ddns entry. + (Gitlab #540,!374, git 0a5979369902070ee0c4faf3b713627455b99489) + +1589. [bug] razvan + Fixed configuring kea with tools/cql_config when using --with-cql + from source. + (Gitlab #522,!261, git bf7debc182e094a8b34f1f2df99cf4e9f84c8906) + +1588. [func] marcin + Extended APIs of the DHCPv4 and DHCPv6 configuration backends with + the management functions for the server tags. + (Gitlab #641,!352, git 022d2266e71ced7ec79e0717298ca8e88330a7e7) + +1587. [bug] razvan + Fixed IPv6 prefix delegation pools retrieval from the MySQL + Configuration Backend. + (Gitlab #637,!349, git 483273734e8608ed68624d7a868f20672c859c95) + +Kea 1.6.0-beta (development) released on May 29, 2019 + +1586. [build] razvan, marcin + Bumped up libraries version numbers for Kea 1.6.0 beta release. + (Gitlab #617,!340, git c0434bf882b6ec483120e39f6b70b5a40fe7c711) + +1585. [bug, func] marcin + MySQL Configuration Backend supports DHCPv6 interface-id parameter. + (Gitlab #628,!341, git 3a07c636ba4c7fceabe59ec597c44a9c8e3367eb) + +1584. [doc] marcin + Documented Kea Configuration Backend in the Kea Administrator + Reference Manual. + (Gitlab #71,!314, git 3a65b7a9104f2a988dacf1acc26312b4259e958d) + +1583. [bug] fdupont, marcin + Corrected a bug which caused failures to merge a subnet from the + Configuration Backend into the DHCP server's configuration + when subnet identifier was modified. + (Gitlab #492,!252, git c9aba2b5e915c27a8539e6b8f0498179ba896da4) + +1582. [bug] tmark + Input values for DHCPv4 and DHCPv6 options of type 'string' + will now be trimmed of any trailing null bytes (0x0). + (Gitlab #539, !330, git b126558e9e39e9bff517dceac25a00e96d150085) + + +1581. [bug] marcin + Corrected a bug whereby the DHCPv6 server did not take into + account a relay address specified at the shared network level + during the subnet selection. + (Gitlab #620,!332, git c2383e404a5227f6b55655c09ccdc03930815500) + +1580. [bug] jonatan.raudsepp + Compilation fix for Alpine linux in Perfdhcp code. Thanks to + Jonatan Raudsepp for sending a patch! + (Gitlab #624,!337, git 19321df9e4490b75ac7b322afec9d231bcb6ffe3) + +1579. [bug] razvan + Fixed a bug which caused setting dhcp4o6-port to not function via + Kea configuration backend. + (Gitlab #577,!331, git 98c24fe1873795bbc94d426c54c588b05d79406f) + +1578. [func] fdupont + The configuration syntax has changed. The Logging scope that used + to be shared between all servers has been deprecated. Each daemon + is supposed to define its own loggers using 'loggers' array. The + old configuration syntax is still accepted, but is considered + deprecated. Kea 1.6 will accept it, but that capability will be + removed in the future. Please migrate your configuration to new + syntax. + (Gitlab #208,!196, git 37b8ec6c2c4b64681059f8fad26d112adbb7ee2b) + +1577. [func] razvan + Implemented host reservations page retrieval for Cassandra. + (Gitlab #511,!278, git 152e82b49f5e5abd9d3a2a4825ed8620973f5ef1) + +1576. [doc] fdupont + New commands cache-get-by-id and cache-size are now documented. + (Gitlab #594,!324, git 3753008cc77f71457b5d777560d8e36dc56e7acd) + +1575. [bug] razvan + Fixed issue with keactrl logging error when trying to stop running + services. + (Gitlab #534,!327, git 6ddee0a93ec4ad692cc385150c159d9e8da5232d) + +1574. [bug] razvan + Add logging to the MySQL config backend. + (Gitlab #398,!315, git bc46fd3420afdf60ae8841866e8458f7f6e072e8) + +1573. [bug] razvan + Fixed build sysrepo from sources using sysrepo_config. + (Gitlab #523,!262, git b86864a9b058a18eaaded2273dc5f40a9ec97c78) + +1572. [bug] tmark + Corrected an issue where kea-dhcp6 was incorrectly scheduling DNS + entry removals when renewing leases with generated FQDNs. + (Gitlab #577,!310, git 362f40bebbdbe083ec6420a43ee1c050edf6bba6) + +1571. [bug] marcin + The mysql_cb hooks library registers the MySQL backend for the + DHCPv6 server. + (Gitlab #603,!322, git 1ede298fcdc7a9b7018b6e300e2d759e33f73645) + +1570. [bug] marcin + Corrected the bug in the Kea HTTP library which could cause a server + to assert when system clock was modified during the transaction. + (Gitlab #599,!320, git 958abe5063b6e602c0070e336524e313c3a87671) + +1569. [perf] fdupont + Improved performance of the DHCPv4 server in cases when + match-client-id set disabled by removing unnecessary query to the + lease database." + (Gitlab 509,!272, git 2ad41651c1118fe6f7dfb918df0694dd254706f1) + +1568. [bug] tmark + kea-dhcp6 now properly skips sanity checking prefix leases. + Prior to this it was incorrectly subjecting them to sanity + checks during memfile lease file reloads and then flagging + the leases as incorrect. + (Gitlab #591,!#313, git 12262c5df19673652be73cf1dd62d07527bee95d) + +1567. [bug] marcin + Kea HTTP client now always includes Host header in all HTTP requests. + The Host header is required in all HTTP/1.1 requests. This corrects + the problem whereby HA peers were unable to communicate via reverse + HTTP proxy because the proxy was responding with Bad Request status + when no Host header was included. + (Gitlab #360,!305, git ddb6dbf4cf63e98d3954c5d46e0311abc4fd6cfc) + +1566. [func] tmark + kea-dhcp6 can now be configured to calculate values to + send to clients for T1 and T2 times. Prior to this + it was only possibly to specify explicit values. + (Gitlab #365,!296, git 144b83a84c836d6ff17620b35cb74f830b13c2eb) + +1565. [func] marcin + MySQL Config Backend returns server tags associated with the + configuration elements. + (Gitlab #579,!309, git 1e2648df047fe964e8ad3e9deb1c85eea32b1219) + +1564. [func] fdupont + Implemented two new commands to manage subnets: subnet4-update and + subnet6-update. They allow an update of existing subnets + configuration. + (Gitlab #465,!265, git 71eb9188033f81dab56fc5a847a39f5497398b62) + +1563. [bug] razvan + Fixed compilation of google benchmarks. + (Gitlab #520,!260, git 11aa890d30ecce5518b9f0bad389feea6be78167) + +1562. [bug] marcin + Corrected a bug whereby the DHCP server would trigger a segfault + upon termination when MySQL configuration backend was in use. + (Gitlab #571,!306, git 705e7bb6dd27ec90dd2807d4aac0905e3cb13de4) + +1561. [func] tmark + kea-dhcp6 now automatically deletes configuration elements + that have been deleted from configuration backends. + (Gitlab #566,!304, git 2e85376f1b57187b822c662144380e04372cffff) + +1560. [bug] fdupont + kea-dhcp4 now permits option code values of 0 and 255 for + options defined in option spaces other than the "dhcp4" space. + (Gitlab #564,!300, git 7a0a0b84d91893f08c0ee6f236daa05bede65166) + +1559. [func] fdupont + Added DHCPv6 support to the MySQL Config Backend hook. + (Gitlab #397,!244, git 980091ecd717e41a61f0d7f6808213e450647d8e) + +1558. [func] tmark + In addition to a continuous string of digits, hexadecimal + literals may now be a series of one or more octets separated + by either colons or spaces. + (Gitlab #484, git 251efcd5f518a215173845b22555276df0e0ffc6) + +1557. [bug] marcin + Added support for "reservation-mode" parameter in the shared network + configuration parsers. It corrects a bug in Configuration Backend + whereby host reservation mode was not stored in the database when + specified via remote-network4-set command. + (Gitlab #517,!301, git e6533001e9d850432254d3cfe995a4f7abcee6e2) + +1556. [bug] fdupont + Corrected parser for option definitions to refuse definitions with + duplicate code or name. + (Gitlab #503,!246, git 0befb653277463cd8f88740119fe90a93dbb1466) + +1555. [bug] fdupont + Corrected parsers for option definitions to prevent setting out of + range option code values. + (Gitlab #500,!247, git 5c139602d7656df74060fee63461ffba4f290547) + +1554. [func] tmark + kea-dhcp6 now uses globals, option definitions, options, + share-networks, and subnets from configuration backends. + (Gitlab #413,!288, git ff367e273ed8763b354db272c5955a78203d865e) + +1553. [func] marcin + DHCPv4 server automatically fetches incremental configuration updates + from the configuration backends. + (Gitlab #103,!277, git 319f7709edb40d6c01390a34942b9d4a200b333e) + (Gitlab #103,!289, git 80087e2d0f90f9ba6623860fed4f4d33ee935ad0) + +1552. [bug] marcin + Corrected inheritance of the subnet and shared network specific + parameters in the MySQL Configuration Backend. + (Gitlab #552,!295, git 4812e4227a57b29bfa3995e71588233424a3abb1) + +1551. [func] razvan + Added consistency and serial-consistency parameters to CQL + connection. Fixed all statements. + (Gitlab #16,!287, git 56a9b6a860899274f9cafe2366a6731a46490e92) + +1550. [func] marcin + Implemented inheritance of the DHCPv4 global and shared network + specific configuration parameters when using configuration + backend. + (Gitlab #490,!284, git 2508f942e879ef74b20c07ffdba37d187d6ea932) + +1549. [func] tmark + kea-dhcp6 can now be configured to fetch data from configuration + backends. It does not yet utilize the data fetched. + (Gitlab #104,!290, git d8a25c1ecd17ad24bdce6af19e7a42ce66d4c4f2) + +1548. [func] razvan + Added consistency and serial-consistency parameters to CQL + connection. + (Gitlab #16,!266, git 5771173d721464d879869fad6456211031858d6c) + +1547. [bug, doc] fdupont + Option value for sip-ua-cs-domains has been corrected in the + Kea User's Guide. Thanks to Shawn Routhier from Infoblox for + reporting this issue. + (Gitlab #536,!281, git c128fd9a6b7bffc36ba4fe9a0badebe55441d673) + +1546. [func] tmark + kea-dhcp4 now uses options fetched from configured backends. + (Gitlab #401,!254, git 6a33a6f1810f5899ff9c8bc79d0093eebad5c728) + +1545. [func] fdupont + A new parameter "data-directory" has been added to DHCPv6. + If specified, it allows DHCPv6 server to store lease and + server-id files in non-standard locations. + (Gitlab #430,!263, git 1f094e18a21124abcaf846cab52c8cba65ca36bc) + +1544. [build] fdupont + Message compiler is no longer needed during compilation and + generated message files are part of the distribution. They can be + regenerated using --enable-generate-messages switch passed to + configure script. + (Gitlab #441,!233, git 499b7c36454bcac2553f7bf304d48d7d80f4d4ca) + +1543. [bug] fdupont + Corrected behavior of the remote-subnet4-set so as it is now + possible to set the subnet using both an ID or a subnet prefix. + (Gitlab #481,!251, git 9ef651950fde16e258e4b03dd21bbf6dd07d5231) + +1542. [test] tmark + MySQL, PostgreSQL, and CQL unit tests will now attempt to wipe + the unit test data, rather than the (re)create the schema between + each test. This reduces test execution time appreciably. The + behavior may be overridden by defining environment variable: + KEA_TEST_DB_WIPE_DATA_ONLY="false". This will cause the schema + to be recreated before each test but may dramatically increase + test execution time. + (Gitlab #526,!269, git 7e81d7bea27e919b652351880872aae68ad1b209) + (Gitlab #531,!279, git 7f8c4fc535df3019789aea1881b7bb3bd539963a) + +1541. [bug] fdupont + Empty Relay Agent Information option is no longer sent in server + responses. Thanks to Geoffrey Huang from Qingdao Agricultural + University, and Jiaqi Liu from Qingdao WuKeSong Company + Communication Limited, Shandong, PRC for reporting this issue. + (Gitlab #519,#510,!271, git f3563396d2227e48e96a5d65587406d8d1868db5) + +1540. [func] fdupont + Added a new method deleteSharedNetworkSubnets4 in the config + backend API to delete all subnets belonging to a shared network. + (Gitlab #512,!256, git 76991c42d115641c7fdcd0f215137be578fb39a0) + +1539. [build] fdupont + Obsolete dns++.pc file for pkg-config was removed. + (Gitlab #498,!274, git 93cd62c99f69cc379c08cd06791db522c1fb0aca) + +1538. [func] marcin + DHCP configuration parsers correctly handle unspecified parameters. + This change was required for the MySQL Config Backend to record + unspecified parameters as NULL in the database. + (Gitlab #488,!259, git d3b33058651036be34200f16d2da230267415056) + +1537. [func] godfryd + Improved handling unix sockets in unit tests. Now by default + they are created in temporary folder under /tmp folder. This + fixes the issue with creating sockets with too long path + in the case when source folder is deeply nested. + (Gitlab #357,!258, git a45e2f68d7d1848adb0cf755954a3d76c9dff338) + +1536. [build] tomek + Many changes in keactrl, kea-admin, cql_config and sysrepo_config + scripts. ISC is now using shellcheck to verify portability of + our scripts. + (Gitlab #480,!245, git 8818ba0260ba36710b88db6401069f9fe4f3a73a) + +1535. [func] godfryd + Added checking required Vagrant version by Hammer. + Removed Hammer from EXTRA_DIST. + (Gitlab #518,!257, git ea0006f6eb948d7d4a034b413c5086cbe483eb75) + +1534. [func] marcin + MySQL config backend correctly handles the optional values for + subnets and shared networks. Also, updated the MySQL config + backend to store and fetch T1 and T2 percentage settings. + (Gitlab #489,!250, git 01fc4d5bb4105b90c7025e8ca8131c3c15203848) + +1533. [doc] sgoldlust,stephen + Kea User's Guide significantly updated. + (Gitlab #362,!182, git 4b7a8df6054d18f2c90fe61d93533466f89e6324) + +1532. [func]* marcin + Renamed OptionalValue C++ object to Optional and modified its + API. This object is now used to represent optional values in + subnets and shared networks. This is an internal Kea logic + change but it may impact existing user hooks libraries. + (Gitlab #487,!232, git 1c58e0ce9b9fd6fc8864dbfb2335bc5841c78ff3) + +1531. [func] tmark + When fetching configuration data from configured backends, + kea-dhcp4 will now merge option definitions. + (Gitlab #400,!243, git 0c5d1417031e49bd0c247889989e187db2dd8f4b) + +1530. [bug] adwol + Potential syntax error in keactrl fixed. Thanks to Adam Osuchowski + from Silesian University of Technology for providing a patch. + (Gitlab #162,!241, git b1a1137f252432aa956ed6fea3da21c740857333) + +1529. [func] tmark + When fetching configuration data from configured backends, + kea-dhcp4 will now merge global parameters. + (Gitlab #402,!224, git dadaf76f8dd61b8bb3405aa5dc80029f09b2d4ec) + +1528. [func] fdupont + Aligned DHCPv4 and DHCPv6 specific tables used by the MySQL Config + Backend. Extended MySQL schema to implement audit trail for the + DHCPv6 Config Backend. + (Gitlab #460,!232,!236, git 57f945f917db522773281c9e95ec8027afae6205) + +1527. [build] adwol,fdupont,tomek + Default Kea installation directory has been changed to + ${prefix}/lib/kea/hooks. + (Gitlab #161,!240, git cfaf16cf02191bf5b7172cade3f58a626288b5f0) + +1526. [func] tmark + In addition to subnets, when fetching configuration data from + configured backends, kea-dhcp4 will now merge shared-networks. + (Gitlab #399,!215, git 6b57b6b5d678c91b6b380fbe08beafd06b0e7b1d) + +1525. [func] fdupont + Defined API for the DHCPv6 Configuration Backend. + (Gitlab #458,!231, git f16e03d9bf1c10903c16b2614223b10880f73d50) + +1524. [func] tomek + Support for vendor options improved in DHCPv4 and DHCPv6. Kea is now + able to send back vendor suboptions, even if the client packet didn't + include DHCPv4 vivso (125) or DHCPv6 vendor (17) option. Usage of client + classification in such a case is required, though. + (Gitlab #464,!238, git 5c79da9358862657a631a9a8fc2ce79ae26b762e) + +1523. [bug] fdupont + IfaceMgr::send method now returns proper status that matches + its documentation. Thanks to Matthias Stoeckl from Secunet + for reporting this issue. + (Gitlab #417,!221, git 4be58523f38097cea81ea06161aead58e00aeb2a) + +1522. [bug] marcin + The "unspecified" DHCP timer values (e.g. renew-timer) are + represented as NULL values in the database. This corrects + a bug whereby the unspecified timers defaulted to 0 which + prevented the DHCP server from calculating the timers to + be sent to the client. Instead a value of 0 was sent. + (Gitlab #451,!227, git 5ec9a55528fbcfff4e0c808f9a745b9fd3a5dfae) + +1521. [func] marcin + Removed subsecond precision for the timestamps in MySQL config + backend. It caused issues on systems with MySQL version prior + to 5.6.4 which don't support subsecond timestamp values. + (Gitlab #444,!229, git 71200e98f5a862908240a0d2e269b5da23290af9) + +1520. [build] fdupont + Made perfdhcp build optional and off by default: to build it + please use the new --enable-perfdhcp configure flag. + (Gitlab #340,!220, git b2d9a5559c348e82d6730809ccf1429097a9872c) + +1519. [bug] Brent Bloxam + A bug in kea-admin that always assumed the PostgreSQL database is + always local has been fixed. Thank you to Brent Bloxam from + Beanfield Metroconnect for submitting a patch! + (Gitlab #423,!216, git d14e2f34c7d544aeb5e1e219f305fac9ab18c498) + +1518. [func] marcin + Extended MySQL schema to include the types of the global DHCP + parameters in the database. The Kea servers will use this + information to cast the values fetched from the database into + their actual types. The supported types are: string, integer, + boolean and real. + (Gitlab #429,!217, git edd745c507ce5a888461df1489311de0c22cd312) + +1517. [func] tmark + kea-dhcp4 will now connect to and fetch configuration data from + configured backends. At this point, only fetched subnet data is + merged and used. + (Gitlab #101,!202, git c572f8aea94349ff5fb4afee13a88ba811cc6459) + +1516. [func] marcin + Implemented audit trail for MySQL Configuration Backend. It allows + for tracking incremental changes in the servers' configurations. + Both mysql_cb hooks library and the MySQL schema have been updated + to facilitate this feature. + (Gitlab #396,!205, git 6d40db07ef641eef29405c42e718979e7a1e8675) + +1515. [func] fdupont + Changes required for new host commands that retrieve all host + reservations from a given subnet (reservation-get-all, + reservation-get-page) added. Also added documentation. + (Gitlab #313,!199, git 991b2fadcb9e8171a78e27f95e4bfba6393d7824) + +1514. [func] fdupont + Control Agent and DHCP-DDNS daemons now support config-reload + command, that instruct a given server to load again its + configuration from a file on disk. + (Gitlab #375,!192, git 93648a3a4918225e2c4413ae220fccc59eaea99a) + +1513. [func] godfryd + Fixed perfdhcp that now it keeps requested rate during performance + testing. Previously it was always about 20% lower than expected. + (Gitlab #283,!135, git 329f54bb151ec35888e9a8070cc5fa368d6f1f5e) + +1512. [func] tmark + kea-dhcp4 will now ignore empty Host Name (option code 12) values + received from clients. While an empty value for this option is + not RFC-compliant, some clients do send them. Prior to the this + server would drop the entire packet. In the spirit of being liberal + in what we accept, the server will now simply omit the option. + (Gitlab #40,!203, git f41bd35c3e7a3bdc1f31c5602fd91d5c84c60163) + +1511. [func] fdupont + Obsolete experimental secure DHCPv6 options (701-704) removed. + (Gitlab #386,!196, git 1114527652615fb730e323946cafaf1c7ca72b42) + +1510. [bug] fdupont + DHCPv4 and DHCPv6 no longer crash if badly broken configuration + is received. + (Gitlab #381,!193, git f45fe7b7e3916d36d017b4ec5b50588fbf517d86) + +1509. [func] tmark + kea-dhcp4 can now be configured to calculate values to + send to clients for for T1 and T2 (options 58 and 59 + respectively). Prior to this it was only possibly to + specify explicit values. + (Gitlab #365,!194, git 67944844a40436cd69e0e5b4962f5c9cba89ef6f) + +1508. [func] fdupont + Implemented the management API using a control socket for the + DHCP DDNS (D2) server. D2 now supports the following commands: + build-report, config-get, config-set, config-test, config-write, + list-commands, shutdown and version-get. Also, extended Control + Agent (CA) to support one additional command: config-set. + (Gitlab #30,!183, git ab27550cec365f42289eb5fa1bc39f33f01b19c2) + +1507. [func] tmark + kea-dhcp4 now ensures that the message type option (53) is + the first option in outbound DHCPv4 packets. This was done + to accommodate non-compliant clients that require the option + to be first. + (Gitlab #363,!177, git 34f40035bf7a7849083138cacee440a9f0991d67) + +Kea 1.5.0 released on Dec 14, 2018 + +1506. [build] marcin + Bumped up libraries version numbers for Kea 1.5.0 final release. + (Gitlab #338,!168, git 551c5d704804d0ab2ea276e95dbae66b9d0f5561) + +1505. [bug] marcin + Corrected an issue in the lease_cmds hooks library which caused + errors while adding leases with high lease expiration time value + to the database. Many thanks to Shawn Routhier from Infoblox for + finding and reporting the issue. + (Gitlab #337,!167, git 3fcdc28814310ac93b3903897e952b3b60cfa0bc) + +1504. [bug] fdupont + Created separate control buffers for reception and transmission + over UDP sockets. + (Gitlab #327,!166, git cbb573858d7b1a4d2ba2316db457aa55ab037fc3) + +1503. [doc] fdupont, marcin + Updated "JSON Configuration" section of the Kea User's Guide. + (Gitlab #198,!160, git 94c66b3c071d7bbf4b247bf57cd75ddcc343177e) + +1502. [bug] fdupont + Unicode parser for JSON structures has been improved. It now + handles escape sequences better. + (Gitlab #45,!40, git ba9b18cf2af66f8fb80e3dbbe13da11c99764588) + +1501. [func] fdupont + keactrl now supports kea-netconf. The new daemon is disabled by + default. Please edit keactrl.conf (netconf=yes) if you want to + start using it. + (Gitlab #186,!163, git 8f7d556456891e7c675082f7e6cc88da71a92fee) + +1500. [func, doc] tmark + Streamlined the isc::dhcp::PacketQueue interface and + added a section on Congestion Handling to the developer's guide. + (Gitlab #278,!162, git 0ce615f5da993ac90f675c5315ba7cb5c2ef3e1c) + +1499. [func] tmark + For Kea 1.5.0, congestion handling has been disabled by + default. + (Gitlab #277,!164, git 8d87c46a3cc7b7be4dd5f751b48449e92ee62d84) + +1498. [bug] marcin + Corrected behavior of the DHCP servers with respect to the + "reconnect-wait-time" parameter setting. This parameter is + specified in milliseconds, but the servers used to interpret + it as specified in seconds. + (Gitlab #173,!154, git 377f49e84ad6ebc91cbeac4116d24a15571c522d) + +1497. [func] fdupont + All YANG modules now have a revision specified. When starting, + kea-netconf daemon will now check if the required modules are + installed and have a proper revision. This should help spotting + issues when migrating from older YANG modules. + (Gitlab #204,!121, git 9e772e1472e073ee85924cfc706cb57a5e70a0b1) + +1496. [doc] marcin + Updated Kea documentation to reference RFC 8415, which is the + new DHCPv6 specification. It obsoletes a number of RFCs: + RFC 3315 (previous DHCPv6 specification), RFC 3633, RFC 3736, + RFC 4242, RFC 7083, RFC 7283 and RFC 7550. Kea documentation + now refers to RFC 8415 where appropriate instead of obsoleted + RFCs. + (Gitlab #288,!158, git 974b033a8de7a8e671156c33efeb13d4ac847c96) + +1495. [bug] marcin + Corrected an issue in the Memfile lease backend which caused + errors while reading leases with very long lifetimes. Many + thanks to Shawn Routhier from Infoblox for finding and reporting + the issue. + (Gitlab #303,!151, git ab92ab6fcd414f1efc7c5de6a641274da7c04e92) + +1494. [bug] marcin + Kea servers reject commands with unsupported parameters. + (Gitlab #253,!147, git 7fc55489887c0e8f32db5c1fe9f46fa1cc2a4407) + +1493. [bug] marcin + Names carried in DHCPv4 Client FQDN option, Hostname option and + stored in the lease database are case insensitive. + (Gitlab #86,!152, git d9e23e2a6a3114b1c87de9c881ef10cdb1e00c61) + +Kea 1.5.0-beta2 released on Nov 30, 2018 + +1492. [doc] fdupont + Added a step by step netconf operation example in the + Kea Administrator's Guide. + (Gitlab #195,!131, git 994a826caf3c1a9f5f84d8b703a3b202120e91b6) + +1491. [build] tomek + coroutine.hpp from Boost 1.68 has been added the Kea source. + It is used only if the Boost library provided by the system + is very old and does not include that header. This effectively + reverts the change done in Kea 1.4.0. + (Gitlab #293,!45, git df0f507b8b750c8dff1f537cad5b5748b7841852) + +1491. [build] marcin + Bumped up libraries version numbers for Kea 1.5.0 beta2 release. + Also, generated logger message files are now installed with Kea. + (Gitlab #62,!144, git 7dc8d73a58504fd81a49b1c54651388d53d98d53) + +1490. [bug] marcin + Applied fixes in Cassandra Host Manager which prevents Kea + crash during an attempt to delete non-existing reservation. + In particular, this crash was observed as a result of sending + reservation-del command over RESTful API. + (Gitlab #27,!138, git 8666ed4754ffd27f3aa46a2cf3e4b161a1d877ee) + +1489. [doc] fdupont + Added examples of global host reservations. + (Gitlab #136, !143, git bee8b8620f849f6bcaf2b31c3b130bb371c6312c) + +1488. [doc] marcin + Added stat_cmds to the list of available hooks libraries. + (Gitlab #85,!142, git 08615372b4f869fe61b13559efa33d0d9794d79b) + +1487. [doc] marcin + Corrected broken links and various typos in Kea documentation + which had been identified during Kea 1.5.0 beta1 release + process. + (Gitlab #263,!137, git 79a224288efa1e1c51b0f2ec11ff646563b306e1) + +1486. [func] tmark + For Kea 1.5.0-beta2, congestion handling has been enabled by + default. This was done to expose the feature to more testing. + We will finalize the default setting prior to releasing Kea 1.5.0. + (Gitlab #276,!132, git fda1f985997412a58d3b4eee4a1ca0588d3f3beb) + +1485. [func] fdupont + Simplified and updated Kea YANG models. For instance the list of + loggers was moved from the removed logging container to global + config parameters. + (Gitlab #204, !97, git 1de6c2987ec9067b7c1baa577c6dcd6ddd1b30fb) + +1484. [bug] marcin + Resolved issues with MySQL backend failing to insert a lease + to the MariaDB database on OpenSUSE. This fix may also + improve stability of the MySQL backend on other systems running + MariaDB. + (Gitlab #53,!125, git 038eddbc7b904289e4b74b5ef2406cb57f79a646) + +1483. [func] tmark + Use of congestion handling is now optional via the 'enable-queue' + flag added to 'dhcp-queue-control'. It is disabled by default. + When disabled Kea's DHCPv4 and DHCPv6 servers will consume packets + directly from interface sockets in the main thread (i.e. employs + pre Kea 1.5 technique). + (Gitlab #260, !120, git 9e304fae48d0d0658fd39a21aba9da528b4cc6f4) + +1482. [func] fdupont + The configuration parameter "reservation-mode" can be specified + at global (new), subnet and shared network levels. + (Gitlab #268,!126, git c72d381c39868308c7d11c7d4def3bdae0a0e04e) + +1481. [func] fdupont + Cleaned up the keatest-module YANG test module. + (Gitlab #204,!98, git a830adcefd9306969216d35c51306df3610278bb) + +1480. [func] fdupont + The unused configuration parameter "always-include-fqdn" + was removed. Configurations using it will be rejected as + it is no longer recognized. + (Gitlab #182,!128, git cafeba167e7c64370dd39eca4551f61acd89d3da) + +1479. [build] fdupont + Support for sysrepo 0.7.6 (and libyang 0.16-r2) was added. + Previous versions of sysrepo (and libyang) are still supported. + (Gitlab #176, !107, git 4304a10b21708afb2a7599c77bc7508a600333cb) + +1478. [bug] marcin + Performance improvements in the HTTP client code used in the + Kea High Availability. + (Gitlab #57,!122, git 7bd97af1f3d7670cd64cadf0d0cb9ddbe4e74909) + +Kea 1.5.0-beta1 released on Nov 9, 2018 + +1477. [build] marcin + Bumped up libraries version numbers for Kea 1.5.0 beta release. + (Gitlab #261,!119, git 54d63139048e7fe2dd0384b547ed6f8b96ff0e8f) + +1476. [func] tmark + Added initial implementation of congestion handling to kea-dhcp4 + and kea-dhcpt6. This adds a new top level element to the server + configurations, "dhcp-queue-control". Both servers will now + read client packets from interface sockets in a separate thread + queueing them for server level processing. For Kea 1.5-Beta + this feature is always on. + (Gitlab #42, !103, git 09d5ffebc8f9bfab2ab99c384eec9c3a3c915f39) + +1475. [func] sebschrader + Add authoritative feature for DHCPv4 from ISC DHCP: requests from + unknown clients are dropped (default/previous behavior) or + answered with DHCPNAK (new behavior with new authoritative flag + set to true for the subnet). Patch proposed by Sebastian Schrader. + (Gitlab #66, !115, git 0fc1b767826f214475025d8631227970de368de5) + +1474. [doc] godfryd + Updated list of supported operating systems. + (Gitlab #205, !109, git 73253af554cf48434798282f8440a99b1494fd04) + +1473. [doc] tomek + Outdated FAQ section removed from the User's Guide. + (Gitlab #118, !113, git 7d079384bd5f49e0e36a571ee964bfd7d6ebd25d) + +1472. [bug] marcin + Timeout is now reported by the HTTP client when connecting to the server + takes too long. This eliminates HTTP client hangs when firewall is + misconfigured and causes connection to never be established. This issue + was found during Kea High Availability testing. + (Gitlab #26,!106, git 9724823f160af0ef5e8ccdf779087ff08a04457a) + +1471. [bug] lmasarati + Fixed a bug in kea-admin that ignored specified remote hostname. + Thank you to lmasarati and Thorsten Krohn for reporting it and + proposing a patch! + (Gitlab #61, #138, !114, git 901cac7dc85ad8dacf631bf3a5c266eefeb3e6a1) + +1470. [func] marcin + Improved lease database synchronization mechanisms in High + Availability hooks library. The new implementation uses + lease4-get-page and lease6-get-page commands to fetch leases + from the partner server. This prevents timeouts occurring + during long synchronizations as well as decreases CPU and + memory consumption on the HA enabled servers during lease + database synchronization. + (Gitlab #78,!85, git c54ea216463dcc6df693c96c4a5f82c0fbec2ff6) + +1469. [doc] marcin, fdupont + Documented new class_cmds premium library which is used + to modify client class configuration of the DHCP servers. + (Gitlab #64,!41, git c1c1d0b71496d81b330a8c1eb95996bbf634ada0) + +1468. [build] wlodek + make distcheck fix. + (Gitlab #202, !111, git 5d8fb5f7af5fa36f4cb2b89f10631683b2e230d5) + +1467. [doc] fdupont, tomek + Doxygen errors fixed. + (Gitlab #180,!93, git d12fb04d71c3b2d0e84ebb2c957334454b5705c4) + +1466. [func] fdupont + Added random number generation in services provided by + the crypto library (and ultimately by the crypto backend, + i.e. Botan or OpenSSL). + (Gitlab #29,!9, git 609ddc69613dc828b3d93673d61a2c259c3944aa) + +1465. [build] marcin + Removed libkea-process dependency on MySQL, Postgres and + Cassandra libraries. + (Gitlab #194,!104, git bcce7d3c2226c10218d537c4688344c3b7f8c84a) + +1464. [build] marcin + Exclude mysql_cb hooks library from the Kea 1.5.0 release. This + library will be added back in Kea 1.6.0 release. + (Gitlab #93,!105, git 49572aa300ea2b25712d7e8cea0dd0df34faf7ee) + +1463. [bug] tmark + Added missing parsing logic for the reservation-mode value, + "global", to kea-dhcp6. The parsing logic was somehow omitted + and caused kea-dhcp6 configuration parsing to fail on values + of "global". + (Gitlab #129,!55, git 00352d701f61274f0993b468a413af6c5623af3d) + +1462. [build,doc] tomek,sgoldlust,vicky + Kea REST API is now documented. Thanks to Suzanne Goldlust for + providing descriptions for great majority of commands and to + Vicky Risk for review and corrections. Also, docgen, a new + tool for documentation generation has been written. + (Gitlab #10,!3, git 5d2e4d6fcc182a19eafa895abc35b1aee599fd23) + +1461. [doc] marcin, fdupont + Added new sample configurations providing all parameters at + the exception of host reservations for DHCPv4 and DHCPv6 servers + for testing of configuration managers. + (Gitlab #130,!89, git 4bc7e0dbe4804f63c51d100a8f724327e3d3a936) + +1460. [func] tmark + While kea-dhcp4 and kea-dhcp6 configuration parsing supports + configuration backend elements "server-tag" and "config-control", + use of these parameters has been disabled. Development of this + feature will resume after Kea 1.5 release. + (Gitlab #101,!87, git 4292a7ef7ab268826f846812e7320e1fe1fc46ef) + +1459. [func] marcin + Implemented libdhcp_mysql_cb hooks library which provides + Configuration Backend functionality for MySQL. + (Gitlab #93, git 98456608056b3361352b3127767138845eeb5d00) + +1458. [func] fdupont + Control sockets for kea-netconf has been implemented. The code is + not functional yet, but the capability of the kea-netconf daemon + to communicate with CA, D2, DHCPv4 and DHCPv6 daemons is there. + (Gitlab #153,!60, git 11486e255aef704114645f8e7c5fee9c3abf9e76) + +1457. [func] tmark + Both kea-dhcp4 and kea-dhcp6 configuration parsing support new, + server-level configuration elements "server-tag" and "config-control". + While these elements will parse, they are not yet used by the servers. + (Gitlab #32,!23, git c0727407da8d749d9fb51d873a725369800c967b) + +1456. [build] tomek + Extended Kea version is now stored in a separate file for + build performance reasons. + (Gitlab #137,!42, git 87479e979ca3d3025cb4129ace991a59e32e0f62) + +1455. [func] fdupont + Implemented hexstring(value, separator) operator that can be used + in any expression, such as client classification, flex-id or + RADIUS attribute. + (Gitlab #67,!34, git 004d9a29db09b1c203c52e23585bd275c52095fa) + +1454. [func] fdupont + Unused interface-id and rapid-commit parameters removed from + DHCPv4 parser. + (Gitlab #116,!24, git 7e47292f10acb9179241c991d3591e9bfa47c37d) + +1453. [func] marcin + Updated MySQL schema to facilitate Kea Configuration Backend + feature. + (Gitlab #89,!22, git e28c0c7b3e7a7729167cdad993f634ed1f0ac53b) + +1452. [func] marcin + Implemented libkea-cb library which includes basic class + hierarchy for the Kea Configuration Backend. + (Gitlab #28,!20, git fb5c031ecaf4182e56f62874e9a6bd4c1d755a77) + +1451. [build] tmark + Resolved a namespace issue with std::distance() in libdhcp++.cc + when building with Boost 1.68. Thanks to Huy Vu and Khem Raj + for reporting and suggesting a fix. + (Gitlab #109,!21, git 1fd301f998129e9926ffa35eac27768ae150633d) + +1450. [build] tomek + Dependencies improved. libkea-process no longer requires libkea-dhcpsrv. + As a result, D2 and CA are no longer linked with libkea-dhcpsrv. + (Gitlab #25,!14, git cdb3a6f2d98a303b80433df7e0d5698c77897b7f) + +1449. [func] tmark + Modified Kea 1.5.0 database upgrade scripts to convert + subnet ID values of 0, to either null (MySQL and Postgres) + or 0xFFFFFFFF (CQL), in existing host reservations. This + is done to accommodate support for global host reservations. + (Gitlab #15,!11, git 25b54fd9ced4c6d3a2c8ceff9cc7c866b56da2c1) + +1448. [build]* marcin + Created new Kea libraries: libkea-database, libkea-mysql, + libkea-pgsql and libkea-cql. Some database specific code was + moved from libkea-dhcpsrv to those new libraries. + (Gitlab #92,!13, git 5feb6b8a53675c27715e9e8fbeb312bd6eb17547) + +1447. [doc] tmark + Updated Kea Administrator's Guide with discussions of the + use of subnet ID parameters in hook library commands. + (Gitlab #14,!15 git# 4a7da8069feab1e21132689a9368f8ccb4174683) + +1446. [func] tmark + kea-dhcp6 now supports global host reservations and a new + global reservations-mode . Prior to this reservations could + only be specified per subnet. This is supported by by Memfile, + MySQL, PostgreSQL, and Cassandra host data sources. + (Gitlab #13,!6, git# a5484c4d8852662be7da1e6e8b1d4c1a19e6502f) + +1445. [func] tomek + Implemented initial skeleton version of the kea-netconf tool. + Currently it can't do anything, but the build system is now + capable of detecting sysrepo (use --with-sysrepo in configure), + there's a very basic documentation and unit-tests. + (gitlab !1, git 89ff2093811d65220d99dc2a6516375c4ec953dc) + +1444. [bug] tomek + keactrl version tests now work properly on macOS. + (Gitlab !5, git a8c385e1507ffd101f65b445783b0355b01decce) + +1443. [func] tmark + kea-dhcp4 now supports global host reservations and a new + global reservations-mode . Prior to this reservations could + only be specified per subnet. This is supported by by Memfile, + MySQL,PostgreSQL,and Cassandra host data sources. + (Trac #5705, git f991cffd06add941f8bf2937232f51d597623e21) + +1442. [func] MayyaSunil + Implemented new queries for IPv6 leases by DUID. + (Github #99, git c20b5248da1283e596e35ad057ae242f4d613965) + +1441. [func] marcin + Added log message indicating that the control socket has been + opened by a server. + (Gitlab #8, git 3dbaf4917bea112466f1ee5726870c545950e114) + +1440. [func] tmark + The internal representation of an "unused" subnet-id has been + changed from zero to 0xFFFFFFFF. The largest, valid value for + a subnet's ID is now 0xFFFFFFFE. Three new constants have been + added so subnet_id.h: + + isc::dhcp::SUBNET_ID_GLOBAL + isc::dhcp::SUBNET_ID_UNUSED + isc::dhcp::SUBNET_ID_MAX + + which should be used in code/hooks in place of hard-coded values. + (Trac #5704, git 90fe9ca2cd6f63bcc7168bdc3786677db57b65ec) + +1439. [func] tomek + keactrl and kea-admin tools can now report version. + (Gitlab #9, git 4a00ab5d4b9ac9193fc5f924149aeaca7a88e2ef) + +1438. [func] tomek + subnet-id parameter is now optional in lease4-add, lease6-add, + lease4-update and lease6-update commands. If not specified or + its value is zero, Kea will attempt to figure out the correct + value of subnet-id. If there is no matching subnet configured, + the lease will be rejected. + (Trac #5683, git a8ce7a78b5b294e6bce02de887552a1e4593db4e) + +1437. [func] tomek + DHCPv4 and DHCPv6 servers are now able to sanity check and + possibly correct some inconsistencies in leases when loaded from + disk (memfile). A new parameter to govern this behavior has been + added. + (Trac #5682, git 609bfa0a67caa91fac6834eb39260acfd19e3be4) + +1436. [func] tmark + Added two new configuration parameters to kea-dhcp4 and kea-dhcp6 + DhcpDdns sections: 'hostname-char-set' and 'hostname-char-replacement'. + These values (when not empty) are used by the server to sanitize + host name and FQDN domain names sent by clients prior to using them + to construct DNS names. + (Trac #5680, git 32466ab3d4688e66c8c2f9fd24d4a98fcc871ff6) + +1435. [func] marcin + Implemented ha-continue command in HA hooks library and + updated the Kea User's Guide with the information how to + pause and resume the HA state machine. + (Trac #5675, git 98a9bd4f6766ff2f53681d84d55c56988be4d501) + +1434. [func] MayyaSunil + Code added to support storage of Authentication key host reservation. + There is no way to use the code yet. + (Github #88, git 66602af46b1a7d9f4197b1f285c928bd9f80ba2b) + +1433. [func] marcin + Implemented state HA state machine pausing in the high + availability hooks library. + (Trac #5674, git b9f3f082c7a88fe98fa4545b9649193ceb5e3ef5) + +1432. [func] MayyaSunil + Code added to handle Authentication option in DHCPv6. There + is no way to use this code yet. + (Github #93, git 022dae4393da9e714678d52886d4f478ba308ba9) + +1431. [func] marcin + Implemented lease4-get-page and lease6-get-page commands + in lease_cmds hooks library. + (Trac #5651, git b056828212f7b206ff8bd07c097fd6f427d22d71) + +1430. [func] fdupont + Lease objects and lease backends are now able to store user + context. User context can store an arbitrary data as long + as it is in JSON format. Database schemas updated. + (Trac #5584, git b0b7a198b99fd417466708c80cb7cc2162ae480c) + +1429. [bug] marcin + Removed memory leak in the DHCPv4 and DHCPv6 servers which + occurred when hooks libraries where loaded. + (Trac #5664, git 2584b902d2617089bfa7238133490ddd855aa77a) + +1428. [bug] marcin + Corrected behavior of the standby server in the HA hot-standby + mode, which failed to monitor delays in responses to the + DHCP queries sent to the primary server after the primary + server became unavailable. This resulted in transition of + the standby server to the partner-down state immediately + after detecting interruption in communication with the + primary over the control channel. + (Trac #5654, git 7a83f05fe40fb1b6812b055e2d6d633d9e00160c) + +Kea 1.4.0 released on June 15, 2018 + +1427. [bug] marcin + Resolved multiple problems causing slow synchronization of + leases in the HA hooks library, including adjusting + timeouts in control channel and improving performance of + responses sent by the Command Manager to Control Agent. + Also, introduced 'sync-timeout' configuration parameter + into HA hooks library to control lease database + synchronization timeout. + (Trac #5649, git cbc29128863916a13364749bf681586aea2aa51e) + +1426. [func] fdupont + Added KNOWN and UNKNOWN built-in client classes: after host lookup + if a matching host entry is found the incoming packet is added to + the KNOWN class, if none is found to the UNKNOWN class. Then + expressions depending directly or indirectly on these classes are + evaluated. Note these classes may be used to select a pool but + they may not to select a subnet. + (Trac #5549, git 6a856ed9722b918a65dca15ff44314e28897784e) + +1425. [bug] marcin + Improved performance of the DHCP server running in High + Availability configuration by optimizing the management of + CalloutHandle objects passed to the callouts. + (Trac #5647, git eea88d5c8f4d8efb6c5bfdfbf4e070a90069db5d) + +1424. [doc] marcin + List of hooks libraries provided by ISC includes an + information which Kea servers the libraries can be attached + to. The detailed description of each supported hooks library + also contains this information. + (Trac #5613, git 9d6f8de3d988c42c413a7d628e31854e9c80d8c9) + +1423. [bug] tmark + kea-dhcp4 and kea-dhcp6 now retain and emit global, scalar + parameters specified in their configuration. + (Trac #5378, git 4d05122f03d00b10a888c768fe1725cae9d6aea6) + +1422. [build] fdupont + Commented out BOOST_ASIO_DISABLE_THREADS in configure to reflect + the current use of threads by boost ASIO in Kea. + (Trac #5615, git f3fc8b1a4257a42a97aaf88a36287bbe33d1f65b) + +1421. [build] marcin + Moved libdhcp_ha (High Availability) hooks library from + premium to main Kea repository and changed its license to + MPLv2.0. Future ChangeLog entries for this library will be + tracked in the Kea ChangeLog file. + (Trac #5645, git 19b2553d4869bdd52b63b6f7969052d8a724f78d) + +1420. [doc] marcin + Updated list of loggers in the Kea Administrator's Manual. + The updated list contains all loggers, including those + from supported hooks libraries. + (Trac #5622, git bd94afc0af7183452c94f3b5768c6138f79d3b60) + +1419. [doc] marcin + Documented "sync-leases" configuration parameter of the HA + hooks library in the Kea Administrator's Manual. + (Trac #5621, git 4ebac3a411aa02d1cc3d74e7eaf3212ad208159a) + +1418. [bug] marcin + Corrected bug in the allocation engine which caused occasional + lease allocation failures when a loaded hooks library set the + callout status to non default value, e.g. "skip" rather than + "continue". In such cases, the server reported that it failed + to allocate a lease "after 0 attempts". + (Trac #5638, git f2e9b686ae52e1b06f660e1b522588b1440e2620) + +1417. [bug] marcin + Improved logging in the HTTP library both for the server and + the client. + (Trac #5205, git fd0bec610c89084d5a5d43ef032c9875c3e6ad46) + +1416. [bug] fdupont + Added support of recent Botan 2.x crypto backend. + Note that Botan 1.[9-11] is still supported but not recommended. + (Trac #5382, git 22651b1935a2397edfbddb9b8873c353c090f18e) + +1415. [bug] tmark + kea-dhcp4 and kea-dhcp6 now validate the schema version + of lease and host backends after establishing a connection. + If a schema version does not match the version the server + expects, the server will emit an error log and close + the connection. This applies to MySQL, PostgreSQL, and Cassandra. + (Trac #5629, git 15c34afdba45be609e35284a209ad18ed66605f8) + +1414. [bug] tmark + kea-dhcp4 parsing now treats renew-timer and rebind-timer + as optional with no defaults. The logic for sending them + to the client was changed to: send rebind-timer only + when it is less than the lease lifetime; and send renew-timer + only when it less than either the rebind-timer if specified, + or lease lifetime in the absence of rebind-timer. + (Trac #5596, git 38426e16ec04a786e35a65d27cbcb7dbabfe79b5) + +1413. [func] fdupont + Removed getAll, get4 and get6 methods using both hardware address + and DUID from host backend (aka host data source) APIs. + This is an *incompatible* change. + (Trac #5563, git db4c34b069f114f93d9f29cdeb02b536a0fbc982) + +1412. [func]* marcin + The client classes used by the High Availability hook library + use upper case "HA_" prefix and they are now built-in classes. + This means that those classes do not need to be declared in the + server configuration. + (Trac #5632, git 2d590bfd7d1b0eca377eb99eef83a3083a1d7399) + +1411. [bug] fdupont + Fixed warnings about lambda's not using captured variables. + (Trac #5591, git f88a505823d39faec7dc5f647f40e6454e5dfc74) + +1410. [bug] marcin + Fixed multiple hanging Control Agent unittests. + (Trac #5576, git 310af68101cba74220652ec2b403520fc5666dc0) + +1409. [doc] marcin + Documented in the User's Guide how Kea HA service behaves + when the clock skew between active servers becomes too + high. + (Trac #5603, git ffaff4d2a03600bb4f81d335b49a840e31d03c8c) + +1408. [func] tomek + perfdhcp now supports -o option that adds DHCP options. + This may be used to simulate various clients. + (Github #77, git b81dedb7f0a2516130e7bd799d9084c63f0e844c) + +1407. [bug] tmark + Corrected an issue where the destruction of loggers + prior to the destruction of the TimerMgr singleton + caused unit tests to segfault. + (Trac #5626, git 9f4e3f9cd8acf8e7d1d3e714d8f904754377c00f) + +1406. [func] fdupont + Added pkg-config alternative to configure --with-cql path so + now you can use either pkg-config or cql_config. + (Trac #5488, git 55498ca3455517132533a39002ebfc05d26c7e38) + +1405. [bug] tmark + Corrected missing "override" warning in cql_lease_mgr.h + (Trac #5625, git df3068ba0e520df4d96dd38e2de679beb99f2e23) + +Kea 1.4.0-beta released on May 18, 2018 + +1404. [doc] tomek + Hooks package installation instruction added to Kea + User's Guide. + (Trac #5427, git 7bc5e4297e8b2ccb87d5d5d79ae066fe32964841) + +1403. [build] tomek + Support for hook packages has been updated. The --with-tierX + flags have been removed. Each hook library is now detected + independently. + (Trac #5619, git aa1f95d699dc664a5660db120ef71edee910a9b3) + +1402. [bug] tomek + Fixed a crash that was caused by hook library registering + new hook points. This fixes unit-tests with forensic + logging, but the problem was generic and could cause + other libraries to segfault during unloading or reconfiguration. + (Trac #5577, git 2f9d1aa95c16e12fabc50d581b966f20b6d8a950) + +1401. [bug] tmark + Corrected an issue which caused kea-dhcp4 and kea-dhcp6 servers + to unload their hooks libraries upon receipt of the first client + message following a dynamic reconfigure. + (Trac #5564, git 5111f569bd251c2a98a2e6d958e8f6b640a1802d) + +1400. [func] tmark + A new hooks library, Stat Cmds, has been added to the open source + distribution. This library provides commands for fetching lease + allocation statistics using lease backend as the source for + lease counts per state. This resolves an issue in deployments, + where multiple Kea servers share a common lease backend, which made + it difficult to obtain accurate lease statistics. + (Trac #5589, git 36f20f1c8b28f629fe2896b817ac0f3c6026fe0e) + +1399. [func] tmark + Support for fetching lease allocation statistics by subnet-id + or subnet-id range has been added to the Cassandra backend. This + allows it to be used in conjunction with the Stat Cmds hooks + library commands for fetching shared lease statistics. + (Trac #5588, git 3fcfefdea5ac838936c2109ecbbbc32eabc8fdba) + +1398. [bug] fdupont + Fixed bug in configurations where "outbound-interface" parameter + was set to "use-routing", which in some cases would reset outbound + interface index to a negative value and cause the server to fail + to respond to the clients. + (Trac #5515, git 9d8d00f1f127ee606f09f7ff6006f0d142aac976) + +1397. [bug] marcin + A bug in http client library was fixed. The IPv6 address specified + in brackets is now supported properly. + (Trac #5620, git fe38c4368853e47bc993d6c3844cdddba5effde5) + +1396. [bug] tmark + The PostgreSQL schema was expanded to include two new tables: + lease4-stat and lease6-stat and triggers to update them as leases + are modified. This resolves an issue in deployments, where multiple + Kea servers share a common PostgreSQL lease database, which made + it difficult to obtain accurate lease statistics. Since these statistics + are now tracked by the database, they do not have to be recalculated at + startup or following reconfiguration. This may result in less + processing overhead during these events. The new statistics will be + accessible via a new Hooks library, being developed for Kea 1.4 + under #5589. + (Trac #5587, git 36a0160de0df7789eea224954717be05c08638b7) + +1395. [bug] tmark + The MySQL schema was expanded to include two new tables: + lease4-stat and lease6-stat and triggers to update them as leases + are modified. This resolves an issue in deployments, where multiple + Kea servers share a common MySQL lease database, which made it difficult + to obtain accurate lease statistics. Since these statistics are now + tracked by the database, they do not have to be recalculated at startup + or following reconfiguration. This may result in less processing overhead + during these events. The new statistics will be accessible via a new Hooks + library, being developed for Kea 1.4 under #5589. + (Trac #5586, git a070c327668c10de3b28f5e249f91d6d16a97ff5) + +1394. [doc] marcin + Documented High Availability hook library in the Kea + Administrator Reference Manual. + (Trac #5478, git 3db34400d0331e3d4fc208529eeb18f6abfb6562) + +1393. [build] marcin + Install new header files introduced since Kea 1.3 release. + Also, bumped up libraries version numbers for Kea 1.4 beta + release. + (Trac #5590, git 64351229a30832735c5a81ac17ca1521aa2483b2) + +1392. [func] fdupont, marcin + Implemented new hook point "leases6_committed" in the DHCPv6 + server. It supports new next step status NEXT_STEP_PARK + which causes the server to "park" the client's DHCP packet. + (Trac #5458, git 04d6fb0a0ac5b9dff2a02764cc9265f9a2a05ae8) + +1391. [func] tmark + For both kea-dhcp4 and kea-dhcp6, the "ip-address" parameter + in the "relay" element for both subnets and shared networks, + has been replaced with a list form, "ip-addresses". Configuration + parsing will continue to honor the singular form, but it should + be considered deprecated. In addition, an omission in 1.3 that + caused shared network parsing to ignore the "relay' element has + been corrected. + (Trac #5535, git f4601abdb657122a8ba5d7784eded773ec01d171) + +1390. [doc] tomek + User's Guide documentation for RADIUS and Host Cache written. + (Trac #5538, git c73337a8ec691874b8ac0b2efcd8708f1a79acbb) + +1389. [func] fdupont + dhcp6_srv_configured hook point added. + (Trac #5530, git 3bb521f6ec8b4e2a1e57ec84b17ee12b0ccf0f83) + +1388. [build] tmark + Modified configure script to support --with-dhcp-mysql and + --with-dhcp-pgsql but emit a deprecation warning message + encouraging their replacement with --with-mysql and --with-pgsql. + (Trac #5567, git 53761069761ddde44636baa30185322debfe4186) + +1387. [func] tmark + perfdhcp no longer requires -r (rate) be specified in order to use + -D<max-drop>, -n<num-request>, -p<test-period> and -t<report> options. + (Trac #5115, git c3ba89c56882cac1080899ad201f0c02056eef38) + +1386. [func] fdupont + Extended comment / user-context support to DHCP-DDNS and + Control Agent configuration syntax. + (Trac #5495, git fe79959e3bc3c46ccb89661cb27696671a8508b8) + +1385. [func] tomek + lease4-wipe and lease6-wipe are now able to wipe all leases + from all configured subnets if subnet-id specified is 0 + or the subnet-id parameter is omitted. + (Trac #5543, git ecaf777dff4b8d1100c2a97c4fb1cf8f8e63566d) + +1384. [func] fdupont + Significant improvements to client classification introduced. + The order of classes evaluation has changed from alphabetical + to the order of appearance. New 'member' expression allows + combination of classes. The new 'only-if-required' and + 'require-client-class' parameters controlling the scope of + a class have been introduced. + (Trac #5474, git 3f2d93f0731fc1858b20e831a7d1f090ea8841fe) + +1383. [func] tmark + kea-dhcp4 and kea-dhcp6 can now be configured to attempt to + reconnect to MySQL backends if connectivity is lost. + (Trac #5556, git b31da6f9a3545a2cac228eb17c59d72b6b4823f2) + +1382. [func] fdupont + Added support for generalized UDP Source Port for DHCP Relay + (RFC 8357) for DHCPv4, DHCPv6 and DHCPv4-over-DHCPv6. Note + this required changes to the inter-server protocol used by + our 4o6 implementation, and is therefore not backward + compatible. + (Trac #5404, git 2a6049947ad4caaaa697dba8cb7669a09264f0bc) + +1381. [bug] marcin + Corrected a bug in the libkea-asiolink library which caused + the DHCP servers to crash while processing commands over + the unix domain socket on some systems. + (Trac #5580, git cb5276a24436a9e9ce4d1ab4630e7193a4c2d803) + +1380. [func] fdupont + Implemented lease6-get-all command in lease_cmds hooks library. + (Trac #5469, git a0bb7188df47a0f8020ff57739c5a6ab5f7e9828) + +1379. [func, bug] marcin + The network_state argument is provided to the callouts in + the dhcp4_srv_configured hook point. Also, fixed a couple + of minor bugs in the HTTP client classes. + (Trac #5470, git 93e2b2198c3163afb81d51fdf5ec547602a12415) + +1378. [doc] tomek + New parameter subnets-action for network4-del and network6-del + commands is now documented. + (Trac #5441, git 8b2ffabb3d1ba709f319df2b34d0804ee824446b) + +1377. [doc] tomek + New parameters for Cassandra are now documented. + (Trac #5484, git 56e7026ea2bfab99dbfa1a047dc920ec2f743540) + +1376. [func] razvan + Cassandra backend improvements: get all IPv4 leases, delete + hosts, ability to store fixed DHCPv4 fields (next-server, + server-hostname, boot-file-name) and user contexts in host + reservations. Also, the ability to store MAC address details + in DHCPv6 leases on PostgreSQL has been improved. + (Github #70, git 8cd0c1ae416be88baf69c2243e83a429d6d5c965) + (Trac #5506, git 8cd0c1ae416be88baf69c2243e83a429d6d5c965) + (Trac #5507, git 8cd0c1ae416be88baf69c2243e83a429d6d5c965) + (Trac #5508, git 8cd0c1ae416be88baf69c2243e83a429d6d5c965) + (Trac #4530, git 8cd0c1ae416be88baf69c2243e83a429d6d5c965) + +1375. [func] tmark + When encountering errors unpacking vendor specific options, + both kea-dhcp4 and kea-dhcp6 will now log the error, skip + unpacking any remaining options, and then attempt to process + the packet as is. Prior to this the servers would log the issue + and then drop the packet. + (Trac #5551, git 59ef33ee17672c55cee4ec86ff59737b361a3c21) + +1374. [func] tmark + kea-dhp4 and kea-dhcp6 can now be configured to attempt to + reconnect to Postgresql backends if connectivity is lost. + (Trac #5477, git 8e62a058382b2245d418cfbf829776934c638e5e) + +1373. [func] marcin + Implemented leases parsing from JSON in libkea-dhcpsrv. + (Trac #5466, git 84c2a2084b0fb7c086fc6b9502f7ff58b708174e) + +1372. [func] marcin + Implemented new hook points "dhcp4_srv_configured" and + "leases4_committed" in the DHCPv4 server. The latter supports + new next step status NEXT_STEP_PARK which causes the server + to "park" the client's DHCP packet. + (Trac #5457, git af43f07b0e227ccabcdf07a046a64cebb11bdccf) + +1371. [bug] fdupont + Fixed a bug in JSONfeed tool which did not correctly handle + strings and interpret their content. + (Trac #5513, git 231e923a85db7fb8305c7baa4d15f766fdf60942) + +1370. [bug] tmark + Fixed a bug which prevented inserting multiple host reservations + where IPv4 address was unspecified or when selected subnet identifier + was not specified (5416). Corrected inconsistent data types for + subnet id columns in both Postgres and MySQL schemas. Now both + schemas support up to MAX UINT32 in all subnet id columns. Exiting + databases may be updated without data migration. + (Trac #5416, #5522, git d1dd0f2e27ffa49515c17cf68d54f162359b6384) + +1369. [bug] marcin + Multiple critical performance optimizations in the allocation + engine for shared networks. + (Trac #5437, git 9d8bcd39802795d48c737a05ef3de3634a28ca4e) + +1368. [func] tmark + kea-dhcp4 now explicitly logs packets dropped due to a lack + message type as a log type DHCP4_PACKET_DROP_0009. Prior + to this such packets were logged has having an unsupported + message type of 0. + (Trac #5553, git ff97e5ffb5f3478be71aae8130b6eff3208bd69a) + +1367. [func] fdupont + Added initial skeleton implementation for Radius hook library. + (Trac #5524, git 832aa23b89eab71875bcbdb1e955eb92fdc0e01a) + +1366. [func] fdupont + Implemented FNV hashing function. Cassandra backend no longer + explicitly depends on OpenSSL. + (Trac #5502, git 71de75c3bb099f21fdef0d41806da281d6271287) + +1365. [func] fdupont + Both DHCPv4 and DHCPv6 servers can now listen on loopback + interfaces. This capability requires setting socket type to UDP in + DHCPv4. Note the feature has not been thoroughly tested. + (Trac #5390, git f38cbd73581a7a0f8634a63cb17f9b60407e3acc) + +1364. [func] fdupont + Extended forensic (aka legal) logging with database capability. + (Trac #5420, git 94bd3cc313e9f2a982ef8f8adf0cf44024c76499) + +1363. [func] tmark + Added support for automatically recalculating lease statistics + to the CQL backend. + (Trac #5487, git c807388d581ee1c3e479324f3c399f27feba1c96) + +1362. [func] razvan, andrei + A new parameter exit-wait-time has been added to perfdhcp. It is + now possible to tell perfdhcp to wait certain amount of time after + exit conditions are met before actually terminating. + (Github #55, git 0cd1178ae092fa0c2f122d0e16fb673b4074a6e6) + +1361. [func] razvan, andrei, tomek + Support for Google Benchmark has been added. To compile + benchmarking support, please use --with-benchmark option. + (Github #36, git d6819971410b460d7742c762844e2e75ba580944) + +1360. [build,bug] fdupont + Cassandra build fixes for macOS. + (Trac #5494, git cb0d735628aefd6bca2acc11b73d1f66b45d1c40) + +1359. [bug] rcgoodfellow + Fixed bug in kea-admin causing error on lease-dump. + (Github #61, git 2c9454ec56edc8f3cff8a23329f53ced0d172280) + +1358. [func] andreipavelQ,tomek + The logging configuration is now applied early, which helps + seeing errors in case the new configuration is faulty. + (Github #41, git d77fbec5a003a69cab207aa741133015f2657878) + +1357. [build] andreipavelQ + --with-dhcp-mysql renamed to --with-mysql and + --with-dhcp-pgsql renamed to --with-pgsql. These names were + leftovers from old BIND10 times when Kea was part of bigger + solution that also provided DNS services. Kea is now a stand-alone + software, thus the -dhcp- doesn't make sense in those options any + more. + (Github #40, git 318c9e3d3db9bb938ced27932d8401172529a2ff) + +1356. [doc] andreipavelQ + Documentation has been upgraded to DocBook 5.0. + (Github #39, git 9b6705bd6c534128ec18820ff0cbdd72b7fce9e9) + +1355. [func] tomek + Lightweight 4over6 options reinstantiated. Definitions for DHCPv6 + options 89 through 96 were added back. DHCPv4 v4 Parameters Option + 159 has its definition tweaked slightly. + (Trac #5514, git 6a4aac2b3bfffe41460db6d1cd3c55b1430aa50c) + +1354. [build] andrei + Support for coverage tests has been improved. + (Github #43, git 1949bb3abf71fb3997044d239eb683095166c39f) + +1353. [build,bug] andrei, razvan + Various small changes and bugfixes. Thank you to Andrei Pavel + and Razvan Becheriu for submitting their patch. + (Github #54, git 2efa7494228a1797dff8d9d74107a452c61e2386) + +1352. [func] fdupont + It is now possible to specify client classification restrictions + on per pool basis. This capability will be useful for grouping + certain types of devices into specific address and/or prefix + pools. + (Trac #5425, git 5f3a89d6e32e90cd9cbb2347c7b2208c3e1561e0) + +1351. [build] andreipavelQ + Compilation parameters unified (every file now includes config.h, + several makefile tweaks). + (Github #38, git 7206aa79c57be7466c4ab3dd558663c6c4f858b7) + +1350. [func] fdupont + Several hook points now support next step status DROP. This allows + more flexibility with dropping packets from within hooks. + (Trac #5443, git ff22a906915a34df327174f550f69a396a05bb2c) + +1349. [func] marcin + Implemented HTTP client classes in libkea-http. + (Trac #5451, git 94267e252b372650e4235389251b49d6f5501322) + +1348. [build] fdupont + Modified configure.ac to include premium module m4 macros, if the + module is present. Prior to this it relied on premium having it's + own configure.ac script. + (Trac #5400, git 38c4f2fb8fc8c8874a0e4671cc295a049acf675f) + +1347. [build] fdupont + Added support of boost 1.66.0 ASIO. + (Github #60/Trac #5496, git bc2947de4296bd99b74e50e65f272c7ad5312429) + +1346. [func] marcin + Implemented lease4-get-all command in lease_cmds hooks library. + (Trac #5468, git a378ec28489e98df64830d1f26c3bebd20e256b2) + +1345. [func] marcin + Implemented "force-create" parameter for lease4-update and + lease6-update commands. + (Trac #5472, git 369245e4c5308a701fd483123f2cb2fd7d3d0966) + +1344. [func] andrei, razvan + Support for host reservations stored in Cassandra added. The core + functionality was added. There are some limitations (delete, + client classes, fixed DHCPv4 fields, statistics recount, etc.) + These will be addressed in upcoming tickets. + (Github #37, git e37606fd2d0c02234a55f7445c52a12b2e7a82ec) + +1343. [func] fdupont + User-context and comments are now supported in many new scopes: + global, shared-network, subnet, pool, host reservation, option, + option definition, client-class, control-socket, dhcp-ddns, + interfaces, loggers, and for DHCPv6 pd-pool and server-id. + (Trac #5351, git 3405a8fa5d391d96cd15874fd3de3ac63ceb33b6) + +1342. [bug] fdupont + Fixed subnets and host reservations returned by config-get and + config-write. + (Trac #5452, git c24d057bed2692eaf3cdb6af889122eb582ffede) + +1341. [func] razvan, andrei + Significant update of Cassandra support. A lot of code for + Cassandra Lease Manager has been updated and partially rewritten. + (Github #35, git 41795494720cd9886c1e98d21eaeefd94d674e37) + +1340. [func] marcin + Added support for "dhcp-enable" and "dhcp-disable" commands in + the DHCPv4 and DHCPv6 server. + (Trac #5442, git 36dc68ff7aa8b3cfd265c4f982d10248590039bd) + +1339. [doc] marcin + Updated User's Guide describing how to selectively disable + legal logging for a subnet. + (Trac #5407, git 469080abd711f8e88a5133f76f4ab31a5549a858) + +1338. [func] marcin + Persistent HTTP/1.1 connections and HTTP/1.0 keep-alive + are supported by RESTful API. + (Trac #5448, git 05018f7cc0662d6956b9b7648646e0c17da948ba) + +1337. [doc] marcin + Added placeholder section for the libdhcp_ha hooks library. + (Trac #5447, git d939b5b8bc4befb24daf863f2408d97493e4bfbf) + +1336. [bug] marcin + DHCPv6 server always sends prefixes with the lifetime of 0 for + the prefix leases that should no longer be used, even if those + prefixes are not included in the Renew/Rebind. + (Trac #5403, git 91bb0855ff7ef86ff72b5a946ae716798d7bebc1) + +1335. [bug] marcin + Fixed a bug which prevented inserting multiple host reservations + where IPv4 address was unspecified or when selected subnet + identifier was not specified. This change affects both Postgres + and MySQL backend. + (Trac #5416, git 03fab8f7d5c2e8a5ea735b11ff75652aa31d791d) + +Kea 1.3.0 released on October 27, 2017 + +1334. [bug] marcin + Fixed a bug in the DHCPv6 server whereby a lease with zero + lifetimes could be mistakenly included in the server's + response. + (Trac #5387, git 140e7239096c0d5b9fc82b2c9c461476bf9d5729) + +1333. [doc] tmark + Added a discussion of conflict resolution to the DHCP-DDNS chapter + of the Kea admin guide. + (Trac #5275, git ce3fe30524cdc21a9cabeafbdcb2fc3cd2e86cff) + +1332. [doc] tomek + Clarified list of supported options, added examples for using + hex notation to specify option values. + (Trac #5068, git c942586172a68a7fac09e366383d996ade7f3840) + +1331. [func] marcin + Default "lfc-interval" value is now set to 3600. + (Trac #5341, git dd1af78a49bfb68b88e8215dde65e40a470af81c) + +1330. [bug] fdupont + The option length checks were relaxed for the V-I Vendor Class + option. + (Trac #5391, Github #57, + git 8c1ea6684a808e8d3af9ea7eccecd93adc801e8a) + +1329. [func] marcin + Added support for "client-id" identifier when querying for + leases in the lease_cmds hooks library. Documentation + updated accordingly. + (Trac #5395, git aceafa67f4fbde55ed6724a7b7551ed251e4ee91) + +1328. [doc] vicky + Acknowledgements section updated. + (Trac #5385, git fe0658896f3784cd8f59bd5158244d6975cfe4c1) + +1327. [build] marcin + Updated Kea libraries' version numbers and hooks version for + the 1.3.0 release. + (Trac #5375, git 70c0fc164c89716419b6ee42da3ca0d4be938a30) + +1326. [func] fdupont + server-hostname and boot-file-name are now allowed in global, + subnet4 and shared network scopes in DHCPv4. + (Trac #5277, git 5a2454ec063530867dca2c46a71e342ccd98a5bb) + +1325. [bug] marcin + Fixed a bug whereby a reserved address could be allocated to + a different client when this client explicitly requested + this address. + (Trac #5393, git 0964c66d44516a04ec62c8e70be92f216fe3df5a) + +1324. [doc] wlodek + Added examples of configuration for iPXE boot with DHCPv6 Kea server + (Trac #5356, git c68b9b381930d1e44fd5daa1b9d033035e32cff2) + +1323. [doc] marcin + Added new section to Kea Hooks Developer's Guide describing how + to implement new control commands within hooks libraries. + (Trac #5331, git b23f36ca4a410ba7bca7fd4a9f40c008c77e3c7c) + +1322. [build] marcin + Copy all header files from Kea libraries during "make install". + (Trac #5372, git cb38d39a942351ec04a655a396dd7396ea20548b) + +1321. [doc] marcin + Better explained subnet selection within shared networks when + client classification is in use. + (Trac #5367, git 26b4d240c5a1ba73e5b61f45d5a832e52f6472dd) + +1320. [doc] marcin + Improved documentation of shared networks within Kea Administrator + Reference Manual. + (Trac #5381, git c4be6a71ed3705c182d7ba4417a06ed8fa59f2b5) + +1319. [func] marcin + Added support for DHCPv4 option 54 (dhcp-server-identifier). + (Trac #5376, git aae2d91f101b8c61c0abfb3482de04a8dd074121) + +1318. [doc] marcin + Updated Kea Administrator's Manual with the information about + new capability of flex-id hook library to use value derived from + flexible identifier as a client identifier or DUID. + (Trac #5384, git cce58fee4aa0476712209a7ed92fab587258b49b) + +1317. [bug] fdupont + The kea-admin script now behaves properly when -4 or -6 is missing + while using lease-dump command. + (Trac #5379, git 53870c07d1864faf2a25bdc4ed6c5cf2b0223f8d) + +1316. [bug] marcin + Corrected a bug which caused a returning DHCPv4 client performing + 4-way exchange to be assigned a different address from a shared + network than previously allocated. + (Trac #5388, git 601a387ba43d990947ee2e1a05e78851d8133a3c) + +1315. [bug] marcin + Created unit test for the case when there are several IPv6 subnets + within a shared network and each subnet specifies the same + DHCP option with a different value. This test verifies the fix + applied with ticket #5364 which address the problem of assigning + options from invalid subnet. + (Trac #5366, git 112addd4619509c464dc051f4885e00dc1f69d26) + +1314. [bug] marcin, tomek + Improved unit tests for shared networks and corrected a bug + in the allocation engine which caused wrong subnet id to be + stored in the lease database and wrong subnet be used by the + DHCPv6 server for options assignment. + (Trac #5364, git 07ce52ee4ce65eeeea1890201812ac83a286658f) + +1313. [bug] fdupont + Empty output_options structure is no longer returned by config-get + or config-write commands. + (Trac #5267, git f2290503ed899f00c7f2f2b905b90bc360617340) + +1312. [func] marcin, tomek + Added new configuration parameter "outbound-interface", which + controls how the outbound interface and source address is + determined for the responses sent by DHCPv4 servers to relayed + clients. The default setting is to use the same interface as + the one over which the query has been received. The alternative + is to use system routing to determine the right interface and + source address. + (Trac #5377, git d08088923ec1ea0d1cb8a947bd520174d874d25e) + +1311. [build] fdupont + Improvements in --enable-shell and other parameters passed while + building dist tarball. + (Trac #5210, #5339, #5352, + git e531cda4e10114a8f14bcbf3d7e25b6584230875) + +1310. [bug] marcin + Documented "ia_pd" parameter for lease6_renew and lease6_rebind + hook points. + (Trac #5368, git 6842036714f84bf12529e1a43e12ac5a07e2e5c0) + +1309. [func] fdupont + Kea-shell script now has an optional --path parameter that allows + using not empty URL path. + (Trac #5361, git 9a31c417d52f1481185b0880a10a4b5f16d8462a) + +1308. [func] fdupont + Support for conditional token ifelse(condition, iftrue, iffalse) + was added. It can be used in flex-id, client classification and + possibly other expressions that may appear in the future. + (Trac #5363, git 34c364abd23a1a745da79c10c69b94b8defad08b) + +1307. [func] fdupont + When an option is defined with a record type and the array + flag is true the last record field is an array. All standard + options supported by ISC DHCP and using this are now supported + by Kea (so now there is no standard option supported only by + ISC DHCP). + (Trac #5226, git f66951dbda8f62122187ac3a99f0fdcc65b383d8) + +1306. [bug]* marcin + Respective Kea daemons now use their own default configuration + files: kea-dhcp4.conf, kea-dhcp6.conf, kea-dhcp-ddns.conf and + kea-ctrl-agent.conf. This change is aimed at eliminating the + issue whereby 'config-write' command overrides configuration + of all servers rather than just a configuration of the daemon + to which this command has been sent. + (Trac #5338, git 252e5e8a75fa42271b0cdb6edad3c152bbf3c515) + +1305. [bug] tmark + Corrected logic that was causing kea-dhcp4 to remove DNS entries + when renewing leases with generated FQDN names. Prior to this + the server was incorrectly scheduling DNS removal when configured + to generate the client's FQDN. + (Trac #5369, git 18f57f502f1b9fb5bf7ef5ab995ddda60006fd39) + +Kea 1.3.0-beta released on September 29, 2017 + +1304. [bug,func] fdupont + The DHCPv4 Vendor Specific Information (code 43) option and + private options (codes 224-254) can be redefined at the global + scope or inside a client-class. This allows to support different + definitions following the DHCPv4 Vendor Class Identifier (code 60) + option or when defined as a binary option to accept with problems + option 43 carrying a raw value. + (Trac #5073, git b290b3cbaa926d4e9613f6607c5fcbae2301b266) + +1303. [func] tmark + The command handlers in the lease_cmds hook library are now + implemented has hook callouts and registered with the Hooks + manager. Prior to this they were registered as command handlers + with the Command Mgr. + (Trac #5332, git c902bda9f026720f6efbf2e5ad407302aeb5e466) + +1302. [func] marcin, tomek + DHCPv6 server supports shared networks. It allows for grouping + multiple subnets and use them interchangeably to allocate + IP addresses and other resources to a client located on the + particular link. This mechanism is useful to extend an + address space for the client belonging to a particular + subnet and/or to segregate clients being on the same link but + belonging to different classes, e.g. cable modem vs router. + (Trac #5307, git 110d0c9e403af28e6810141f978d9bf55c381f14) + +1301. [func] fdupont + Added some standard option definitions which are supported + by ISC DHCP but not (yet) by Kea. + (Trac #5227, git 4bef838245f08fca5f2cf037cd3a75278b77f8f9) + +1300. [doc] tomek + Documentation for shared networks added. + (Trac #5310, git 41fd3bb7ed2f4cd15db6cbd14713f4474f659c92) + +1299. [doc] fdupont, tmark + Added an example stunnel configuration file to demonstrate + using kea-shell through https. + (Trac #5282, git efe044fa90d53398e215d2bf31e00e83353e8774) + +1298. [func] marcin, tomek + DHCPv4 server supports shared networks. It allows for grouping + multiple subnets and use them interchangeably to allocate + IP addresses and other resources to a client located on the + particular link. This mechanism is useful to extend an + address space for the client belonging to a particular + subnet and/or to segregate clients being on the same link but + belonging to different classes, e.g. cable modem vs router. + (Trac #5306, git 4f2fca69be32997c718ab2c7f37ac80ed4e41d15) + +1297. [func] tmark + Added a hook point, "command-processed", to kea-dhcp4 + and kea-dhcp6 servers. This hook point occurs after + a control channel command has been received and + processed. + (Trac #5111, git 043d17b0688d4ab25b12469d27859983cb297d07) + +1296. [bug] tmark + Altered the mysql backend logic to disable auto_reconnect and + set session value of wait_timeout to a very large values. This + avoids a segfault in MySQL client library caused by auto-reconnects + occurring when kea server's MySQL connection is idle for longer + than the global MySQL wait_timeout. + (Trac #5354, git 9881ef6d772f27de82c048e198ba0ff9e71b9351) + +1295. [bug] tomek + DHCPv4 and DHCPv6 servers are now able to parse shared networks. + A basic shared networks examples added. + (Trac #5357, git 74b824cc80f8be66084308c0bf12c1a71f311915) + +1294. [func] marcin + Implemented data structures holding configuration of shared + networks. The new structures are unused until remaining tickets + for shared networks implementation are completed. + (Trac #5305, git 76dd46f7070c141cc89d772d69a897b67bd179a1) + +1293. [func] tomek + DHCP4_BUFFER_WAIT, DHCP4_BUFFER_WAIT_INTERRUPTED, DHCP6_BUFFER_WAIT, + and DHCP6_BUFFER_WAIT_INTERRUPTED logging messages are no longer + emitted. + (Trac #5345, git 779040fa399fb2da271569dc315294463e28f852) + +1292. [func] tomek + User contexts are now supported for subnets. This adds a new + functionality, but also makes the existing documentation example + correct. + (Trac #5350, git 828ecb6dbdaaedd97d2af79dfa9b7f4845d3a049) + +1291. [func] fdupont + The configuration parser now checks for mandatory parameters that + are missing. + (Trac #5124, git af0f3d50a835f64a5f8a47c47ef464b119a49643) + +1290. [bug] marcin + Corrected a bug causing illegal memory access while + retrieving server hostname and boot file name fields from + the host reservation database. Many thanks to Juan Settecase + for his assistance in identifying this issue. + (Trac #5340, git 2fdc7efcb862ced3c1054620bf14e75a0db6aed2) + +1289. [bug] marcin, tmark + Corrected handling of EAGAIN and EWOULDLBOCK errors in + UnixDomainSocket. This was causing intermittent command + channel write errors in kea-ctrl-agent on some Debian systems. + (Trac #5336, git db251cb66ad77ba28ab44281323ddeb23cf29506) + +1288. [func] marcin + Documented subnet_cmds library in the Kea User's Guide. Also moved + several classes from dhcp<4/6> into lib/dhcpsrv to facilitate subnet + command parsing. + (Trac #5315, git d259f330a1690b20eb368f6252f5da2cdb6187de) + +1287. [bug] tmark + Logger configuration now correctly uses maxsize and maxver + parameters, allowing log rotation to function properly. Prior to + this these values were not being propagated downward, causing log + rotation to always be disabled. The defaults for maxsize and + maxver are 10Mb and 1 respectively. + (Trac #5324, git 75f148458bdeeed27eb877cc2c3ce3069b152f38) + +1286. [func] marcin + Configured subnets are now indexed by subnet identifier and + prefix for faster subnet lookups in the configuration. + (Trac #5314, git 894aeb048b7281f947f87a5d6dc5112fac4a86fb) + +1285. [func] tomek + Several new commands implemented in lease_cmds library: + lease4-del, lease6-del, lease4-update, lease6-update, + lease4-wipe and lease6-wipe that allow deleting and updating + leases and also wipe all leases from a specific subnet. + (Trac #5280, #5281, 94ff2448c8cf6e3321f4d1b3666a2e2b736f6c50) + +1284. [func] tomek + A new library, lease_cmds, has been implemented. Its intended + purpose is to support commands for lease management. Currently + supported commands are: lease4-add, lease6-add, lease4-get, + lease6-get. Additional commands and documentation are planned. + (Trac #5272, #5279, git 785c2e521b198a03d26bde4a804638bfc19ce91b) + +1283. [func] fdupont + An 'always-send' parameter has been added to options + configuration. It allows an option to be always sent, even if + a client didn't request it. + (Trac #5241, git cef2b630c720a442710efc0d1615b7c7bce01e54) + +1282. [bug] fdupont + Now all interface service sockets are closed before interface + re-detection. Note if the re-configuration fails they remain + closed. + (Trac #5333, git 8bff2ec336456de51d0d9d3ff011d28a6a61ef66) + +1281. [build] tmark + Configure script now correctly recognizes static boost_system + library as well as checks for the presence of static glibc static + libraries when --enable-satic-link is specified. + (Trac #5337, git 42548148cbeaaa285519e121f493d52607f1e8a0) + +1280. [build] waltsteverson + Missing header for PD-exclude DHCPv6 option is now installed. + (Github #51, git 36a8e1b8f687a6398af8a10f241e8d19e9de33d8) + +1279. [build] waltsteverson + Compilation fixes for Alpine Linux + (Github #50, git 824afa63354e045a5e4f6437246c329d359e04dd) + +1278. [doc] jsoref + Many spelling corrections. + (Github #52, git 1dcaef6f8e7901d628c8638fc2f8145ac0279586) + +1277. [func]* marcin + Added support to Command Manager to process commands using + callouts implemented within hooks libraries. + (Trac #5330, git 8041d177ed5587101ecb47a09820a7e67e42a066) + +1276. [build] tmark + The configure script now configures the build to require the Boost + system library (boost_system) by default. The library must be + installed and you may need to specify "--with-boost-lib-dir=<path>". + Prior to this the default was to attempt to build Boost with headers + only. Building with headers only may still be done, though it is + strongly discouraged, by specifying "--enable-boost-headers-only". + (Trac #5215, git b6f1ee0d1210e35631369fc697c76cc3cf2c4130) + +1275. [func] marcin + LibraryHandle object can now be used to register handlers + for the control commands in a hook library. + (Trac #5329, git 966cc24ae5593ebb08d6f02a11dab23463ebad7e) + +1274. [func] marcin + It is now possible to manage Control Agent with keactrl. + (Trac #5108, git 53ba9f8197a25abd2c52ee3f5e95bc4e4be0241f) + +1273. [doc] marcin + Documented in the User's Guide that the server terminates + when database connection is lost. + (Trac #5320, git 5c8b277e8041b53b27a87b32d162ab41ef8b43d7) + +1272. [bug] marcin + Fixed inefficient leases indexing in the memfile lease + manager causing increased CPU utilization during lease + searches. + (Trac #5328, git 23b490414f5575b252c8c42fbe93ad2c57d47953) + +1271. [doc] marcin + Documented how to setup secure connection to the Kea + control channel. + (Trac #5304, git a920453bbcf9ffa7200eeddca6323faeff498f16) + +1270. [bug] tmark + Added a distribution rule to src/bin/d2/Makefile.am so + d2_parser.yy will now be included in the distribution source + tree. Also added entries for missing headers to asiolink/ + Makefile.am. + (Trac #5325, git 199003d7aa9f8d4a7f8daa73f8259e951bc03217) + +1269. [func] marcin + Command manager can now handle large responses to control + commands. Prior to this change the size of the response + was limited to 64k. The server now also signals timeout + after 10s if the connection lasts too long. + (Trac #5318, git 8531a65521ea42f01f3bed444b054e92f7bd1a46) + +1268. [func] fdupont + Kea now re-detects network interfaces every time configuration is + changed. 're-detect' parameter added to restore old behavior, if + needed. + (Trac #3389, git b2ce84790c33d1580dcfa773d7fcfb65c27addc7) + +1267. [bug] fdupont + Unit-tests for libdhcp now ignore ENOPROTOPT when setting + SO_REUSEPORT to improve compatibility with older RedHat versions. + (Trac #5243, git a7b478e1d1f7f0b38055086fe9ac053e4fab2850) + +1266. [func] fdupont + It is now possible to define options in DHCPv4 pools. + (Trac #5288, git aa2839caab8d885e5bceca6f506162debd239b3f) + +1265. [func] fdupont + Extended classification relay6[nest] syntax to allows counting + relays from the DHCPv6 client side by using negative number, + e.g. relay6[-1] represents the first relay (closest to the + client). + (Trac #5287, git 7d0f7a8372dcf256fea8ac13330f0e3e7ed2e8ef) + +1264. [func] marcin + Kea's command manager has been re-implemented to use ASIO. + Simultaneous connections over the control channel are now + possible. + (Trac #5317, git 4139a2f41bb3736615bdfa278746962a16384d0d) + +1263. [doc] marcin + Added example configurations of the nginx and Apache2 HTTPS + servers running as reverse proxy for Kea RESTful API. + (Trac #5302, git 48113aba218603afac4d457075458d4988e4082b) + (Trac #5303, git b3113da16eb5c6fa323068f0a57dfa30f42893d2) + +1262. [func]* marcin + Renamed "dhcp4-server", "dhcp6-server" and "d2-server" parameters + of the Control Agent configuration to "dhcp4", "dhcp6" and "d2" + respectively. + (Trac #5190, git fc67885022115df76425c6901959cedee63a93b9) + +1261. [bug] marcin + Eliminated valgrind errors in libkea-http. + (Trac #5261, git 34addef4a654665c6022f0269d51970c72431ac2) + +1260. [bug] fdupont + Corrected logic in prefix delegation that was causing multiple + entries to be written to the lease file when renewing or rebinding + a prefix. + (Trac #5104, git b9ab6ebe7a491c062bc8b0b42afc53f4d6cee011) + +1259. [func] marcin + Implemented timeout for the control commands forwarded between + the Control Agent and Kea servers. The enhanced forwarding + mechanism uses asynchronous calls over the unix domain sockets. + It also detects the JSON structure boundaries when receiving it + over the stream sockets. + (Trac #5189, git e48d9399c215406f2dab1601d22d6c932b4af271) + +1258. [bug] fdupont + Fixed wrong python package path when kea-shell was configured + without a prefix. + (Trac #5214, git 44908c5fa56bfa7e1113078f43c458687a97388a) + +Kea 1.2.0 released on April 28, 2017 + +1257. [bug] marcin + Improved logging in the hosts manager. + (Trac #5264, git 2fb9fd78e63f5d09810702847ad3e3b3020ea92b) + +1256. [bug] tomek + Control Agent now writes proper configuration when using + config-write command. + (Trac #5253, git a1b5da4db6ebfa9635bbe411ec363cdcc4fd1d28) + +1255. [bug] marcin + Fixed failing unit tests in libkea-http. + (Trac #5260, git 43394f76efb1634155c04b205dec7361fc21f4f9) + +1254. [func] tomek + Various improvements needed for upcoming host commands library: + host data source is now able to delete hosts, hosts can be exported + to JSON format, C++11 code for configure script moved to separate + file, several compilation warnings removed. + (Trac #5208, git 88555d8f23745f3d615448e906796920cc7f44d0) + +1253. [func,doc] tomek + Default configuration file has been overhauled significantly. It + now covers many additional options and features. Command channel + is now enabled by default. Thanks to Dan Mahoney for his review. + (Trac #5198, git 280de81cfe957ccab8a28074bdb0a4bc0e45104e) + +1252. [bug] tmark + kea-dhcp6 now correctly resets lease state and increments the + assigned statistic when it reissues an expired-reclaimed lease + to the lease's original client, in response to a REQUEST from + said client. + (Trac #5252, git 85bde7adbe6a78238bd5e17fecabfa918755f16c) + +1251. [func] tomek + New type of host identifier (flex-id) used in reservations has + by added to MySQL and PostgreSQL schemas. + (Trac #5195, git 37c26cc30b717019fbd6b7349279541edb351382) + +1250. [bug] fdupont + Do not unregister timers when running the config-test command. + (Trac #5186, git e891b06940e41b4cfaa324c2ace8fdd761ee6662) + +1249. [bug] tmark + The assigned lease statistics were not being probably adjusted + by either kea-dhcp4 or kea-dhcp6 when reclaimed expired leases + were reissued. + (Trac #5247, git 4e5193fb32b14325ccf5824614e58bcceb3e6388) + +1248. [bug] marcin + Improved socket connection handling code, corrected numerous + failing and crashing tests for libkea-asiolink, libkea-http + and kea-ctrl-agent on Debian, Fedora and Ubuntu. + (Trac #5217, git 4bcb45f0c88aba3d0f70ca48d9fff6f1d4616bc2) + +1247. [bug] marcin + Resolved issues with DHCPv4 host reservations by 'client-id' + when MySQL or PostgreSQL host database backend is in use. + Also, the 'client-id' is used together with other host + identifier types when 'host-reservation-identifiers' parameter + is not specified. + (Trac #5102, git 390d687d0f61635f5562d13860ff6362eee67853) + +1246. [func,bug] tomek + Restrictions in filename argument in config-write command have + been removed. It is now possible to use absolute paths. + DHCPv4, DHCPv6, D2 and Agent parsers did not handle flush, + maxsize or maxver parameters in logger configuration correctly. + This is now fixed. + (Trac #5187, git a30ffcc67cfb7370c586d3c85147792e27aab4c7) + +1245. [func] fdupont + DHCPv4 domain-search option can now be defined using + comma separated values. + (Trac #5087, git eca0b8c6425bc922587675100f100b1aae54aee2) + +1244. [doc] tomek + User's Guide section about Kea shell added. + (Trac #5171, git 3dc4908fe02e86c57ccd5ad2d2f8330655f438be) + +1243. [func] tomek + config-reload command implemented. It allows Kea DHCPv4 and DHCPv6 + servers to reload its original configuration file. Also, + set-config command was renamed to config-set. + (Trac #5213, git b209c2b577a2f9da71cc918d7a551f8efdc1c4cb) + +1242. [func] fdupont + Integer fields in options can now be specified in either + decimal or hexadecimal format. + (Trac #4540, git 4cbf341f4169cf1e1eae0721644797a726d89702) + +1241. [func] fdupont + Support for tuple-based options added. DHCPv6 option + bootfile-param (code 60) can now be set in a more convenient + manner. + (Trac #4070, git 30102cacee95b91e6c4666f0c11f06232f19eeb9) + +1240. [bug] marcin + Corrected IOFetch unit test failures on Debian. + (Trac #5216, git a7c2946678c43aedfb2e3c37b9730a10067528f3) + +1239. [func] marcin + Implemented additional sanity checks when adding host + reservations into the configuration file. + (Trac #5207, git ea42c6f479918235ae4a67a60d08720e2664720c) + +Kea 1.2.0-beta released on April 7, 2017 + +1238. [build] tmark,tomek + Library version numbers bumped for release. + (Trac #5201 git 58c9c5b705d72031c1589c30c542384a9d43e0f3) + +1237. [bug] marcin + Fixed hanging Control Agent unit tests. + (Trac #5200, git 65daafd135965f9eb0bd4c3a22085d4bd3c6ffbe) + +1236. [build] zeitounator + Improvements in tools/tests_in_valgrind.sh script. + (Github #49, git 272e7babf9ebeab5f78850394d72c9431041e2e9) + +1235. [func] MrMarvin + kea-admin now supports -h (and --host) parameter that can specify + MySQL or PostgreSQL database locations other than the default + localhost. + (Github #14, git 4038157a3499ad90956c98a2172c57b173f2b985) + +1234. [build] fdupont + Improved installation procedure for kea-shell. + (Trac #5170, git 68a902fb723965ee6f5b7a8272224395917525cc) + +1233. [doc] marcin + Documented new component Kea Control Agent in the Administrator's + Manual and the Developer's Guide. + (Trac #5175, git abf7887ad65eb4b221a1fe61ea0c9773b4feaddb) + +1232. [func] tomek + host4_identifier and host6_identifier hook points have been added. + Premium: Flexible Identifier (flex-id) hook point has been developed. + It allows users to specify a custom expression that takes any + option, field, characteristic or property of the packet to be + used as identifier and then do reservations based on the evaluated + expression for each incoming packet. + (Trac #5132, git cd497526d5bff7ae55bb41c9264fb33943a0cf62) + +1231. [func] marcin + Control agent forwards commands to be handled by other Kea + servers. + (Trac #5078, git 19a50ed1ccafae19ef10d84cba73992cadf49753) + +1230. [bug] fdupont + kea-dhcp-ddns now correctly populates the original ID in the TSIG rdata + when doing signed updates. Prior to this the value was set to zero + causing PowerDNS to reject then requests with a bad key error. + (Trac #5071, git cafa3d5c24f0112b0b9384a9c1083fe8a3eeb2bf) + +1229. [func] fdupont + A new command: config-test has been implemented in DHCPv4, DHCPv6 + and control agent servers. It allows checking whether new + configuration looks correct. + (Trac #5150, git 5f6cf226e848baef8d9af64e16c1dbf617a0a798) + +1228. [bug] fdupont + Logging on syslog now uses correctly the given facility. If none + is given the default facility is local0, and with an unrecognized + value user (log4cplus default). The syslog openlog() ident + parameter is the program name. + (Trac #5053, git 532d9f0e459ab1450a83a5015a2dd54745794383) + +1227. [func] fdupont, tomek + Additional commands: version-get, build-report have been + implemented for DHCPv4, DHCPv6 and Control Agent + components. Control Agent also now supports shutdown command. + (Trac #102, git 9d2b8326fc032876d74c1768c61c630987c25cc5) + +1226. [func] fdupont + Command line option -t support added to libprocess and implemented + for kea-dhcp-ddns and kea-ctrl-agent. It allows configuration sanity + checking. Note that some parameters, such as ip-address, port, and + DNS server addresses for instance for kea-dhcp-ddns are not fully + checked as sockets are not opened or connections are not attempted. + (Trac #5152, git 2231d79ebebd3cdf432cd4a8ac32018d180e27b6) + +1225. [func] tomek + Two new commands: config-get (retrieves current configuration) + and config-write (writes current configuration to disk) have been + implemented. + (Trac #5151, git ffb26811736a2ae6f9b5556b9823aa284b7e0aec) + +1224. [func] fdupont + toElement(), a crucial functionality for upcoming get-config + and write-config command, has been implemented. + (Trac #5114, git df38c26f957c9ac329718ac9d70ffbcf7b95c4e9) + +1223. [func] tomek + Kea-shell, a management client able to connect to REST interface + provided by Control Agent, has been added. Control Agent now + uses bison parser, which provides better sanity checks, improved + comments and file inclusions. + (Trac #5137, git 816dc5ccfa374bd9942a49c7bac475f6d0523caa) + +1222. [func] fdupont + Obsolete parameter 'allow-client-update' has been removed + from DHCPv4 and DHCPv6 components. + (Trac #5145, git 01fde297a978e2bd832655ac7276e5aa3a7e8400) + +1221. [func] tomek + Control agent is now able to parse the input configuration and + store it in its configuration syntax structure. Upcoming tickets + will take advantage of that information. + (Trac #5134, git 828304f2f408888e4b096418e90e35ba524979d0) + +1220. [func] parisioa, fdupont, tomek + DHCPv4 and DHCPv6 parsers have updated to accept database port + parameter. The parameter for Cassandra is now called + "contact-points" (was "contact_points" previously). + (Trac #5061, git d12b6f4a6d80d6bc854f2a8a086e412dc37867bc) + +1219. [func] marcin + Control Agent uses libkea-http to process commands over + the RESTful interface. + (Trac #5107, git 88ce715926a46b6b3832630116fc7782adc46c7b) + +1218. [func] tmark, tomek + Configuration parsing for D2 has been migrated to bison/flex + and the SimpleParser framework. This includes changes to + libprocess which render the CPL agnostic to the underlying + parsing mechanisms. + (Trac #5110, git feb2cedc0936364a923ab78542a21114533dd0f5) + +1217. [func] marcin + Implemented libkea-http library. + (Trac #5077, git cd72284b5b221e620770883db7e166c4d3ba7eb6) + (Trac #5088, git 715d18f961801ffbd798a65b19459178c3a53857) + (Trac #5099, git 7e8df7993f295431e2cb6a13858f746649c4e18d) + +1216. [func] fdupont, tomek + Command line option -t implemented for DHCPv4 and DHCPv6. It + allows configuration sanity checking. Note that not all parameters + are completely checked. In particular, service and control channel + sockets are not opened, and hook libraries are not loaded. + (Trac #3770, git 1d12582e270935ee7b72548d9c66753f4eea4ca4) + +1215. [doc] tomek + Developer's Guide updated to cover flex/bison parser. + (Trac #5112, git 44139d821c1f4e43dbff22d49101a0854e4f9f5b) + +1214. [func] tomek + Bison parser implemented for Control-agent. The code is able + to syntactically parse input configuration, but the output + is not used yet. + (Trac #5076, git d99048aa5b90efa7812a75cdae98a0913470f5a6) + +1213. [bug] fdupont + Option string values containing comma can now be specified + correctly by preceding comma with double backslashes (e.g. + "foo\\,bar"). + (Trac #5105, git fa79ac2396aa94d7bac91bd12d3593ebaaa9386d) + +1212. [doc] andreipavelQ + Many spelling corrections. + (Github #47, git a6a7ca1ced8c63c1e11ef4c572f09272340afdd7) + +1211. [func] andreipavelQ + Updated PostgreSQL version reporting to be in line with + MySQL and Cassandra. + (Github #42, git 7ef4a190facadd66775b4a44c696d1c4215616cd) + +1210. [doc] andreipavelQ + Doxygen version updated to 1.8.11. + (Github #45, git ce72998382b62269823fa0dcbfa41dfa9c72b69e) + +1209. [func] tomek + Relay options are now printed in DHCPv6 when sufficiently detailed + debug logging is requested. + (Trac #5131, git 5bf58b21fcf07f2e2e97275efa1f76cde913b30a) + +1208. [func] tomek + Global DHCPv4 and DHCPv6 parsers have been migrated to the + SimpleParser framework. Several parameters (renew-timer, + rebind-timer, preferred-lifetime, valid-lifetime, match-client-id, + next-server, decline-probation-period, dhcp4o6-port, + echo-client-id) now have explicit default values. + (Trac #5019, git f3538dd031e6f29abcd516f425d72c8f929abbb0) + +1207. [func] fdupont + Client classes parser migrated to SimpleParser. The 'name' + parameter in 'client-classes' definitions is now mandatory. + (Trac #5098, git e93906e48a6e2b0ff78c5e37dca642646fe47d43) + +1206. [func] tomek + 'hooks-libraries' parser migrated to SimpleParser. The code will + now refuse a configuration if a hook library fails to load. + (Trac #5031, #5041, git 1bbaf4cbcf6fda59bacdf526a6c762315fdd88a1) + +1205. [func] tomek + Parsers for interfaces configuration converted to SimpleParser. + Removed obsolete 'version' parameter in Dhcp6. + (Trac #5020, #5038, git 3d8e48c640e302670c04907468d11faafbe9fe7b) + +1204. [func] marcin + Added 'control_command_receive' hook point to Kea Command + Manager. + (Trac #5100, git d0c7cb29a7df3588c540afb4ca56de55f26142e0) + +1203. [func] marcin + Implemented TCPAcceptor class in libkea-asiolink. This class + provides means to listen and asynchronously accept new TCP + connections. + (Trac #5094, git 920ba90696ba9d8579a7db5e1efcf955d6654a96) + +1202. [func] tomek + Parsers for mac-sources, control-socket, and relay-info converted + to SimpleParser. It is no longer accepted to specify empty + mac-sources. Either specify actual values in mac-sources or + don't specify mac-sources at all. + (Trac #5032, git f1c9dee0936b48be28f890ffd428fbdeb87c12ea) + +1201. [func] tmark + kea-dhcp4 and kea-dhcp6 now support the "set-config" command. + The command causes the server to replace its current configuration + with the configuration supplied as the command's argument. + (Trac #5046, git 4afbdcf89c9f83d944f774d05bd401d3f2768d10) + +1200. [func] tmark + kea-dhcp4 and kea-dhcp6 now support the Command Channel "libreload" + command. The command causes the server to unload and then load all + currently loaded hook libraries. + (Trac #3238, git d4d8665494e1847b34b66f8ef542851ea6f0213c) + +1199. [func] tomek, fdupont + Dhcp4 parser migrated to bison. This yields a number of user + visible changes: + - better comment handling (bash, C, C++ style comments) + - file includes now supported + - better syntax checking + - added advanced.json config example + - removed obsolete 'version' parameter + (Trac #5017, git 1cf853c595a100c86f9b2b3353f1b5964d902147) + +1198. [func] marcin + Created kea-ctrl-agent. This application currently doesn't + do anything. Future tickets will add REST API to allow for + managing Kea services. + (Trac #5075, git 1ec7586da5ae1474b52d5a395fb80ee37d6d568e) + +1197. [doc] tomek + Configuration examples now set lfc-interval to a default + value of one hour. + (Trac #5072, git cf4362196fa2b7892643d1e40b974bb450a3de7e) + +1196. [func] tomek, fdupont + Dhcp6 parser migrated to bison. This yields a number of user + visible changes: + - better comment handling (bash, C, C++ style comments) + - file includes now supported + - better syntax checking + (Trac #5036, git 4c5902da95a5228275cdb151b357864cfa9c31f5) + +1195. [build] fdupont + Altered to compile in C++ 2011 standard mode. Also replace (most) + instances of the deprecated std::auto_ptr with std::unique_ptr. + (Trac #5066, git a060d4a983860bf3056d50d9bf7ee4355c8372f2) + +1194. [build] marcin + Moved StateModel class from D2 to libkea-util. + (Trac #3175, git 270ec379aec2894104a299cdd1080e24007e25fb) + +1193. [doc] stephen + Update Hook Developers documentation to make it clearer where + the Kea include files and libraries are located. + (Trac #5069, git 14a78caaf3af9fe9a0ffe2c8af784eab78e813e0) + +1192. [build] marcin + Created libkea-process library and moved the Controllable + Process Layer (CPL) from D2 to this new library. + (Trac #5074, git 4563925f7966e9da2132eb427e742cc3d3feee5d) + +1191. [build] tomek + Optional support for premium package added. + (Trac #5027, git 5ff51f28a1f05d941bb117986922a6f410f23c6c) + +1190. [func] tomek + User context implemented: an arbitrary user information can + now be defined for address and prefix pools. + (Trac #5023, git 4f81789e19b72c933bcf86e402b417c63bd7bd3f) + +1189. [func] fdupont + Owing to API changes, crypto code now requires OpenSSL 1.0.1 or + later. + (Trac #3908, git 4c14fdfd4187a4c8f7b775432082b76782e47663) + +1188. [doc] vlegout + Fixed several spelling mistakes. + (Github #32, git d51c005519c4add6fd0c37bcd68b0fbe94941b2d) + +1187. [bug] marcin + DHCPv4 server allows for allocating multiple leases for the + same hardware address if a different client identifier is + used for each lease. This facilitates the PXE boot use cases + where a booted machine may request a lease multiple times. + (Trac #5029, git 03defed4d8bb9a997d31dbfcf30ae3f866bd3353) + +1186. [func] marcin + Support for DHCPv6 options defined in RFC6603 and RFC7598. Thanks + to Andrei Pavel and Cristian Secareanu of Qualitance for submitting + initial implementation. + (Trac #Github24, git 59b62eb3ddd9db62c04bd47cd8fbdc1af62fbc1b) + +1185. [build] marcin + Install Kea headers to be used for building external libraries. + Before this change some required headers were not installed. + (Trac #5055, git a46087b7b7face4a1318658bbdcbf7602c1bb729) + +1184. [bug] eest + Fixes in the occasionally failing LFC unit test. This + fix was provided by Patrik Lundin. + (Github #31, git 69a5722bf3b41bf3b2bc0c2bcac966c23c08f62d) + +1183. [bug] tmark + kea-dhcp4 now correctly loads declined leases from CSV + lease files. Prior to this, declined leases were being + incorrectly and silently discarded. In addition, both + kea-dhcp4 and kea-dhcp6 will now emit an error log for + each invalid row encountered when loading leases from + CSV files. + (Trac #5058, git 29b088079bed3c5059fdf8a43a4e79cd7f9a4207) + +1182. [func] marcin + DHCP servers detect overlapping pool ranges during + configuration. + (Trac #2280, git c8f931e0189c9630f5fba5d2a5553bed4abf36f7) + +1181. [func] marcin + Extended DHCPv6 server to allow for specifying DHCP options + on address and prefix pool levels. + (Trac #5022, git e3b2785c79aedbb0c8af7468d61f6d61dafd2282) + +Kea 1.1.0 released on September 30, 2016 + +1180. [doc] stephen + Editing pass through the Kea guide. + (Trac #4484, git 63456fab1b978bd515198b9b9e604f293efd8217) + (Trac #5008, git f09cd12d5b1abc60ccef98df2abc6c41b482a404) + +1179. [doc] tomek + Manual pages updated. + (Trac #3515, git 4cf0395e11e724786c4d2a1d48805f1c770f4c99) + +1178. [doc] tomek + user_chk hook library is now documented in the User's Guide. + (Trac #3209, git 4a8534d968a21cff3851619fb22d0032a1202c87) + +1177. [build] marcin + Updated Kea libraries version numbers for 1.1-final release. + (Trac #5012, git 6e9a224b46def357141a31386fcc912b29dfe16d) + +1176. [doc] tomek + Developer's Guide has been updated. + (trac #4299, git ed38076c183394feaef60e7123d0c488c9f6447d) + +1175. [bug] marcin + Corrected a bug whereby a client, for which there was no + host reservation specified, did not obtain an IPv6 lease + from a server when PostgreSQL or MySQL host database backend + was in use. In addition, PostgreSQL host database backend + allows for specifying NULL values in certain columns within + host reservation tables. + (Trac #5009, git d3109bb27786867fdc99954ba55367f0ad129e7a) + +1174. [bug] tmark + Modified kea-dhcp6 to avoid requesting DNS updates when + existing leases are renewed without changes to the FQDN. + (Trac #5007, git 05ea3a5eb75c06cf9814c63a1a54261bf58a954b) + +1173. [bug] xxwolfsrainxx, marcin + MySQL database creation scripts use single quotes for + strings to avoid issues with creation of the database + when MySQL server operates in ANSI_QUOTES mode. + (Github #30, git e40a54a8e24b5f6427edd4afcd5cdc15012b8866) + +1172. [bug] andir + Kea build fixes for gcc 6, which uses C++14 by default. + (Github #29, git ad68c3942839618c26d7ff017fbac7df139b5d01) + +1171. [doc] marcin + Updated supported operating systems and the prerequisites for + installing and building Kea in the Kea Administrator + Reference Manual. + (Trac #4502, git af847837590ce5b37a300ebe15652fb172585b38) + +1170. [doc] marcin + Updated Kea Administrator's Reference Manual sections + regarding host reservations. Added configuration examples + for using host reservations with MySQL and PostgreSQL + databases. + (Trac #3684, git 71d21eac51d20ff5d368b17c437abc45c955a04c) + +1169. [doc] marcin + Updated Kea Administrator Reference Manual to explain the + implications of using "kea_verbose" parameter in the keactrl + configuration. + (Trac #3950, git c5f4920fd1994882e1fae398ae29b455401296bd) + +1168. [doc] marcin + Corrected location of the Kea repository in the Kea Administrator + Reference Manual. + (Trac #4258, git f081000b892287316e54848ca1f62ca3512d4263) + +1167. [func] marcin + DHCP servers utilize client classes defined in host reservations. + (Trac #4765, git 242fbc47b31da404e57be458ac065f811084cca9) + +1166. [bug] marcin + Corrected error message produced by the host database access + parser when the database type was not specified. + (Trac #4261, git 028dd49f4fa4843e68e23d11c237e9f4683470ba) + +1165. [func] marcin + Hostname option is returned to the client when requested using + Parameter Request List option. Previously this option was only + returned when a client has sent Hostname option to the server. + (Trac #5005, git 96ab8ecaa3d5b2d6cd88d0b16406f433d2cdf841) + +1164. [bug] marcin + Corrected an issue whereby DHCPv4 server did not correctly set a + server identifier in response message sent to a client on BSD + systems. + (Trac #5003, git 110c67325072a781d55cf0634f8f5f3385611f97) + +1163. [bug] marcin + Corrected swapped DHCPSRV_MEMFILE_GET_EXPIRED{4,6} messages + in the Memfile lease manager. + (Trac #4717, git ce5919d97879c3fda0858894b24418af135ef8f3) + +1162. [func] pallotron + Added two enhancements to perfdhcp: optionally using MAC + addresses from a file in new DHCP transactions, and + generation of DHCPv6 relayed messages. + (Github #22, git c5b4a5981cf642ebb9aecb8acc07b87abdccbd91) + +1161. [bug] fdupont + Fixed interface manager receive methods which raise a bug on + Fedora 24 / gcc 6.1? + (Trac #4551, git 8d590e434062535e850a60a7892481df845ff390) + +Kea 1.1.0-beta released on August 31, 2016 + +1160. [build] marcin + Bumped up version numbers of Kea libraries and KEA_HOOKS_VERSION + for the Kea 1.1.0 beta release. + (Trac #4632, git 93941523e039a1cc4bb34182a290f9d7b805df34) + +1159. [func] marcin + MySQL database schema updated to version 5.0. + (Trac #4562, git 0e40b35e280f0845686bcfdb2efb577c7878ede6) + +1158. [func] tomek + It is now possible to specify fixed fields (next-server, + server-hostname and boot-file-name parameters) for client classes. + (Trac #4626, git 89cf54524d8b55cc982ab2146915c0a90fc6efe2) + +1157. [func] marcin + Added support for static reservations for fixed fields in + DHCPv4 messages: siaddr, sname and file. + (Trac #4552, git 9b79fe005dd77328ea7c596fc6886f8fb838d1cf) + +1156. [bug] tmark + Lease statistics are now recalculated during server startup and + after each successful reconfiguration for Memfile, MySQL, and PostgreSQL + backends. This addresses issues caused by accumulated values being lost + across restarts and reconfigurations making rendering values incorrect. + (Trac #4294 git 0abdcf15f85861ffcb67d50fa4ce3965d25e4a9f) + +1155. [func] marcin + Kea can be configured to operate using read-only host database. + This is only supported for MySQL and PostgreSQL databases. + (Trac #4489 git 0d8dc7affb67ad8066b44c6f81532b79a641d50b) + +1154. [bug] stephen + Changes to logging to avoid premature destruction of some + objects during program exit. On some systems this caused + one of the unit test programs to crash when it terminated. + (Trac #4494, git 023c2fc3688bcdbccb4b286bea873c8f9c06cd5f) + +1153. [func] tomek + Integers can now be used in client classification. + (Trac #4483, git e90cf0ee4007521b86177be6d5fbb970c02c1075) + +1152. [doc] marcin + Use of PostgreSQL as a storage for host reservations is now + documented in the Kea Administrator Reference Manual. + (Trac #4282, git f2879919772c10b1ae8c45d0e761ef199cf84061) + +1151. [func] tmark + Support for assigning client classes to host reservations has + been added to both the PostgreSQL and MySQL backends. + (Trac #4277, #4213 git 6990ab9d542e984c59ce5a11ff926c3c732a75fc) + +1150. [bug] tomek + Extended gcc bug workaround to work on all versions of gcc + from 5.2 up to, but not including 6.0. See ChangeLog entry + 1103 or Trac ticket #4243 for details. + (Trac #4553, git 80243d9d246b982d86dd7e0d00597383cae01706) + +1149. [bug] marcin + Corrected a bug whereby clients were not assigned reserved + addresses from an external database, as a result of unexpected + closure of a connection to that database. + (Trac #4544, git 7f682112dd5ab9fcd6bfa4e10505c246775f353d) + +1148. [func] tomek + The vendor options (124, 125 in DHCPv4 and 16, 17 in DHCPv6) are + now accessible from client classification. + (Trac #4270, #4271, git ef676368f9036625d73f7f34e3fe9b5eeeaee7f1) + +1148. [func] fdupont + Added the pkt classification token to extract incoming packet + meta-data (receiving interface name, source and destination + address, length). + (Trac #4272, git 9a3bdfa43cf65ef56a8d63580dd5d7414fc41373) + +1147. [func] stephen + -Werror is no longer the default for compilation. Promotion of all + compilation warnings to errors now requires the --with-werror switch + to be specified when running configure. + (Trac #4533, git 874e3a3f5cb10313856284646fcee7cf86e4fcce) + +1146. [func] sar + Add the forensic hook library documentation to the admin guide. + (Trac #4511, git 0bb39840a3cbdaf815819f846120c90d9ca038ff) + +1145. [func] tmark + The Postgresql backend now supports host reservations for both + DHCPv4 and DHCPv6, with options and IPv6 reservations. + (Trac #4277 git ac1eaa1026987c2d86d57b4aa0dc9a4d093787f0) + +1144. [bug] mihu + Response to DHCPINFORM is generally sent to port 68, rather + than port 67. Thanks to Michal Humpula for providing a patch. + (Github #23, git 4216a4bedf8a884df087c68d48c88ee9ffa444dc) + +1143. [doc] fdupont + User's Guide has been updated with DHCPv4-over-DHCPv6 support + details. + (Trac #4273, git fe8cb64adeabe00d84ee390b579a8328717ae521) + +1142. [doc] sar + Uncomment the example columns in some rows in the table + listing the classification examples. + (None, git dee442a64f57c8d9dd87636f9e39084ed1b11e03) + +1141. [func] marcin + Pkt4, Pkt6 and Pkt4o6 objects passed to hooks libraries + return copies of DHCP options to avoid unintended modification + of the options stored in the server configuration. + (Trac #4497, git e50d2ebe998ec3faad8ade22b6971d6584c81044) + +1140. [func] marcin + DHCPv6 server supports assigning multiple reserved addresses + and/or prefixes to a single client. + (Trac #4321, git 0bfb2a9093174e4424051c01beeee7637ac95be0) + +1139. [doc] tomek + New features of host reservations have been documented: ability + to reserve standard and vendor options in host reservations. Separate + sections for each backend added. + (Trac #4518, git 99a40fead28f4324dfb55f1962a8bf3e85ab70e2) + +1138. [build] fdupont + Compilation problem on FreeBSD caused by unused parameter in + certain version of boost headers is now resolved. Also, INSTALL + file has been updated and now lists dependencies. + (Trac #4283, git 7dbd95651c308527f2e42c533fdc0a12aeec5308) + +1137. [doc] fdupont + Developer's Guide has been updated with DHCPv4-over-DHCPv6 support + details. + (Trac #4274, git b3eda594e055f03a9a601bacf0c72c3db0ef8e3c) + +1136. [doc] tomek + Included full text of MPL 2.0 and Apache licenses. + (Trac #4529, git baefb4b3e2078a0a0f794b42ef52d6b7d53c9dab) + +1135. [func] fdupont + Integrated the DHCPv4 service part of DHCPv4-over-DHCPv6 support. + (Trac #4110, git 7d36aebe14db10b0cbac8e6c0e82160b9d5d7ecd) + +1134. [func] fdupont + Integrated the DHCPv6 service part of DHCPv4-over-DHCPv6 support. + (Trac #4109, git 8d1f330d9b0a44039a8b9e0b479f8da1743b9504) + +1133. [func] razvan + The initial support for CQL (Cassandra) backend added. It is able + to store leases information. + (Github #21, git d3a412d4b090bfd84ec5bc5d7817b1dfcc92602e) + +1132. [func] tmark + The Postgresql schema has been updated to support host + reservations and its version number has been bumped to 3.0. + This schema is content equivalent to the MySQL schema version 4.2. + (Trac #4275, git 6f8e646bee9de22c921ed26409f3d1856ebce9e6) + +1131. [func] fdupont + Update the DHCPv4-over-DHCPv6 inter-process communication code. + (Trac #4106, git 1ce1cba00af5d81822d5bbe26ddd28b718f51d54) + +1130. [func] marcin + DHCPv6 server assigns DHCP options specified for hosts. Host + specific options take precedence over class specific options, + subnet specific options and global options. + (Trac #3573, git c29551e43010a345cfa2efda46389f4433d84650) + +1129. [bug] marcin + libdhcp++: Removed unnecessary copies of the container holding + option definitions to improve performance of both DHCPv4 and + DHCPv6 server. + (Trac #4498, git 14716853a92e08c4cc5be75ae85c5e84d6356a1e) + +1128. [func] tomek + Subnet selection in DHCPv4 will now work, even if the addresses + configured on interface are not in range of the subnet definition + from the configuration file. + (Trac #4308, git 7c74ecdbb64c69d341d623422216b0a54e6ff519) + +1127. [func] marcin + DHCPv4 server assigns DHCP options specified for hosts. Host + specific options take precedence over class specific options, + subnet specific options and global options. + (Trac #3572, git 49f67aaf36dab38b4fcbf59dcad97e4309903b2f) + +1126. [func] marcin + Host reservations can be assigned using DHCPv4 client identifier. + (Trac #4317, git 5f14fca1e029b04ad21a417936c2b8889acef10d) + +1125. [func] fdupont + Inter-process communication for exchanging packets between + DHCPv4 and DHCPv6 components of DHCPv4-over-DHCPv6 has been + implemented. + (Trac #4106, git 3223bb8280bfd99c225e725de660ae764abe3c87) + +1124. [bug] sar + Update the classification document to match the output from + the debug statements. + (Trac NA, git 8b3ea8e26c3e6cd3c46073b635212fd29f031774) + +1123. [func] marcin + Extended MySQL host data source to retrieve DHCPv4 and DHCPv6 + options associated with hosts from a MySQL database. + (Trac #4281, git b8a306a27d1cae03f6bc5223c30806f5cd1b64f4) + +1122. [func] sar + Add debug logging to the classification tokens. This uses + the loggers "kea-dhcp4.eval" and "kea-dhcp6.eval" to capture + details of the classification expression evaluations. + (Trac #4480, git cf14d0d21c69879f21733457a97a6ac0bdb1dae2) + +1121. [func] stephen + Make the database connection timeout a configurable parameter with + a default value of five seconds. + (Trac #3164, git 3332ad17523c6fcc1e735e4297169ebb2de95118) + +1120. [bug] marcin + Performance improvement in libdhcp++: improved efficiency of the + DHCPv4 Message Type option creation. + (Trac #4495, git 41c43a2a9e34931fc3ebf58c459f10ad08575d19) + +1119. [bug] marcin + Performance improvement in hosts reservation: removed + inefficient conversion of the host identifier to text + when logging. + (Trac #4499, git 48c20790480d5ed7bfde0ef7b052dd4a9745607d) + +1118. [func] tmark + The "query4" argument, containing the client packet received, has been + added to the DHCPv4 hook points: lease4_select and lease4_renew. The + "query6" argument, containing the client packet received, has been + added to the DHCPv6 hook points: lease6_select and pkt6_send. + (Trac #4481, git c0af94c47bda85eb1caa3a78a46280b63990672a) + +1117. [bug] stephen + Adjusted variable type in a MySQL-related file to overcome a + type mismatch problem reported by one particular compiler. + (Trac #4485, git 4c6fb189b5d12ffdf4ab171c9154366e70e6082c) + +1116. [func] tomek + DHCPv4 subnet selection can now be selected based on IPv6 + information. This is part of ongoing effort to support RFC7341: + DHCPv4-over-DHCPv6. + (Trac #4112, git 3352685981ec8ca9a90f7405ff56cd31af6fb0d9) + +1115. [bug] tmark + An explicit call to unload the hook libraries prior to server + exit was added to both kea-dhcp6 and kea-dhcp4. This corrects + an issue where logging components were being destroyed prior + to hook libraries being unloaded. + (Trac #4492, git 2a4792b3551cce2fb9147f33f032ae7e71791d21) + +1114. [bug] marcin + perfdhcp: Improved algorithm for dropping timed out transactions. + This prevents growing memory consumption due to storing timed + out transactions when the DHCP server drops many messages. + (Trac #4493, git 9757a93110afb82c5379643f2f48e223d497efae) + +1113. [func] tomek + It is now possible to specify parameters for hook libraries. + (Trac #4297, git f45d0b5d297f6ad522eb8b7e6f6a0de1064b8569) + +1112. [func] marcin + "host-reservation-identifiers" configuration parameter has been + implemented. It allows for specifying an ordered list of + host identifiers that DHCPv4 and DHCPv6 servers use to + retrieve static host reservations for a client. + (Trac #4303, git 942808400e7116d95acfd53b0dc1ecad1c45c598) + +1111. [func] tmark + Schema scripts have been relocated from src/bin/admin/scripts to + src/share/database/scripts and are now shared by both kea-admin + and unit testing. + (Trac #4239, git 131fcf52f2a65cedb53975f99114296366fb0199) + +1110. [func] fdupont + Added support for extracting constant length fields from a DHCPv4 + packet. + (Trac #4268a, git 5d1397efc05802b72e86785528870b7154307ff0) + +1109. [func] sar + Added support for accessing DHCPv6 packet fields message type + and transaction id in a classification expression. + (Trac #4269, git 48be5f5ceaba6b0d0a2b31465e8a5904524e894c) + +1108. [bug] pallotron + perfdhcp uses the same transaction id throughout the DORA + exchange to adhere with RFC 2131. + (Github #19, git d260a70d6aa0baecd68131bc35f58f097aa77bcc) + +1107. [func] tmark + The DDNS parameter, replace-client-name, has been changed from a boolean + to list of modes, which provides greater flexibility in when the Kea + servers replace or supply DNS names for clients. This is supported both + kea-dhcp4 and kea-dhcp6. + (Trac #4259, git 45e56d7aa0d4a6224a1a28941f6cb11575391222) + +1106. [func] marcin + "circuit-id" can be specified as host identifier in host + host reservations. However, the server ignores the reservations + by "circuit-id" at this point. + (Trac #4301, git cf56fc2a2e0e821a17dd95de49a43755745682fb) + +1105. [func] sar + Added access to the peer address, link address and option + information added by relays in a DHCPv6 message. + (Trac #4265, git bb00d9d205ee047961ba70417d7ce02c37d80ce7) + +1104. [bug] stephen + Made DHCPSRV_MEMFILE_LFC_UNREGISTER_TIMER_FAILED a debug message as the + condition leading to it (trying to unregister a timer that is not + registered) does not have an adverse effect on the operation of Kea. + (Trac #4293, git 06204c5d347d0df359af69974c155d0fa9725b44) + +1103. [bug] tmark + Wrapped asio/asio.hpp with logic to suppress optimization when building + under GCC 5.2.0 through 5.3.1 and BOOST_ERROR_CODE_HEADER only is defined. + This avoids an issue in the asio socket layer that was incorrectly + reporting socket read errors causing unit tests to fail and kea-dhcp-ddns + to loop logger calls in the error handler (aka double errors). + (Trac #4243, git 082f846f37cb32964c876b2bff5fcac82d1eaaf0) + +1102. [func] marcin + Updated Host Manager API to allow for retrieving host reservations + by any type of host identifier. Previously it was only possible + to retrieve host reservations by hardware address or DUID. + (Trac #4302, git 3979656c918164e3c39e0e8fb78b2862a2b5e95a) + +1101. [func] kalmus, marcin + Implemented IPv6 address/prefix reservations in MySQL. + (Trac #4212, git 79481043935789fc6898d4743bede1606f82eb75) + +1100. [func] fdupont + Reorganized the DHCPv4 and DHCPv6 services into run() (service + loop), run_one() (receive, call next routine and send) and + processPacket() (internal core processing of an incoming packet). + (Trac #4108,#4266,#4267, git ba24bd770d1a1791f8fdc3df7f2e41f9f0c851ec) + +1099. [func] tmark + Both kea-dhcp4 and kea-dhcp6, now log the primary lease events (e.g. + grants, renewals, releases, declines) at the INFO log level to the + lease4_logger and lease6_logger respectively. Prior to this these + events were logged at the DEBUG log level. + (Trac #4316, git 9beca27e3d76d0ccec925125f23074227db08869) + +1098. [bug] fdupont + Fixed some minor Coverity-detected issues. + (Trac #4326, git ad1f442ee4382b354dc8be84ba77785e565aa86b) + +1097. [bug] marcin + libdhcpsrv: Fixed issues with lease indexing in Memfile + database backend. + (Trac #4339, git a065144663ac716b1fa1c8c224a88aa176da9630) + +1096. [bug] fdupont + Fixed Coverity-detected overflows in pkt4::setFile() and setName(). + (Trac #4306, git 0b7388891eaab39fe727b076468d672551126796) + +1095. [func] marcin + DHCP option values can be specified within host reservations + in the configuration file. + (Trac #4319, git 069dd7c248afcfcb7e4d958f20faa32e946e74ce) + +1094. [bug] fdupont + Fixed Coverity-detected exception-handling issues. + (Trac #4307, git 3e1050749d9684144e1bd17552af7e4abf3c0d17) + +1093. [func] fdupont + Added support for IP address (IPv4 and IPv6) literals in + classification expressions. + (Trac #4232, git b98cc019b172a4903a2121e910f3cee4eaca2d51) + +1092. [func] fdupont + Added relay4[X].exists method in classifications that checks + whether a sub-option is present in theDHCPv4 RAI (Relay Agent + Information, 82) option. + (Trac #4313, git 87397fd75215b69ad79708aaa1d7505aca299fb5) + +1091. [bug] fdupont + Protected DHCP server main() routines against errors raised from + logger calls in the error handler (aka double errors). + (Trac #4310, git 6813e1a7520335f6920ff8de5e52ecdb24712910) + +1090. [bug] fdupont + Empty option specifications no longer require setting the + csv-format parameter. + (Trac #4291, git 398458f3ad4680fd5f3c032eb6c99d50c2981368) + +1089. [func] marcin + The Host class has been extended to store DHCP options to + be assigned to a client. + (Trac #3571, git 9d434f28cc4683eccbcca1ba0d1e45bceb5230d2) + +1088. [bug] sar + Always copy the DHCPv4 flags field from a client's request to the + the server's response. + (Trac #4292, git 8b7182abdc7ff47eb9b68451e7507b7e4b9872e0) + +1087. [bug] fdupont + Removed obsolete requirement of python3 by --enable-generate-docs + configuration option. + (Trac #4315, git 2c236316d5fbac9906cf48a6e4df1649e7545e67) + +1086. [bug] marcin + When lease-database configuration parameter is not + specified the default lease database backend (memfile) + is used. + (Trac #3696, git 0be5e6eb32680a742ddcf427b8181f55c0c98115) + +1085. [func] fdupont + The following DHCPv4 options are now supported: + nisplus-domain-name (64), + nisplus-servers (65), + mobile-ip-home-agent (68), + smtp-server (69), + pop-server (70), + nntp-server (71), + www-server (72), + finger-server (73), + irc-server (74), + streettalk-server (75) + streettalk-directory-assistance-server (76) + (Trac #4286, git 5ed03ed5ea48334bbd16a9a8e1676f3b4cc730a0) + +1084. [bug] jpopelka + Added missing slashed in path_replacer.sh. + (Github #10, git 8986813825623b19fb220534434d0c13785fc14c) + +1083. [func] fdupont + Added a concat function in classification which concatenates two + strings. + (Trac #4233, git eec10b436b928bd5eb3139c2f98ec9a6a818f30e) + +1082. [func] fdupont + Added Not, And and Or logical operators, parentheses around + logical expressions and option[code].exist logical predicate + (to check the presence of an empty option). + (Trac #4231, git 8e01dbe2fe2d8c97f89c20f5bb1d03748a2432e0) + +1081. [func] tomek + Client classification in DHCPv4 has been enhanced. It is now + possible to access relay sub-options using the expression + relay[123].hex. + (Trac #4264, git c13791e916ceae9a73ca44005581e0e39385a572) + +1080. [func] marcin + perfdhcp now accepts -f option for DHCPv4 server testing, which + enables lease renewals at the specified rate. + (Trac #4254, git 8c5630b9ce6d3fba224f0643a7c69e4f7aaefca7) + +Kea 1.0.0 released on December 29, 2015 + +1079. [bug] jpopelka + Fixed compilation issue in MySQL host data source: the + dhcp_identifier_length is now unsigned long. This addresses + a compilation problem on Fedora. + (Github #17, git 8548d1b589df98cc956b4d80d2cb8819ef576717) + +1078. [bug] fdupont + Removed warnings emitted during generation of Doxygen documentation. + (Trac #4234, git b67910a3893bc79eb77a48bae6c31214a317bd40) + +1077. [bug] marcin + Addressed regression in distcheck after merge of #4224. + Before the changes one of the lease files produced by + 'kea-lfc' was not removed after tests running lease file + cleanup. As a result, the distcheck failed discovering + this file being left after distclean. + (Trac #4249, git 04aa9b95bf8c4dd8b555dd78cc8cd57126473800) + +1076. [bug] tmark + This change bumps the MySQL schema version from 4.0 to 4.1 and includes + the following changes: added explicit use of InnoDB engine to all MySQL + table create statements, MySQL lease dump output is now sorted by lease + address in ascending order, and the MySQL lease_hwaddr_source table now + contains an entry for HWADDR_SOURCE_UNKNOWN (i.e. source = 0). Our thanks + to Sebastien Couture at Ubity Inc. for reporting the InnoDB engine issue + and submitting a fix for it. + (Github #16, Trac #4237,#4238, git f0fb9f35a394785215573a591c2bcc68ab481436) + +1075. [doc] marcin + Changed Kea license from ISC to Mozilla Public License, + v. 2.0. + (Trac #4236, git a0574cdab4deb31e3244fc4e237753a1ad361d96) + +1074. [bug] marcin + PID files created by Kea processes are used in shell based + tests to determine if the given process is running. This + solves the problem whereby some unrelated processes could + be reported as running Kea processes in those tests, causing + the tests to fail. + (Trac #4224, git 94edccc50cb374ec4db35f653b869c9f06d356ea) + +1073. [doc] tomek + Developer's Guide updated with client classification text + and several clean-ups. + (Trac #4102, git ac33ebf7428ba5935d3302d000bed317716fabfe) + +1072. [bug] tmark + The lease6 hardware address source value is now being properly populated. + Prior to this the value stored with each IPv6 lease was always zero. + (Trac #4247, git 27886dadcf9051dc622ee6fde586c27f3d431f8b) + +1071. [func] tmark + Assigned unique log message IDs to log messages issued from + MySQL hosts storage operations, eliminating reuse of + lease database message IDs. + (Trac #4216, git f0e37cd6d45537971a730c68187011dce41217cc) + +1070. [doc] sar + Correct v6 classification examples to use client-id (1) instead + of server-id (2). + (Trac #4222, git 69dd98d03861d9de72c2ef75c17c8154b0c5088b) + +Kea 1.0.0-beta2 released on December 22, 2015 + +1069. [bug] tomek + Improved handling of incoming packets with invalid client-id + and DUID. + (Trac #4206, git 2c94f80e30abe53ae5b677762fc69e888c92e03f) + +1068. [func] marcin + Renamed log message compiler binary from 'message' to + 'kea-msg-compiler'. + (Trac #4228, git bbeb5c776c39b9f4132f7f614720db75590ccef9) + +Kea 1.0.0-beta released on December 8, 2015 + +1067. [doc] sar + Remove description of option[xx].text operator from classification + until its use becomes clearer. + (Trac #4218, git 22fe2bf889984078cd86c2a230a038632d21432c) + +1066. [func] tomek + Configuration parameters for setting up external hosts storage + are now implemented. This feature is considered experimental + for DHCPv4 and currently not really usable for DHCPv6. + (Trac #3569, git 8896c9c3f77a7836d67e6c33943ac4892b851213) + +1065. [func] fdupont,tomek + The DHCPv4 server now stores Relay Agent Information option as + the last one. + (trac #4121, git 2f883d4afb9b27c6c59d993692370685b206b6c2) + +1064. [doc] tmark + Added Kea logo to documentation. + (trac #3702, git 7cae813ffe9a7320db5c84ac4beb1c3c0ecabbf7) + +1063. [func] marcin + It is possible to disable writing generated DHCPv6 server + identifier in a persistent storage. This also fixes a + failing distcheck. + (trac #4211, git d8f39b7aff9312237d4b6d6de39a7336a25ead4c) + +1062. [func] marcin + libeval: options may be referenced by their names in + expressions used for client classification. + (Trac #4204 git 38aebe9566e09daa30796df686cfdd6d0c43fa4d) + +1061. [func] kalmus + MySqlHostDataSource class implementation. It provides methods + for adding and extracting Host objects to and from MySQL database. + (Trac #3682, git 275b40fb941a6934c6434715184ae1c39f3fb3f2) + +1060. [func] stephen + Incremented KEA_HOOKS_VERSION to 3 for Kea 1.0. + (Trac #4208, git bf6f3d495604942a395b51bbe4c37001b7541242) + +1059. [func] nicolas + The client packet is now passed as a new parameter "query4" + to the pkt4_send hook point. Thanks to Nicolas Chaigneau from + Capgemini for providing this patch. + (Github #8, git ) + +1058. [func] tomek + Two new hook points lease4_recover and lease6_recover have been + implemented. They are called when a declined IPv4 or IPv6 lease + concludes its probation period and is being recovered into + usable state. + (Trac #3988, 3989, git 1930797c48fee7f4006a33cecd6f08b05ae76725) + +1057. [func] marcin + It is now possible to specify type and value of a DUID used + as DHCPv6 server identifier. + (trac #3874, git faf52b069cf774d0050d76b4f47b542b2b5105f2) + +1056. [doc] sar + Added description of the expression based classification + system to the Kea Admin Guide. + (Trac #4101, git 3ec88e0669470ab406c45d50d0f853f9aeb3bf04) + +1055. [func] fdupont + Classify match expressions are evaluated on incoming packets and + requested options are appended when configured by the subnet, a + class or globally. + (Trac #4097, git 752ad11ff4ebe97ec27d098aff706d1999900346) + +1054. [func] tmark + Replaced underscores, "_", with hyphens "-", in the parameter + names used in the kea-ddns server's configuration as well as + those in the DDNS messages (NCRs) sent to the server. For + example, "ip_address" is now "ip-address", "change_type" is + now "change-type". This makes JSON element naming consistent + throughout Kea. + (Trac #4202, git 91bf527662060d4b1e294cd53e79b431edf0e910) + +1053. [doc] tomek + Support for DHCPDECLINE (v4) and DECLINE (v6) messages is + now described in the Kea User's Guide. + (Trac #3990, git 6b0db91610420f3cce55d9f887d7c73660ece209) + +1052. [func] marcin + libeval: expressions involving options can now use textual or + hexadecimal format of the options. + (Trac #4093, git 4cdf0fff1067b3dde6570dc6831e8b1343bc50fe) + +1051. [func] tmark + kea-dhcp4 and kea-dhcp6 configuration parsing now supports + the "client-classes" element for defining client classes. + (Trac #4096, git d21fd6925983eb20f82029e3866652398ea5e5fe) + +1050. [doc] tmark + Corrected the descriptions of ncr-protocol and ncr-format parameters + in the Kea Admin Guide. + (Trac #4117, git 034c1c95b57768d5abbc7fb40cc57d7cadad21dd) + +1049. [build] fdupont + Add a new --enable-generate-parser configuration parameter + (disabled by default) which makes flex and bison to regenerate + parser files. + (trac #4125, git 18321bf85f93b24d720f1ab2d90b4f4da85bc471) + +1048. [func] fdupont,tomek + Implement expression parser for client classification. + (Trac #4088, git ac9eb312bfd1c6bf22a868ad789a0c049f33f637) + +1047. [func]* stephen + Change the way that hooks libraries are defined in the configuration + file in preparation for allowing the specification of library-specific + parameters in a future version of Kea. + (Trac #3259, git b2986b0b0299e691b13123922129bdbf8575afdb) + +1046. [func] tmark + Upon startup Kea servers will now detect memfile lease files + that need upgrading, and will launch in instance of the LFC + to convert them to the most current memfile schema version. + (Trac #3601, git ce4b0e42e8a01bbf3b58fdb1f505bbd6e2fad134) + +1045. [func] tmark + Added classes for storing client class definitions to libdhcpsrv. + (Trac #4095, git 1039a942450e2a45a1e1aa9924cae4fdbd1541fe) + +1044. [build] fdupont + With the addition of a background thread for timeouts, ensure that + the configuration and process spawning code are thread safe. + (Trac #4060, git 4c130bd7c8d0eb97966e9821bab491bca5321b6c) + +1043. [func] fdupont + Implemented support for hex strings in client classification. + (Trac #4091, git 406153af95404adb96296df09ec6033b484586e3) + +1042. [doc] fdupont + User Guide: parameters having default values may be omitted in the + option definitions. + (Trac #3927, git c7460e849258ec77cf1215a2baf840d98f1ab77b) + +1041. [func] tomek + A new library, libkea-eval has been added. It is not functional + yet, but its purpose is to provide a generic expression + evaluations that will be used in the upcoming client classification. + (Trac #4081, git 28d818a26a5d128e8a51d62b68c0cc817e6e2415) + +1040. [func] tmark + When kea servers lose connectivity with MySQL or PostgreSQL backends + they will log an error message and exit with an exit value of 255. + (Trac #3780, git cf94e99698e1d8a1613026bda5e4fc9bb4a68d74) + +1039. [doc] marcin + Configuration parameters pertaining to processing expired + leases by the DHCPv4 and DHCPv6 server have been documented. + (Trac #3979, git a2ee99ba313e54a9dcf8a09ed118dbfe612e3d55) + +1038. [func]* marcin + DHCPv4 and DHCPv6 servers reclaim expired leases before they + are re-assigned. + (Trac #3977, git 5880e706cb27c19b1b70296ccd8d96e38e82027b) + +1037. [func] fdupont + Added a new 'leases-reclaim' command which reclaims expired leases + immediately. + (Trac #3978, git 9d5716e5bd6b151d90591f8497bae689321875c2) + +1036. [func] tmark + kea-admin now supports upgrading from Postgres schema version + 1.0 to 2.0. Schema 2.0 includes support for lease expiration + and reclamation. + (Trac #3969, git 8fde70c1b63b5a2646688290b1d0cf53f4c964ad) + +1035. [doc] fdupont + Modified documentation of DHCP options to show internal format + of records. + (Trac #4071, git c5cffe74ac1bd38e4870ff1c22c36febb46e8c27)) + +1034. [func] fdupont + Add support for DHCPv4 subnet selection option. + (Trac #4058, git b7072884e8ce74dc64cd74e101d81e5c0763f492) + +1033. [bug] stephen + Updated OutputBuffer class to address warnings from Coverity. + (Trac #3443, git 4bf0a14aa7a1303ed6959127c5354687e9f222ba) + +1032. [func] marcin + PostgreSQL lease database backend has been extended with new + functions to obtain expired leases and to delete expired + reclaimed leases. + (Trac #3968, git 0bc02588d8553ba9a4fc749115a3e370407d7287) + +1031. [build] fdupont + Rewrote the system_messages tool from Python to C++. + (Trac #3516, git a8195310c641027d1822344cafad64e6f695d614) + +1030. [bug] marcin + Fixed failing 'reclaimExpiredLeasesTimeout' unit tests on + some virtual machines. + (Trac #4075, git c3a2487f53ecf69edc0a38f574fce17c4332162c) + +1029. [func] tomek + A new hook point lease6_decline has been added. It is called when + the DHCPv6 server is about to decline a lease as a result of + processing incoming DECLINE message. + (Trac #3986, git b6e3f1bbe3595aeba769d627d571e2eeee38a397) + +1028. [func] marcin + Expired leases are processed periodically according to the + server configuration. + (Trac #3975, git 3bd8891c0b9cb7dc504fa69251610996775cefbf) + +1027. [func] tomek + Expired declined IPv6 leases can now be reclaimed (returned to the + available pool) after probation period elapses. + (Trac #3985, git 9aadfa902d898ce1f52b773152a5b34519a9a9fe) + +1026. [doc] stephen + Added documentation for the kea-dhcp4.commands and + kea-dhcp6.commands loggers. + (Trac #3952, git 3eb5d3185683e05494c1d84ed7195627fce4b6c1) + +1025. [func] tomek + A new hook point lease4_decline has been added. It is called when + the DHCPv4 server is about to decline a lease as a result of + processing incoming DHCPDECLINE message. + (Trac #3986, git 39bde93fe25e4aff52623d4df7fd55c64e0a9c21) + +1024. [func]* tomek + Boolean Skip flag in Hooks API has been replaced by enum status. + This is backward incompatible change if you developed hook + library that takes advantage of the skip flag. See Hooks + Developer Guide for easy steps necessary for migration. + (Trac #3499, git 99ca398d4d042a098b5c491368733220db8cdd08) + +1023. [func] tmark + kea-admin now supports upgrading from MySQL schema version 3.0 + to 4.0. In addition, the lease6 data dump now contains the + text label for lease_hwaddr_source column rather than its + numeric value. + (Trac #3967, git 2e13ac3b0b278faabe338b00ffee8259c13f5342) + +1022. [func] fdupont + Added support for the V4 link selection sub-option (RFC 3527). If + present in an incoming packet, the server will allocate an address + in the subnet identified in the option. If this is impossible, no + address will be allocated and the request refused. + (Trac #4057, git 8c02cec5ec8e311a9d23fd582d8e9e8647667abb) + +1021. [bug] stephen + Added missing address parameter to ALLOC_ENGINE_V4_REQUEST_OUT_OF_POOL + message. + (Trac #3996, git 680233550747209a1707e8f920179479b980aa2a) + +1020. [func] kalmus + A general purpose base class for MySQL connection has been + implemented. + (Trac #3681, git 884d8bb4a55d3d7b1b8f3f01efb312bd8dec399b) + +1019. [func] marcin + Added new configuration parameters controlling processing of the + expired leases in the DHCPv4 and DHCPv6 server. + (Trac #3974, git c998d36c40cc46ffe9f888e615bbcfa0a311d40d) + +1018. [func] sar + Added support for several options for use by PXE. + From RFC4578 (for DHCPv4) these are: 93 - client-system, + 94 - client-ndi, 97 - uuid-guid. + From RFC5970 (for DHCPv6) these are: 59 - bootfile-url, + 60 - bootfile-param, 61 - client-arch-type, 62 - nii. + (Trac #3576, git fdcc73afe7e26bd427817fd771567b1c44713b06) + +1017. [func] tmark + Lease dump SQL logic, used by kea-admin, is now supplied via stored + procedures rather than external text files. Files of the form + lease_dump_<version>.sh will no longer be installed under + <prefix>/share/kea/scripts. + (Trac #3916, git 09cdd86a5e284250d7657a93a36df2e2705947d2) + +1016. [bug] fdupont + Fixed problems when --enable-static-link is specified as a + "configure" option. With this switch present, all Kea + executables (servers, tools, unit tests, etc) are linked + to the static (vs. shared) version of Kea libraries. + However, note that they can still be linked to dynamic + system libraries. + (Trac #4004, git 760a343efbd241f5ed333cfff088124378f69115) + +1015. [func] tomek + Expired declined leases can now be reclaimed (returned to the + available pool) after probation period elapses. + (Trac #3984, #3976, git 32a8ec68e0e5ea93991915812158d7628d2b4709) + +1014. [func] marcin + Implemented lease4_expire and lease6_expire hooks in libdhcpsrv. + (Trac #3972, git 8a8547aec1caf2a8d1c7ca206f68534f3c03f1d9) + +1013. [func] marcin + New mechanism for scheduling lease file cleanup is used in the + DHCPv4 and DHCPv6 servers. + (Trac #3971, git 431d515fc3d64aa82369c8eaf48d03339f12dc69) + +1012. [bug] stephen + Replace #include of message_dictionary.h in message_initializer.h + with a declaration of the MessageDictionary class, avoiding the need + to include message_dictionary.h in the set of header files installed. + (Trac #4046, git 9f1801b4326f62632a7c9f0aa939d58f120c10e8) + +1011. [func] fdupont + Added definitions and tests for the options from secure DHCPv6. + This protocol is still experimental. The option and other protocol + codes are for testing, they will be updated when IANA assigns + official values. + (Trac #4015, git 95f8c0d0af45807c1f303b9bbbb08f82b3bfc343) + +1010. [bug] tmark + Fixed test failures occurring for some tests after + IfaceMgr::closeSockets was called. + (Trac #4067, git 9161867dc6a354659ae8b5115ee437ec76c1771e) + +1009. [bug] fdupont + Now libutil blocks all signals when creating a new thread + (so signals are delivered only to the main thread). + (Trac #4065, git a4a8e422e613e4378f0a0641e4c480b73d67ebeb) + +1008. [build] fdupont + Removed the included header-only ASIO code. Kea is now built + against the installed copy of Boost. The build by default + attempts to use the header-only error code (ASIO dependency), but + may also use the version in the boost system library. The + location of this library can be specified. + (Trac #4009, git 8c293bc0d1804a512964621f114e64fcba0abcb9) + +1007. [func] tomek + DECLINE message in DHCPv6 is now supported. The server is able + to receive it, check its correctness and move the lease to + DECLINED state. Currently there is no way to recover the lease + before 'decline-probation-period' time. + (Trac #3982, git 11e2c4366d8624601172c01e95cff6a8b95833b3) + +1006. [bug] marcin + Fixed issues with threads concurrency in the TimerMgr. + (Trac #4047, git 48297af6e0443808a482536b61436a42bc6a5b38) + +1005. [func] tomek + DHCPDECLINE message in DHCPv4 is now supported. The server is able + to receive it, check its correctness and move the lease to + DECLINED state. Currently there is no way to recover the lease + before 'decline-probation-period' time. + (Trac #3981, git c14a63c0d3a56ea3e880e874f854adc0077de75e) + +1004. [bug] fdupont + Incoming Confirm, Rebind and Information-Request messages are + now more thoroughly checked against presence of client-id + and server-id options. + (Trac #3773, git fd2889b9de45e2822b6713663bee06b75259c6dc) + +1003. [build] fdupont + Updated Makefiles to ensure that all required dynamic libraries + are included in the link command line as some systems are unable + handle implied library dependencies. + (Trac #3911, git 4d13f5234da33df03c0989829a0e1c1056e53a4e) + +1002. [func] marcin + MySQL lease database backend has been extended with new + functions to obtain expired leases and to delete expired + reclaimed leases. + (Trac #3966, git 419832a6279c70b5db04b1cab10737e31f2c99f9) + +1001. [build] fdupont + Fixed critical C++ issues in the Kea code. This does not cover + auto_ptr warnings (just ignore them) or the gtest 1.7.0 bug with + EXPECT_TRUE() and ASSERT_TRUE() macros (we recommend to download + last subversion sources at http://googletest.googlecode.com/svn/trunk + and use the --with-gtest-source configuration argument when + you'd like to build unit tests). + (Trac #4024, git 55afd98fead0c16bb81107dfc1a5f49a5e295aa6) + +1000. [func] marcin + Implemented Timer Manager which holds the pool of interval + timers used by the DHCP servers. + (Trac #3970, git bc8503055338da36d07a2b67c64087f645c9a9e3) + +999. [func]* tmark + The DHCPv4 server will now honor DHCPRELEASEs for leased addresses + which cannot be matched to subnet. This allows leases to be + released after configuration changes have eliminated their subnet. + Prior to this the server would reject the release and emit a + DHCP4_RELEASE_FAIL_NO_SUBNET log message. + (Trac #2615, git eeebf9f68cf5be6a0f7eefc78832d664361c4990) + +998. [func] tomek + 'decline-probation-period' parameter has been added to DHCPv4 + and DHCPv6 configuration. It can be configured, but is not yet + used, as the DECLINE message support is still pending implementation. + (Trac #3983, git 6b10d119c89685476335f268181c9982f6fa6161) + +997. [build] jreed + Removed obsolete Python coverage build options. + (Trac #3483, git a08cbbecbd3b11d0b73f68a40986a353b22ed3be) + +996. [func] marcin + Memfile lease database backend has been extended with new + functions to obtain expired leases and to delete expired + reclaimed leases. + (Trac #3965, git dd5b95453528416f22e961e6ebb3051bc2ae788c) + +995. [build] fdupont + Removed additional files left over from BIND 10 (headers, + src/lib/{asiodns,testutils,asiolink}). + (Trac #40{28,29,31}, git 78ff0fb0a97731a8b3c055b1cbb4faebcd115f7c) + +994. [func]* marcin + DHCPv6 server fully supports RFC 7550. + (Trac #3947, git c06ab97a4e068c4b4b11f4685c56dd402b2385dc) + +993. [bug] fdupont + The logging spec file was searched in the build tree when it + was in the source tree so distcheck (where they differ) failed. + (Trac #4026, git 5eb213647d7ac0a707530d57af2c6dbd725ac1b3) + +992. [func] fdupont + A 'flush' parameter has been added to logging configuration. It is + now possible to disable automatic immediate flushing to achieve + better logging performance. + (Trac #3752, git 16c4c2b6d95c45864ec3e2b27e0d320e386b2c0b) + +991. [build] fdupont + Removed partial function template ordering macros to allow Kea to + build with Boost 1.59 and later. Also removed some + compiler-dependent code. + (Trac #4006, git e06934f211436eea37439128ff6f388709f01101) + +990. [bug] tomek + Improved child process signal handling. Improved number of + exception handling routines in DHCPv4 and DHCPv6. + (Trac #4000, git bf5e48f2cf80b5263cc89f445795bc8c5b8f011d) + +Kea 0.9.2 released on July 28, 2015 + +989. [bug] tmark + Fixed a bug in both DHCPv4 and DHCPv6 servers that could cause + them to crash during sever shutdown when DNS updates are enabled. + (Trac #3997, git ce91bdd78f420f64324c573a952ec804bc25e0d8) + +988. [bug] fdupont + keactrl no longer returns an error when the "status" command is + issued and the Kea configuration file doesn't exist. + (Trac #3785, git a27d72ef3cb7640a41dca26c8728a9cbd9ad1ca9) + +987. [bug] marcin + Fixed textual representation of the options containing an array + of 1 byte long unsigned numbers. + (Trac #3959, git 9045fd9d6d282184cce10a622c0108abab029d5b) + +986. [bug] marcin + Fixed the failing lease allocation from the large address and + prefix pools. + (Trac #3958, git c86b6a68725e2f57679598ff4890fc82f4482c20) + +985. [bug] marcin + Eliminated extraneous debug-level DHCP6_RESPONSE_DATA entry from the + DHCPv6 server log output. Prior to this the server was logging + each response twice. + (Trac #3949, git 023973cbce44e5fb92a2bc45e69f2786d5152091) + +984. [bug] tmark + Replaced used of "kill -0" with "ps -p" in keactrl when + checking of servers are alive. This makes it possible for + non-root users to use keactrl to monitor server status. + (Trac #3954, git f7f22b244343a3dc2d06645a47c2c65a5134326e) + +983. [bug] fdupont + Enforce numeric month values in Posix date printing. + (Trac #3944, git fdbe74b0235055057a37c6ce2b0aaf88f0cc7891) + +982. [bug] marcin + Fixed the typo in the name of the D2 logger. + (Trac #3951, git 92305b2a1774df1cf1bdfeb93d787fea0ab27f74) + +981. [bug] tmark + keactrl now uses PID files to identify and control server instances. + Prior to this it relied on the system command, "ps", which could lead + to it misinterpreting which processes are or are not running. + (Trac #3939, git 93a720ed7ffdffe66bd835cd64f78e4ad601637a) + +980. [doc] marcin + Updated Developer's Guide. + (Trac #3484, git 220c337c31a592311363eca981c7f1578abbe15d) + +979. [bug] fdupont + Fixed two cases of public variables in a base class being + hidden by variables in a derived class. + (Trac #3920, git bd42a66fb67aab3fe397523c6fdbf14a939587c8) + +978. [func] tmark + DHCPv4, DHCPv6, and DHCP_DDNS now all create PID files upon + startup. The PID file pathname is formed from: + <localstatedir>/<conf name>.<binary-name>.pid + If a server's PID file exists and contains the PID of a + live process, it will emit a log message and exit. + (Trac #3769, git cdce632add025aaadbcdc89078f5bd3e19cfb5ca) + +977. [doc] tomek + Frequently Asked Questions section added to the Kea User's Guide. + (Trac #3873, #3847, git 95683c9d3c3dd7024269df1904b6cbe5817741a2) + +976. [build] tomek + Included missing Doxygen documentation images in the tarball. + (Trac #3928, git 2fb63a18897b93b12a5fc4635d4ac29e0bf82841) + +975. [doc] marcin + Updated the list of standard DHCPv4 options in the User's Guide + with the information of whether they are returned by the server + even when they are not requested. + (Trac #3578, git b361b28ce53729a5f2d59f79670a36cf1a4a0352) + +974. [bug]* marcin + Corrected invalid format of the DHCPv4 option 5 (name-servers). + The corrected format comprises a list of IPv4 addresses, + rather than a single IPv4 address. + (Trac #3887, git 54d1dbe6138e74c5efacfbaf85b77c87aea9ddf1) + +973. [doc] marcin + Added new section to the User's Guide to describe the issues + with unicast responses to the DHCPINFORM messages when ARP + traffic is blocked. + (Trac #3740, git 22bcb060ceca544dfa1779815321155668bf19dc) + +972. [doc] marcin + Updated sections of User's Guide concerning creation of + the option definitions and Vendor Specific Information + options for both DHCPv4 and DHCPv6. + (Trac #3846, git 6aebe0867ca9cf6fb09a289d80051125db7fa34b) + +971. [func] fdupont + Changed all occurrences of unlink() to the more portable remove() + to avoid problems on operating systems where the former is not + available. + (Trac #3841, git 3752529ed3d72137f6899ef8225a0b231db5b1f0) + +970. [bug] fdupont + Refactored some code to suppress cppcheck warnings. + (Trac #3919, git 26be6ac4cefde012ca8ef12607b6beaadca13eed) + +Kea 0.9.2-beta released on June 30, 2015 + +969. [func] tomek + KEA_SOCKET_TEST_DIR environment variable can be used to specify + the directory for opening Unix sockets during tests. That may + be used to avoid path length limitations when running unit-tests + in deeply nested directories. + (Trac #3918, git 9cfd502e8d4605eaf34f8744f90272dc3e8a3e34) + +968. [bug] marcin + DHCPv6 server extends the lifetime of the client's lease + in the database when the client sends the Request message. + This prevents premature lease expiration before the client + renews the lease, according to the timers and lifetimes + returned by the server. + (Trac #3913, git 1d64829a3f1a8288dc833ed388d9ffc9fe4cf491) + +967. [doc] tomek + Management API section added in the DHCPv6 chapter of the Kea + User's Guide + (Trac #3917, git 21305d2da26090e3fad1ff9fb242a2bbb6b7e56b) + +966. [func] fdupont + Include database software details in extended version information. + (Trac #3882, git b0e166c4d8b0383ebd6e2f51d55eed68a2bcafa8) + +965. [func] sar + Per IPv6 subnet statistics (subnet[id].assigned-nas, + subnet[id].total-nas, subnet[id].assigned-pds, and + subnet[id].total-pds) has been implemented. + (Trac #3799, git 4aa4808268bbc54290578f60ba60ed33cf344712) + +964. [doc] tomek + User's Guide and Developer's Guide updated with statistics and + control channel description. + (Trac #3800, git 7ce8ca560370ec5f9bd4d5199a177b441f08a47e) + +963. [func] tmark + DHCPv6 server now supports a control channel, implemented over + a UNIX socket. Currently supported commands are: statistic-get, + statistic-reset, statistic-remove, statistic-get-all, + statistic-reset-all, statistic-remove-all, and shutdown. + (Trac #3797, git f49828612d9030c9f3441acaf4b3a9f60b492a3e) + +962. [func] fdupont + Make the parsing of options and vendor options more consistent + between v4 and v6. In addition make the parsing more robust + against malformed packets. + (Trac #3618, git f4066793c5e034386c689fd72d2a91a70ffb6d5f) + +961. [func] fdupont + Improved error messages when handling invalid or malformed + configuration file. File and line number are printed, when + available. + (Trac #3697, git 70fc36e164e988c251bdaaee7e27c5f6407e0f4c) + +960. [build] fdupont + Get rid of the last bundy pieces of code. + (Trac #3732, git 6b7da42f902fabb6855e54a19ea472c18ba82a93) + +959. [build] fdupont + Removed no longer used logging in cc and config libraries. + (Trac #3732, git 8d0324f4786900db953489ebaa9e018b1238543f) + +958. [func] tomek + DHCPv4 server now supports control channel, implemented over UNIX + socket. Currently supported commands are: statistic-get, + statistic-reset, statistic-remove, statistic-get-all, + statistic-reset-all, statistic-remove-all, shutdown. + (Trac #3880, git 688658395518f0b97d5384af81ceab5206691ad5) + +957. [func] tomek + Per IPv4 subnet statistics (subnet[id].assigned-addresses and + subnet[id].total-addresses) has been implemented. + (Trac #3798, git bab2030f56bbf390959f9f9238a8acc62d583c70) + +956. [func] marcin + Improved log messages emitted by the allocation engine, + which now uses a dedicated logger. + (Trac #3852, git 923928774f4f59c887d768cf155b5978e838a6f2) + +955. [func] tmark + Added unit tests to kea-admin for testing the lease-dump command + with a PostgreSQL backend. Updated PostgreSQL database installation + instructions in Kea Administrator's guide to include use of kea-admin + tool. + (Trac #3884, git 0772b7df2a89e1019141be1d0ddec30d53c4b919) + +954. [func] fdupont + Enhance the versioning information printed by the executables and + make it more consistent across all of the executables. "-v" is for + basic Kea version information, "-V" provides more detailed + versioning and versions for external dynamic libraries, finally + "-W" provides the configure report from the configuration step + during the build of Kea. + (Trac #3513, git 584cf666e101c6cb5c9af76175ddd867ece85764) + (Trac #3859, git 384e6c6225de18fc97d606e4a1972baeef598ba4) + +953. [bug] fdupont + Corrected the setting of string characters to values above 127 + in HMAC tests. + (Trac #3829, git 54f4ec64e513fea1547631122dc1af8579fae3db) + +952. [bug] fdupont + Made some loop indexes an unsigned type to avoid compiler warnings + where the termination condition is comparison with an unsigned + value. + (Trac #3833, git 3db9f1d78f59856b982a1ff84c3b5a1ba7ea39df) + +951. [build] fdupont + Removed BUNDY configuration backend. + (Trac #3732, git 96364cbbb15318c8f55d5b287cda0990d3eaae32) + +950. [doc] marcin + Updated section about logging in the User Guide. Also, + updated Hooks Developer's Guide with the recommendations for + the developers about use of logging in hooks libraries. + (Trac #3805, git b403de1f335a2fb5098c9abc0858b8137892f868) + +949. [func] tmark + kea-admin now supports dumping MySQL and PostgreSQL lease tables + to CSV file, via a new command "lease-dump". This is primarily + intended for use as a diagnostic tool. + (Trac #3802, git 6ec774e8523e7f8415d6cd18c34062489e127847) + +948. [bug] fdupont + libdhcpsrv: check if new host reservation tries to use an already + reserved address. + (Trac #3652, git 4f10b78341b197bd321fbf2ec71db7420e40718d) + +947. [func] marcin + DHCPv6 server now supports Rapid Commit option. + (Trac #3070, git a6b6156aaa95ab74c69a537e90483f82e9fbe4a2) + +946. [doc] tmark + Added documentation for kea-admin "lease-dump" command to the + Kea Administrator's Guide and kea-admin man page. + (Trac #3803, git 54b59b7ef02f6428405794066ea779e9bd4c0b6e) + +945. [func] marcin + Improved log messages emitted by the DHCPv6 server. Also, + the server is now using multiple distinct loggers for logging + messages pertaining to different functional parts of the + code, e.g. packet transmission, lease allocation, DDNS etc. + (Trac #3807, git c95ebdaf39c3d8d78d83d53db15824c60078f566) + +944. [func] tmark + kea-admin commands lease-init, lease-version, and lease-upgrade + now support PostgreSQL. Note that at this time the PostgreSQL + backend only supports Kea schema version 1.0, so there are no + upgrades available. + (Trac #3883, git 990a0d72fa247e4a12e2608994204c48274e4cd6) + +943. [func] sar + Split the DHCP-DDNS logging messages amongst several loggers to + allow the administrator finer control over debugging messages. + Messages pertaining to the name change requests processing include + an ID, currently the DHCID, to identify the transactions. + (Trac #3808, git 4fbe08234049de6ef67bb5cdb244d180a7a4c3a9) + +942. [func] tomek + 18 new statistics added in DHCPv4 server: generic packet counters, + per packet type counters, parsing failure and packet drops. + (Trac #3794, git a61f40c44910a09699a9a566a5ec35ab758564ba) + +941. [bug] marcin + Configuration parser for host reservations returns an error + when an unsupported parameter is specified. + (Trac 3810, git 54ee0f6328a303c366dd8239e768dfc4a23a5d9b) + +940. [bug] fdupont + DHCPv4 server drops DHCPRELEASE messages sent from a bad + location (i.e., no subnet can be selected) + (Trac 3504, git f0f13ac74779f76ed7af91bd5dab3d11ba00be79) + +939. [bug] fdupont + Small fix in HooksDhcpv4SrvTest.subnet4SelectSimple unit-test. + (Trac 3881, git a21afdffec41fceb61e6760d4108d670b2eabe75) + +938. [build] fdupont + Removed Python from the log library (code, message compiler and + documentation) + (Trac #3734, git d24b7c9716c6eb7a3e9dd2cb3fd2d1bfe4e1201f) + +937. [bug] fdupont + The log ID LOG_UNRECOGNISED_DIRECTIVE was changed to + LOG_UNRECOGNIZED_DIRECTIVE to follow US English spelling. + (Trac #3762, git 235e3304746352e9341008225f9f2392586a9f66) + +936. [bug] fdupont + Added an ASSERT to avoid a crash in HooksDhcpv4SrvTest + subnet4SelectSimple unit test. Fixed out of bounds vector accesses + in perfdhcp (which should not be able to handle links + with long (i.e., more than 6 bytes) link-layer addresses). + (Trac #3868, git c20f47e19d6060605c0611754db7b66b08553caa) + +935. [bug] fdupont + Fixed 3 out of bounds accesses on vectors in DHCP++ code. + (Trac #3854, git de263ad0008f3494a85592f78db1ec662b68e689) + +934. [bug] fdupont + Renamed the DHCP-DDNS constant INVALID_SOCKET to SOCKET_NOT_VALID + to avoid conflicting with a constant of that name defined on some + operating systems. + (Trac #3861, git 28205225ceed03ff3126e43cd06cedbaa7d8d657) + +933. [func]* marcin + DHCPv4 server by default identifies a client using the + client-identifier, if present. The new configuration + parameter 'match-client-id' allows for disabling this + behavior, i.e. 'chaddr' field is used to identify the + client instead. + (Trac #3747, git b9dc6ffd0f3396e9da8e0c83fd82164b8b8af011) + +932. [func] kalmus + MySQL schema has been extended with tables that can store + host reservation. This ticket updates database schema only, + the tables are not in use yet. + (Trac #3567, git d2cd5d53b3f31422a342c9bb8946dad9ed1ea032) + +931. [func] marcin + Improved log messages emitted by the DHCPv4 server. Also, + the server is now using multiple distinct loggers for logging + messages pertaining to different functional parts of the + code, e.g. packet transmission, lease allocation, DDNS etc. + For complete list of logger names see User Guide. + (Trac #3806, git 7b148c2dd5e2696a541883223ce1efd2de81f143) + +930. [func] tomek + Statistics Manager is now implemented. There is a new library + libkea-stats that governs statistics collection. Its usage will + be added in the upcoming tickets. + (Trac #3793, git 68e9554ecabfc2a79731eeec1c706522e4d39332) + +929. [build] fdupont + Corrected problem in build system whereby specifying an + installation directory on the "configure" command line that + included a "+" in the name caused the build to fail. + (Trac #3713, git 741ff09b743307bad28ae13db440e5e0f402d319) + +928. [build] fdupont + A CONFIG_H_WAS_INCLUDED define has been added to provide + a way in source files to check whether config.h has been included. + (Trac #3812, git cbb135d5f217b0692dcdbc9cfcc04f6a0dbc3922) + +927. [bug] tmark + DHCPv4 no longer attempts to update the lease database with the + generated FQDN when processing DHCPDISCOVERs. + (Trac #3779, git 0b413ee8aba1afa1643b216a1e8c35103c6c975b) + +926. [bug] marcin + Fixed the crash during the logging deinitialization. + (Trac #3823, git 435b958860ec7b921645bd5923fff96ea4341f19) + +925. [func] marcin + libkea-hooks logs when the callouts execution begins or ends + for the particular hook. It also logs the execution time of + individual callouts and the total time for all callouts. + (Trac #3804 git dd1432d7807e7d3b54c87dd4b3155d3110619fbd) + +924. [bug] marcin + Removed shell warning about the "missing format character" + in the keactrl usage. + (Trac #3784, git aa683395a4cd75af5340eb8603fe46b7b0dd8f4e) + +923. [func] tmark + The DHCPv4 server now logs packets it has either dropped as invalid + or to which it has replied with a NAK to a separate logger, + "kea_dhcp4.bad_packet". + (Trac #3743, git cb91ca851099423e1b6c39cca3f3e2ba29795a51) + +922. [build] fdupont + The config.h file should never be included by another include file. + Copy missing header files to the install directory. + (Trac #3782, git ea6e9d166faa54b1f9781bc56d7d8fee6c87b1f9) + +921. [func] marcin + libdhcpsrv: Added log traces to the host manager. + (Trac #3699, git 75b75c89db88eb1a81e76f5550f2a5b3155ce42d) + +920. [bug] marcin + Corrected issues with logging initialization in hooks + libraries. The dynamically loaded hooks libraries may now + define their own loggers which are configurable using Kea + configuration file. + (Trac #3198, git 8216a6b1a2ed6e2b38919280809ee21fc4107fd6) + +Kea 0.9.1 released on March 31, 2015 + +919. [doc] stephen + Corrected some configuration examples in the documentation. + (Trac #3772, git e9f084525bc1eec1cca635c00f33228bf7fac6a4) + +918. [func] tomek,tmark + DHCPv6 server now supports static reservations of hostnames + for clients. Note this resolves #3708 by reducing the number + of calls to selectSubnet to once per client request. + (Trac #3689, git c13c824d9948f7e3f71a65ed43798f3b5c14042c) + +917. [bug] marcin + DHCPv4 server may allocate lease for the client which is + using a non-unique identifier (HW address or client id), + if the other identifier is unique. + (Trac #3768, git 0f7a029e2a2a7652d49a0bcd9f49e879fac9136f) + +916. [func] sar + Add a log message that indicates when the v4, v6 or + DHCP-DDNS server has completed processing its + configuration and is about to enter the loop to process + messages. + (Trac #3755, git c71c7836804842bae51fe79fd599c57f5b3d007d) + +915. [func] tomek, marcin + The DHCPv6 server now supports the Relay-Supplied Options + option, as defined in RFC 6422. The relay can insert options + in the relay forward message that the server will send back + to the client if certain criteria are met. + (Trac #3705, git 4772ee589712f5359ecbd79ebf71fbc7bb68741b) + +914. [bug] marcin + DHCPv4 server: corrected the logging message issued when + the server could not allocate or offer the lease for the + client. The corrected message contains the client-id, + hardware address, ciaddr and requested-ip-address. + (Trac #3737, git 4c56e1348c5d50eaa5b3083a0a8c346966e1b603) + +913. [bug] sar + Handle recovery properly should the LFC crash while + manipulating files after completing processing. + (Trac #3759, git bb3b4d14119392261a1766da2b406fa46d4c0f21) + +912. [doc] sar + Added sections on LFC to the administrators and developers + guides. + (Trac #3720, git 828b801e6a4616de331588076ab9c4c35677595) + +911. [func]* marcin + libdhcp++: the C++ objects representing network interfaces + (Iface objects) are now non-copyable. As a result, the API + of the Interface Manager functions returning the pointers + to the Iface objects has changed. + (Trac #3715, git 7415c74e38e13385a75e7200cb23b7d6ca86df7f) + +910. [func] marcin + DHCPv4 server supports static reservations of the hostnames + for the clients. + (Trac #3688, git b5c50e2aff64da05b439da8d5fa4913fc8a704ca) + +909. [bug] marcin + Removed many cppcheck errors in the code. Also removed the + dhcp-ubench test tool. + (Trac #3736, git 552aea126e968b78292ae80c1c6a03c9ef4dcdcd) + +908. [bug] marcin + Handle overflows during time conversions in the MySQL and + PostgreSQL lease database backends. + (Trac #3673, git 27b4e4590fdee507f0e877d7b771dc6c6457a4b5) + +907. [doc] tmark + Corrected depictions of kea-admin command line options for + database-name in Kea Administrator Reference. Prior to this + the document showed "-d" as the database name option, when + in fact it is "-n". + (Trac #3742, git ec427e4c9d008abc800f87eda3c0024b35e4c2e2) + +906. [doc] tmark + Added description of a restriction on extracting a MAC + address from an IPv6 link-local address to the Kea + Administrator Reference, section 8.8, item "ipv6-link-local". + (Trac #3691, git ca9f5541cb36f815ac614c5c21088d545eafcac6) + +905. [func] marcin + DHCPv4 server assigns an address from the dynamic address + pool if the reserved address is in use by another client. + (Trac #3694, git 95b09ff53b941691cba172c933de0682b05a0d85) + +904. [bug] marcin + FreeBSD-only change: Disabled unit test expecting the death + of the process when conditional variable was destroyed when + the thread was still waiting for the variable. This is due + invalid behavior of the pthread_cond_destroy on FreeBSD + which should return EBUSY in such case, whereas it returns + success error code. + (Trac #3710, git bdb442402ef023055715baf597c401c9974a7fb2) + +903. [bug] stephen + Corrected arithmetical error in the rate control module of + perfdhcp which led to the incorrect calculation of the rate + at which packets should be sent. + (Trac #3729, git bb5bca3d9b68abc4b83abdd204bfb075dda630ac) + +902. [bug] marcin + Fixed the bug in the DHCPv4 server whereby the server + reconfiguration (using the SIGHUP signal) failed because + of sockets remaining open since the previous configuration. + (Trac #3730, git 3ceb0cd97cf5e44e8fc151d0a38db553530dd3ed) + +Kea 0.9.1beta released on February 18, 2015 + +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 the 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) + +Kea 0.9 released on August 29, 2014 + +832. [bug] jiri + Compilation fix for PostgreSQL on i686. Thanks to Jiri Popelka + from RedHat for providing a patch! + (Trac #3532, git 96a06654f2177444dcea3a0e9f6fa06947855497) + +831. [func] marcin + DHCP servers check if the interfaces specified in the configuration, + to be used to receive DHCP messages, are present in the system. + If the interface doesn't exist, an error is reported. In addition, + the SO_REUSEPORT flag is set for IPv6 sockets as multiple multicast + sockets can be bound to the DHCPv6 server port. + (Trac #3512, git 5cbbab2d01c6e1bf6d563ba64d80bc6bc857f73d) + +830. [build] jreed + The configure script no longer requires pkg-config. + (Trac #3511, git 99a5a2db8c011b358873d485ac48f7c78ac6374c) + +829. [build] wlodek + Lettuce DNS tests removed with all related python code, + most of them will be used in Forge project which can be found + http://kea.isc.org/wiki/IscForge + (Trac #3420, git e51bcbeedbc169050751c1b896726965243667be) + +828. [bug] marcin + Corrected the IfaceMgrTest.detectIface unit test that failed on + Linux systems with virtual interfaces present. + (Trac #3527, git 7aa01a6965b6e9fc39ff005803cada7f58f2e628) + +827. [build] jiri, tomek + Deprecated AC_PROG_LIBTOOL macro replaced by LT_INIT. Thanks to + Jiri Popelka from RedHat for providing a patch! + (Trac #3525, git 6c0aacf29fae1d0501ca69ff6324df8d4fc8c7ee) + +826. [bug] jiri, tomek + Compilation fix for Red Hat running on armv7. Thanks to Jiri + Popelka from RedHat for providing a patch! + (Trac #3526, git eac5a80472dcb78b538c2ed34cc0534f801e5145) + +825. [bug] jiri, tomek + Example JSON configuration files permission fix. Thanks to Jiri + Popelka from RedHat for providing a patch! + (Trac #3524, git 822a39ba33870f70787a1f666aed772e06d04d79) + +824. [bug] marcin + Kea daemons report configuration summary when the configuration is + applied successfully. + (Trac #3477, git f39d208024f720f72c931016cfa50a54e80f8c61) + +823. [build] tomek + query_cmp tool removed from the source code. + (Trac #3509, git f61c800059bd5e5c74e435d7dd97ae561d29151a) + +822. [build] tomek + 'host' program was removed from examples. + (Trac #3421, git aeea893fb1c52d20258929a62a59ae2e7bd12e3d) + +821. [bug] marcin + DHCP servers no longer log an error when Interface Manager fails to + receive a packet as a result of signal being received. + (Trac #3478, git d80c83aef8e103dd483234429d35aeb66149e0b9) + +820. [bug] marcin + Corrected the IfaceMgrTest.detectIfaces unit test which reported + false positives for specific network configurations. + (Trac #3517, git 9affa1b2210f5cc9d7a99724e5d5c8979409cefd) + +Kea 0.9beta1 released on August 13, 2014 + +819. [build] marcin + Renamed variables in the configure.ac so as their names do not + refer to BIND10 project. As a result of renaming the B10_CXXFLAGS + to KEA_CXXFLAGS in configure.ac all dependent Makefiles had to + be updated in the tree. The AX_BOOST_FOR_BIND10 macro has been + renamed to AX_BOOST_FOR_KEA. + (Trac #3507, git 6616b1c0ad0a78e11bca9395fafb8efdba8d8b9c) + +818. [func] tomek + DHCPv4, DHCPv6 and DDNS components now report their versions. + (Trac #3508, git 3f46c74ffa0ea1197e1fa62cb2f6580931be35f3) + +817. [bug] marcin + DHCPv4 and DHCPv6 servers will log an error during an attempt to + open socket on the interface which is down or not configured. + (Trac #3487, git fadc776914aa858ce637aab1513ab3d87631f612) + +816. [doc] tomek + AUTHORS file rewritten. + (Trac #3469, git 6ef55abaa1ef79e09ad332c0da28dee7bfed70fe) + +815. [func] tomek + Pool definitions in DHCPv4 and DHCPv6 are now lists of + structures. This makes adding new per-pool parameters easier in + the future. + (Trac #3464, git 4bd0c0eda9d86608f8802d28bd360239fe88e905) + +814. [func,doc] tomek + It is now possible to specify logging parameters in a + configuration file for DHCPv4, DHCPv6 and DHCP-DDNS components. + (Trac #3427, git 23285903645c36fc35c6866a74c50c74089cd255) + +813. [func] tomek + Functions, methods and variables referring to BIND10 were renamed + to Kea. In particular, system variables (B10_LOGGER_ROOT, + B10_LOCKFILE_DIR_FROM_BUILD etc.) were renamed. B10_ prefix was + replaced with KEA_. + (Trac #3417, git 1db8988de6af435fa388dc9c7f909c4a004a01d0) + +812. [doc] tomek + DHCPv6 and DDNS sections in Kea Administrator Reference Manual + has been updated. Usage of keactl has been documented. + (Trac #3468, git 3945fc6211bcadb9bece7147039a6b50ebcf936b) + (Trac #3466, git fa9570d19c73cbe7effc75589b7eb855c411f6a3) + +811. [doc] tmark + Added documentation of message protocol between DHCP servers and the + DHCP-DDNS process. + (Trac #3505, git 6d9aed2f8fe181714e8260493c6cc06e13d0edd0) + +810. [func] stephen + perfdhcp is now installed in sbin as it requires root privilege + to run. The perfdhcp source has been moved to the directory + src/bin/perfdhcp. + (Trac #3481, git d101aed6156a993476fa1164f0b0ec8395f5886c) + +809. [func] stephen + sockcreator is no longer built or installed. The code is being + retained in the repository for the moment, but may be deleted at + some point in the future. + (Trac #3480, git 2a55a469dde8fcc053b49e287c30d0906baa91b4) + +808. [func] stephen + Reduced number of startup and shutdown messages in the + DHCP-DDNS process by making some of them debug messages. + (Trac #3479, git bca0bae285de9ce904c0afd21af777dac2edb4e6) + +807. [func] marcin + DHCPv6 server responds to Confirm messages from clients. + (Trac #3269, git 4f43c309a994e30c07f5aa27057552fb195ec284) + +806. [func] marcin + DHCPv4 server processes Requested IP Address option (50). + (Trac #3320, git ad411a177a32bbe6a93f4baf813d985558c99e2f) + +805. [func] stephen + Changed all occurrences of "BIND 10" in message files to "Kea". + (Trac #3416, git e88090b57a75424920d9b96efbf50e3554048828) + +804. [func] marcin + DHCPv4 server supports DHCPINFORM messages from the clients. + (Trac #3390, git 77f8577b1dbb52bdc6deb8bed3eef6ce7abc33fd) + +803. [func] marcin + DHCPv4 server supports responding to directly connected clients on + FreeBSD, NetBSD and OpenBSD using Berkeley Packet Filtering. This + also resolves the problem reported in #3438 that the server doesn't + pick the correct interface to respond to the client and the client + never gets the response from the server. + (Trac #2893, git 9fba39d93b9ece950c4294230984d6315dfa11f6) + +802. [doc] tomek, marcin + Developer's Guide updated to Change BIND 10 references to Kea. + Documentation for Keactrl added. + (Trac #3396, git 271450edbc63e9022f877c9aa3d1dc290708f151) + (Trac #3466, git fa9570d19c73cbe7effc75589b7eb855c411f6a3) + +801. [build] fdupont + Detect all OS X versions more recent than 10.9 (where + pthread_cond_destroy() doesn't work as documented, + which makes some of unit tests to fail). + (Trac #3473, git d620ef6659598bcc1f4c30241e845348770e264e) + +800. [bug] marcin + DHCPv6 server is now usable on FreeBSD, NetBSD and OpenBSD systems. + It can receive messages sent to ff02::1:2 multicast address. Also, + fixed the bug whereby the DHCPv6 server failed to bind the socket + to global unicast address on BSD systems due to invalid scope id + setting. + (Trac #3437, git f4c2fe2fc37a37f1510e138e1f6c4ccd757e1f06) + +799. [func] tmark + Configuration parsing for all Kea servers has been enhanced to include + the location of the error within the configuration file presented as + file name, line number, and column within the configuration file. + (Trac #3436, git b927deb2b4579f93ba74d4be8f5a3a4eaa3c6422) + (Trac #3409, git 777dbdb29a641f7d8661f9cc2c22f1cb9fe7eb14) + +798. [build] tomek + JSON configuration backend is now the default. BUNDY backend + is now deprecated after #3413 removed the BIND10/Bundy framework. + (Trac #3476, git 727b65f2c62bbd7dc599b2e7956167e2b3c34098) + +797. [build] tomek + Removed a lot of remaining BIND10 framework: bind10, bindctl, + cfgmgr, cmdctl, msgq, stats, sysinfo, tests, usermgr from src/bin + directory, also src/lib/python directory. Python3 is not + required anymore, unless documentation generation is enabled. + (Trac #3413, git d7b297ac475193f687d07b0489ac74585d4f3814) + +796. [doc] tomek + User's Guide renamed to Kea Administrator Reference Manual, + removed sections specific to BIND10/Bundy framework, rewritten + general and DHCPv4 specific examples. + (Trac #3418, git 73e6019d83760f0500890240e2e187dcd5e1e14c) + +795. [func] marcin + Added support to keactrl to start, stop, reconfigure and gather + status of the DHCP-DDNS server. + (Trac #3465, git 6bc61470c9ccee001fe282d0f879bcddac0b8721) + +794. [func] fdupont + cryptolink: add OpenSSL crypto backend as an alternative to Botan + by specifying --with-openssl[=PATH] on the "configure" command + line. Add hash support to the cryptolink API and use it in DHCP + DDNS, removing the Botan dependency. + (Trac #2406, git 4b4110dd68706b4171fc6d8a6f4f2a9cd820edac) + +793. [func] tmark + DHCP-DDNS: Implemented dynamic reconfiguration of the server, + triggered when the SIGHUP signal is received by the server's + process. Also, server performs a graceful shut down when SIGINT + or SIGTERM signal is received. + (Trac #3407, git f1a224df1e46098748ba60205be09ada4600515f) + +792. [func] marcin + Implemented keactrl script used to start, stop, reconfigure Kea + servers and get their status and configuration data. This script + is installed only if the JSON configuration backend is in use. + (Trac #3422, git e1d164c7a9a54a7aacea88c8c57cd2826e06012b) + +791. [func] tmark + DHCP-DDNS: Now supports configure.ac parameter: --with-kea-config. + It allows selecting configuration backend and accepts one of two + values: BUNDY, which uses Bundy (former BIND10) framework as Kea + 0.8 did, or JSON, which reads configuration from a JSON file. + (Trac #3401, git 8e69209caafc81041229f3d9601599f3d98fc86e) + +790. [func] marcin + DHCPv4 server: Implemented dynamic reconfiguration of the server, + triggered when the SIGHUP signal is received by the server's + process. Also, server performs a graceful shut down when SIGINT + or SIGTERM signal is received. + (Trac #3405, git dd0270bd91cf8fc958b8b388950d343d311ee99e) + +789. [bug] marcin + DHCPv4 server sends Renewal Time (58) and Rebinding Time (59) + options to the client when the appropriate timers are set + in the configuration. Previously, the timers were ignored. + (Trac #3336, git b3c8a079889411182ade517c85aa4fe5d6b8719a) + +788. [func] tomek + DHCPv4 server: New parameter added to configure.ac: --with-kea-config. + It allows selecting configuration backend and accepts one of two + values: BUNDY, which uses Bundy (former BIND10) framework as Kea + 0.8 did, or JSON, which reads configuration from a JSON file. + (Trac #3399, git 6e4dd3ae58c091ba0fd64c87fa8d7c268210f99b) + +787. [func] marcin + DHCPv6 server: Implemented dynamic reconfiguration of the server, + triggered when the SIGHUP signal is received by the server's + process. Also, server performs a graceful shut down when SIGINT + or SIGTERM signal is received. + (Trac #3406, git 3be60fa6ac521aecae6ae92d26dc03792bc76903) + +786. [func] tmark + DHCP-DDNS now supports DDNS updates with TSIG. Please refer to the + Kea Guide for details. Prior to this TSIG keys could be defined but + were not used. + (Trac #3432, git 80fea12a53d1e832d4e7b710ca6ea613300f73ea) + +785. [bug] marcin + DHCPv6 server avoids collisions between prefixes that are allocated + as a result of receiving hints from the clients. Previously the + whole prefix (including bits beyond the prefix length) was used to + search existing leases in the lease database. If not found, the + new lease was created for the prefix sent by the client. If another + client sent the same prefix but with different non-significant bits + the prefix was allocated. This led to prefix collisions. Currently, + server ignores bits beyond the prefix length when searching for + existing leases. + (Trac #3246, git 50de7df4195195e981ae9c8c6f1b4100047d5bb5) + +784. [func] tmark + DHCP_DDNS's configuration was changed. The unused parameter, + "interface" was deleted. Three new parameters, "ncr_protocol", + "ncr_format", and "dns_server_timeout" were added. Please refer to + Kea Guide for details. + (Trac #3268, git bd60252e679f19b062f61926647f661ab169f21c) + +783. [func]* tomek + DHCPv6 server: New parameter added to configure: --with-kea-config. + It allows selecting configuration backend and accepts one of two + values: BUNDY, which uses Bundy (former BIND10 framework as Kea + 0.8 did, or JSON, which reads configuration from a JSON file. + (Trac #3400, git 7e9fdfa644b81f72bfa5300b7ddcdb9754400769) + +782. [func] tmark + Added sender-ip, sender-port, and max-queue-size parameters to + the dhcp-ddns configuration section of both b10-dhcp4 and b10-dhcp6. + (Trac #3328, git 8d8d0b5eedaab20bf1008dfb3a6913eb006a6e73) + +781. [func] marcin + libkea-dhcpsrv: the Memfile lease storage backend returns leases + of a specified type. Previously, it ignored the lease type parameter + and returned all leases for a particular client. Thanks to David + Carlier for helping to implement this ticket. + (Trac #3148, git d2f0edf473716cd747a21d6917e89ba55c148d8e) + +780. [func] marcin + libkea-cc: JSON parser stores information about the position + of the data element values in the JSON string. The position + comprises the line number and the offset within this line where + the specific value resides. This functionality is intended to + be used for error logging during configuration parsing. + (Trac #3408, git 115a52a6713340fc589f6f95d73d242931239405) + +779. [doc] tmark + Added a section to the developer's guide for Kea's DHCP-DDNS + component, D2. + (Trac #3158, git 7be263c7372b1401a8b4288742854f96b5bec0d6) + +bind10-1.2.0 (kea 0.8) released on April 17, 2014 + +bind10-1.2.0rc1 released on April 8, 2014 + +778. [func]* marcin + libdhcpsrv: the Memfile lease storage backend now writes + leases into a CSV file. Configuration parsers for b10-dhcp4 + and b10-dhcp6 use the new configuration parameters to + control the location of the lease file. It is possible to + disable lease writes to disk using configuration for testing + purposes. + (Trac #3360, git 09e6e71abf8bc693e389ebd262fd149b43c1f1d4) + +777. [func] tmark + If b10-dhcp-ddns is configured to listen on an address other than + loopback, it will issue a log message warning the user that this is + insecure and is supported for testing purposes only. + (Trac #3383, git 652aa4de2fa82fdf3de569d01d9f4aa618fc1972) + +776. [func] tomek + b10-dhcp4 and b10-dhcp6 now support using PostgreSQL as the backend + for storing lease data. This backend is enabled by specifying + --with-dhcp-pgsql on the "configure" command line. Without this + switch the PostgreSQL backend is not compiled leaving BIND 10 able to + be built on systems without PostgreSQL installed. Thanks to David + Carlier who contributed the initial patches for this work. + (Trac #3080, git 1aae8b1fab3008e62c4f085948b1abadad512447) + +775. [func] marcin + b10-dhcp4, b10-dhcp6: added a new parameter to subnet configuration. + This parameter allows subnet ids to be set to arbitrary values or + automatically generated values. Generated subnet ids are renumbered + each time one or more subnets are removed. Setting the ids to + specific values prevents this renumbering. + (Trac #3281, git d90e9a0642fbb16a4e664160b4812f61fb81f1aa) + +774. [doc] marcin + Updated information in the BIND 10 Guide about the standards supported + by Kea and its current limitations. + (Trac #3258, git ff52b86206e3a256a02ca6d5cde55040550ba86a) + +773. [doc] tmark + Added sections to the BIND 10 guide on configuring and using the + DHCP-DDNS feature of Kea. Chapter 19, describes the new DHCP-DDNS + server and its configuration. Additions to chapters 17 and 18 + describe configuring the DHCP servers to work with the new server. + (Trac #3283, git 806eea955c61eba2d7268958a740a8e8ea63bdaf) + +772. [bug] tmark + b10-dhcp4 and b10-dhcp6 now both correctly support DDNS updates + when honoring client requested delegation. When DDNS is enabled, + and the client's FQDN indicates they will do the forward updates, + the servers will now post a DDNS update request to b10-dhcp-ddns + for the reverse updates. Prior to this the servers were posting no + DDNS update requests when honoring client delegation. + (Trac #3352, git b1a0f405463723d539b2e6ed2dcdd692d7796b88) + +771. [bug] tmark + Ticket #3339 (entry 760) was reverted to fix regression + where components added through bindctl, could not be removed. + (Trac #3374, git c641e2d0569df3ca3e5a93beaf0ecf39db07e402) + +770. [bug] tmark + Configuration parsing in b10-dhcp6 and b10-dhcp4 for the "dhcp-ddns" + section of their configurations now supplies hard-coded default values + rather than those from their spec files. This is a temporary solution + to circumvent an issue in the configuration libraries which causes + map-items to behave incorrectly. + (Trac #3358, git 983d8acec3a7ccb1ffef662eac7518aed5f99381) + +769. [func] marcin + b10-dhcp6: Implemented support for Rebind message. + (Trac #3232, git 3649413932857470558a6f19e0b0e181b3fc0fda) + +768. [bug] tmark + b10-dhcp-ddns now treats a DNS server response code of + NXRRSET as a successful outcome when processing a request + to remove DNS data. This corrects a defect in which + b10-dhcp-ddns would incorrectly fail a request to remove + DNS data when the DNS server's response was NXRRSET. + (Trac #3362, git da3b0d4f364d069ffdb47723545798ac589fae42) + +767. [func] tomek + Unit-tests for all DHCP database backends are now shared. + This improves test coverage for memfile and any future + backends that may appear. + (Trac #3359, git 3d6c11630ada9d0681a813cf026f6bb16aabb9fa) + +bind10-1.2.0beta1 released on March 6, 2014 + +766. [func] muks + --disable-dns and --disable-dhcp configure arguments have been + added to conditionally disable the DNS or DHCP components + respectively. This facility can be used to do a DNS or DHCP-only + build of BIND 10. DNS and DHCP components are both enabled by + default. + (Trac #2367, git 81a689b61b1c4abf8a1a4fcbe41cfc96fd11792a) + +765. [bug] tomek + b10-dhcp4: Fixed a minor bug in eRouter1.0 class processing. The + server no longer sets giaddr field. + (Trac #3353, git 23c22e9b1141c699f361d45c309e737dfecf6f3f) + +764. [bug] tomek + b10-dhcp4: Fixed a bug caused client classification to not work + properly. + (Trac #3343, git 1801400ac874380e7a565d373b4bae96a49e21f7) + +763. [func] tmark + b10-dhcp-ddns may now be configured to disable DNS updates in + in a given direction by simply not defining any domains for that + direction in its configuration. This allows it to be configured to + support either forward DNS or reverse DNS only. Prior to this if + a request was received that could not be matched to servers in a + given direction it was failed immediately. + (Trac #3341, git 01f26bce1d9faaddb8be59802f73891ea065b200) + +762. [func] tmark + If configured to do so, b10-dhcp6 will now create DHCP-DDNS update + requests and send them to b10-dhcp-ddns for processing. + (Trac# 3329, git 239956696465a13196a2b6bc0f3a61aed21a5de8) + +761. [doc] stephen, jreed + Added "man" page for perfdhcp. + (Trac #2307, git ff2f538912c205fbdb1408ee613c09b90de53514) + +760. [bug] tmark + When merging a map of configuration elements into another, elements + that are themselves maps will be merged. In particular, this + corrects a defect which caused a configuration commit error to + occur when using bindctl to modify a single a parameter in + dhcp-ddns portion of b10-dhcp4 configuration. + (Trac# 3339, git 3ae0d93d89f3277a566eeb045191a43b2dd9d9b1) + +759. [func] tomek + b10-dhcp4, b10-dhcp6: IP address of the relay agent can now be + specified for both IPv4 and IPv6 subnets. That information allows + the server to properly handle a case where relay agent address + does not match subnet. This is mostly useful in shared subnets + and cable networks. + (Trac #3322, git 5de565baea42c9096dff78ed5fbd05982a174469) + +758. [bug] tmark + b10-dhcp4 now correctly handles DHO_HOST_OPTION. This corrects + a bug where the server would fail to recognize the option in the + DHCP request and then skip generating the appropriate DHCP-DDNS + update request. + (Trac #2426, git 985d66cba7665a71e17ef70c5d22c767abaad1b6) + +757. [func] tmark + b10-dhcp6 now parses parameters which support DHCP-DDNS updates + via the DHCP-DDNS module, b10-dhcp-ddns. These parameters are + part of new configuration element, dhcp-ddns, defined in + dhcp4.spec. These parameters influence when and how DDNS updates + requests are created but communicating them to b10-dhcp-ddns is + not yet supported. That will be provided under separate ticket, + Trac #3222. + (Trac# 3034, git 22c667a66536ff3e3741bc67025d824644ed4e7d) + +756. [bug] marcin + b10-dhcp6: server parses DHCPv6 Vendor Class option. Previously + the server failed to parse Vendor Class option having empty opaque + data field because of the invalid definition in libdhcp++. The + DHCPv6 Vendor Class option and DHCPv4 V-I Vendor Class option is + now represented by the new OptionVendorClass. The b10-dhcp4 is + affected by this change such that it uses new class to parse the + DHCPv4 V-I Vendor Class option. + (Trac #3316, git 1e61d7db5b8dc76682aa568cd62bfae0eeff46e3) + +755. [func] muks + Add support for the CAA RR type (RFC 6844). + (Trac #2512, git 39162608985e5c904448f308951c73bb9c32da8f) + +754. [func] muks + Add support for the TLSA RR type (RFC 6698). + (Trac #2185, git a168170430f6927f28597b2a6debebe31cf39b13) + +753. [func] muks + libdns++: the unknown/generic (RFC 3597) RDATA class now uses the + generic lexer in constructors from text. + (Trac #2426, git 0770d2df84e5608371db3a47e0456eb2a340b5f4) + +752. [func] tmark + If configured to do so, b10-dhcp4 will now create DHCP-DDNS update + requests and send them to b10-dhcp-ddns for processing. + (Trac# 3329, git 4546dd186782eec5cfcb4ddb61b0a3aa5c700751) + +751. [func] muks + The BIND 10 zone loader now supports the $GENERATE directive (a + BIND 9 extension). + (Trac #2430, git b05064f681231fe7f8571253c5786f4ff0f2ca03) + +750. [func] tomek + b10-dhcp4, b10-dhcp6: Simple client classification has been + implemented. Incoming packets can be assigned to zero or more + client classes. It is possible to restrict subnet usage to a given + client class. User's Guide and Developer's Guide has been updated. + (Trac #3274, git 1791d19899b92a6ee411199f664bdfc690ec08b2) + +749. [bug] tmark + b10-dhcp-ddns now sets the TTL value in RRs that add A, AAAA, or + PTR DNS entries to the lease length provided in instigating + NameChangeRequest. This corrected a bug in which the TTL was + always set to 0. + (Trac# 3299, git dbacf27ece77f3d857da793341c6bd31ef1ea239) + +748. [bug] marcin + b10-dhcp4 server picks a subnet, to assign address for a directly + connected client, using IP address of the interface on which the + client's message has been received. If the message is received on + the interface for which there is no suitable subnet, the message + is discarded. Also, the subnet for renewing client which unicasts + its request, is selected using ciaddr. + (Trac #3242, git 9e571cc217d6b1a2fd6fdae1565fcc6fde6d08b1) + +747. [bug] marcin + libdhcpsrv: server configuration mechanism allows creating definitions + for standard options for which Kea doesn't provide a definition yet. + Without this, the server administrator couldn't configure options for + which a definition didn't exist. + (Trac# 3309, git 16a6ed6e48a6a950670c4874a2e81b1faf287d99) + +746. [func] tomek + IOAddress no longer exposes underlying asio objects. The getAddress() + method has been removed and replaced with several convenience methods. + (Trac #1485, git ecdb62db16b3f3d447db4a9d2a4079d5260431f0) + +745. [bug]* muks + b10-auth now returns rcode=REFUSED for all questions with + qtype=RRSIG (i.e., where RRSIGs are queried directly). This is + because RRSIGs are meaningless without being bundled alongside the + RRs they cover. + (Trac #2226, git 68d24e65c9c3dfee38adfbe1c93367b0083f9a58) + +744. [func] marcin + b10-dhcp6: Refactored the code which is processing Client FQDN + option. The major user-visible change is that server generates + DDNS NameChangeRequest for the first IPv6 address (instead of all) + acquired by a client. Also, the server generates fully qualified + domain name from acquired IPv6 address, if the client sends an + empty name in Client FQDN option. + (Trac# 3295, git aa1c94a54114e848c64771fde308fc9ac0c00fd0) + +743. [func] tmark + b10-dhcp4 now responds with changes in DDNS behavior based upon + configuration parameters specified through its dhcp-ddns configuration + element. The parameters now supported are override-no-update, + override-client-update, replace-client-name, generated-prefix, and + qualifying-suffix. + (Trac# 3282, git 42b1f1e4c4f5aa48b7588233402876f5012c043c) + +742. [func] muks + The authoritative server now includes the datasource configuration + when logging some errors with the + AUTH_DATASRC_CLIENTS_BUILDER_RECONFIGURE_ERROR message ID. + (Trac #2756, git 31872754f36c840b4ec0b412a86afe9f38be86e0) + +741. [bug] shane + Remove hard-coded (and unnecessary) TSIG key from error message. + This also prevents a crash if the TSIG name is missing. + (Trac #3099, git 0ba8bbabe09756a4627e80aacdbb5050407faaac) + +740. [func] muks + When displaying messages about mismatched configuration data types + in entered values (between the supplied value type and expected + schema type), bindctl now includes both the supplied and expected + configuration data types in the returned error. The user has more + information on what caused the error now. + (Trac #3239, git 84d5eda2a6ae0d737aef68d56023fc33fef623e6) + +739. [bug] muks + Various minor updates were made to the SSHFP RDATA parser. Mainly, + the SSHFP constructor no longer throws an isc::BadValue exception. + generic::SSHFP::getFingerprintLen() was also renamed to + getFingerprintLength(). + (Trac #3287, git 2f26d781704618c6007ba896ad3d9e0c107d04b0) + +738. [bug] muks + b10-auth now correctly processes NXDOMAIN results in the root zone + when using a SQLite3 data source. + (Trac #2951, git 13685cc4580660eaf5b041b683a2d2f31fd24de3) + +737. [func] muks + b10-auth now additionally logs the source address and port when + DNS messages with unsupported opcodes are received. + (Trac #1516, git 71611831f6d1aaaea09143d4837eddbd1d67fbf4) + +736. [bug] wlodek + b10-dhcp6 is now capable to determine if a received + message is addressed to it, using server identifier option. + The messages with non-matching server identifier are dropped. + (Trac #2892, git 3bd69e9b4ab9be231f7c966fd62b95a4e1595901) + +735. [doc] stephen + Expanded Developer's Guide to include chapter on logging. + (Trac #2566, git a08d702839d9df6cddefeccab1e7e657377145de) + +734. [bug] marcin + libdhcp++: fixed a bug which caused an error when setting boolean + values for an option. Also, bind10-guide has been updated with the + examples how to set the boolean values for an option. + (Trac# 3292, git 7c4c0514ede3cffc52d8c2874cdbdb74ced5f4ac) + +733. [bug] marcin + libdhcp++: a function which opens IPv6/UDPv6 sockets for the + DHCPv6 server, gracefully handles errors to bind socket to + a multicast address. + (Trac #3288, git 76ace0c46a5fe0e53a29dad093b817ad6c891f1b) + +732. [func] tomek + b10-dhcp4, b10-dhcp6: Support for simplified client classification + added. Incoming packets are now assigned to a client class based + on the content of the packet's user class option (DHCPv4) or vendor + class option (DHCPv6). Two classes (docsis3.0 and eRouter1.0) have + class specific behavior in b10-dhcp4. See DHCPv4 Client + Classification and DHCPv6 Client Classification in BIND10 + Developer's Guide for details. This is a first ticket in a series + of planned at least three tickets. + (Trac #3203, git afea612c23143f81a4201e39ba793bc837c5c9f1) + +731. [func] tmark + b10-dhcp4 now parses parameters which support DHCP-DDNS updates + via the DHCP-DDNS module, b10-dhcp-ddns. These parameters are + part of new configuration element, dhcp-ddns, defined in + dhcp4.spec. The parameters parse, store and retrieve but do not + yet govern behavior. That will be provided under separate ticket. + (Trac# 3033, git 0ba859834503f2b9b908cd7bc572e0286ca9201f) + +730. [bug] tomek + b10-dhcp4, b10-dhcp6: Both servers used to unnecessarily increase + subnet-id values after reconfiguration. The subnet-ids are now reset + to 1 every time a server is reconfigured. + (Trac #3234, git 31e416087685a6dadc3047fdbb0927bbf60095aa) + +729. [bug] marcin + b10-dhcp4 discards DHCPv4 messages carrying server identifiers + which don't match server identifiers used by the server. + (Trac #3279, git 805d2b269c6bf3e7be68c13f1da1709d8150a666) + +728. [func] marcin + b10-dhcp6: If server fails to open a socket on one interface it + will log a warning and continue to open sockets on other interfaces. + The warning message is communicated from the libdhcp++ via the + error handler function supplied by the DHCPv6 server. + (Trac #3252, git af5eada1bba906697ee92df3fcc25cc0e3979221) + +727. [func] muks + RRset::setName() has now been removed. + (Trac #2335, git c918027a387da8514acf7e125fd52c8378113662) + +726. [bug]* muks + Don't print trailing newlines in Question::toText() output by + default. This fixes some logging that were split with a line + feed. It is possible to get the old behavior by passing + toText(true). Message::toText() output is unchanged. + (Trac #571, git 7286499d5206c6d2aa8a59a5247c3841a772a43e) + +725. [func] tmark + b10-dhcp-ddns D2UpdateMgr now uses the newly implemented + NameAddTransaction and NameRemoveTransaction classes. This allows + it to conduct actual DNS update exchanges based upon queued + NameChangeRequests. + (Trac# 3089, git 9ff948a169e1c1f3ad9e1bad1568375590a3ef42) + +724. [bug] marcin + b10-dhcp4: Different server identifiers are used for the packets + being sent through different interfaces. The server uses IPv4 address + assigned to the particular interface as a server identifier. This + guarantees that the unicast packet sent by a relay or a client, to + the address being a server identifier, will reach the server. + (Trac #3231, git c7a229f15089670d2bfde6e9f0530c30ce6f8cf8) + +723. [bug] marcin + libdhcp++: Implemented unit tests for the IfaceMgr's routine + which opens IPv6 sockets on detected interfaces. The IfaceMgr + logic performing low level operations on sockets has been + moved to a separate class. By providing a custom implementation + of this class, the unit tests may use fake interfaces with + custom configuration and thus cover wide range of test + scenarios for the function. + (Trac #3251, git 21d2f7ec425f8461b545687104cd76a42da61b2e) + +722. [bug] muks + b10-cmdctl now prints a more operator-friendly message when the + address+port that b10-cmdctl listens on is already in use. + (Trac #3227, git 5ec35e37dbb46f66ff0f6a9d9a6a87a393b37934) + +721. [func] tmark + Updates the user_chk example hooks shared library with callouts + for packet receive and packet send. Decision outcome now includes + the lease or prefix assigned. The user registry now supports a + default user entry. + (Trac #3207, git 34fddf2e75b80d9e517a8f9c3321aa4878cda795) + +720. [func] tmark + Added the initial implementation of the class, NameAddTransaction, + to b10-dhcp-ddns. This class provides a state machine which + implements the logic required to remove forward and reverse DNS + entries as described in RFC 4703, section 5.5. This includes the + ability to construct the necessary DNS requests. + (Trac# 3088, git ca58ac00fce4cb5f46e534d7ffadb2db4e4ffaf3) + +719. [func] tomek + b10-dhcp4: Support for sending back client-id (RFC6842) has been + added now. Also a configuration parameter (echo-client-id) has + been added, so it is possible to enable backward compatibility + ("echo-client-id false"). + (Trac #3210, git 88a4858db206dfcd53a227562198f308f7779a72) + +718. [func] dclink, tomek + libdhcp++: Interface detection implemented for FreeBSD, NetBSD, + OpenBSD, Mac OS X and Solaris 11. Thanks to David Carlier for + contributing a patch. + (Trac #2246, git d8045b5e1580a1d0b89a232fd61c10d25a95e769) + +717. [bug] marcin + Fixed the bug which incorrectly treated DHCPv4 option codes 224-254 as + standard options, barring them from being used as custom options. + (Trac #2772, git c6158690c389d75686545459618ae0bf16f2cdb8) + +716. [func] marcin + perfdhcp: added support for sending DHCPv6 Release messages + at the specified rate and measure performance. The orphan + messages counters are not displayed for individual exchanges + anymore. The following ticket: #3261 has been submitted to + implement global orphan counting for all exchange types. + (Trac #3181, git 684524bc130080e4fa31b65edfd14d58eec37e50) + +715. [bug] marcin + libdhcp++: Used the CMSG_SPACE instead of CMSG_LEN macro to calculate + msg_controllen field of the DHCPv6 message. Use of CMSG_LEN causes + sendmsg failures on OpenBSD due to the bug kernel/6080 on OpenBSD. + (Trac #1824, git 39c9499d001a98c8d2f5792563c28a5eb2cc5fcb) + +714. [doc] tomek + BIND10 Contributor's Guide added. + (Trac #3109, git 016bfae00460b4f88adbfd07ed26759eb294ef10) + +713. [func] tmark + Added DNS update request construction to d2::NameAddTransaction + in b10-dhcp-ddns. The class now generates all DNS update + request variations needed to fulfill its state machine in + compliance with RFC 4703, sections 5.3 and 5.4. + (Trac# 3241, git dceca9554cb9410dd8d12371b68198b797cb6cfb) + +712. [func] marcin, dclink + b10-dhcp4: If server fails to open a socket on one interface it + will log a warning and continue to open sockets on other interfaces. + The warning message is communicated from the libdhcp++ via the + error handler function supplied by the DHCPv4 server. Thanks to + David Carlier for providing a patch. + (Trac #2765, git f49c4b8942cdbafb85414a1925ff6ca1d381f498) + +711. [func] tmark + Added the initial implementation of the class, NameAddTransaction, + to b10-dhcp-ddns. This class provides the state model logic + described in the DHCP_DDNS design to add or replace forward and + reverse DNS entries for a given FQDN. It does not yet construct + the actual DNS update requests, this will be added under Trac# + 3241. + (Trac# 3087, git 8f99da735a9f39d514c40d0a295f751dc8edfbcd) + +710. [build] jinmei + Fixed various build time issues for MacOS X 10.9. Those include + some general fixes and improvements: + - (libdns++) masterLoad() functions now use the generic MasterLoader + class as backend, eliminating the restrictions of the previous + versions. + - (libcc) fixed a minor portability bug in the JSON parser. Although + the only known affected system is OS X 10.9 at the moment, that + could potentially cause disruption on other existing and future + systems. + Other notes: + - if built with googletest, gtest 1.7 (and possibly higher) is + required. + - many older versions of Boost don't work. A known workable version + is 1.54. + (Trac #3213, git d4e570f097fe0eb9009b177a4af285cde0c636cc) + +709. [bug] marcin + b10-dhcp6: Server crashed when the client sent FQDN option and did + not request FQDN option to be returned. + (Trac #3220, git 0f1ed4205a46eb42ef728ba6b0955c9af384e0be) + +708. [bug] dclink, marcin + libdhcpsrv: Fixed a bug in Memfile lease database backend which + caused DHCPv4 server crashes when leases with NULL client id + were present. Thanks to David Carlier for submitting the patch. + (Trac #2940, git a232f3d7d92ebcfb7793dc6b67914299c45c715b) + +707. [bug] muks + Using very large numbers (out of bounds) in config values caused + BIND 10 to throw an exception. This has been fixed in a patch + contributed by David Carlier. + (Trac #3114, git 9bd776e36b7f53a6ee2e4d5a2ea79722ba5fe13b) + +706. [func] marcin + b10-dhcp4: Server processes the DHCPv4 Client FQDN and Host Name + options sent by a client and generates the response. As a result + of processing, the server generates NameChangeRequests which + represent changes to DNS mappings for a particular lease (addition + or removal of DNS mappings). + Currently all generated NameChangeRequests are dropped. Sending + them to b10-dhcp-ddns will be implemented with the future tickets. + (Trac #3035, git f617e6af8cdf068320d14626ecbe14a73a6da22) + +705. [bug]* kean + When commands are piped into bindctl, no longer attempt to query the + user name and password if no default user name and password file is + present, or it contains no valid entries. + (Trac #264, git 4921d7de6b5623c7e85d2baf8bc978686877345b) + +704. [func] naokikambe + New statistics items related to IP sockets added into b10-xfrin: + open, openfail, close, connfail, conn, senderr, and recverr. + Their values can be obtained by invoking "Stats show Xfrin" via + bindctl while b10-xfrin is running. + (Trac #2300, git 4655c110afa0ec6f5669bf53245bffe6b30ece4b) + +703. [bug] kean + A bug in b10-msgq was fixed where it would remove the socket file if + there was an existing copy of b10-msgq running. It now correctly + detects and reports this without removing the socket file. + (Trac #433, git c18a49b0435c656669e6f87ef65d44dc98e0e726) + +702. [func] marcin + perfdhcp: support for sending DHCPv6 Renew messages at the specified + rate and measure performance. + (Trac #3183, git 66f2939830926f4337623b159210103b5a8e2434) + +701. [bug] tomek + libdhcp++: Incoming DHCPv6 IAPREFIX option is now parsed properly. + (Trac #3211, git ed43618a2c7b2387d76f99a5a4b1a3e05ac70f5e) + +700. [func] tomek, marcin + b10-dhcp4, b10-dhcp6: Support for vendor options has been added. It + is now possible to configure vendor options. Server is able to + parse some CableLabs vendor options and send configured vendor + options in response. The support is not complete. + (Trac #3194, git 243ded15bbed0d35e230d00f4e3ee42c3609616c) + +699. [bug] marcin + libdhcp++: Options with defined suboptions are now handled properly. + In particular, Relay Agent Info options is now echoed back properly. + (Trac #3102, git 6f6251bbd761809634aa470f36480d046b4d2a20) + +698. [bug] muks + A bug was fixed in the interaction between b10-init and b10-msgq + that caused BIND 10 failures after repeated start/stop of + components. + (Trac #3094, git ed672a898d28d6249ff0c96df12384b0aee403c8 + +697. [func] tmark + Implements "user_check" hooks shared library which supports subnet + selection based upon the contents of a list of known DHCP lease users + (i.e. clients). Adds the following subdirectories to the bind10 src + directory for maintaining hooks shared libraries: + bind10/src/hooks - base directory for hooks shared libraries; + bind10/src/hooks/dhcp - base directory for all hooks libs + pertaining to DHCP (Kea); + bind10/src/hooks/dhcp/user_check - directory containing the + user_check hooks library. + (Trac #3186, git f36aab92c85498f8511fbbe19fad5e3f787aef68) + +696. [func] tomek + b10-dhcp4: It is now possible to specify value of siaddr field + in DHCPv4 responses. It is used to point out to the next + server in the boot process (that typically is TFTP server). + (Trac #3191, git 541922b5300904a5de2eaeddc3666fc4b654ffba) + +695. [func] tomek + b10-dhcp6 is now able to listen on global IPv6 unicast addresses. + (Trac #3195, git 72e601f2a57ab70b25d50877c8e49242739d1c9f) + +694. [bug] tomek + b10-dhcp6 now handles exceptions better when processing initial + configuration. In particular, errors with socket binding do not + prevent b10-dhcp6 from establishing configuration session anymore. + (Trac #3195, git 72e601f2a57ab70b25d50877c8e49242739d1c9f) + +693. [bug] tomek + b10-dhcp6 now handles IPv6 interface enabling correctly. + (Trac #3195, git 72e601f2a57ab70b25d50877c8e49242739d1c9f) + +692. [bug] marcin + b10-dhcp4: Fix a bug whereby the Parameter Request List was not parsed + by the server and requested DHCPv4 options were not returned to the + client. Options are not sent back to the client if server failed to + assign a lease. + (Trac #3200, git 50d91e4c069c6de13680bfaaee3c56b68d6e4ab1) + +691. [bug] marcin + libdhcp++: Created definitions for standard DHCPv4 options: + tftp-server-name (66) and boot-file-name (67). Also, fixed definition + of DHCPv4 option time-offset (2). + (Trac #3199, git 6e171110c4dd9ae3b1be828b9516efc65c33460b) + +690. [bug] tomek + b10-dhcp4: Relay Agent Info option is now echoed back in + DHCPv4 responses. + (Trac #3184, git 287389c049518bff66bdf6a5a49bb8768be02d8e) + +689. [func]* marcin + b10-dhcp4 and b10-dhcp6 install callback functions which parse options + in the received DHCP packets. + (Trac #3180, git f73fba3cde9421acbeb9486c615900b0af58fa25) + +688. [func] tomek + b10-dhcp6: Prefix Delegation support is now extended to + Renew and Release messages. + (Trac #3153, #3154, git 3207932815f58045acea84ae092e0a5aa7c4bfd7) + +687. [func] tomek + b10-dhcp6: Prefix Delegation (IA_PD and IAPREFIX options) is now + supported in Solicit and Request messages. + (Trac #3152, git a0e73dd74658f2deb22fad2c7a1f56d122aa9021) + +686. [bug] tomek + b10-dhcp6 now sends back relayed traffic to proper port. + (Trac #3177, git 6b33de4bea92eecb64b6c673bf1b8ae51f8edcf1) + +685. [func] tomek + libdhcpsrv: Allocation Engine is now able to handle IPv6 prefixes. + This will be used in Prefix Delegation. + (Trac #3171, git 7d1431b4c887f0c7ee1b26b9b82d3d3b8464b34f) + +684. [func] muks, vorner + API support to delete zone data has been added. With this, + DomainTree and RdataSet which form the central zone data + structures of b10-auth allow deletion of names and RR data + respectively. + (Trac #2750, git d3dbe8e1643358d4f88cdbb7a16a32fd384b85b1) + (Trac #2751, git 7430591b4ae4c7052cab86ed17d0221db3b524a8) + +683. [bug] stephen + Modifications to fix problems running unit tests if they + are statically linked. This includes provision of an + initialization function that must be called by user-written + hooks libraries if they are loaded by a statically-linked + image. + (Trac #3113, git 3d19eee4dbfabc7cf7ae528351ee9e3a334cae92) + +682. [func] naokikambe + New statistics items added into b10-xfrin : ixfr_running, + axfr_running, and soa_in_progress. Their values can be + obtained by invoking "Stats show Xfrin" via bindctl when + b10-xfrin is running. + (Trac #2274, git ca691626a2be16f08754177bb27983a9f4984702) + +681. [func] tmark + Added support for prefix delegation configuration to b10-dhcp6 + subnets. + (Trac# 3151, git 79a22be33825bafa1a0cdfa24d5cb751ab1ae2d3) + +680. [func] marcin + perfdhcp: Added support for requesting IPv6 prefixes using IA_PD + option being sent to the server. + (Trac #3173, git 4cc844f7cc82c8bd749296a2709ef67af8d9ba87) + +679. [func] tmark + b10-dhcp-ddns: Finite state machine logic was refactored + into its own class, StateModel. + (Trac# 3156, git 6e9227b1b15448e834d1f60dd655e5633ff9745c) + +678. [func] tmark + MySQL backend used by b10-dhcp6 now uses lease type as a + filtering parameter in all IPv6 lease queries. + (Trac# 3147, git 65b6372b783cb1361fd56efe2b3247bfdbdc47ea) + +677. [func] tomek + libdhcpsrv: CfgMgr is now able to store IA, TA and PD pools in + Subnet6 structures. + (Trac #3150, git e6f0e89162bac0adae3ce3141437a282d5183162) + +676. [bug] muks + We now also allow the short name ("hmac-md5"), along with the long + name ("hmac-md5.sig-alg.reg.int") that was allowed before for + HMAC-MD5, so that it is more convenient to configure TSIG keys + using it. + (Trac #2762, git c543008573eba65567e9c189824322954c6dd43b) + +675. [func] vorner + If there's an exception not handled in a Python BIND10 component, + it is now stored in a temporary file and properly logged, instead + of dumping to stderr. + (Trac #3095, git 18cf54ed89dee1dd1847053c5210f0ca220590c2) + +674. [func] tomek + Preparatory work for prefix delegation in LeaseMgr. getLease6() + renamed to getLeases6(). It now can return more than one lease. + (Trac #3146, git 05a05d810be754e7a4d8ca181550867febf6dcc6) + +673. [func] tomek + libdhcp: Added support for IA_PD and IAPREFIX options. New class + for IAPREFIX (Option6_IAPrefix) has been added. + (Trac #3145, git 3a844e85ecc3067ccd1c01841f4a61366cb278f4) + +672. [func] tmark + Added b10-dhcp-ddns transaction base class, NameChangeTransaction. + This class provides the common structure and methods to implement + the state models described in the DHCP_DDNS design, plus + integration with DNSClient and its callback mechanism for + asynchronous IO with the DNS servers. + (Trac #3086, git 079b862c9eb21056fdf957e560b8fe7b218441b6) + +671. [func] dclink, tomek + The memfile backend now supports getLease4(hwaddr) and + getLease4(client-id) methods. Thanks to David Carlier for + contributing a patch. + (Trac #2592, git a11683be53db2f9f8f9b71c1d1c163511e0319b3) + +670. [func] marcin + libdhcpsrv: Added support to MySQL lease database backend to + store FQDN data for the lease. + (Trac #3084, git 79b7d8ee017b57a81cec5099bc028e1494d7e2e9) + +669. [func] tmark + Added main process event loop to D2Process which is the primary + application object in b10-dhcp-ddns. This allows DHCP-DDNS + to queue requests received from clients for processing while + listening for command control events. + (Trac #3075 git e2f9d2e4c1b36f01eb5bfa2c4f8d55cf139c7e02) + +668. [func] marcin + libdhcpsrv: Implemented changes to lease allocation engine to + propagate information about client's FQDN. + (Trac #3083, git 37af28303d1cd61f675faea969cd1159df65bf9d) + +667. [func] tomek + Additional hooks (buffer4_receive, lease4_renew, + lease4_release, buffer4_send) added to the DHCPv4 server. + (Trac #2983, git fd47f18f898695b98623a63a0a1c68d2e4b37568) + +666. [func] vorner + The CmdCtl's command "print_settings" was removed. It served no real + purpose and was just experimental leftover from early development. + (Trac #3028, git 0d22246092ad4822d48f5a52af5f644f5ae2f5e2) + +665. [doc] stephen + Added the "Hook's Maintenance Guide" to the BIND 10 developer + documentation. + (Trac #3063, git 5d1ee7b7470fc644b798ac47db1811c829f5ac24) + +664. [bug] tmark + Corrects a bug in Hooks processing that was improperly + creating a new callout handle on every call, rather + than maintaining it throughout the context of the + packet being processed. + (Trac #3062, git 28684bcfe5e54ad0421d75d4445a04b75358ce77) + +663. [func] marcin + b10-dhcp6: Server processes the DHCPv6 Client FQDN Option + sent by a client and generates the response. The DHCPv6 Client + FQDN Option is represented by the new class in the libdhcp++. + As a result of FQDN Option processing, the server generates + NameChangeRequests which represent changes to DNS mappings for + a particular lease (addition or removal of DNS mappings). + Currently all generated NameChangeRequests are dropped. Sending + them to b10-dhcp-ddns will be implemented with the future tickets. + (Trac #3036, git 209f3964b9f12afbf36f3fa6b62964e03049ec6e) + +662. [func] marcin + libdhcp++: Implemented an Option4ClientFqdn class which represents + DHCPv4 Client FQDN Option (code 81) defined in RFC4702. This class + supports the domain name encoding in canonical FQDN format as well + as in deprecated ASCII format. + (Trac# 3082, git 1b434debfbf4a43070eb480fa0975a6eff6429d4) + +661. [func] stephen + Copy additional header files to the BIND 10 installation directory + to allow the building of DHCP hooks libraries against an installed + version of BIND 10. + (Trac #3092, git e9beef0b435ba108af9e5979476bd2928808b342) + +660. [func] fujiwara + src/lib/cc: Integer size of C++ CC library is changed to int64_t. + b10-auth: The size of statistics counters is changed to uint64_t. + b10-auth sends lower 63 bit of counter values to b10-stats. + (Trac #3015, git e5b3471d579937f19e446f8a380464e0fc059567 + and Trac #3016, git ffbcf9833ebd2f1952664cc0498608b988628d53) + +659. [func] stephen + Added capability to configure the hooks libraries for the + b10-dhcp4 and b10-dhcp6 servers through the BIND 10 + configuration mechanism. + (Trac #2981, git aff6b06b2490fe4fa6568e7575a9a9105cfd7fae) + +658. [func]* vorner + The resolver, being experimental, is no longer installed by default. + If you really want to use it, even when it is known to be buggy, use + the ./configure --enable-experimental-resolver option. + (Trac #3064, git f5f07c976d2d42bdf80fea4433202ecf1f260648) + +657. [bug] vorner + Due to various problems with older versions of boost and + shared memory, the server rejects to compile with combination + of boost < 1.48 and shared memory enabled. Most users don't + need shared memory, admins of large servers are asked to + upgrade boost. + (Trac #3025, git 598e458c7af7d5bb81131112396e4c5845060ecd) + +656. [func] tomek + Additional hooks (buffer6_receive, lease6_renew, + lease6_release, buffer6_send) added to the DHCPv6 server. + (Trac #2984, git 540dd0449121094a56f294c500c2ed811f6016b6) + +655. [func] tmark + Added D2UpdateMgr class to b10-dhcp-ddns. This class is + the b10-dhcp-ddns task master, instantiating and supervising + transactions that carry out the DNS updates needed to + fulfill the requests (NameChangeRequests) received from + b10-dhcp-ddns clients (e.g. DHCP servers). + (Trac #3059 git d72675617d6b60e3eb6160305738771f015849ba) + +654. [bug] stephen + Always clear "skip" flag before calling any callouts on a hook. + (Trac# 3050, git ff0b9b45869b1d9a4b99e785fbce421e184c2e93) + +653. [func] tmark + Added initial implementation of D2QueueMgr to + b10-dhcp-ddns. This class manages the receipt and + queuing of requests received by b10-dhcp-ddns from + its clients (e.g. DHCP servers) + (Trac# 3052, git a970f6c5255e000c053a2dc47926cea7cec2761c) + +652. [doc] stephen + Added the "Hook Developer's Guide" to the BIND 10 developer + documentation. + (Trac# 2982, git 26a805c7e49a9ec85ee825f179cda41a2358f4c6) + +651. [bug] muks + A race condition when creating cmdctl certificates caused corruption + of these certificates in rare cases. This has now been fixed. + (Trac# 2962, git 09f557d871faef090ed444ebeee7f13e142184a0) + +650. [func] muks + The DomainTree rebalancing code has been updated to be more + understandable. This ChangeLog entry is made just to make a note + of this change. The change should not cause any observable + difference whatsoever. + (Trac# 2811, git 7c0bad1643af13dedf9356e9fb3a51264b7481de) + +649. [func] muks + The default b10-xfrout also_notify port has been changed from + 0 to 53. + (Trac# 2925, git 8acbf043daf590a9f2ad003e715cd4ffb0b3f979) + +648. [func] tmark + Moved classes pertaining to sending and receiving + NameChangeRequests from src/bin/d2 into their own library, + libdhcp_ddns, in src/lib/dhcp_ddns. This allows the + classes to be shared between DHDCP-DDNS and its clients, + such as the DHCP servers. + (Trac# 3065, git 3d39bccaf3f0565152ef73ec3e2cd03e77572c56) + +647. [func] tmark + Added initial implementation of classes for sending + and receiving NameChangeRequests between DHCP-DDNS + and its clients such as DHCP. This includes both + abstract classes and a derivation which traffics + requests across UDP sockets. + (Trac #3008, git b54530b4539cec4476986442e72c047dddba7b48) + +646. [func] stephen + Extended the hooks framework to add a "validate libraries" function. + This will be used to check libraries specified during BIND 10 + configuration. + (Trac #3054, git 0f845ed94f462dee85b67f056656b2a197878b04) + +645. [func] tomek + Added initial set of hooks (pkt4_receive, subnet4_select, + lease4_select, pkt4_send) to the DHCPv4 server. + (Trac #2994, git be65cfba939a6a7abd3c93931ce35c33d3e8247b) + +644. [func] marcin + b10-dhcp4, b10-dhcp6: Implemented selection of the interfaces + that server listens on, using Configuration Manager. It is + possible to specify interface names explicitly or use asterisk + to specify that server should listen on all available interfaces. + Sockets are reopened according to the new configuration as + soon as it is committed. + (Trac #1555, git f48a3bff3fbbd15584d788a264d5966154394f04) + +643. [bug] muks + When running some unittests as root that depended on insufficient + file permissions, the tests used to fail because the root user + could still access such files. Such tests are now skipped when + they are run as the root user. + (Trac #3056, git 92ebabdbcf6168666b03d7f7fbb31f899be39322) + +642. [func] tomek + Added initial set of hooks (pkt6_receive, subnet6_select, + lease6_select, pkt6_send) to the DHCPv6 server. + (Trac #2995, git d6de376f97313ba40fef989e4a437d184fdf70cc) + +641. [func] stephen + Added the hooks framework. This allows shared libraries of + user-written functions to be loaded at run-time and the + functions called during packet processing. + (Trac #2980, git 82c997a72890a12af135ace5b9ee100e41c5534e) + +640. [func] marcin + b10-dhcp-ddns: Implemented DNSClient class which implements + asynchronous DNS updates using UDP. The TCP and TSIG support + will be implemented at later time. Nevertheless, class API + accommodates the use of TCP and TSIG. + (Trac #2977, git 5a67a8982baa1fd6b796c063eeb13850c633702c) + +639. [bug] muks + Added workaround for build failure on Fedora 19 between GCC 4.8.x + and boost versions less than 1.54. Fedora 19 currently ships + boost-1.53. + (Trac #3039, git 4ef6830ed357ceb859ebb3e5e821a064bd8797bb) + +638. [bug]* naokikambe + Per-zone statistics counters are distinguished by zone class, + e.g. IN, CH, and HS. A class name is added onto a zone name in + structure of per-zone statistics. + (Trac #2884, git c0153581c3533ef045a92e68e0464aab00947cbb) + +637. [func] tmark + Added initial implementation of NameChangeRequest, + which embodies DNS update requests sent to DHCP-DDNS + by its clients. + (trac3007 git f33bdd59c6a8c8ea883f11578b463277d01c2b70) + +636. [func] tmark + Added the initial implementation of configuration parsing for + DHCP-DDNS. + (Trac #2957, git c04fb71fa44c2a458aac57ae54eeb1711c017a49) + +635. [func] marcin + b10-dhcp-ddns: Implemented DNS Update message construction. + (Trac #2796, git eac5e751473e238dee1ebf16491634a1fbea25e2) + +634. [bug] muks + When processing DDNS updates, we now check the zone more + thoroughly with the received zone data updates to check if it is + valid. If the zone fails validation, we reply with SERVFAIL + rcode. So, while previously we may have allowed more zone data + cases without checking which resulted in invalid zones, such + update requests are now rejected. + (Trac #2759, git d8991bf8ed720a316f7506c1dd9db7de5c57ad4d) + +633. [func] jinmei + b10-memmgr: a new BIND 10 module that manages shared memory + segments for DNS zone data. At this point it's runnable but does + nothing really meaningful for end users; it was added to the + master branch for further development. + (Trac #2854, git d05d7aa36d0f8f87b94dba114134b50ca37eabff) + +632. [bug] marcin + perfdhcp: Fixed a bug in whereby the application was sporadically + crashing when timed out packets were garbage collected. + (Trac #2979, git 6d42b333f446eccc9d0204bcc04df38fed0c31db) + +631. [bug] muks + Applied a patch by Tomas Hozza to fix a couple of compile errors + on Fedora 19 development release. + (Trac #3001, git 6e42b90971b377261c72d51c38bf4a8dc336664a) + +630. [bug] muks + If there is a problem loading the backend module for a type of + data source, b10-auth would not serve any zones. This behaviour + has been changed now so that it serves zones from all other usable + data sources that were configured. + (Trac #2947, git 9a3ddf1e2bfa2546bfcc7df6d9b11bfbdb5cf35f) + +629. [func] stephen + Added first part of the hooks framework. + (Trac #2794, git d2b107586db7c2deaecba212c891d231d7e54a07) + +628. [func] y-aharen + b10-auth: A new statistics item 'qryrecursion' has been introduced. + The counter is for the number of queries (OpCode=Query) with Recursion + Desired (RD) bit on. + (Trac #2796, git 3d291f42cdb186682983aa833a1a67cb9e6a8434) + +627. [func] tmark + Logger name for DHCP-DDNS has been changed from "d2_logger" to + "dhcpddns". In addition, its log messages now use two suffixes, + DCTL_ for logs the emanate from the underlying base classes, and + DHCP_DDNS_ for logs which emanate from DHCP-DDNS specific code + (Trac #2978, git 5aec5fb20b0486574226f89bd877267cb9116921) + +626. [func] tmark + Created the initial implementation of DHCP-DDNS service + controller class, D2Controller, and the abstract class from + which it derives, DControllerBase. D2Controller manages the + lifecycle and BIND10 integration of the DHCP-DDNS application + process, D2Process. Also note, module name is now + b10-dhcp-ddns. + (Trac #2956, git a41cac582e46213c120b19928e4162535ba5fe76) + +625. [bug]* jinmei + b10-xfrin/b10-loadzone: b10-xfrin now refers to the unified + "data_sources" module configuration instead of almost-deprecated + the Auth/database_file configuration (Note: zonemgr still uses the + latter, so a secondary server would still need it for the moment). + Due to this change, b10-xfrin does not auto-generate an initial + zone for the very first transfer anymore; b10-loadzone has been + extended with a new -e option for the initial setup. + (Trac #2946, git 8191aec04c5279c199909f00f0a0b2b8f7bede94) + +624. [bug] jinmei + logging: prevented multiple BIND 10 processes from generating + multiple small log files when they dumped logs to files and try + to roll over them simultaneously. This fix relies on a feature of + underling logging library (log4cplus) version 1.1.0 or higher, + so the problem can still happen if BIND 10 is built with an older + version of log4cplus. (But this is expected to happen rarely in + any case unless a verbose debug level is specified). + (Trac #1622, git 5da8f8131b1224c99603852e1574b2a1adace236) + +623. [func] tmark + Created the initial, bare-bones implementation of DHCP-DDNS + service process class, D2Process, and the abstract class + from which it derives, DProcessBase. D2Process will provide + the DHCP-DDNS specific event loop and business logic. + (Trac #2955, git dbe4772246039a1257b6492936fda2a8600cd245) + +622. [func]* jinmei + b10-xfrin now has tighter control on the choice of IXFR or AXFR + through zones/request_ixfr configuration item. It includes + the new "IXFR only" behavior for some special cases. b10-xfrin + now also uses AXFR whenever necessary, so it is now safe to try + IXFR by default and it's made the default. The previous + use_ixfr configuration item was deprecated and triggers startup + failure if specified; configuration using use_ixfr should be + updated. + (Trac #2911, git 8118f8e4e9c0ad3e7b690bbce265a163e4f8767a) + +621. [func] team + libdns++: All Rdata classes now use the generic lexer in + constructors from text. This means that the name fields in such + RRs in a zone file can now be non-absolute (the origin name in that + context will be used), e.g., when loaded by b10-loadzone. Note + that the existing string constructors for these Rdata classes also + use the generic lexer, and they now expect an absolute name (with + the trailing '.') in the name fields. + (Trac #2522, git ea97070cf6b41299351fc29af66fa39c6465d56a) + (Trac #2521, git c6603decaadcd33ccf9aee4a7b22447acec4b7f6) + (See also ChangeLog 594, 564, 545) + +620. [bug] jinmei + b10-auth now returns SERVFAIL to queries for a zone that is + configured to be loaded in-memory but isn't due to load time + errors (missing zone file or errors in the zone file, etc). + Such zones were previously treated as non existent and would + result in REFUSED or unintentional match against less specific + zones. The revised behavior is also compatible with BIND 9. + (Trac #2905, git 56ee9810fdfb5f86bd6948e6bf26545ac714edd8) + +619. [bug] jinmei + b10-xfrout now uses blocking send for xfr response messages + to prevent abrupt termination of the stream due to a slower + client or narrower network bandwidth. + (Trac #2934, git bde0e94518469557c8b455ccbecc079a38382afd) + +618. [func]* marcin + b10-dhcp4: Added the ability for the server to respond to a + directly connected client which does not yet have an IP address. + On Linux, the server will unicast the response to the client's + hardware address and the 'yiaddr' (the client's new IP + address). Sending a response to the unicast address prevents other + (not interested) hosts from receiving the server response. This + capability is not yet implemented on non-Linux Operating Systems + where, in all cases, the server responds to the broadcast + address. The logic conforms to section 4.1 of RFC 2131. + (Trac #2902, git c2d40e3d425f1e51647be6a717c4a97d7ca3c29c) + +617. [bug] marcin + b10-dhcp4: Fixed a bug whereby the domain-name option was encoded + as FQDN (using technique described in RFC1035) instead of a string. + Also, created new class which represents an option carrying a single + string value. This class is now used for all standard options of + this kind. + (Trac #2786, git 96b1a7eb31b16bf9b270ad3d82873c0bd86a3530) + +616. [doc] stephen + Added description to the DHCP "Database Back-Ends" section of the + BIND 10 Developer's Guide about how to set up a MySQL database for + testing the DHCP MySQL backend. + (Trac #2653, git da3579feea036aa2b7d094b1c260a80a69d2f9aa) + +615. [bug] jinmei + b10-auth: Avoid referencing to a freed object when authoritative + server addresses are reconfigured. It caused a crash on a busy + server during initial startup time, and the same crash could also + happen if listen_on parameters are reconfigured at run time. + (Trac #2946, git d5f2a0d0954acd8bc33aabb220fab31652394fcd) + +614. [func] tmark + b10-d2: Initial DHCP-DDNS (a.k.a. D2) module implemented. + Currently it does nothing useful, except for providing the + skeleton implementation to be expanded in the future. + (Trac #2954, git 392c5ec5d15cd8c809bc9c6096b9f2bfe7b8c66a) + +613. [func] jinmei + datasrc: Error handling in loading zones into memory is now more + consistent and convenient: data source configuration does not fail + due to zones configured to be loaded into memory but not available + in the data source, just like the case of missing zone file for + the MasterFiles type of data source. Also, zones that aren't + loaded into memory due to errors can now be reloaded for b10-auth + using the bindctl Auth loadzone command after fixing the error, + without reconfiguring the entire data source. + (Trac #2851, git a3d4fe8a32003534150ed076ea0bbf80e1fcc43c) + +612. [func] tomek + b10-dhcp6: Support for relayed DHCPv6 traffic has been added. + (Trac #2898, git c3f6b67fa16a07f7f7ede24dd85feaa7c157e1cb) + +611. [func] naokikambe + Added Xfrin statistics items such as the number of successful + transfers. These are per-zone type counters. Their values can be + obtained with zone names by invoking "Stats show Xfrin" via bindctl + while Xfrin is running. + (Trac #2252, git e1a0ea8ef5c51b9b25afa111fbfe9347afbe5413) + +bind10-1.1.0beta2 released on May 10, 2013 + +610. [bug] muks + When the sqlite3 program is not available on the system (in + PATH), we no longer attempt to run some tests which depend + on it. + (Trac #1909, git f85b274b85b57a094d33ca06dfbe12ae67bb47df) + +609. [bug] jinmei + Handled some rare error cases in DNS server classes correctly. + This fix specifically solves occasional crash of b10-auth due to + errors caused by TCP DNS clients. Also, as a result of cleanups + with the fix, b10-auth should now be a little bit faster in + handling UDP queries: in some local experiments it ran about 5% + faster. + (Trac #2903, git 6d3e0f4b36a754248f8a03a29e2c36aef644cdcc) + +608. [bug] jinmei + b10-cmdctl: fixed a hangup problem on receiving the shutdown + command from bindctl. Note, however, that cmdctl is defined as + a "needed" module by default, so shutting down cmdctl would cause + shutdown of the entire BIND 10 system anyway, and is therefore + still not very useful in practice. + (Trac #2712, git fa392e8eb391a17d30550d4b290c975710651d98) + +607. [bug] jinmei + Worked around some unit test regressions on FreeBSD 9.1 due to + a binary compatibility issue between standard and system + libraries (http://www.freebsd.org/cgi/query-pr.cgi?pr=175453). + While not all tests still pass, main BIND 10 programs should + generally work correctly. Still, there can be odd run time + behavior such as abrupt crash instead of graceful shutdown + when some fatal event happens, so it's generally discouraged to + use BIND 10 on FreeBSD 9.1 RELEASE. According to the above + bug report for FreeBSD, it seems upgrading or downgrading the + FreeBSD version will solve this problem. + (Trac #2887, git 69dfb4544d9ded3c10cffbbfd573ae05fdeb771f) + +606. [bug] jinmei + b10-xfrout now correctly stops sending notify requests once it + receives a valid response. It previously handled it as if the + requests are timed out and resent it a few times in a short + period. + (Trac #2879, git 4c45f29f28ae766a9f7dc3142859f1d0000284e1) + +605. [bug] tmark + Modified perfdhcp to calculate the times displayed for packet sent + and received as time elapsed since perfdhcp process start time. + Previously these were times since the start of the epoch. + However the large numbers involved caused loss of precision + in the calculation of the test statistics. + (Trac #2785, git e9556924dcd1cf285dc358c47d65ed7c413e02cf) + +604. [func] marcin + libdhcp++: abstracted methods which open sockets and send/receive + DHCP4 packets to a separate class. Other classes will be derived + from it to implement OS-specific methods of DHCPv4 packets filtering. + The primary purpose for this change is to add support for Direct + DHCPv4 response to a client which doesn't have an address yet on + different OSes. + (Trac #991, git 33ffc9a750cd3fb34158ef676aab6b05df0302e2) + +603. [func] tmark + The directory in which the b10-dhcp4 and b10-dhcp6 server id files has + been changed from the local state directory (set by the "configure" + --localstatedir switch) to the "bind10" subdirectory of it. After an + upgrade, server id files in the former location will be orphaned and + should be manually removed. + (Trac #2770, git a622140d411b3f07a68a1451e19df36118a80650) + +602. [bug] tmark + Perfdhcp will now exit gracefully if the command line argument for + IP version (-4 or -6) does not match the command line argument + given for the server. Prior to this perfdhcp would core when given + an IP version of -6 but a valid IPv4 address for server. + (Trac #2784, git 96b66c0c79dccf9a0206a45916b9b23fe9b94f74) + +601. [bug]* jinmei, vorner + The "delete record" interface of the database based data source + was extended so that the parameter includes reversed name in + addition to the actual name. This may help the underlying + accessor implementation if reversed names are more convenient + for the delete operation. This was the case for the SQLite3 + accessor implementation, and it now performs delete operations + much faster. At a higher level, this means IXFR and DDNS Updates + to the sqlite3 database are no longer so slow on large zones as + they were before. + (Trac #2877, git 33bd949ac7288c61ed0a664b7329b50b36d180e5) + +600. [bug] tmark + Changed mysql_lease_mgr to set the SQL mode option to STRICT. This + causes mysql it to treat invalid input data as an error. Rather than + "successfully" inserting a too large value by truncating it, the + insert will fail, and the lease manager will throw an exception. + Also, attempts to create a HWAddr (hardware address) object with + too long an array of data now throw an exception. + (Trac #2387, git cac02e9290600407bd6f3071c6654c1216278616) + +599. [func] tomek + libdhcp++: Pkt6 class is now able to parse and build relayed DHCPv6 + messages. + (Trac #2827, git 29c3f7f4e82d7e85f0f5fb692345fd55092796b4) + +bind10-1.1.0beta1 released on April 4, 2013 + +598. [func]* jinmei + The separate "static" data source is now deprecated as it can be + served in the more generic "MasterFiles" type of data source. + This means existing configuration may not work after an update. + If "config show data_sources/classes/CH[0]" on bindctl contains a + "static" type of data source, you'll need to update it as follows: + > config set data_sources/classes/CH[0]/type MasterFiles + > config set data_sources/classes/CH[0]/params {"BIND": => + "<the value of current data_sources/classes/CH[0]/params>"} + > config set data_sources/classes/CH[0]/cache-enable true + > config commit + (Same for CH[1], CH[2], IN[0], etc, if applicable, although it + should be very unlikely in practice. Also note: '=>' above + indicates the next line is actually part of the command. Do + not type in this "arrow"). + (Part of Trac #2833, git 0363b4187fe3c1a148ad424af39e12846610d2d7) + +597. [func] tmark + b10-dhcp6: Added unit tests for handling requests when no + IPv6 subnets are configured/defined. Testing these conditions + was overlooked during implementation of Trac #2719. + (Trac #2721, git ce7f53b2de60e2411483b4aa31c714763a36da64) + +596. [bug] jinmei + Added special handling for the case where b10-auth receives a + NOTIFY message, but zonemgr isn't running. Previously this was + logged as a communications problem at the ERROR level, resulting + in increasing noise when zonemgr is intentionally stopped. Other + than the log level there is no change in externally visible + behavior. + (Trac #2562, git 119eed9938b17cbad3a74c823aa9eddb7cd337c2) + +595. [bug] tomek + All DHCP components now gracefully refuse to handle too short + DUIDs and client-id. + (Trac #2723, git a043d8ecda6aff57922fe98a33c7c3f6155d5d64) + +594. [func] muks, pselkirk + libdns++: the NSEC, DS, DLV, and AFSDB Rdata classes now use the + generic lexer in constructors from text. This means that the name + fields in such RRs in a zone file can now be non-absolute (the + origin name in that context will be used), e.g., when loaded by + b10-loadzone. + (Trac #2386, git dc0f34afb1eccc574421a802557198e6cd2363fa) + (Trac #2391, git 1450d8d486cba3bee8be46e8001d66898edd370c) + +593. [func] jelte + Address + port output and logs is now consistent according to our + coding guidelines, e.g. <address>:<port> in the case of IPv4, and + [<address>]:<port> in the case of IPv6, instead of <address>#<port> + (Trac #1086, git bcefe1e95cdd61ee4a09b20522c3c56b315a1acc) + +592. [bug] jinmei + b10-auth and zonemgr now handle some uncommon NOTIFY messages more + gracefully: auth immediately returns a NOTAUTH response if the + server does not have authority for the zone (the behavior + compatible with BIND 9) without bothering zonemgr; zonemgr now + simply skips retransfer if the specified zone is not in its + secondary zone list, instead of producing noisy error logs. + (Trac #1938, git 89d7de8e2f809aef2184b450e7dee1bfec98ad14) + +591. [func] vorner + Ported the remaining tests from the old shell/perl based system to + lettuce. Make target `systest' is now gone. Currently, the lettuce + tests are in git only, not part of the release tarball. + (Trac #2624, git df1c5d5232a2ab551cd98b77ae388ad568a683ad) + +590. [bug] tmark + Modified "include" statements in DHCP MySQL lease manager code to + fix build problems if MySQL is installed in a non-standard location. + (Trac #2825, git 4813e06cf4e0a9d9f453890557b639715e081eca) + +589. [bug] jelte + b10-cmdctl now automatically re-reads the user accounts file when + it is updated. + (Trac #2710, git 16e8be506f32de668699e6954f5de60ca9d14ddf) + +588. [bug]* jreed + b10-xfrout: Log message id XFROUT_QUERY_QUOTA_EXCEEDED + changed to XFROUT_QUERY_QUOTA_EXCEEDED. + (git be41be890f1349ae4c870a887f7acd99ba1eaac5) + +587. [bug] jelte + When used from python, the dynamic datasource factory now + explicitly loads the logging messages dictionary, so that correct + logging messages does not depend on incidental earlier import + statements. Also, the sqlite3-specific log messages have been moved + from the general datasource library to the sqlite3 datasource + (which also explicitly loads its messages). + (Trac #2746, git 1c004d95a8b715500af448683e4a07e9b66ea926) + +586. [func] marcin + libdhcp++: Removed unnecessary calls to the function which + validates option definitions used to create instances of options + being decoded in the received packets. Eliminating these calls + lowered the CPU utilization by the server by approximately 10%. + Also, added the composite search indexes on the container used to + store DHCP leases by Memfile backend. This resulted in the + significant performance rise when using this backend to store + leases. + (Trac #2701, git b96a30b26a045cfaa8ad579b0a8bf84f5ed4e73f) + +585. [func] jinmei, muks + The zone data loader now accepts RRs in any order during load. + Before it used to reject adding non-consecutive RRsets. It + expected records for a single owner name and its type to be + grouped together. These restrictions are now removed. It now also + suppresses any duplicate RRs in the zone file when loading them + into memory. + (Trac #2440, git 232307060189c47285121f696d4efb206f632432) + (Trac #2441, git 0860ae366d73314446d4886a093f4e86e94863d4) + +584. [bug] jinmei + Fixed build failure with Boost 1.53 (and probably higher) in the + internal utility library. Note that with -Werror it may still + fail, but it's due to a Boost bug that is reportedly fixed in their + development trunk. See https://svn.boost.org/trac/boost/ticket/8080 + Until the fix is available in a released Boost version you may need + to specify the --without-werror configure option to build BIND 10. + (Trac #2764, git ca1da8aa5de24358d7d4e7e9a4625347457118cf) + +583. [func]* jelte + b10-cmdctl-usermgr has been updated and its options and arguments + have changed; it now defaults to the same accounts file as + b10-cmdctl defaults to. It can now be used to remove users from the + accounts file as well, and it now accepts command-line arguments to + specify the username and password to add or remove, in which case + it will not prompt for them. + Note that using a password on the command line is not recommended, + as this can be viewed by other users. + (Trac #2713, git 9925af3b3f4daa47ba8c2eb66f556b01ed6f0502) + +582. [func] naokikambe + New statistics items related unixdomain sockets added into Xfrout : + open, openfail, close, bindfail, acceptfail, accept, senderr, and + recverr. Their values can be obtained by invoking "Stats show Xfrout" + via bindctl while Xfrout is running. + (Trac #2225, git 6df60554683165adacc2d1c3d29aa42a0c9141a1) + +581. [func]* y-aharen + Added statistics items in b10-auth based on + http://bind10.isc.org/wiki/StatisticsItems. Qtype counters are + dropped as it requires further spec design discussion. + (Trac #2154, Trac #2155, + git 61d7c3959eb991b22bc1c0ef8f4ecb96b65d9325) + (Trac #2157, git e653adac032f871cbd66cd500c37407a56d14589) + +bind10-1.0.0-rc released on February 14, 2013 + +580. [func]* muks + There is no longer a default user account. The old default account + with username 'root' has been removed. In a fresh installation of + BIND 10, the administrator has to configure a user account using + the b10-cmdctl-usermgr program. + (Trac #2641, git 54e8f4061f92c2f9e5b8564240937515efa6d934) + +579. [bug] jinmei + libdatasrc/b10-auth: corrected some corner cases in query handling + of in-memory data source that led to the following invalid/odd + responses from b10-auth: + - duplicate RRs in answer and additional for type ANY query + - incorrect NSEC for no error, no data (NXRRSET) response that + matches a wildcard + (Trac #2585, git abe78fae4ba3aca5eb01806dd4e05607b1241745) + +578. [bug] jinmei + b10-auth now returns closest encloser NSEC3 proof to queries for + an empty non terminal derived from an Opt-Out NSEC3 RR, as clarified + in errata 3441 for RFC5155. Previously it regarded such case as + broken zone and returned SERVFAIL. + (Trac #2659, git 24c235cb1b379c6472772d340e21577c3460b742) + +577. [func] muks + Added an SQLite3 index on records(rname, rdtype). This decreases + insert performance by ~28% and adds about ~20% to the file size, + but increases zone iteration performance. As it introduces a new + index, a database upgrade would be required. + (Trac #1756, git 9b3c959af13111af1fa248c5010aa33ee7e307ee) + +576. [bug] tmark, tomek + b10-dhcp6: Fixed bug when the server aborts operation when + receiving renew and there are no IPv6 subnets configured. + (Trac #2719, git 3132b8b19495470bbfd0f2ba0fe7da443926034b) + +575. [bug] marcin + b10-dhcp6: Fixed the bug whereby the subnet for the incoming + packet was selected using only its source address. The subnet + is now selected using either source address or the name of the + server's interface on which the packet has been received. + (Trac #2704, git 1cbacf19a28bdae50bb9bd3767bca0147fde37ed) + +574. [func] tmark + b10-dhcp4, b10-dhcp6: Composite key indexes were added to the lease + tables to reduce lease search time. The lease4 table now has two + additional indexes: a) hwaddr/subnet_id and b) client_id/subnet_id. + The lease6 now has the one additional index: iaid/subnet_id/duid. + Adding these indexes significantly improves lease acquisition + performance. + (Trac #2699, #2703, git 54bbed5fcbe237c5a49b515ae4c55148723406ce) + +573. [bug] stephen + Fixed problem whereby the DHCP server crashed if it ran out of + addresses. Such a condition now causes a packet to be returned + to the client refusing the allocation of an address. + (Trac #2681, git 87ce14cdb121b37afb5b1931af51bed7f6323dd6) + +572. [bug] marcin + perfdhcp: Fixed bug where the command line switches used to + run the perfdhcp where printed as ASCII codes. + (Trac #2700, git b8d6b949eb7f4705e32fbdfd7694ca2e6a6a5cdc) + +571. [build] jinmei + The ./configure script can now handle output from python-config + --ldflags that contains a space after -L switches. This fixes + failure reported on some Solaris environments. + (Trac #2661, git e6f86f2f5eec8e6003c13d36804a767a840d96d6) + +570. [bug] tmark, marcin, tomek + b10-dhcp4: Address renewal now works properly for DHCPv4 clients + that do not send client ID. + (Trac #2702, git daf2abe68ce9c111334a15c14e440730f3a085e2) + +569. [bug] tomek + b10-dhcp4: Fix bug whereby a DHCP packet without a client ID + could crash the MySQL lease database backend. + (Trac #2697, git b5e2be95d21ed750ad7cf5e15de2058aa8bc45f4) + +568. [func] muks + Various message IDs have been renamed to remove the word 'ERROR' + from them when they are not logged at ERROR severity level. + (Trac #2672, git 660a0d164feaf055677f375977f7ed327ead893e) + +567. [doc] marcin, stephen, tomek + Update DHCP sections of the BIND 10 guide. + (Trac #2657, git 1d0c2004865d1bf322bf78d13630d992e39179fd) + +566. [func]* jinmei + libdns++/Python isc.dns: In Python isc.dns, function style + constants for RRType, RRClass, Rcode and Opcode were deprecated + and replaced with straightforward object constants, e.g., from + RRType.AAAA() to RRType.AAAA. This is a backward incompatible + change (see the Trac ticket for a conversion script if needed). + Also, these constants are now more consistent between C++ + and Python, and RRType constants for all currently standardized + types are now supported (even if Rdata for these are not yet + available). + (Trac #1866 and #2409, git e5005185351cf73d4a611407c2cfcd163f80e428) + +565. [func]* jelte + The main initializer script (formerly known as either 'bind10', + 'boss', or 'bob'), has been renamed to b10-init (and Init in + configuration). Configuring which components are run is henceforth + done through '/Init/components', and the sbin/bind10 script is now + simply a shellscript that runs b10-init. Existing configuration is + automatically updated. NOTE: once configuration with this update + has been saved (by committing any new change with bindctl), you + cannot run older versions of BIND 10 anymore with this configuration. + (Trac #1901, git bae3798603affdb276f370c1ac6b33b011a5ed4f) + +564. [func] muks + libdns++: the CNAME, DNAME, MX, NS, PTR and SRV Rdata classes now + use the generic lexer in constructors from text. This means that + the name fields in such RRs in a zone file can now be non-absolute + (the origin name in that context will be used), e.g., when loaded + by b10-loadzone. One additional change to the libdns++ API is that + the existing string constructors for these Rdata classes also use + the generic lexer, and they now expect an absolute name (with the + trailing '.') in the name fields. + (Trac #2390, git a01569277cda3f78b1171bbf79f15ecf502e81e2) + (Trac #2656, git 5a0d055137287f81e23fbeedd35236fee274596d) + +563. [build] jinmei + Added --disable-rpath configure option to avoid embedding library + paths to binaries. Patch from Adam Tkac. + (Trac #2667, git 1c50c5a6ee7e9675e3ab154f2c7f975ef519fca2) + +562. [func]* vorner + The b10-xfrin now performs basic sanity check on just received + zone. It'll reject severely broken zones (such as missing NS + records). + (Trac #2439, git 44699b4b18162581cd1dd39be5fb76ca536012e6) + +561. [bug] kambe, jelte + b10-stats-httpd no longer dumps request information to the console, + but uses the bind10 logging system. Additionally, the logging + identifiers have been changed from STATHTTPD_* to STATSHTTPD_* + (Trac #1897, git 93716b025a4755a8a2cbf250a9e4187741dbc9bb) + +560. [bug] jinmei + b10-auth now sets the TTL of SOA RR for negative responses to + the minimum of the RR TTL and the minimum TTL of the SOA RDATA + as specified in RFC2308; previously the RR TTL was always used. + The ZoneFinder class was extended partly for implementing this + and partly for allowing further optimization. + (Trac #2309 and #2635, git ee17e979fcde48b59d91c74ac368244169065f3b) + +559. [bug] jelte + b10-cmdctl no longer aborts on basic file issues with its https + certificate or private key file. It performs additional checks, and + provides better error logs if these fail. Additionally, bindctl + provides a better error report if it is unable to connect over + https connection. This issue could occur if BIND 10 was installed + with root privileges but then started as a normal user. + (Trac #2595, git 09b1a2f927483b407d70e98f5982f424cc872149) + +558. [func] marcin + b10-dhcp4: server now adds configured options to its + responses to a client when client requests them. + A few basic options: Routers, Domain Name, Domain + Name Servers and Subnet Mask are added regardless + if client requested them or not. + (Trac #2591, git aeec2dc1b9c511d17971ac63138576c37e7c5164) + +557. [doc] stephen + Update DHCP sections of the BIND 10 guide. + (Trac #2642, git e5faeb5fa84b7218fde486347359504cf692510e) + +556. [bug] marcin + Fixed DHCP servers configuration whereby the servers did not + receive a configuration stored in the database on their startup. + Also, the configuration handler function now uses full configuration + instead of partial to configure the server. This guarantees that + dependencies between various configuration parameters are + fulfilled. + (Trac #2637, git 91aa998226f1f91a232f2be59a53c9568c4ece77) + +555. [func] marcin + The encapsulated option space name can be specified for + a DHCP option. It comprises sub-options being sent within + an option that encapsulates this option space. + (Trac #2314, git 27e6119093723a1e46a239ec245a8b4b10677635) + +554. [func] jinmei + b10-loadzone: improved completion log message and intermediate + reports: It now logs the precise number of loaded RRs on + completion, and intermediate reports show additional information + such as the estimated progress in percentage and estimated time + to complete. + (Trac #2574, git 5b8a824054313bdecb8988b46e55cb2e94cb2d6c) + +553. [func] stephen + Values of the parameters to access the DHCP server lease database + can now be set through the BIND 10 configuration mechanism. + (Trac #2559, git 6c6f405188cc02d2358e114c33daff58edabd52a) + +552. [bug] shane + Build on Raspberry PI. + The main issue was use of char for reading from input streams, + which is incorrect, as EOF is returned as an int -1, which would + then get cast into a char -1. + A number of other minor issues were also fixed. + (Trac #2571, git 525333e187cc4bbbbde288105c9582c1024caa4a) + +551. [bug] shane + Kill msgq if we cannot connect to it on startup. + When the boss process was unable to connect to the msgq, it would + exit. However, it would leave the msgq process running. This has + been fixed, and the msgq is now stopped in this case. + (Trac #2608, git 016925ef2437e0396127e135c937d3a55539d224) + +550. [func] tomek + b10-dhcp4: The DHCPv4 server now generates a server identifier + the first time it is run. The identifier is preserved in a file + across server restarts. + b10-dhcp6: The server identifier is now preserved in a file across + server restarts. + (Trac #2597, git fa342a994de5dbefe32996be7eebe58f6304cff7) + +549. [func] tomek + b10-dhcp6: It is now possible to specify that a configured subnet + is reachable locally over specified interface (see "interface" + parameter in Subnet6 configuration). + (Trac #2596, git a70f6172194a976b514cd7d67ce097bbca3c2798) + +548. [func] vorner + The message queue daemon now appears on the bus. This has two + effects, one is it obeys logging configuration and logs to the + correct place like the rest of the modules. The other is it + appears in bindctl as module (but it doesn't have any commands or + configuration yet). + (Trac #2582, git ced31d8c5a0f2ca930b976d3caecfc24fc04634e) + +547. [func]* vorner + The b10-loadzone now performs more thorough sanity check on the + loaded data. Some of the checks are now fatal and zone failing + them will be rejected. + (Trac #2436, git 48d999f1cb59f308f9f30ba2639521d2a5a85baa) + +546. [func] marcin + DHCP option definitions can be now created using the + Configuration Manager. The option definition specifies + the option code, name and the types of the data being + carried by the option. The Configuration Manager + reports an error on attempt to override standard DHCP + option definition. + (Trac #2317, git 71e25eb81e58a695cf3bad465c4254b13a50696e) + +545. [func] jinmei + libdns++: the SOA Rdata class now uses the generic lexer in + constructors from text. This means that the MNAME and RNAME of an + SOA RR in a zone file can now be non absolute (the origin name + in that context will be used), e.g., when loaded by b10-loadzone. + (Trac #2500, git 019ca218027a218921519f205139b96025df2bb5) + +544. [func] tomek + b10-dhcp4: Allocation engine support for IPv4 added. Currently + supported operations are server selection (Discover/Offer), + address assignment (Request/Ack), address renewal (Request/Ack), + and address release (Release). Expired leases can be reused. + Some options (e.g. Router Option) are still hardcoded, so the + DHCPv4 server is not yet usable, although its address allocation + is operational. + (Trac #2320, git 60606cabb1c9584700b1f642bf2af21a35c64573) + +543. [func]* jelte + When calling getFullConfig() as a module, , the configuration is now + returned as properly-structured JSON. Previously, the structure had + been flattened, with all data being labelled by fully-qualified + element names. + (Trac #2619, git bed3c88c25ea8f7e951317775e99ebce3340ca22) + +542. [func] marcin + Created OptionSpace and OptionSpace6 classes to represent DHCP + option spaces. The option spaces are used to group instances + and definitions of options having unique codes. A special type + of option space is the so-called "vendor specific option space" + which groups sub-options sent within Vendor Encapsulated Options. + The new classes are not used yet but they will be used once + the creation of option spaces by configuration manager is + implemented. + (Trac #2313, git 37a27e19be874725ea3d560065e5591a845daa89) + +541. [func] marcin + Added routines to search for configured DHCP options and their + definitions using name of the option space they belong to. + New routines are called internally from the DHCPv4 and DHCPv6 + servers code. + (Trac #2315, git 741fe7bc96c70df35d9a79016b0aa1488e9b3ac8) + +540. [func] marcin + DHCP Option values can be now specified using a string of + tokens separated with comma sign. Subsequent tokens are used + to set values for corresponding data fields in a particular + DHCP option. The format of the token matches the data type + of the corresponding option field: e.g. "192.168.2.1" for IPv4 + address, "5" for integer value etc. + (Trac #2545, git 792c129a0785c73dd28fd96a8f1439fe6534a3f1) + +539. [func] stephen + Add logging to the DHCP server library. + (Trac #2524, git b55b8b6686cc80eed41793c53d1779f4de3e9e3c) + +538. [bug] muks + Added escaping of special characters (double-quotes, semicolon, + backslash, etc.) in text-like RRType's toText() implementation. + Without this change, some TXT and SPF RDATA were incorrectly + stored in SQLite3 datasource as they were not escaped. + (Trac #2535, git f516fc484544b7e08475947d6945bc87636d4115) + +537. [func] tomek + b10-dhcp6: Support for RELEASE message has been added. Clients + are now able to release their non-temporary IPv6 addresses. + (Trac #2326, git 0974318566abe08d0702ddd185156842c6642424) + +536. [build] jinmei + Detect a build issue on FreeBSD with g++ 4.2 and Boost installed via + FreeBSD ports at ./configure time. This seems to be a bug of + FreeBSD ports setup and has been reported to the maintainer: + http://www.freebsd.org/cgi/query-pr.cgi?pr=174753 + Until it's fixed, you need to build BIND 10 for FreeBSD that has + this problem with specifying --without-werror, with clang++ + (development version), or with manually extracted Boost header + files (no compiled Boost library is necessary). + (Trac #1991, git 6b045bcd1f9613e3835551cdebd2616ea8319a36) + +535. [bug] jelte + The log4cplus internal logging mechanism has been disabled, and no + output from the log4cplus library itself should be printed to + stderr anymore. This output can be enabled by using the + compile-time option --enable-debug. + (Trac #1081, git db55f102b30e76b72b134cbd77bd183cd01f95c0) + +534. [func]* vorner + The b10-msgq now uses the same logging format as the rest + of the system. However, it still doesn't obey the common + configuration, as due to technical issues it is not able + to read it yet. + (git 9e6e821c0a33aab0cd0e70e51059d9a2761f76bb) + +bind10-1.0.0-beta released on December 20, 2012 + +533. [build]* jreed + Changed the package name in configure.ac from bind10-devel + to bind10. This means the default sub-directories for + etc, include, libexec, share, share/doc, and var are changed. + If upgrading from a previous version, you may need to move + and update your configurations or change references for the + old locations. + (git bf53fbd4e92ae835280d49fbfdeeebd33e0ce3f2) + +532. [func] marcin + Implemented configuration of DHCPv4 option values using + the configuration manager. In order to set values for the + data fields carried by a particular option, the user + specifies a string of hexadecimal digits that is converted + to binary data and stored in the option buffer. A more + user-friendly way of specifying option content is planned. + (Trac #2544, git fed1aab5a0f813c41637807f8c0c5f8830d71942) + +531. [func] tomek + b10-dhcp6: Added support for expired leases. Leases for IPv6 + addresses that are past their valid lifetime may be recycled, i.e. + relocated to other clients if needed. + (Trac #2327, git 62a23854f619349d319d02c3a385d9bc55442d5e) + +530. [func]* team + b10-loadzone was fully overhauled. It now uses C++-based zone + parser and loader library, performing stricter checks, having + more complete support for master file formats, producing more + helpful logs, is more extendable for various types of data + sources, and yet much faster than the old version. In + functionality the new version should be generally backwards + compatible to the old version, but there are some + incompatibilities: name fields of RDATA (in NS, SOA, etc) must + be absolute for now; due to the stricter checks some input that was + (incorrectly) accepted by the old version may now be rejected; + command line options and arguments are not compatible. + (Trac #2380, git 689b015753a9e219bc90af0a0b818ada26cc5968) + +529. [func]* team + The in-memory data source now uses a more complete master + file parser to load textual zone files. As of this change + it supports multi-line RR representation and more complete + support for escaped and quoted strings. It also produces + more helpful log messages when there is an error in the zone + file. It will be enhanced as more specific tasks in the + #2368 meta ticket are completed. The new parser is generally + backward compatible to the previous one, but due to the + tighter checks some input that has been accepted so far + could now be rejected, so it's advisable to check if you + use textual zone files directly loaded to memory. + (Trac #2470, git c4cf36691115c15440b65cac16f1c7fcccc69521) + +528. [func] marcin + Implemented definitions for DHCPv4 option definitions identified + by option codes: 1 to 63, 77, 81-82, 90-92, 118-119, 124-125. + These definitions are now used by the DHCPv4 server to parse + options received from a client. + (Trac #2526, git 50a73567e8067fdbe4405b7ece5b08948ef87f98) + +527. [bug] jelte + Fixed a bug in the synchronous UDP server code where unexpected + errors from ASIO or the system libraries could cause b10-auth to + stop. In asynchronous mode these errors would be ignored + completely. Both types have been updated to report the problem with + an ERROR log message, drop the packet, and continue service. + (Trac #2494, git db92f30af10e6688a7dc117b254cb821e54a6d95) + +526. [bug] stephen + Miscellaneous fixes to DHCP code including rationalisation of + some methods in LeaseMgr and resolving some Doxygen/cppcheck + issues. + (Trac #2546, git 0140368ed066c722e5d11d7f9cf1c01462cf7e13) + +525. [func] tomek + b10-dhcp4: DHCPv4 server is now able to parse configuration. It + is possible to specify IPv4 subnets with dynamic pools within + them. Although configuration is accepted, it is not used yet. This + will be implemented shortly. + (Trac #2270, git de29c07129d41c96ee0d5eebdd30a1ea7fb9ac8a) + +524. [func] tomek + b10-dhcp6 is now able to handle RENEW messages. Leases are + renewed and REPLY responses are sent back to clients. + (Trac #2325, git 7f6c9d057cc0a7a10f41ce7da9c8565b9ee85246) + +523. [bug] muks + Fixed a problem in inmem NSEC3 lookup (for, instance when using a + zone with no non-apex names) which caused exceptions when the zone + origin was not added as an explicit NSEC3 record. + (Trac #2503, git 6fe86386be0e7598633fe35999112c1a6e3b0370) + +522. [func]* jelte + Configuration of TSIG keys for b10-xfrin has changed; instead of + specifying the full TSIG key (<name>:<base64>:<algo>) it now expects + just the name, and uses the global TSIG Key Ring like all the other + components (configuration list /tsig_keys/keys). + Note: this is not automatically updated, so if you use TSIG in + xfrin, you need to update your configuration. + (Trac #1351, git e65b7b36f60f14b7abe083da411e6934cdfbae7a) + +521. [func] marcin + Implemented definitions for DHCPv6 standard options identified + by codes up to 48. These definitions are now used by the DHCPv6 + server to create instances of options being sent to a client. + (Trac #2491, git 0a4faa07777189ed9c25211987a1a9b574015a95) + +520. [func] jelte + The system no longer prints initial log messages to stdout + regardless of what logging configuration is present, but it + temporarily stores any log messages until the configuration is + processed. If there is no specific configuration, or if the + configuration cannot be accessed, it will still fall back to stdout. + Note that there are still a few instances where output is printed, + these shall be addressed separately. + Note also that, currently, in case it falls back to stdout (such as + when it cannot connect to b10-cfgmgr), all log messages are always + printed (including debug messages), regardless of whether -v was + used. This shall also be addressed in a future change. + (Trac #2445, git 74a0abe5a6d10b28e4a3e360e87b129c232dea68) + +519. [bug] muks + Fixed a problem in inmem NSEC lookup which caused returning an + incorrect NSEC record or (in rare cases) assert failures + when a non-existent domain was queried, which was a sub-domain of + a domain that existed. + (Trac #2504, git 835553eb309d100b062051f7ef18422d2e8e3ae4) + +518. [func] stephen + Extend DHCP MySQL backend to handle IPv4 addresses. + (Trac #2404, git ce7db48d3ff5d5aad12b1da5e67ae60073cb2607) + +517. [func] stephen + Added IOAddress::toBytes() to get byte representation of address. + Also added convenience methods for V4/V6 address determination. + (Trac #2396, git c23f87e8ac3ea781b38d688f8f7b58539f85e35a) + +516. [bug] marcin + Fixed 'make distcheck' failure when running perfdhcp unit tests. + The unit tests used to read files from the folder specified + with the path relative to current folder, thus when the test was + run from a different folder the files could not be found. + (Trac #2479, git 4e8325e1b309f1d388a3055ec1e1df98c377f383) + +515. [bug] jinmei + The in-memory data source now accepts an RRSIG provided without + a covered RRset in loading. A subsequent query for its owner name + of the covered type would generally result in NXRRSET; if the + covered RRset is of type NSEC3, the corresponding NSEC3 processing + would result in SERVFAIL. + (Trac #2420, git 6744c100953f6def5500bcb4bfc330b9ffba0f5f) + +514. [bug] jelte + b10-msgq now handles socket errors more gracefully when sending data + to clients. It no longer exits with 'broken pipe' errors, and is + also better at resending data on temporary error codes from send(). + (Trac #2398, git 9f6b45ee210a253dca608848a58c824ff5e0d234) + +513. [func] marcin + Implemented the OptionCustom class for DHCPv4 and DHCPv6. + This class represents an option which has a defined + structure: a set of data fields of specific types and order. + It is used to represent those options that can't be + represented by any other specialized class. + (Trac #2312, git 28d885b457dda970d9aecc5de018ec1120143a10) + +512. [func] jelte + Added a new tool b10-certgen, to check and update the self-signed + SSL certificate used by b10-cmdctl. The original certificate + provided has been removed, and a fresh one is generated upon first + build. See the b10-certgen manpage for information on how to update + existing installed certificates. + (Trac #1044, git 510773dd9057ccf6caa8241e74a7a0b34ca971ab) + +511. [bug] stephen + Fixed a race condition in the DHCP tests whereby the test program + spawned a subprocess and attempted to read (without waiting) from + the interconnecting pipe before the subprocess had written + anything. The lack of output was being interpreted as a test + failure. + (Trac #2410, git f53e65cdceeb8e6da4723730e4ed0a17e4646579) + +510. [func] marcin + DHCP option instances can be created using a collection of strings. + Each string represents a value of a particular data field within + an option. The data field values, given as strings, are validated + against the actual types of option fields specified in the options + definitions. + (Trac #2490, git 56cfd6612fcaeae9acec4a94e1e5f1a88142c44d) + +509. [func] muks + Log messages now include the pid of the process that logged the + message. + (Trac #1745, git fc8bbf3d438e8154e7c2bdd322145a7f7854dc6a) + +508. [bug] stephen + Split the DHCP library into two directories, each with its own + Makefile. This properly solves the problem whereby a "make" + operation with multiple threads could fail because of the + dependencies between two libraries in the same directory. + (Trac #2475, git 834fa9e8f5097c6fd06845620f68547a97da8ff8) + +bind10-devel-20121115 released on November 15, 2012 + +507. [doc] jelte + Added a chapter about the use of the bindctl command tool to + to the BIND 10 guide. + (Trac #2305, git c4b0294b5bf4a9d32fb18ab62ca572f492788d72) + +506. [sec] jinmei + Fixed a use-after-free case in handling DNAME record with the + in-memory data source. This could lead to a crash of b10-auth + if it serves a zone containing a DNAME RR from the in-memory + data source. This bug was introduced at bind10-devel-20120927. + (Trac #2471, git 2b1793ac78f972ddb1ae2fd092a7f539902223ff) + +505. [bug] jelte + Fixed a bug in b10-xfrin where a wrong call was made during the + final check of a TSIG-signed transfer, incorrectly rejecting the + transfer. + (Trac #2464, git eac81c0cbebee72f6478bdb5cda915f5470d08e1) + +504. [bug]* naokikambe + Fixed an XML format viewed from b10-stats-httpd. Regarding + per-zone counters as zones of Xfrout, a part of the item + values wasn't an exact XML format. A zone name can be + specified in URI as + /bind10/statistics/xml/Xfrout/zones/example.org/xfrreqdone. + XSD and XSL formats are also changed to constant ones due + to these changes. + (Trac #2298, git 512d2d46f3cb431bcdbf8d90af27bff8874ba075) + +503. [func] Stephen + Add initial version of a MySQL backend for the DHCP code. This + implements the basic IPv6 lease access functions - add lease, delete + lease and update lease. The backend is enabled by specifying + --with-dhcp-mysql on the "configure" command line: without this + switch, the MySQL code is not compiled, so leaving BIND 10 able to + be built on systems without MySQL installed. + (Trac #2342, git c7defffb89bd0f3fdd7ad2437c78950bcb86ad37) + +502. [func] vorner + TTLs can be specified with units as well as number of seconds now. + This allows specifications like "1D3H". + (Trac #2384, git 44c321c37e17347f33ced9d0868af0c891ff422b) + +501. [func] tomek + Added DHCPv6 allocation engine, now used in the processing of DHCPv6 + messages. + (Trac #2414, git b3526430f02aa3dc3273612524d23137b8f1fe87) + +500. [bug] jinmei + Corrected the autoconf example in the examples directory so it can + use the configured path to Boost to check availability of the BIND 10 + library. Previously the sample configure script could fail if + Boost is installed in an uncommon place. Also, it now provides a + helper m4 function and example usage for embedding the library + path to executable (using linker options like -Wl,-R) to help + minimize post-build hassles. + (Trac #2356, git 36514ddc884c02a063e166d44319467ce6fb1d8f) + +499. [func] team + The b10-auth 'loadzone' command now uses the internal thread + introduced in 495 to (re)load a zone in the background, so that + query processing isn't blocked while loading a zone. + (Trac #2213, git 686594e391c645279cc4a95e0e0020d1c01fba7e) + +498. [func] marcin + Implemented DHCPv6 option values configuration using configuration + manager. In order to set values for data fields carried by the + particular option, user specifies the string of hexadecimal digits + that is in turn converted to binary data and stored into option + buffer. More user friendly way of option content specification is + planned. + (Trac #2318, git e75c686cd9c14f4d6c2a242a0a0853314704fee9) + +497. [bug] jinmei + Fixed several issues in isc-sysinfo: + - make sure it doesn't report a negative value for free memory + size (this happened on FreeBSD, but can possibly occur on other + BSD variants) + - correctly identifies the SMP support in kernel on FreeBSD + - print more human readable uptime as well as the time in seconds + (Trac #2297, git 59a449f506948e2371ffa87dcd19059388bd1657) + +496. [func] tomek + DHCPv6 Allocation Engine implemented. It allows address allocation + from the configured subnets/pools. It currently features a single + allocator: IterativeAllocator, which assigns addresses iteratively. + Other allocators (hashed, random) are planned. + (Trac #2324, git 8aa188a10298e3a55b725db36502a99d2a8d638a) + +495. [func] team + b10-auth now handles reconfiguration of data sources in + background using a separate thread. This means even if the new + configuration includes a large amount of data to be loaded into + memory (very large zones and/or a very large number of zones), + the reconfiguration doesn't block query handling. + (Multiple Trac tickets up to #2211) + +494. [bug] jinmei + Fixed a problem that shutting down BIND 10 kept some of the + processes alive. It was two-fold: when the main bind10 process + started as a root, started b10-sockcreator with the privilege, and + then dropped the privilege, the bind10 process cannot kill the + sockcreator via signal any more (when it has to), but it kept + sending the signal and didn't stop. Also, when running on Python + 3.1 (or older), the sockcreator had some additional file + descriptor open, which prevented it from exiting even after the + bind10 process terminated. Now the bind10 process simply gives up + killing a subprocess if it fails due to lack of permission, and it + makes sure the socket creator is spawned without any unnecessary + FDs open. + (Trac #1858, git 405d85c8a0042ba807a3a123611ff383c4081ee1) + +493. [build] jinmei + Fixed build failure with newer versions of clang++. These + versions are stricter regarding "unused variable" and "unused + (driver) arguments" warnings, and cause fatal build error + with -Werror. The affected versions of clang++ include Apple's + customized version 4.1 included in Xcode 4.5.1. So this fix + will solve build errors for Mac OS X that uses newer versions of + Xcode. + (Trac #2340, git 55be177fc4f7537143ab6ef5a728bd44bdf9d783, + 3e2a372012e633d017a97029d13894e743199741 and commits before it + with [2340] in the commit log) + +492. [func] tomek + libdhcpsrv: The DHCP Configuration Manager is now able to store + information about IPv4 subnets and pools. It is still not possible + to configure that information. Such capability will be implemented + in a near future. + (Trac #2237, git a78e560343b41f0f692c7903c938b2b2b24bf56b) + +491. [func] tomek + b10-dhcp6: Configuration for DHCPv6 has been implemented. + Currently it is possible to configure IPv6 subnets and pools + within those subnets, global and per subnet values of renew, + rebind, preferred and valid lifetimes. Configured parameters + are accepted, but are not used yet by the allocation engine yet. + (Trac #2269, git 028bed9014b15facf1a29d3d4a822c9d14fc6411) + +490. [func] tomek + libdhcpsrv: An abstract API for lease database has been + implemented. It offers a common interface to all concrete + database backends. + (Trac #2140, git df196f7609757253c4f2f918cd91012bb3af1163) + +489. [func] muks + The isc::dns::RRsetList class has been removed. It was now unused + inside the BIND 10 codebase, and the interface was considered + prone to misuse. + (Trac #2266, git 532ac3d0054f6a11b91ee369964f3a84dabc6040) + +488. [build] jinmei + On configure, changed the search order for Python executable. + It first tries more specific file names such as "python3.2" before + more generic "python3". This will prevent configure failure on + Mac OS X that installs Python3 via recent versions of Homebrew. + (Trac #2339, git 88db890d8d1c64de49be87f03c24a2021bcf63da) + +487. [bug] jinmei + The bind10 process now terminates a component (subprocess) by the + "config remove Boss/components" bindctl command even if the + process crashes immediately before the command is sent to bind10. + Previously this led to an inconsistent state between the + configuration and an internal component list of bind10, and bind10 + kept trying to restart the component. A known specific case of + this problem is that b10-ddns could keep failing (due to lack of + dependency modules) and the administrator couldn't stop the + restart via bindctl. + (Trac #2244, git 7565788d06f216ab254008ffdfae16678bcd00e5) + +486. [bug]* jinmei + All public header files for libb10-dns++ are now installed. + Template configure.ac and utility AC macros for external projects + using the library are provided under the "examples" directory. + The src/bin/host was moved as part of the examples (and not + installed with other BIND 10 programs any more). + (Trac #1870, git 4973e638d354d8b56dcadf71123ef23c15662021) + +485. [bug] jelte + Several bugs have been fixed in bindctl; tab-completion now works + within configuration lists, the problem where sometimes the + completion added a part twice has been solved, and it no longer + suggests the confusing value 'argument' as a completion-hint for + configuration items. Additionally, bindctl no longer crashes upon + input like 'config remove Boss'. + (Trac #2254, git 9047de5e8f973e12e536f7180738e6b515439448) + +484. [func] tomek + A new library (libb10-dhcpsrv) has been created. At present, it + only holds the code for the DHCP Configuration Manager. Currently + this object only supports basic configuration storage for the DHCPv6 + server, but that capability will be expanded. + (Trac #2238, git 6f29861b92742da34be9ae76968e82222b5bfd7d) + +bind10-devel-20120927 released on September 27, 2012 + +483. [func] marcin + libdhcp++: Added new parameter to define sub-second timeout + for DHCP packet reception. The total timeout is now specified + by two parameters: first specifies integral number of + seconds, second (which defaults to 0) specifies fractional + seconds with microsecond resolution. + (Trac #2231, git 15560cac16e4c52129322e3cb1787e0f47cf7850) + +482. [func] team + Memory footprint of the in-memory data source has been + substantially improved. For example, b10-auth now requires much + less memory than BIND 9 named for loading and serving the same + zone in-memory. This is a transparent change in terms of user + operation; there's no need to update or change the configuration + to enable this feature. + Notes: multiple instances of b10-auth still make separate copies + of the memory image. Also, loading zones in memory still suspends + query processing, so manual reloading or reloading after incoming + transfer may cause service disruption for huge zones. + (Multiple Trac tickets, Summarized in Trac #2101) + +481. [bug] vorner + The abbreviated form of IP addresses in ACLs is accepted + (eg. "from": ["127.0.0.1", "::1"] now works). + (Trac #2191, git 48b6e91386b46eed383126ad98dddfafc9f7e75e) + +480. [doc] vorner + Added documentation about global TSIG key ring to the Guide. + (Trac #2189, git 52177bb31f5fb8e134aecb9fd039c368684ad2df) + +479. [func] marcin + Refactored perfdhcp tool to C++, added missing unit tests and removed + the old code. The new code uses libdhcp++ (src/lib/dhcp) for DHCP + packet management, network interface management and packet + transmission. + (Trac #1954, git 8d56105742f3043ed4b561f26241f3e4331f51dc) + (Trac #1955, git 6f914bb2c388eb4dd3e5c55297f8988ab9529b3f) + (Trac #1956, git 6f914bb2c388eb4dd3e5c55297f8988ab9529b3f) + (Trac #1957, git 7fca81716ad3a755bf5744e88c3adeef15b04450) + (Trac #1958, git 94e17184270cda58f55e6da62e845695117fede3) + (Trac #1959, git a8cf043db8f44604c7773e047a9dc2861e58462a) + (Trac #1960, git 6c192e5c0903f349b4d80cf2bb6cd964040ae7da) + +478. [func] naokikambe + New statistics items added into b10-xfrout: ixfr_running and + axfr_running. Their values can be obtained by invoking "Stats show + Xfrout" via bindctl while b10-xfrout is running. + (Trac #2222, git 91311bdbfea95f65c5e8bd8294ba08fac12405f1) + +477. [bug] jelte + Fixed a problem with b10-msgq on OSX when using a custom Python + installation, that offers an unreliable select.poll() interface. + (Trac #2190, git e0ffa11d49ab949ee5a4ffe7682b0e6906667baa) + +476. [bug] vorner + The Xfrin now accepts transfers with some TSIG signatures omitted, as + allowed per RFC2845, section 4.4. This solves a compatibility + issues with Knot and NSD. + (Trac #1357, git 7ca65cb9ec528118f370142d7e7b792fcc31c9cf) + +475. [func] naokikambe + Added Xfrout statistics counters: notifyoutv4, notifyoutv6, + xfrrej, and xfrreqdone. These are per-zone type counters. + The value of these counters can be seen with zone name by + invoking "Stats show Xfrout" via bindctl. + (Trac #2158, git e68c127fed52e6034ab5309ddd506da03c37a08a) + +474. [func] stephen + DHCP servers now use the BIND 10 logging system for messages. + (Trac #1545, git de69a92613b36bd3944cb061e1b7c611c3c85506) + +473. [bug] jelte + TCP connections now time out in b10-auth if no (or not all) query + data is sent by the client. The timeout value defaults to 5000 + milliseconds, but is configurable in Auth/tcp_recv_timeout. + (Trac #357, git cdf3f04442f8f131542bd1d4a2228a9d0bed12ff) + +472. [build] jreed + All generated documentation is removed from the git repository. + The ./configure --enable-man option is removed. A new option + -enable-generate-docs is added; it checks for required + documentation building dependencies. Dummy documentation is + built and installed if not used. Distributed tarballs will + contain the generated documentation. + (Trac #1687, git 2d4063b1a354f5048ca9dfb195e8e169650f43d0) + +471. [bug] vorner + Fixed a problem when b10-loadzone tried to tread semicolon + in string data as start of comment, which caused invalid + data being loaded. + (Trac #2188, git 12efec3477feb62d7cbe36bdcfbfc7aa28a36f57) + +470. [func] naokikambe + The stats module now supports partial statistics updates. Each + module can return only statistics data which have been updated since + the last time it sent them to the stats module. The purpose of partial + updates is to reduce the amount of statistics data sent through the + message queue. + (Trac #2179, git d659abdd9f3f369a29830831297f64484ac7b051) + +469. [bug] jelte + libdatasrc: the data source client list class now ignores zone + content problems (such as out-of-zone data) in MasterFiles type + zones, instead of aborting the entire configuration. It only logs + an error, and all other zones and datasources are still loaded. The + error log message has been improved to include the zone origin and + source file name. As a result of this change, b10-auth no longer + exits upon encountering such errors during startup. + (Trac #2178, git a75ed413e8a1c8e3702beea4811a46a1bf519bbd) + +468. [func]* naokikambe, fujiwara + b10-stats polls the bind10 and b10-auth with new 'getstats' command + to retrieve statistics data. The "poll-interval" parameter in + b10-stats is for configuring the polling interval. All statistics + data collected once are preserved while b10-stats is running. + The "sendstats" command was removed from bind10 and b10-auth. The + "statistics-interval" configuration item was removed from b10-auth. + (Trac #2136, git dcb5ce50b4b4e50d28247d5f8b5cb8d90bda942a) + (Trac #2137, git d53bb65a43f6027b15a6edc08c137951e3ce5e0e) + (Trac #2138, git b34e3313460eebc9c272ca8c1beb27297c195150) + +bind10-devel-20120816 released on August 16, 2012 + +467. [bug] jelte + For configurations, allow named sets to contain lists of items. + (Trac #2114, git 712637513505f7afb8434292ca2a98c3517dffd3) + +466. [func] jelte + Allow bindctl to add and remove items to and from lists + and dicts for items of type "any". This is for easier + configurations. + (Trac #2184, git ad2d728d1496a9ff59d622077850eed0638b54eb) + +465. [doc] vorner + Improved documentation about ACLs in the Guide. + (Trac #2066, git 76f733925b3f3560cfc2ee96d2a19905b623bfc3) + +464. [func] jelte, muks + libdns++: The LabelSequence class has been extended with some new + methods. These are mainly intended for internal development, but + the class is public, so interested users may want to look into the + extensions. + (Trac #2052, git 57c61f2^..dbef0e2) + (Trac #2053, git 1fc2b06b57a008ec602daa2dac79939b3cc6b65d) + (Trac #2086, git 3fac7d5579c5f51b8e952b50db510b45bfa986f3) + (Trac #2087, git 49ad6346f574d00cfbd1d12905915fd0dd6a0bac) + (Trac #2148, git 285c2845ca96e7ef89f9158f1dea8cda147b6566) + +463. [func] jinmei + Python isc.dns: the Name, RRType and RRClass classes are now + hashable. So, for example, objects of these classes can be used + as a dictionary key. + (Trac #1883, git 93ec40dd0a1df963c676037cc60c066c748b3030) + +462. [build] jreed + BIND 10 now compiles against googletest-1.6.0 versions that are + installed on the system as source code. For such versions, use the + --with-gtest-source configure switch. + (Trac #1999, git 6a26d459a40d7eed8ebcff01835377b3394a78de) + +461. [bug] muks + We now set g+w and g+s permissions (mode 02770) during + installation for the BIND 10 local state directory + ($prefix/var/bind10-devel/) so that permissions to files + and sub-directories created in that directory are inherited. + (Trac #2171, git ab4d20907abdb3ce972172463dcc73405b3dee79) + +460. [bug] muks + SSHFP's algorithm and fingerprint type checks have been relaxed + such that they will accept any values in [0,255]. This is so that + future algorithm and fingerprint types are accommodated. + (Trac #2124, git 49e6644811a7ad09e1326f20dd73ab43116dfd21) + +459. [func] tomek + b10-dhcp6: DHCPv6 server component is now integrated into + BIND 10 framework. It can be started from BIND 10 (using bindctl) + and can receive commands. The only supported command for now + is 'Dhcp6 shutdown'. + b10-dhcp4: Command line-switch '-s' to disable msgq was added. + b10-dhcp6: Command line-switch '-s' to disable msgq was added. + (Trac #1708, git e0d7c52a71414f4de1361b09d3c70431c96daa3f) + +458. [build]* jinmei + BIND 10 now relies on Boost offset_ptr, which caused some new + portability issues. Such issues are detected at ./configure time. + If ./configure stops due to this, try the following workaround: + - If it's about the use of mutable for a reference with clang++, + upgrade Boost version to 1.44 or higher, or try a different + compiler (e.g. g++ generally seems to be free from this issue) + - If it's about the use of "variadic templates", specify + --without-werror so the warning won't be promoted to an error. + Specifying BOOST_NO_USER_CONFIG in CXXFLAGS may also work + (which would be the case if Boost is installed via pkgsrc) + (Trac #2147, git 30061d1139aad8716e97d6b620c259752fd0a3cd) + +457. [build]* muks + BIND 10 library names now have a "b10-" prefix. This is to avoid + clashes with other similarly named libraries on the system. + (Trac #2071, git ac20a00c28069804edc0a36050995df52f601efb) + +456. [build] muks + BIND 10 now compiles against log4cplus-1.1.0 (RC releases) + also. Note: some older versions of log4cplus don't work any more; + known oldest workable version is 1.0.4. Thanks to John Lumby for + sending a patch. + (Trac #2169, git 7d7e5269d57451191c0aef1b127d292d3615fe2c) + +455. [func]* vorner + The server now uses newer API for data sources. This would be an + internal change, however, the data sources are now configured + differently. Please, migrate your configuration to the top-level + "data_sources" module. Also the bind10 -n and --no-cache + and b10-auth -n options are removed. + (Trac #1976, git 0d4685b3e7603585afde1b587cbfefdfaf6a1bb3) + +454. [bug] jelte + b10-cfgmgr now loads its configuration check plugins directly from + the plugin search path, as opposed to importing them from the + general python system module path list; this prevents naming + conflicts with real python modules. + (Trac #2119, git 2f68d7ac5c3c7cc88a3663191113eece32d46a3d) + +453. [bug] jelte + b10-auth no longer tries to send DDNS UPDATE messages to b10-ddns if + b10-ddns is not running. Sending an UPDATE to BIND 10 that is not + configured to run DDNS will now result in a response with rcode + NOTIMP instead of SERVFAIL. + (Trac #1986, git bd6b0a5ed3481f78fb4e5cb0b18c7b6e5920f9f8) + +452. [func] muks, jelte + isc-sysinfo: An initial implementation of the isc-sysinfo + tool is now available for Linux, OpenBSD, FreeBSD, and Mac + OS X. It gathers and outputs system information which can + be used by future tech support staff. This includes a + generic Python "sysinfo" module. + (Trac #2062, #2121, #2122, #2172, + git 144e80212746f8d55e6a59edcf689fec9f32ae95) + +451. [bug] muks, jinmei + libdatasrc: the database-based data source now correctly returns + glue records on (not under) a zone cut, such as in the case where + the NS name of an NS record is identical to its owner name. (Note: + libdatasrc itself doesn't judge what kind of record type can be a + "glue"; it's the caller's responsibility.) + (Trac #1771, git 483f1075942965f0340291e7ff7dae7806df22af) + +450. [func] tomek + b10-dhcp4: DHCPv4 server component is now integrated into + BIND 10 framework. It can be started from BIND 10 (using bindctl) + and can receive commands. The only supported command for now + is 'Dhcp4 shutdown'. + (Trac #1651, git 7e16a5a50d3311e63d10a224ec6ebcab5f25f62c) + +bind10-devel-20120621 released on June 21, 2012 + +449. [bug] muks + b10-xfin: fixed a bug where xfrin sent the wrong notification + message to zonemgr on successful zone transfer. This also + solves other reported problems such as too frequent attempts + of zone refreshing (see Trac #1786 and #1834). + (Trac #2023, git b5fbf8a408a047a2552e89ef435a609f5df58d8c) + +448. [func] team + b10-ddns is now functional and handles dynamic update requests + per RFC 2136. See BIND 10 guide for configuration and operation + details. + (Multiple Trac tickets) + +447. [bug] jinmei + Fixed a bug in b10-xfrout where a helper thread could fall into + an infinite loop if b10-auth stops while the thread is waiting for + forwarded requests from b10-auth. + (Trac #988 and #1833, git 95a03bbefb559615f3f6e529d408b749964d390a) + +446. [bug] muks + A number of warnings reported by Python about unclosed file and + socket objects were fixed. Some related code was also made safer. + (Trac #1828, git 464682a2180c672f1ed12d8a56fd0a5ab3eb96ed) + +445. [bug]* jinmei + The pre-install check for older SQLite3 DB now refers to the DB + file with the prefix of DESTDIR. This ensures that 'make install' + with specific DESTDIR works regardless of the version of the DB + file installed in the default path. + (Trac #1982, git 380b3e8ec02ef45555c0113ee19329fe80539f71) + +444. [bug] jinmei + libdatasrc: fixed ZoneFinder for database-based data sources so + that it handles type DS query correctly, i.e., treating it as + authoritative data even on a delegation point. + (Trac #1912, git 7130da883f823ce837c10cbf6e216a15e1996e5d) + +443. [func]* muks + The logger now uses a lockfile named `logger_lockfile' that is + created in the local state directory to mutually separate + individual logging operations from various processes. This is + done so that log messages from different processes don't mix + together in the middle of lines. The `logger_lockfile` is created + with file permission mode 0660. BIND 10's local state directory + should be writable and perhaps have g+s mode bit so that the + `logger_lockfile` can be opened by a group of processes. + (Trac #1704, git ad8d445dd0ba208107eb239405166c5c2070bd8b) + +442. [func] tomek + b10-dhcp4, b10-dhcp6: Both DHCP servers now accept -p parameter + that can be used to specify listening port number. This capability + is useful only for testing purposes. + (Trac #1503, git e60af9fa16a6094d2204f27c40a648fae313bdae) + +441. [func] tomek + libdhcp++: Stub interface detection (support for interfaces.txt + file) was removed. + (Trac #1281, git 900fc8b420789a8c636bcf20fdaffc60bc1041e0) + +bind10-devel-20120517 released on May 17, 2012 + +440. [func] muks + bindctl: improved some error messages so they will be more + helpful. Those include the one when the zone name is unspecified + or the name is invalid in the b10-auth configuration. + (Trac #1627, git 1a4d0ae65b2c1012611f4c15c5e7a29d65339104) + +439. [func] team + The in-memory data source can now load zones from the + sqlite3 data source, so that zones stored in the database + (and updated for example by xfrin) can be served from memory. + (Trac #1789, #1790, #1792, #1793, #1911, + git 93f11d2a96ce4dba9308889bdb9be6be4a765b27) + +438. [bug] naokikambe + b10-stats-httpd now sends the system a notification that + it is shutting down if it encounters a fatal error during + startup. + (Trac #1852, git a475ef271d4606f791e5ed88d9b8eb8ed8c90ce6) + +437. [build] jinmei + Building BIND 10 may fail on MacOS if Python has been + installed via Homebrew unless --without-werror is specified. + The configure script now includes a URL that explains this + issue when it detects failure that is possibly because of + this problem. + (Trac #1907, git 0d03b06138e080cc0391fb912a5a5e75f0f97cec) + +436. [bug] jelte + The --config-file option now works correctly with relative paths if + --data-path is not given. + (Trac #1889, git ce7d1aef2ca88084e4dacef97132337dd3e50d6c) + +435. [func] team + The in-memory datasource now supports NSEC-signed zones. + (Trac #1802-#1810, git 2f9aa4a553a05aa1d9eac06f1140d78f0c99408b) + +434. [func] tomek + libdhcp++: Linux interface detection refactored. The code is + now cleaner. Tests better support certain versions of ifconfig. + (Trac #1528, git 221f5649496821d19a40863e53e72685524b9ab2) + +433. [func] tomek + libdhcp++: Option6 and Pkt6 now follow the same design as + options and packet for DHCPv4. General code refactoring after + end of 2011 year release. + (Trac #1540, git a40b6c665617125eeb8716b12d92d806f0342396) + +432. [bug]* muks + BIND 10 now installs its header files in a BIND 10 specific + sub-directory in the install prefix. + (Trac #1930, git fcf2f08db9ebc2198236bfa25cf73286821cba6b) + +431. [func]* muks + BIND 10 no longer starts b10-stats-httpd by default. + (Trac #1885, git 5c8bbd7ab648b6b7c48e366e7510dedca5386f6c) + +430. [bug] jelte + When displaying configuration data, bindctl no longer treats + optional list items as an error, but shows them as an empty list. + (Trac #1520, git 0f18039bc751a8f498c1f832196e2ecc7b997b2a) + +429. [func] jelte + Added an 'execute' component to bindctl, which executes either a set + of commands from a file or a built-in set of commands. Currently, + only 'init_authoritative_server' is provided as a built-in set, but + it is expected that more will be added later. + (Trac #1843, git 551657702a4197ef302c567b5c0eaf2fded3e121) + +428. [bug] marcin + perfdhcp: bind to local address to allow reception of + replies from IPv6 DHCP servers. + (Trac #1908, git 597e059afaa4a89e767f8f10d2a4d78223af3940) + +427. [bug] jinmei + libdatasrc, b10-xfrin: the zone updater for database-based data + sources now correctly distinguishes NSEC3-related RRs (NSEC3 and + NSEC3-covering RRSIG) from others, and the SQLite3 implementation + now manipulates them in the separate table for the NSEC3 namespace. + As a result b10-xfrin now correctly updates NSEC3-signed zones by + inbound zone transfers. + (Trac #1781, #1788, #1891, + git 672f129700dae33b701bb02069cf276238d66be3) + +426. [bug] vorner + The NSEC3 records are now included when transferring a + signed zone out. + (Trac #1782, git 36efa7d10ecc4efd39d2ce4dfffa0cbdeffa74b0) + +425. [func]* muks + Don't autostart b10-auth, b10-xfrin, b10-xfrout and b10-zonemgr in + the default configuration. + (Trac #1818, git 31de885ba0409f54d9a1615eff5a4b03ed420393) + +424. [bug] jelte + Fixed a bug in bindctl where in some cases, configuration settings + in a named set could disappear, if a child element is modified. + (Trac #1491, git 00a36e752802df3cc683023d256687bf222e256a) + +423. [bug] jinmei + The database based zone iterator now correctly resets mixed TTLs + of the same RRset (when that happens) to the lowest one. The + previous implementation could miss lower ones if it appears in a + later part of the RRset. + (part of Trac #1791, git f1f0bc00441057e7050241415ee0367a09c35032) + +422. [bug] jinmei + The database based zone iterator now separates RRSIGs of the same + name and type but for different covered types. + (part of Trac #1791, git b4466188150a50872bc3c426242bc7bba4c5f38d) + +421. [build] jinmei + Made sure BIND 10 can be built with clang++ 3.1. (It failed on + MacOS 10.7 using Xcode 4.3, but it's more likely to be a matter of + clang version.) + (Trac #1773, git ceaa247d89ac7d97594572bc17f005144c5efb8d) + +420. [bug]* jinmei, stephen + Updated the DB schema used in the SQLite3 data source so it can + use SQL indices more effectively. The previous schema had several + issues in this sense and could be very slow for some queries on a + very large zone (especially for negative answers). This change + requires a major version up of the schema; use b10-dbutil to + upgrade existing database files. Note: 'make install' will fail + unless old DB files installed in the standard location have been + upgraded. + (Trac #324, git 8644866497053f91ada4e99abe444d7876ed00ff) + +419. [bug] jelte + JSON handler has been improved; escaping now works correctly + (including quotes in strings), and it now rejects more types of + malformed input. + (Trac #1626, git 3b09268518e4e90032218083bcfebf7821be7bd5) + +418. [bug] vorner + Fixed crash in bindctl when config unset was called. + (Trac #1715, git 098da24dddad497810aa2787f54126488bb1095c) + +417. [bug] jelte + The notify-out code now looks up notify targets in their correct + zones (and no longer just in the zone that the notify is about). + (Trac #1535, git 66300a3c4769a48b765f70e2d0dbf8bbb714435b) + +416. [func]* jelte + The implementations of ZoneFinder::find() now throw an OutOfZone + exception when the name argument is not in or below the zone this + zonefinder contains. + (Trac #1535, git 66300a3c4769a48b765f70e2d0dbf8bbb714435b) + +bind10-devel-20120329 released on March 29, 2012 + +415. [doc] jinmei, jreed + BIND 10 Guide updated to now describe the in-memory data source + configurations for b10-auth. + (Trac #1732, git 434d8db8dfcd23a87b8e798e5702e91f0bbbdcf6) + +414. [bug] jinmei + b10-auth now correctly handles delegation from an unsigned zone + (defined in the in-memory data source) when the query has DNSSEC + DO bit on. It previously returned SERVFAIL. + (Trac #1836, git 78bb8f4b9676d6345f3fdd1e5cc89039806a9aba) + +413. [func] stephen, jelte + Created a new tool b10-dbutil, that can check and upgrade database + schemas, to be used when incompatible changes are introduced in the + backend database schema. Currently it only supports sqlite3 databases. + Note: there's no schema change that requires this utility as of + the March 29th release. While running it shouldn't break + an existing database file, it should be even more advisable not to + run it at the moment. + (Trac #963, git 49ba2cf8ac63246f389ab5e8ea3b3d081dba9adf) + +412. [func] jelte + Added a command-line option '--clear-config' to bind10, which causes + the system to create a backup of the existing configuration database + file, and start out with a clean default configuration. This can be + used if the configuration file is corrupted to the point where it + cannot be read anymore, and BIND 10 refuses to start. The name of + the backup file can be found in the logs (CFGMGR_RENAMED_CONFIG_FILE). + (Trac #1443, git 52b36c921ee59ec69deefb6123cbdb1b91dc3bc7) + +411. [func] muks + Add a -i/--no-kill command-line argument to bind10, which stops + it from sending SIGTERM and SIGKILL to other b10 processes when + they're shutting down. + (Trac #1819, git 774554f46b20ca5ec2ef6c6d5e608114f14e2102) + +410. [bug] jinmei + Python CC library now ensures write operations transmit all given + data (unless an error happens). Previously it didn't check the + size of transmitted data, which could result in partial write on + some systems (notably on OpenBSD) and subsequently cause system + hang up or other broken state. This fix specifically solves start + up failure on OpenBSD. + (Trac #1829, git 5e5a33213b60d89e146cd5e47d65f3f9833a9297) + +409. [bug] jelte + Fixed a parser bug in bindctl that could make bindctl crash. Also + improved 'command help' output; argument order is now shown + correctly, and parameter descriptions are shown as well. + (Trac #1172, git bec26c6137c9b0a59a3a8ca0f55a17cfcb8a23de) + +408. [bug] stephen, jinmei + b10-auth now filters out duplicate RRsets when building a + response message using the new query handling logic. It's + currently only used with the in-memory data source, but will + also be used for others soon. + (Trac #1688, git b77baca56ffb1b9016698c00ae0a1496d603d197) + +407. [build] haikuo + Remove "--enable-boost-threads" switch in configure command. This + thread lock mechanism is useless for bind10 and causes performance + hits. + (Trac #1680, git 9c4d0cadf4adc802cc41a2610dc2c30b25aad728) + +406. [bug] muks + On platforms such as OpenBSD where pselect() is not available, + make a wrapper around select() in perfdhcp. + (Trac #1639, git 6ea0b1d62e7b8b6596209291aa6c8b34b8e73191) + +405. [bug] jinmei + Make sure disabling Boost threads if the default configuration is + to disable it for the system. This fixes a crash and hang up + problem on OpenBSD, where the use of Boost thread could be + different in different program files depending on the order of + including various header files, and could introduce inconsistent + states between a library and a program. Explicitly forcing the + original default throughout the BIND 10 build environment will + prevent this from happening. + (Trac #1727, git 23f9c3670b544c5f8105958ff148aeba050bc1b4) + +404. [bug] naokikambe + The statistic counters are now properly accumulated across multiple + instances of b10-auth (if there are multiple instances), instead of + providing result for random instance. + (Trac #1751, git 3285353a660e881ec2b645e1bc10d94e5020f357) + +403. [build]* jelte + The configure option for botan (--with-botan=PATH) is replaced by + --with-botan-config=PATH, which takes a full path to a botan-config + script, instead of the botan 'install' directory. Also, if not + provided, configure will try out config scripts and pkg-config + options until it finds one that works. + (Trac #1640, git 582bcd66dbd8d39f48aef952902f797260280637) + +402. [func] jelte + b10-xfrout now has a visible command to send out notifies for + a given zone, callable from bindctl. Xfrout notify <zone> [class] + (Trac #1321, git 0bb258f8610620191d75cfd5d2308b6fc558c280) + +401. [func]* jinmei + libdns++: updated the internal implementation of the + MessageRenderer class. This is mostly a transparent change, but + the new version now doesn't allow changing compression mode in the + middle of rendering (which shouldn't be an issue in practice). + On the other hand, name compression performance was significantly + improved: depending on the number of names, micro benchmark tests + showed the new version is several times faster than the previous + version . + (Trac #1603, git 9a2a86f3f47b60ff017ce1a040941d0c145cfe16) + +400. [bug] stephen + Fix crash on Max OS X 10.7 by altering logging so as not to allocate + heap storage in the static initialization of logging objects. + (Trac #1698, git a8e53be7039ad50d8587c0972244029ff3533b6e) + +399. [func] muks + Add support for the SSHFP RR type (RFC 4255). + (Trac #1136, git ea5ac57d508a17611cfae9d9ea1c238f59d52c51) + +398. [func] jelte + The b10-xfrin module now logs more information on successful + incoming transfers. In the case of IXFR, it logs the number of + changesets, and the total number of added and deleted resource + records. For AXFR (or AXFR-style IXFR), it logs the number of + resource records. In both cases, the number of overhead DNS + messages, runtime, amount of wire data, and transfer speed are logged. + (Trac #1280, git 2b01d944b6a137f95d47673ea8367315289c205d) + +397. [func] muks + The boss process now gives more helpful description when a + sub-process exits due to a signal. + (Trac #1673, git 1cd0d0e4fc9324bbe7f8593478e2396d06337b1e) + +396. [func]* jinmei + libdatasrc: change the return type of ZoneFinder::find() so it can + contain more context of the search, which can be used for + optimizing post find() processing. A new method getAdditional() + is added to it for finding additional RRsets based on the result + of find(). External behavior shouldn't change. The query + handling code of b10-auth now uses the new interface. + (Trac #1607, git 2e940ea65d5b9f371c26352afd9e66719c38a6b9) + +395. [bug] jelte + The log message compiler now errors (resulting in build failures) if + duplicate log message identifiers are found in a single message file. + Renamed one duplicate that was found (RESOLVER_SHUTDOWN, renamed to + RESOLVER_SHUTDOWN_RECEIVED). + (Trac #1093, git f537c7e12fb7b25801408f93132ed33410edae76) + (Trac #1741, git b8960ab85c717fe70ad282e0052ac0858c5b57f7) + +394. [bug] jelte + b10-auth now catches any exceptions during response building; if any + datasource either throws an exception or causes an exception to be + thrown, the message processing code will now catch it, log a debug + message, and return a SERVFAIL response. + (Trac #1612, git b5740c6b3962a55e46325b3c8b14c9d64cf0d845) + +393. [func] jelte + Introduced a new class LabelSequence in libdns++, which provides + lightweight accessor functionality to the Name class, for more + efficient comparison of parts of names. + (Trac #1602, git b33929ed5df7c8f482d095e96e667d4a03180c78) + +392. [func]* jinmei + libdns++: revised the (Abstract)MessageRenderer class so that it + has a default internal buffer and the buffer can be temporarily + switched. The constructor interface was modified, and a new + method setBuffer() was added. + (Trac #1697, git 9cabc799f2bf9a3579dae7f1f5d5467c8bb1aa40) + +391. [bug]* vorner + The long time unused configuration options of Xfrout "log_name", + "log_file", "log_severity", "log_version" and "log_max_bytes" were + removed, as they had no effect (Xfrout uses the global logging + framework). However, if you have them set, you need to remove + them from the configuration file or the configuration will be + rejected. + (Trac #1090, git ef1eba02e4cf550e48e7318702cff6d67c1ec82e) + +bind10-devel-20120301 released on March 1, 2012 + +390. [bug] vorner + The UDP IPv6 packets are now correctly fragmented for maximum + guaranteed MTU, so they won't get lost because being too large + for some hop. + (Trac #1534, git ff013364643f9bfa736b2d23fec39ac35872d6ad) + +389. [func]* vorner + Xfrout now uses the global TSIG keyring, instead of its own. This + means the keys need to be set only once (in tsig_keys/keys). + However, the old configuration of Xfrout/tsig_keys need to be + removed for Xfrout to work. + (Trac #1643, git 5a7953933a49a0ddd4ee1feaddc908cd2285522d) + +388. [func] jreed + Use prefix "sockcreator-" for the private temporary directory + used for b10-sockcreator communication. + (git b98523c1260637cb33436964dc18e9763622a242) + +387. [build] muks + Accept a --without-werror configure switch so that some builders can + disable the use of -Werror in CFLAGS when building. + (Trac #1671, git 8684a411d7718a71ad9fb616f56b26436c4f03e5) + +386. [bug] jelte + Upon initial sqlite3 database creation, the 'diffs' table is now + always created. This already happened most of the time, but there + are a few cases where it was skipped, resulting in potential errors + in xfrout later. + (Trac #1717, git 30d7686cb6e2fa64866c983e0cfb7b8fabedc7a2) + +385. [bug] jinmei + libdns++: masterLoad() didn't accept comments placed at the end of + an RR. Due to this the in-memory data source cannot load a master + file for a signed zone even if it's preprocessed with BIND 9's + named-compilezone. + Note: this fix is considered temporary and still only accepts some + limited form of such comments. The main purpose is to allow the + in-memory data source to load any signed or unsigned zone files as + long as they are at least normalized with named-compilezone. + (Trac #1667, git 6f771b28eea25c693fe93a0e2379af924464a562) + +384. [func] jinmei, jelte, vorner, haikuo, kevin + b10-auth now supports NSEC3-signed zones in the in-memory data + source. + (Trac #1580, #1581, #1582, #1583, #1584, #1585, #1587, and + other related changes to the in-memory data source) + +383. [build] jinmei + Fixed build failure on MacOS 10.7 (Lion) due to the use of + IPV6_PKTINFO; the OS requires a special definition to make it + visible to the compiler. + (Trac #1633, git 19ba70c7cc3da462c70e8c4f74b321b8daad0100) + +382. [func] jelte + b10-auth now also experimentally supports statistics counters of + the rcode responses it sends. The counters can be shown as + rcode.<code name>, where code name is the lowercase textual + representation of the rcode (e.g. "noerror", "formerr", etc.). + Same note applies as for opcodes, see changelog entry 364. + (Trac #1613, git e98da500d7b02e11347431a74f2efce5a7d622aa) + +381. [bug] jinmei + b10-auth: honor the DNSSEC DO bit in the new query handler. + (Trac #1695, git 61f4da5053c6a79fbc162fb16f195cdf8f94df64) + +380. [bug] jinmei + libdns++: miscellaneous bug fixes for the NSECPARAM RDATA + implementation, including incorrect handling for empty salt and + incorrect comparison logic. + (Trac #1638, git 966c129cc3c538841421f1e554167d33ef9bdf25) + +379. [bug] jelte + Configuration commands in bindctl now check for list indices if + the 'identifier' argument points to a child element of a list + item. Previously, it was possible to 'get' non-existent values + by leaving out the index, e.g. "config show Auth/listen_on/port, + which should be config show Auth/listen_on[<index>]/port, since + Auth/listen_on is a list. The command without an index will now + show an error. It is still possible to show/set the entire list + ("config show Auth/listen_on"). + (Trac #1649, git 003ca8597c8d0eb558b1819dbee203fda346ba77) + +378. [func] vorner + It is possible to start authoritative server or resolver in multiple + instances, to use more than one core. Configuration is described in + the guide. + (Trac #1596, git 17f7af0d8a42a0a67a2aade5bc269533efeb840a) + +377. [bug] jinmei + libdns++: miscellaneous bug fixes for the NSEC and NSEC3 RDATA + implementation, including a crash in NSEC3::toText() for some RR + types, incorrect handling of empty NSEC3 salt, and incorrect + comparison logic in NSEC3::compare(). + (Trac #1641, git 28ba8bd71ae4d100cb250fd8d99d80a17a6323a2) + +376. [bug] jinmei, vorner + The new query handling module of b10-auth did not handle type DS + query correctly: It didn't look for it in the parent zone, and + it incorrectly returned a DS from the child zone if it + happened to exist there. Both were corrected, and it now also + handles the case of having authority for the child and a grand + ancestor. + (Trac #1570, git 2858b2098a10a8cc2d34bf87463ace0629d3670e) + +375. [func] jelte + Modules now inform the system when they are stopping. As a result, + they are removed from the 'active modules' list in bindctl, which + can then inform the user directly when it tries to send them a + command or configuration update. Previously this would result + in a 'not responding' error instead of 'not running'. + (Trac #640, git 17e78fa1bb1227340aa9815e91ed5c50d174425d) + +374. [func]* stephen + Alter RRsetPtr and ConstRRsetPtr to point to AbstractRRset (instead + of RRset) to allow for specialised implementations of RRsets in + data sources. + (Trac #1604, git 3071211d2c537150a691120b0a5ce2b18d010239) + +373. [bug] jinmei + libdatasrc: the in-memory data source incorrectly rejected loading + a zone containing a CNAME RR with RRSIG and/or NSEC. + (Trac #1551, git 76f823d42af55ce3f30a0d741fc9297c211d8b38) + +372. [func] vorner + When the allocation of a socket fails for a different reason than the + socket not being provided by the OS, the b10-auth and b10-resolver + abort, as the system might be in inconsistent state after such error. + (Trac #1543, git 49ac4659f15c443e483922bf9c4f2de982bae25d) + +371. [bug] jelte + The new query handling module of b10-auth (currently only used with + the in-memory data source) now correctly includes the DS record (or + the denial of its existence if NSEC is used) when returning a + delegation from a signed zone. + (Trac #1573, git bd7a3ac98177573263950303d4b2ea7400781d0f) + +370. [func] jinmei + libdns++: a new class NSEC3Hash was introduced as a utility for + calculating NSEC3 hashes for various purposes. Python binding was + provided, too. Also fixed a small bug in the NSEC3PARAM RDATA + implementation that empty salt in text representation was + rejected. + (Trac #1575, git 2c421b58e810028b303d328e4e2f5b74ea124839) + +369. [func] vorner + The SocketRequestor provides more information about what error + happened when it throws, by using subclasses of the original + exception. This way a user not interested in the difference can + still use the original exception, while it can be recognized if + necessary. + (Trac #1542, git 2080e0316a339fa3cadea00e10b1ec4bc322ada0) + +368. [func]* jinmei + libdatasrc: the interface of ZoneFinder() was changed: WILDCARD + related result codes were deprecated and removed, and the + corresponding information is now provided via a separate accessor + method on FindResult. Other separate FindResult methods will + also tell the caller whether the zone is signed with NSEC or NSEC3 + (when necessary and applicable). + (Trac #1611, git c175c9c06034b4118e0dfdbccd532c2ebd4ba7e8) + +367. [bug] jinmei + libdatasrc: in-memory data source could incorrectly reject to load + zones containing RRSIG records. For example, it didn't allow + RRSIG that covers a CNAME RR. This fix also makes sure find() + will return RRsets with RRSIGs if they are signed. + (Trac #1614, git e8241ea5a4adea1b42a60ee7f2c5cfb87301734c) + +366. [bug] vorner + Fixed problem where a directory named "io" conflicted with the python3 + standard module "io" and caused the installation to fail. The + offending directory has been renamed to "cio". + (Trac #1561, git d81cf24b9e37773ba9a0d5061c779834ff7d62b9) + +365. [bug] jinmei + libdatasrc: in-memory datasource incorrectly returned delegation + for DS lookups. + (Trac #1571, git d22e90b5ef94880183cd652e112399b3efb9bd67) + +364. [func] jinmei + b10-auth experimentally supports statistics counters of incoming + requests per opcode. The counters can be (e.g.) shown as + opcode.<code name> in the output of the bindctl "Stats show" + command, where <code name> is lower-cased textual representation + of opcodes ("query", "notify", etc). + Note: This is an experimental attempt of supporting more + statistics counters for b10-auth, and the interface and output may + change in future versions. + (Trac #1399, git 07206ec76e2834de35f2e1304a274865f8f8c1a5) + +bind10-devel-20120119 released on January 19, 2012 + +363. [func] jelte + Added dummy DDNS module b10-ddns. Currently it does not + provide any functionality, but it is a skeleton implementation + that will be expanded later. + (Trac #1451, git b0d0bf39fbdc29a7879315f9b8e6d602ef3afb1b) + +362. [func]* vorner + Due to the socket creator changes, b10-auth and b10-resolver + are no longer needed to start as root. They are started as + the user they should be running, so they no longer have + the -u flag for switching the user after initialization. + Note: this change broke backward compatibility to boss component + configuration. If your b10-config.db contains "setuid" for + Boss.components, you'll need to remove that entry by hand before + starting BIND 10. + (Trac #1508, #1509, #1510, + git edc5b3c12eb45437361484c843794416ad86bb00) + +361. [func] vorner, jelte, jinmei + The socket creator is now used to provide sockets. It means you can + reconfigure the ports and addresses at runtime even when the rest + of the bind10 runs as non root user. + (Trac #805, #1522, git 1830215f884e3b5efda52bd4dbb120bdca863a6a) + +360. [bug] vorner + Fixed problem where bindctl crashed when a duplicate non-string + item was added to a list. This error is now properly reported. + (Trac #1515, git a3cf5322a73e8a97b388c6f8025b92957e5d8986) + +359. [bug] kevin + Corrected SOA serial check in xfrout. It now compares the SOA + serial of an IXFR query with that of the server based serial + number arithmetic, and replies with a single SOA record of the + server's current version if the former is equal to or newer + than the latter. + (Trac #1462, git ceeb87f6d539c413ebdc66e4cf718e7eb8559c45) + +358. [bug] jinmei + b10-resolver ignored default configuration parameters if listen_on + failed (this can easily happen especially for a test environment + where the run time user doesn't have root privilege), and even if + listen_on was updated later the resolver wouldn't work correctly + unless it's fully restarted (for example, all queries would be + rejected due to an empty ACL). + (Trac #1424, git 2cba8cb83cde4f34842898a848c0b1182bc20597) + +357. [bug] jinmei + ZoneFinder::find() for database based data sources didn't + correctly identify out-of-zone query name and could return a + confusing result such as NXRRSET. It now returns NXDOMAIN with an + empty RRset. Note: we should rather throw an exception in such a + case, which should be revisited later (see Trac #1536). + (Trac #1430, git b35797ba1a49c78246abc8f2387901f9690b328d) + +356. [doc] tomek + BIND 10 Guide updated. It now describes DHCPv4 and DHCPv6 + components, including their overview, usage, supported standard + and limitations. libdhcp++ is also described. + (Trac #1367, git 3758ab360efe1cdf616636b76f2e0fb41f2a62a0) + +355. [bug] jinmei + Python xfrin.diff module incorrectly combined RRSIGs of different + type covered, possibly merging different TTLs. As a result a + secondary server could store different RRSIGs than those at the + primary server if it gets these records via IXFR. + (Trac #1502, git 57b06f8cb6681f591fa63f25a053eb6f422896ef) + +354. [func] tomek + dhcp4: Support for DISCOVER and OFFER implemented. b10-dhcp4 is + now able to offer hardcoded leases to DHCPv4 clients. + dhcp6: Code refactored to use the same approach as dhcp4. + (Trac #1230, git aac05f566c49daad4d3de35550cfaff31c124513) + +353. [func] tomek + libdhcp++: Interface detection in Linux implemented. libdhcp++ + is now able (on Linux systems) to detect available network + interfaces, its link-layer addresses, flags and configured + IPv4 and IPv6 addresses. Interface detection on other + systems is planned. + (Trac #1237, git 8a040737426aece7cc92a795f2b712d7c3407513) + +352. [func] tomek + libdhcp++: Transmission and reception of DHCPv4 packets is now + implemented. Low-level hacks are not implemented for transmission + to hosts that don't have IPv4 address yet, so currently the code + is usable for communication with relays only, not hosts on the + same link. + (Trac #1239, #1240, git f382050248b5b7ed1881b086d89be2d9dd8fe385) + +351. [func] fdupont + Alpha version of DHCP benchmarking tool added. "perfdhcp" is able to + test both IPv4 and IPv6 servers: it can time the four-packet exchange + (DORA and SARR) as well as time the initial two-packet exchange (DO + and SA). More information can be obtained by invoking the utility + (in tests/tools/perfdhcp) with the "-h" flag. + (Trac #1450, git 85083a76107ba2236732b45524ce7018eefbaf90) + +350. [func]* vorner + The target parameter of ZoneFinder::find is no longer present, as the + interface was awkward. To get all the RRsets of a single domain, use + the new findAll method (the same applies to python version, the method + is named find_all). + (Trac #1483, #1484, git 0020456f8d118c9f3fd6fc585757c822b79a96f6) + +349. [bug] dvv + resolver: If an upstream server responds with FORMERR to an EDNS + query, try querying it without EDNS. + (Trac #1386, git 99ad0292af284a246fff20b3702fbd7902c45418) + +348. [bug] stephen + By default the logging output stream is now flushed after each write. + This fixes a problem seen on some systems where the log output from + different processes was jumbled up. Flushing can be disabled by + setting the appropriate option in the logging configuration. + (Trac #1405, git 2f0aa20b44604b671e6bde78815db39381e563bf) + +347. [bug] jelte + Fixed a bug where adding Zonemgr/secondary_zones without explicitly + setting the class value of the added zone resulted in a cryptic + error in bindctl ("Error: class"). It will now correctly default to + IN if not set. This also adds better checks on the name and class + values, and better errors if they are bad. + (Trac #1414, git 7b122af8489acf0f28f935a19eca2c5509a3677f) + +346. [build]* jreed + Renamed libdhcp to libdhcp++. + (Trac #1446, git d394e64f4c44f16027b1e62b4ac34e054b49221d) + +345. [func] tomek + dhcp4: Dummy DHCPv4 component implemented. Currently it does + nothing useful, except providing skeleton implementation that can + be expanded in the future. + (Trac #992, git d6e33479365c8f8f62ef2b9aa5548efe6b194601) + +344. [func] y-aharen + src/lib/statistics: Added statistics counter library for entire server + items and per zone items. Also, modified b10-auth to use it. It is + also intended to use in the other modules such as b10-resolver. + (Trac #510, git afddaf4c5718c2a0cc31f2eee79c4e0cc625499f) + +343. [func] jelte + Added IXFR-out system tests, based on the first two test sets of + http://bind10.isc.org/wiki/IxfrSystemTests. + (Trac #1314, git 1655bed624866a766311a01214597db01b4c7cec) + +342. [bug] stephen + In the resolver, a FORMERR received from an upstream nameserver + now results in a SERVFAIL being returned as a response to the original + query. Additional debug messages added to distinguish between + different errors in packets received from upstream nameservers. + (Trac #1383, git 9b2b249d23576c999a65d8c338e008cabe45f0c9) + +341. [func] tomek + libdhcp++: Support for handling both IPv4 and IPv6 added. + Also added support for binding IPv4 sockets. + (Trac #1238, git 86a4ce45115dab4d3978c36dd2dbe07edcac02ac) + +340. [build] jelte + Fixed several linker issues related to recent gcc versions, botan + and gtest. + (Trac #1442, git 91fb141bfb3aadfdf96f13e157a26636f6e9f9e3) + +339. [bug] jinmei + libxfr, used by b10-auth to share TCP sockets with b10-xfrout, + incorrectly propagated ASIO specific exceptions to the application + if the given file name was too long. This could lead to + unexpected shut down of b10-auth. + (Trac #1387, git a5e9d9176e9c60ef20c0f5ef59eeb6838ed47ab2) + +338. [bug] jinmei + b10-xfrin didn't check SOA serials of SOA and IXFR responses, + which resulted in unnecessary transfer or unexpected IXFR + timeouts (these issues were not overlooked but deferred to be + fixed until #1278 was completed). Validation on responses to SOA + queries were tightened, too. + (Trac #1299, git 6ff03bb9d631023175df99248e8cc0cda586c30a) + +337. [func] tomek + libdhcp++: Support for DHCPv4 option that can store a single + address or a list of IPv4 addresses added. Support for END option + added. + (Trac #1350, git cc20ff993da1ddb1c6e8a98370438b45a2be9e0a) + +336. [func] jelte + libdns++ (and its python wrapper) now includes a class Serial, for + SOA SERIAL comparison and addition. Operations on instances of this + class follow the specification from RFC 1982. + Rdata::SOA::getSerial() now returns values of this type (and not + uint32_t). + (Trac #1278, git 2ae72d76c74f61a67590722c73ebbf631388acbd) + +335. [bug]* jelte + The DataSourceClientContainer class that dynamically loads + datasource backend libraries no longer provides just a .so file name + to its call to dlopen(), but passes it an absolute path. This means + that it is no longer an system implementation detail that depends on + [DY]LD_LIBRARY_PATH which file is chosen, should there be multiple + options (for instance, when test-running a new build while a + different version is installed). + These loadable libraries are also no longer installed in the default + library path, but in a subdirectory of the libexec directory of the + target ($prefix/libexec/[version]/backends). + This also removes the need to handle b10-xfin and b10-xfrout as + 'special' hardcoded components, and they are now started as regular + components as dictated by the configuration of the boss process. + (Trac #1292, git 83ce13c2d85068a1bec015361e4ef8c35590a5d0) + +334. [bug] jinmei + b10-xfrout could potentially create an overflow response message + (exceeding the 64KB max) or could create unnecessarily small + messages. The former was actually unlikely to happen due to the + effect of name compression, and the latter was marginal and at least + shouldn't cause an interoperability problem, but these were still + potential problems and were fixed. + (Trac #1389, git 3fdce88046bdad392bd89ea656ec4ac3c858ca2f) + +333. [bug] dvv + Solaris needs "-z now" to force non-lazy binding and prevent + g++ static initialization code from deadlocking. + (Trac #1439, git c789138250b33b6b08262425a08a2a0469d90433) + +332. [bug] vorner + C++ exceptions in the isc.dns.Rdata wrapper are now converted + to python ones instead of just aborting the interpreter. + (Trac #1407, git 5b64e839be2906b8950f5b1e42a3fadd72fca033) + +bind10-devel-20111128 released on November 28, 2011 + +331. [bug] shane + Fixed a bug in data source library where a zone with more labels + than an out-of-bailiwick name server would cause an exception to + be raised. + (Trac #1430, git 81f62344db074bc5eea3aaf3682122fdec6451ad) + +330. [bug] jelte + Fixed a bug in b10-auth where it would sometimes fail because it + tried to check for queued msgq messages before the session was + fully running. + (git c35d0dde3e835fc5f0a78fcfcc8b76c74bc727ca) + +329. [doc] vorner, jreed + Document the bind10 run control configuration in guide and + manual page. + (Trac #1341, git c1171699a2b501321ab54207ad26e5da2b092d63) + +328. [func] jelte + b10-auth now passes IXFR requests on to b10-xfrout, and no longer + responds to them with NOTIMPL. + (Trac #1390, git ab3f90da16d31fc6833d869686e07729d9b8c135) + +327. [func] jinmei + b10-xfrout now supports IXFR. (Right now there is no user + configurable parameter about this feature; b10-xfrout will + always respond to IXFR requests according to RFC1995). + (Trac #1371 and #1372, git 80c131f5b0763753d199b0fb9b51f10990bcd92b) + +326. [build]* jinmei + Added a check script for the SQLite3 schema version. It will be + run at the beginning of 'make install', and if it detects an old + version of schema, installation will stop. You'll then need to + upgrade the database file by following the error message. + (Trac #1404, git a435f3ac50667bcb76dca44b7b5d152f45432b57) + +325. [func] jinmei + Python isc.datasrc: added interfaces for difference management: + DataSourceClient.get_updater() now has the 'journaling' parameter + to enable storing diffs to the data source, and a new class + ZoneJournalReader was introduced to retrieve them, which can be + created by the new DataSourceClient.get_journal_reader() method. + (Trac #1333, git 3e19362bc1ba7dc67a87768e2b172c48b32417f5, + git 39def1d39c9543fc485eceaa5d390062edb97676) + +324. [bug] jinmei + Fixed reference leak in the isc.log Python module. Most of all + BIND 10 Python programs had memory leak (even though the pace of + leak may be slow) due to this bug. + (Trac #1359, git 164d651a0e4c1059c71f56b52ea87ac72b7f6c77) + +323. [bug] jinmei + b10-xfrout incorrectly skipped adding TSIG RRs to some + intermediate responses (when TSIG is to be used for the + responses). While RFC2845 optionally allows to skip intermediate + TSIGs (as long as the digest for the skipped part was included + in a later TSIG), the underlying TSIG API doesn't support this + mode of signing. + (Trac #1370, git 76fb414ea5257b639ba58ee336fae9a68998b30d) + +322. [func] jinmei + datasrc: Added C++ API for retrieving difference of two versions + of a zone. A new ZoneJournalReader class was introduced for this + purpose, and a corresponding factory method was added to + DataSourceClient. + (Trac #1332, git c1138d13b2692fa3a4f2ae1454052c866d24e654) + +321. [func]* jinmei + b10-xfrin now installs IXFR differences into the underlying data + source (if it supports journaling) so that the stored differences + can be used for subsequent IXFR-out transactions. + Note: this is a backward incompatibility change for older sqlite3 + database files. They need to be upgraded to have a "diffs" table. + (Trac #1376, git 1219d81b49e51adece77dc57b5902fa1c6be1407) + +320. [func]* vorner + The --brittle switch was removed from the bind10 executable. + It didn't work after change #316 (Trac #213) and the same + effect can be accomplished by declaring all components as core. + (Trac #1340, git f9224368908dd7ba16875b0d36329cf1161193f0) + +319. [func] naokikambe + b10-stats-httpd was updated. In addition of the access to all + statistics items of all modules, the specified item or the items + of the specified module name can be accessed. For example, the + URI requested by using the feature is showed as + "/bind10/statistics/xml/Auth" or + "/bind10/statistics/xml/Auth/queries.tcp". The list of all possible + module names and all possible item names can be showed in the + root document, whose URI is "/bind10/statistics/xml". This change + is not only for the XML documents but also is for the XSD and + XSL documents. + (Trac #917, git b34bf286c064d44746ec0b79e38a6177d01e6956) + +318. [func] stephen + Add C++ API for accessing zone difference information in + database-based data sources. + (Trac #1330, git 78770f52c7f1e7268d99e8bfa8c61e889813bb33) + +317. [func] vorner + datasrc: the getUpdater method of DataSourceClient supports an + optional 'journaling' parameter to indicate the generated updater + to store diffs. The database based derived class implements this + extension. + (Trac #1331, git 713160c9bed3d991a00b2ea5e7e3e7714d79625d) + +316. [func]* vorner + The configuration of what parts of the system run is more + flexible now. Everything that should run must have an + entry in Boss/components. + (Trac #213, git 08e1873a3593b4fa06754654d22d99771aa388a6) + +315. [func] tomek + libdhcp: Support for DHCPv4 packet manipulation is now implemented. + All fixed fields are now supported. Generic support for DHCPv4 + options is available (both parsing and assembly). There is no code + that uses this new functionality yet, so it is not usable directly + at this time. This code will be used by upcoming b10-dhcp4 daemon. + (Trac #1228, git 31d5a4f66b18cca838ca1182b9f13034066427a7) + +314. [bug] jelte + b10-xfrin would previously initiate incoming transfers upon + receiving NOTIFY messages from any address (if the zone was + known to b10-xfrin, and using the configured address). It now + only starts a transfer if the source address from the NOTIFY + packet matches the configured master address and port. This was + really already fixed in release bind10-devel-20111014, but there + were some deferred cleanups to add. + (Trac #1298, git 1177bfe30e17a76bea6b6447e14ae9be9e1ca8c2) + +313. [func] jinmei + datasrc: Added C++ API for adding zone differences to database + based data sources. It's intended to be used for the support for + IXFR-in and dynamic update (so they can subsequently be retrieved + for IXFR-out). The addRecordDiff method of the DatabaseAccessor + defines the interface, and a concrete implementation for SQLite3 + was provided. + (Trac #1329, git 1aa233fab1d74dc776899df61181806679d14013) + +312. [func] jelte + Added an initial framework for doing system tests using the + cucumber-based BDD tool Lettuce. A number of general steps are + included, for instance running bind10 with specific + configurations, sending queries, and inspecting query answers. A + few very basic tests are included as well. + (Trac #1290, git 6b75c128bcdcefd85c18ccb6def59e9acedd4437) + +311. [bug] jelte + Fixed a bug in bindctl where tab-completion for names that + contain a hyphen resulted in unexpected behaviour, such as + appending the already-typed part again. + (Trac #1345, git f80ab7879cc29f875c40dde6b44e3796ac98d6da) + +310. [bug] jelte + Fixed a bug where bindctl could not set a value that is optional + and has no default, resulting in the error that the setting + itself was unknown. bindctl now correctly sees the setting and + is able to set it. + (Trac #1344, git 0e776c32330aee466073771600390ce74b959b38) + +309. [bug] jelte + Fixed a bug in bindctl where the removal of elements from a set + with default values was not stored, unless the set had been + modified in another way already. + (Trac #1343, git 25c802dd1c30580b94345e83eeb6a168ab329a33) + +308. [build] jelte + The configure script will now use pkg-config for finding + information about the Botan library. If pkg-config is unavailable, + or unaware of Botan, it will fall back to botan-config. It will + also use botan-config when a specific botan library directory is + given using the '--with-botan=' flag + (Trac #1194, git dc491833cf75ac1481ba1475795b0f266545013d) + +307. [func] vorner + When zone transfer in fails with IXFR, it is retried with AXFR + automatically. + (Trac #1279, git cd3588c9020d0310f949bfd053c4d3a4bd84ef88) + +306. [bug] stephen + Boss process now waits for the configuration manager to initialize + itself before continuing with startup. This fixes a race condition + whereby the Boss could start the configuration manager and then + immediately start components that depended on that component being + fully initialized. + (Trac #1271, git 607cbae949553adac7e2a684fa25bda804658f61) + +305. [bug] jinmei + Python isc.dns, isc.datasrc, xfrin, xfrout: fixed reference leak + in Message.get_question(), Message.get_section(), + RRset.get_rdata(), and DataSourceClient.get_updater(). + The leak caused severe memory leak in b10-xfrin, and (although no + one reported it) should have caused less visible leak in + b10-xfrout. b10-xfrin had its own leak, which was also fixed. + (Trac #1028, git a72886e643864bb6f86ab47b115a55e0c7f7fcad) + +304. [bug] jelte + The run_bind10.sh test script now no longer runs processes from + an installed version of BIND 10, but will correctly use the + build tree paths. + (Trac #1246, git 1d43b46ab58077daaaf5cae3c6aa3e0eb76eb5d8) + +303. [bug] jinmei + Changed the installation path for the UNIX domain file used + for the communication between b10-auth and b10-xfrout to a + "@PACKAGE@" subdirectory (e.g. from /usr/local/var to + /usr/local/var/bind10-devel). This should be transparent change + because this file is automatically created and cleaned up, but + if the old file somehow remains, it can now be safely removed. + (Trac #869, git 96e22f4284307b1d5f15e03837559711bb4f580c) + +302. [bug] jelte + msgq no longer crashes if the remote end is closed while msgq + tries to send data. It will now simply drop the message and close + the connection itself. + (Trac #1180, git 6e68b97b050e40e073f736d84b62b3e193dd870a) + +301. [func] stephen + Add system test for IXFR over TCP. + (Trac #1213, git 68ee3818bcbecebf3e6789e81ea79d551a4ff3e8) + +300. [func]* tomek + libdhcp: DHCP packet library was implemented. Currently it handles + packet reception, option parsing, option generation and output + packet building. Generic and specialized classes for several + DHCPv6 options (IA_NA, IAADDR, address-list) are available. A + simple code was added that leverages libdhcp. It is a skeleton + DHCPv6 server. It receives incoming SOLICIT and REQUEST messages + and responds with proper ADVERTISE and REPLY. Note that since + LeaseManager is not implemented, server assigns the same + hardcoded lease for every client. This change removes existing + DHCPv6 echo server as it was only a proof of concept code. + (Trac #1186, git 67ea6de047d4dbd63c25fe7f03f5d5cc2452ad7d) + +299. [build] jreed + Do not install the libfake_session, libtestutils, or libbench + libraries. They are used by tests within the source tree. + Convert all test-related makefiles to build test code at + regular make time to better work with test-driven development. + This reverts some of #1901. (The tests are ran using "make + check".) + (Trac #1286, git cee641fd3d12341d6bfce5a6fbd913e3aebc1e8e) + +bind10-devel-20111014 released on October 14, 2011 + +298. [doc] jreed + Shorten README. Include plain text format of the Guide. + (git d1897d3, git 337198f) + +297. [func] dvv + Implement the SPF rrtype according to RFC4408. + (Trac #1140, git 146934075349f94ee27f23bf9ff01711b94e369e) + +296. [build] jreed + Do not install the unittest libraries. At this time, they + are not useful without source tree (and they may or may + not have googletest support). Also, convert several makefiles + to build tests at "check" time and not build time. + (Trac #1091, git 2adf4a90ad79754d52126e7988769580d20501c3) + +295. [bug] jinmei + __init__.py for isc.dns was installed in the wrong directory, + which would now make xfrin fail to start. It was also bad + in that it replaced any existing __init__.py in th public + site-packages directory. After applying this fix You may want to + check if the wrong init file is in the wrong place, in which + case it should be removed. + (Trac #1285, git af3b17472694f58b3d6a56d0baf64601b0f6a6a1) + +294. [func] jelte, jinmei, vorner + b10-xfrin now supports incoming IXFR. See BIND 10 Guide for + how to configure it and operational notes. + (Trac #1212, multiple git merges) + +293. [func]* tomek + b10-dhcp6: Implemented DHCPv6 echo server. It joins DHCPv6 + multicast groups and listens to incoming DHCPv6 client messages. + Received messages are then echoed back to clients. This + functionality is limited, but it can be used to test out client + resiliency to unexpected messages. Note that network interface + detection routines are not implemented yet, so interface name + and its address must be specified in interfaces.txt. + (Trac #878, git 3b1a604abf5709bfda7271fa94213f7d823de69d) + +292. [func] dvv + Implement the DLV rrtype according to RFC4431. + (Trac #1144, git d267c0511a07c41cd92e3b0b9ee9bf693743a7cf) + +291. [func] naokikambe + Statistics items are specified by each module's spec file. + Stats module can read these through the config manager. Stats + module and stats httpd report statistics data and statistics + schema by each module via both bindctl and HTTP/XML. + (Trac #928, #929, #930, #1175, + git 054699635affd9c9ecbe7a108d880829f3ba229e) + +290. [func] jinmei + libdns++/pydnspp: added an option parameter to the "from wire" + methods of the Message class. One option is defined, + PRESERVE_ORDER, which specifies the parser to handle each RR + separately, preserving the order, and constructs RRsets in the + message sections so that each RRset contains only one RR. + (Trac #1258, git c874cb056e2a5e656165f3c160e1b34ccfe8b302) + +289. [func]* jinmei + b10-xfrout: ACLs for xfrout can now be configured per zone basis. + A per zone ACL is part of a more general zone configuration. A + quick example for configuring an ACL for zone "example.com" that + rejects any transfer request for that zone is as follows: + > config add Xfrout/zone_config + > config set Xfrout/zone_config[0]/origin "example.com" + > config add Xfrout/zone_config[0]/transfer_acl + > config set Xfrout/zone_config[0]/transfer_acl[0] {"action": "REJECT"} + The previous global ACL (query_acl) was renamed to transfer_acl, + which now works as the default ACL. Note: backward compatibility + is not provided, so an existing configuration using query_acl + needs to be updated by hand. + Note: the per zone configuration framework is a temporary + workaround. It will eventually be redesigned as a system wide + configuration. + (Trac #1165, git 698176eccd5d55759fe9448b2c249717c932ac31) + +288. [bug] stephen + Fixed problem whereby the order in which component files appeared in + rdataclass.cc was system dependent, leading to problems on some + systems where data types were used before the header file in which + they were declared was included. + (Trac #1202, git 4a605525cda67bea8c43ca8b3eae6e6749797450) + +287. [bug]* jinmei + Python script files for log messages (xxx_messages.py) should have + been installed under the "isc" package. This fix itself should + be a transparent change without affecting existing configurations + or other operational practices, but you may want to clean up the + python files from the common directly (such as "site-packages"). + (Trac #1101, git 0eb576518f81c3758c7dbaa2522bd8302b1836b3) + +286. [func] ocean + libdns++: Implement the HINFO rrtype support according to RFC1034, + and RFC1035. + (Trac #1112, git 12d62d54d33fbb1572a1aa3089b0d547d02924aa) + +285. [bug] jelte + sqlite3 data source: fixed a race condition on initial startup, + when the database has not been initialized yet, and multiple + processes are trying to do so, resulting in one of them failing. + (Trac #326, git 5de6f9658f745e05361242042afd518b444d7466) + +284. [bug] jerry + b10-zonemgr: zonemgr will not terminate on empty zones, it will + log a warning and try to do zone transfer for them. + (Trac #1153, git 0a39659638fc68f60b95b102968d7d0ad75443ea) + +283. [bug] zhanglikun + Make stats and boss processes wait for answer messages from each + other in block mode to avoid orphan answer messages, add an internal + command "getstats" to boss process for getting statistics data from + boss. + (Trac #519, git 67d8e93028e014f644868fede3570abb28e5fb43) + +282. [func] ocean + libdns++: Implement the NAPTR rrtype according to RFC2915, + RFC2168 and RFC3403. + (Trac #1130, git 01d8d0f13289ecdf9996d6d5d26ac0d43e30549c) + +bind10-devel-20110819 released on August 19, 2011 + +281. [func] jelte + Added a new type for configuration data: "named set". This allows for + similar configuration as the current "list" type, but with strings + instead of indices as identifiers. The intended use is for instance + /foo/zones/example.org/bar instead of /foo/zones[2]/bar. Currently + this new type is not in use yet. + (Trac #926, git 06aeefc4787c82db7f5443651f099c5af47bd4d6) + +280. [func] jerry + libdns++: Implement the MINFO rrtype according to RFC1035. + (Trac #1113, git 7a9a19d6431df02d48a7bc9de44f08d9450d3a37) + +279. [func] jerry + libdns++: Implement the AFSDB rrtype according to RFC1183. + (Trac #1114, git ce052cd92cd128ea3db5a8f154bd151956c2920c) + +278. [doc] jelte + Add logging configuration documentation to the guide. + (Trac #1011, git 2cc500af0929c1f268aeb6f8480bc428af70f4c4) + +277. [func] jerry + libdns++: Implement the SRV rrtype according to RFC2782. + (Trac #1128, git 5fd94aa027828c50e63ae1073d9d6708e0a9c223) + +276. [func] stephen + Although the top-level loggers are named after the program (e.g. + b10-auth, b10-resolver), allow the logger configuration to omit the + "b10-" prefix and use just the module name. + (Trac #1003, git a01cd4ac5a68a1749593600c0f338620511cae2d) + +275. [func] jinmei + Added support for TSIG key matching in ACLs. The xfrout ACL can + now refer to TSIG key names using the "key" attribute. For + example, the following specifies an ACL that allows zone transfer + if and only if the request is signed with a TSIG of a key name + "key.example": + > config set Xfrout/query_acl[0] {"action": "ACCEPT", \ + "key": "key.example"} + (Trac #1104, git 9b2e89cabb6191db86f88ee717f7abc4171fa979) + +274. [bug] naokikambe + add unittests for functions xml_handler, xsd_handler and xsl_handler + respectively to make sure their behaviors are correct, regardless of + whether type which xml.etree.ElementTree.tostring() after Python3.2 + returns is str or byte. + (Trac #1021, git 486bf91e0ecc5fbecfe637e1e75ebe373d42509b) + +273. [func] vorner + It is possible to specify ACL for the xfrout module. It is in the ACL + configuration key and has the usual ACL syntax. It currently supports + only the source address. Default ACL accepts everything. + (Trac #772, git 50070c824270d5da1db0b716db73b726d458e9f7) + +272. [func] jinmei + libdns++/pydnspp: TSIG signing now handles truncated DNS messages + (i.e. with TC bit on) with TSIG correctly. + (Trac #910, 8e00f359e81c3cb03c5075710ead0f87f87e3220) + +271. [func] stephen + Default logging for unit tests changed to severity DEBUG (level 99) + with the output routed to /dev/null. This can be altered by setting + the B10_LOGGER_XXX environment variables. + (Trac #1024, git 72a0beb8dfe85b303f546d09986461886fe7a3d8) + +270. [func] jinmei + Added python bindings for ACLs using the DNS request as the + context. They are accessible via the isc.acl.dns module. + (Trac #983, git c24553e21fe01121a42e2136d0a1230d75812b27) + +269. [bug] y-aharen + Modified IntervalTimerTest not to rely on the accuracy of the timer. + This fix addresses occasional failure of build tests. + (Trac #1016, git 090c4c5abac33b2b28d7bdcf3039005a014f9c5b) + +268. [func] stephen + Add environment variable to allow redirection of logging output during + unit tests. + (Trac #1071, git 05164f9d61006869233b498d248486b4307ea8b6) + +bind10-devel-20110705 released on July 05, 2011 + +267. [func] tomek + Added a dummy module for DHCP6. This module does not actually + do anything at this point, and BIND 10 has no option for + starting it yet. It is included as a base for further + development. + (Trac #990, git 4a590df96a1b1d373e87f1f56edaceccb95f267d) + +266. [func] Multiple developers + Convert various error messages, debugging and other output + to the new logging interface, including for b10-resolver, + the resolver library, the CC library, b10-auth, b10-cfgmgr, + b10-xfrin, and b10-xfrout. This includes a lot of new + documentation describing the new log messages. + (Trac #738, #739, #742, #746, #759, #761, #762) + +265. [func]* jinmei + b10-resolver: Introduced ACL on incoming queries. By default the + resolver accepts queries from ::1 and 127.0.0.1 and rejects all + others. The ACL can be configured with bindctl via the + "Resolver/query_acl" parameter. For example, to accept queries + from 192.0.2.0/24 (in addition to the default list), do this: + > config add Resolver/query_acl + > config set Resolver/query_acl[2]/action "ACCEPT" + > config set Resolver/query_acl[2]/from "192.0.2.0/24" + > config commit + (Trac #999, git e0744372924442ec75809d3964e917680c57a2ce, + also based on other ACL related work done by stephen and vorner) + +264. [bug] jerry + b10-xfrout: fixed a busy loop in its notify-out subthread. Due to + the loop, the thread previously woke up every 0.5 seconds throughout + most of the lifetime of b10-xfrout, wasting the corresponding CPU + time. + (Trac #1001, git fb993ba8c52dca4a3a261e319ed095e5af8db15a) + +263. [func] jelte + Logging configuration can now also accept a * as a first-level + name (e.g. '*', or '*.cache'), indicating that every module + should use that configuration, unless overridden by an explicit + logging configuration for that module + (Trac #1004, git 0fad7d4a8557741f953eda9fed1d351a3d9dc5ef) + +262. [func] stephen + Add some initial documentation about the logging framework. + Provide BIND 10 Messages Manual in HTML and DocBook? XML formats. + This provides all the log message descriptions in a single document. + A developer tool, tools/system_messages.py (available in git repo), + was written to generate this. + (Trac #1012, git 502100d7b9cd9d2300e78826a3bddd024ef38a74) + +261. [func] stephen + Add new-style logging messages to b10-auth. + (Trac #738, git c021505a1a0d6ecb15a8fd1592b94baff6d115f4) + +260. [func] stephen + Remove comma between message identification and the message + text in the new-style logging messages. + (Trac #1031, git 1c7930a7ba19706d388e4f8dcf2a55a886b74cd2) + +259. [bug] stephen + Logging now correctly initialized in b10-auth. Also, fixed + bug whereby querying for "version.bind txt ch" would cause + b10-auth to crash if BIND 10 was started with the "-v" switch. + (Trac #1022, #1023, git 926a65fa08617be677a93e9e388df0f229b01067) + +258. [build] jelte + Now builds and runs with Python 3.2 + (Trac #710, git dae1d2e24f993e1eef9ab429326652f40a006dfb) + +257. [bug] y-aharen + Fixed a bug an instance of IntervalTimerImpl may be destructed + while deadline_timer is holding the handler. This fix addresses + occasional failure of IntervalTimerTest.destructIntervalTimer. + (Trac #957, git e59c215e14b5718f62699ec32514453b983ff603) + +256. [bug] jerry + src/bin/xfrin: update xfrin to check TSIG before other part of + incoming message. + (Trac #955, git 261450e93af0b0406178e9ef121f81e721e0855c) + +255. [func] zhang likun + src/lib/cache: remove empty code in lib/cache and the corresponding + suppression rule in src/cppcheck-suppress.lst. + (Trac #639, git 4f714bac4547d0a025afd314c309ca5cb603e212) + +254. [bug] jinmei + b10-xfrout: failed to send notifies over IPv6 correctly. + (Trac #964, git 3255c92714737bb461fb67012376788530f16e40) + +253. [func] jelte + Add configuration options for logging through the virtual module + Logging. + (Trac #736, git 9fa2a95177265905408c51d13c96e752b14a0824) + +252. [func] stephen + Add syslog as destination for logging. + (Trac #976, git 31a30f5485859fd3df2839fc309d836e3206546e) + +251. [bug]* jinmei + Make sure bindctl private files are non readable to anyone except + the owner or users in the same group. Note that if BIND 10 is run + with changing the user, this change means that the file owner or + group will have to be adjusted. Also note that this change is + only effective for a fresh install; if these files already exist, + their permissions must be adjusted by hand (if necessary). + (Trac #870, git 461fc3cb6ebabc9f3fa5213749956467a14ebfd4) + +250. [bug] ocean + src/lib/util/encode, in some conditions, the DecodeNormalizer's + iterator may reach the end() and when later being dereferenced + it will cause crash on some platform. + (Trac #838, git 83e33ec80c0c6485d8b116b13045b3488071770f) + +249. [func] jerry + xfrout: add support for TSIG verification. + (Trac #816, git 3b2040e2af2f8139c1c319a2cbc429035d93f217) + +248. [func] stephen + Add file and stderr as destinations for logging. + (Trac #555, git 38b3546867425bd64dbc5920111a843a3330646b) + +247. [func] jelte + Upstream queries from the resolver now set EDNS0 buffer size. + (Trac #834, git 48e10c2530fe52c9bde6197db07674a851aa0f5d) + +246. [func] stephen + Implement logging using log4cplus (http://log4cplus.sourceforge.net) + (Trac #899, git 31d3f525dc01638aecae460cb4bc2040c9e4df10) + +245. [func] vorner + Authoritative server can now sign the answers using TSIG + (configured in tsig_keys/keys, list of strings like + "name:<base64-secret>:sha1-hmac"). It doesn't use them for + ACL yet, only verifies them and signs if the request is signed. + (Trac #875, git fe5e7003544e4e8f18efa7b466a65f336d8c8e4d) + +244. [func] stephen + In unit tests, allow the choice of whether unhandled exceptions are + caught in the unit test program (and details printed) or allowed to + propagate to the default exception handler. See the bind10-dev thread + https://lists.isc.org/pipermail/bind10-dev/2011-January/001867.html + for more details. + (Trac #542, git 1aa773d84cd6431aa1483eb34a7f4204949a610f) + +243. [func]* feng + Add optional hmac algorithm SHA224/384/512. + (Trac #782, git 77d792c9d7c1a3f95d3e6a8b721ac79002cd7db1) + +bind10-devel-20110519 released on May 19, 2011 + +242. [func] jinmei + xfrin: added support for TSIG verify. This change completes TSIG + support in b10-xfrin. + (Trac #914, git 78502c021478d97672232015b7df06a7d52e531b) + +241. [func] jinmei + pydnspp: added python extension for the TSIG API introduced in + change 235. + (Trac #905, git 081891b38f05f9a186814ab7d1cd5c572b8f777f) + (Trac #915, git 0555ab65d0e43d03b2d40c95d833dd050eea6c23) + +240. [func]* jelte + Updated configuration options to Xfrin, so that you can specify + a master address, port, and TSIG key per zone. Still only one per + zone at this point, and TSIG keys are (currently) only specified + by their full string representation. This replaces the + Xfrin/master_addr, Xfrin/master_port, and short-lived + Xfrin/tsig_key configurations with a Xfrin/zones list. + (Trac #811, git 88504d121c5e08fff947b92e698a54d24d14c375) + +239. [bug] jerry + src/bin/xfrout: If a zone doesn't have notify slaves (only has + one apex ns record - the primary master name server) will cause + b10-xfrout uses 100% of CPU. + (Trac #684, git d11b5e89203a5340d4e5ca51c4c02db17c33dc1f) + +238. [func] zhang likun + Implement the simplest forwarder, which pass everything through + except QID, port number. The response will not be cached. + (Trac #598_new, git 8e28187a582820857ef2dae9b13637a3881f13ba) + +237. [bug] naokikambe + Resolved that the stats module wasn't configurable in bindctl in + spite of its having configuration items. The configuration part + was removed from the original spec file "stats.spec" and was + placed in a new spec file "stats-schema.spec". Because it means + definitions of statistics items. The command part is still + there. Thus stats module currently has no its own configuration, + and the items in "stats-schema.spec" are neither visible nor + configurable through bindctl. "stats-schema.spec" is shared with + stats module and stats-httpd module, and maybe with other + statistical modules in future. "stats.spec" has own configuration + and commands of stats module, if it requires. + (Trac #719, git a234b20dc6617392deb8a1e00eb0eed0ff353c0a) + +236. [func] jelte + C++ client side of configuration now uses BIND 10 logging system. + It also has improved error handling when communicating with the + rest of the system. + (Trac #743, git 86632c12308c3ed099d75eb828f740c526dd7ec0) + +235. [func] jinmei + libdns++: added support for TSIG signing and verification. It can + be done using a newly introduced TSIGContext class. + Note: we temporarily disabled support for truncated signature + and modified some part of the code introduced in #226 accordingly. + We plan to fix this pretty soon. + (Trac #812, git ebe0c4b1e66d359227bdd1bd47395fee7b957f14) + (Trac #871, git 7c54055c0e47c7a0e36fcfab4b47ff180c0ca8c8) + (Trac #813, git ffa2f0672084c1f16e5784cdcdd55822f119feaa) + (Trac #893, git 5aaa6c0f628ed7c2093ecdbac93a2c8cf6c94349) + +234. [func] jerry + src/bin/xfrin: update xfrin to use TSIG. Currently it only supports + sending a signed TSIG request or SOA request. + (Trac #815, git a892818fb13a1839c82104523cb6cb359c970e88) + +233. [func] stephen + Added new-style logging statements to the NSAS code. + (Trac #745, git ceef68cd1223ae14d8412adbe18af2812ade8c2d) + +232. [func] stephen + To facilitate the writing of extended descriptions in + message files, altered the message file format. The message + is now flagged with a "%" as the first non-blank character + in the line and the lines in the extended description are + no longer preceded by a "+". + (Trac #900, git b395258c708b49a5da8d0cffcb48d83294354ba3) + +231. [func]* vorner + The logging interface changed slightly. We use + logger.foo(MESSAGE_ID).arg(bar); instead of logger.foo(MESSAGE_ID, + bar); internally. The message definitions use '%1,%2,...' + instead of '%s,%d', which allows us to cope better with + mismatched placeholders and allows reordering of them in + case of translation. + (Trac #901, git 4903410e45670b30d7283f5d69dc28c2069237d6) + +230. [bug] naokikambe + Removed too repeated verbose messages in two cases of: + - when auth sends statistics data to stats + - when stats receives statistics data from other modules + (Trac #620, git 0ecb807011196eac01f281d40bc7c9d44565b364) + +229. [doc] jreed + Add manual page for b10-host. + (git a437d4e26b81bb07181ff35a625c540703eee845) + +228. [func]* jreed + The host tool is renamed to b10-host. While the utility is + a work in progress, it is expected to now be shipped with + tarballs. Its initial goal was to be a host(1) clone, + rewritten in C++ from scratch and using BIND 10's libdns++. + It now supports the -a (any), -c class, -d (verbose) switches + and has improved output. + (Trac #872, git d846851699d5c76937533adf9ff9d948dfd593ca) + +227. [build] jreed + Add missing libdns++ rdata files for the distribution (this + fixes distcheck error). Change three generated libdns++ + headers to "nodist" so they aren't included in the distribution + (they were mistakenly included in last tarball). + +226. [func]* jelte + Introduced an API for cryptographic operations. Currently it only + supports HMAC, intended for use with TSIG. The current + implementation uses Botan as the backend library. + This introduces a new dependency, on Botan. Currently only Botan + 1.8.x works; older or newer versions don't. + (Trac #781, git 9df42279a47eb617f586144dce8cce680598558a) + +225. [func] naokikambe + Added the HTTP/XML interface (b10-stats-httpd) to the + statistics feature in BIND 10. b10-stats-httpd is a standalone + HTTP server and it requests statistics data to the stats + daemon (b10-stats) and sends it to HTTP clients in XML + format. Items of the data collected via b10-stats-httpd + are almost equivalent to ones which are collected via + bindctl. Since it also can send XSL (Extensible Stylesheet + Language) document and XSD (XML Schema definition) document, + XML document is human-friendly to view through web browsers + and its data types are strictly defined. + (Trac #547, git 1cbd51919237a6e65983be46e4f5a63d1877b1d3) + +224. [bug] jinmei + b10-auth, src/lib/datasrc: inconsistency between the hot spot + cache and actual data source could cause a crash while query + processing. The crash could happen, e.g., when an sqlite3 DB file + is being updated after a zone transfer while b10-auth handles a + query using the corresponding sqlite3 data source. + (Trac #851, git 2463b96680bb3e9a76e50c38a4d7f1d38d810643) + +223. [bug] feng + If ip address or port isn't usable for name server, name + server process won't exist and give end user chance to + reconfigure them. + (Trac #775, git 572ac2cf62e18f7eb69d670b890e2a3443bfd6e7) + +222. [bug]* jerry + src/lib/zonemgr: Fix a bug that xfrin not checking for new + copy of zone on startup. Imposes some random jitters to + avoid many zones need to do refresh at the same time. This + removed the Zonemgr/jitter_scope setting and introduced + Zonemgr/refresh_jitter and Zonemgr/reload_jitter. + (Trac #387, git 1241ddcffa16285d0a7bb01d6a8526e19fbb70cb) + +221. [func]* jerry + src/lib/util: Create C++ utility library. + (Trac #749, git 084d1285d038d31067f8cdbb058d626acf03566d) + +220. [func] stephen + Added the 'badpacket' program for testing; it sends a set of + (potentially) bad packets to a nameserver and prints the responses. + (Trac #703, git 1b666838b6c0fe265522b30971e878d9f0d21fde) + +219. [func] ocean + src/lib: move some dns related code out of asiolink library to + asiodns library + (Trac #751, git 262ac6c6fc61224d54705ed4c700dadb606fcb1c) + +218. [func] jinmei + src/lib/dns: added support for RP RDATA. + (Trac #806, git 4e47d5f6b692c63c907af6681a75024450884a88) + +217. [bug] jerry + src/lib/dns/python: Use a signed version of larger size of + integer and perform more strict range checks with + PyArg_ParseTuple() in case of overflows. + (Trac #363, git ce281e646be9f0f273229d94ccd75bf7e08d17cf) + +216. [func] vorner + The BIND10_XFROUT_SOCKET_FILE environment variable can be + used to specify which socket should be used for communication + between b10-auth and b10-xfrout. Mostly for testing reasons. + (Trac #615, git 28b01ad5bf72472c824a7b8fc4a8dc394e22e462) + +215. [func] vorner + A new process, b10-sockcreator, is added, which will create + sockets for the rest of the system. It is the only part + which will need to keep the root privileges. However, only + the process exists, nothing can talk to it yet. + (Trac #366, git b509cbb77d31e388df68dfe52709d6edef93df3f) + +214. [func]* vorner + Zone manager no longer thinks it is secondary master for + all zones in the database. They are listed in + Zonemgr/secondary_zones configuration variable (in the form + [{"name": "example.com", "class": "IN"}]). + (Trac #670, git 7c1e4d5e1e28e556b1d10a8df8d9486971a3f052) + +213. [bug] naokikambe + Solved incorrect datetime of "bind10.boot_time" and also + added a new command "sendstats" for Bob. This command is + to send statistics data to the stats daemon immediately. + The solved problem is that statistics data doesn't surely + reach to the daemon because Bob sent statistics data to + the daemon while it is starting. So the daemon invokes the + command for Bob after it starts up. This command is also + useful for resending statistics data via bindctl manually. + (Trac #521, git 1c269cbdc76f5dc2baeb43387c4d7ccc6dc863d2) + +212. [bug] naokikambe + Fixed that the ModuleCCSession object may group_unsubscribe in the + closed CC session in being deleted. + (Trac #698, git 0355bddc92f6df66ef50b920edd6ec3b27920d61) + +211. [func] shane + Implement "--brittle" option, which causes the server to exit + if any of BIND 10's processes dies. + (Trac #788, git 88c0d241fe05e5ea91b10f046f307177cc2f5bc5) + +210. [bug] jerry + src/bin/auth: fixed a bug where type ANY queries don't provide + additional glue records for ANSWER section. + (Trac #699, git 510924ebc57def8085cc0e5413deda990b2abeee) + +bind10-devel-20110322 released on March 22, 2011 + +209. [func] jelte + Resolver now uses the NSAS when looking for a nameserver to + query for any specific zone. This also includes keeping track of + the RTT for that nameserver. + (Trac #495, git 76022a7e9f3ff339f0f9f10049aa85e5784d72c5) + +208. [bug]* jelte + Resolver now answers REFUSED on queries that are not for class IN. + This includes the various CH TXT queries, which will be added + later. + (git 012f9e78dc611c72ea213f9bd6743172e1a2ca20) + +207. [func] jelte + Resolver now starts listening on localhost:53 if no configuration + is set. + (Trac #471, git 1960b5becbba05570b9c7adf5129e64338659f07) + +206. [func] shane + Add the ability to list the running BIND 10 processes using the + command channel. To try this, use "Boss show_processes". + (Trac #648, git 451bbb67c2b5d544db2f7deca4315165245d2b3b) + +205. [bug] jinmei + b10-auth, src/lib/datasrc: fixed a bug where b10-auth could return + an empty additional section for delegation even if some glue is + crucial when it fails to find some other glue records in its data + source. + (Trac #646, git 6070acd1c5b2f7a61574eda4035b93b40aab3e2b) + +204. [bug] jinmei + b10-auth, src/lib/datasrc: class ANY queries were not handled + correctly in the generic data source (mainly for sqlite3). It + could crash b10-auth in the worst case, and could result in + incorrect responses in some other cases. + (Trac #80, git c65637dd41c8d94399bd3e3cee965b694b633339) + +203. [bug] zhang likun + Fix resolver cache memory leak: when cache is destructed, rrset + and message entries in it are not destructed properly. + (Trac #643, git aba4c4067da0dc63c97c6356dc3137651755ffce) + +202. [func] vorner + It is possible to specify a different directory where we look for + configuration files (by -p) and different configuration file to + use (-c). Also, it is possible to specify the port on which + cmdctl should listen (--cmdctl-port). + (Trac #615, git 5514dd78f2d61a222f3069fc94723ca33fb3200b) + +201. [bug] jerry + src/bin/bindctl: bindctl doesn't show traceback on shutdown. + (Trac #588, git 662e99ef050d98e86614c4443326568a0b5be437) + +200. [bug] Jelte + Fixed a bug where incoming TCP connections were not closed. + (Trac #589, git 1d88daaa24e8b1ab27f28be876f40a144241e93b) + +199. [func] ocean + Cache negative responses (NXDOMAIN/NODATA) from authoritative + server for recursive resolver. + (Trac #493, git f8fb852bc6aef292555063590c361f01cf29e5ca) + +198. [bug] jinmei + b10-auth, src/lib/datasrc: fixed a bug where hot spot cache failed + to reuse cached SOA for negative responses. Due to this bug + b10-auth returned SERVFAIL when it was expected to return a + negative response immediately after a specific SOA query for + the zone. + (Trac #626, git 721a53160c15e8218f6798309befe940b9597ba0) + +197. [bug] zhang likun + Remove expired message and rrset entries when looking up them + in cache, touch or remove the rrset entry in cache properly + when doing lookup or update. + (Trac #661, git 9efbe64fe3ff22bb5fba46de409ae058f199c8a7) + +196. [bug] jinmei + b10-auth, src/lib/datasrc: the backend of the in-memory data + source could not handle the root name. As a result b10-auth could + not work as a root server when using the in-memory data source. + (Trac #683, git 420ec42bd913fb83da37b26b75faae49c7957c46) + +195. [func] stephen + Resolver will now re-try a query over TCP if a response to a UDP + query has the TC bit set. + (Trac #499, git 4c05048ba059b79efeab53498737abe94d37ee07) + +194. [bug] vorner + Solved a 100% CPU usage problem after switching addresses in b10-auth + (and possibly, but unconfirmed, in b10-resolver). It was caused by + repeated reads/accepts on closed socket (the bug was in the code for a + long time, recent changes made it show). + (Trac #657, git e0863720a874d75923ea66adcfbf5b2948efb10a) + +193. [func]* jreed + Listen on the IPv6 (::) and IPv4 (0.0.0.0) wildcard addresses + for b10-auth. This returns to previous behavior prior to + change #184. Document the listen_on configuration in manual. + (Trac #649, git 65a77d8fde64d464c75917a1ab9b6b3f02640ca6) + +192. [func]* jreed + Listen on standard domain port 53 for b10-auth and + b10-resolver. + (Trac #617, #618, git 137a6934a14cf0c5b5c065e910b8b364beb0973f) + +191. [func] jinmei + Imported system test framework of BIND 9. It can be run by + 'make systest' at the top source directory. Notes: currently it + doesn't work when built in a separate tree. It also requires + perl, an inherited dependency from the original framework. + Also, mainly for the purpose of tests, a new option "--pid-file" + was added to BoB, with which the boss process will dump its PID + to the specified file. + (Trac #606, git 6ac000df85625f5921e8895a1aafff5e4be3ba9c) + +190. [func] jelte + Resolver now sets random qids on outgoing queries using + the boost::mt19937 prng. + (Trac #583, git 5222b51a047d8f2352bc9f92fd022baf1681ed81) + +189. [bug] jreed + Do not install the log message compiler. + (Trac #634, git eb6441aca464980d00e3ff827cbf4195c5a7afc5) + +188. [bug] zhang likun + Make the rrset trust level ranking algorithm used by + isc::cache::MessageEntry::getRRsetTrustLevel() follow RFC2181 + section 5.4.1. + (Trac #595 git 19197b5bc9f2955bd6a8ca48a2d04472ed696e81) + +187. [bug] zhang likun + Fix the assert error in class isc::cache::RRsetCache by adding the + check for empty pointer and test case for it. + (Trac #638, git 54e61304131965c4a1d88c9151f8697dcbb3ce12) + +186. [bug] jelte + b10-resolver could stop with an assertion failure on certain kinds + of messages (there was a problem in error message creation). This + fixes that. + (Trac #607, git 25a5f4ec755bc09b54410fcdff22691283147f32) + +185. [bug] vorner + Tests use port from private range (53210), lowering chance of + a conflict with something else (eg. running bind 10). + (Trac #523, git 301da7d26d41e64d87c0cf72727f3347aa61fb40) + +184. [func]* vorner + Listening address and port configuration of b10-auth is the same as + for b10-resolver now. That means, it is configured through bindctl + at runtime, in the Auth/listen_on list, not through command line + arguments. + (Trac #575, #576, git f06ce638877acf6f8e1994962bf2dbfbab029edf) + +183. [bug] jerry + src/bin/xfrout: Enable parallel sessions between xfrout server and + multi-Auth. The session needs to be created only on the first time + or if an error occur. + (Trac #419, git 1d60afb59e9606f312caef352ecb2fe488c4e751) + +182. [func] jinmei + Support cppcheck for static code check on C++ code. If cppcheck + is available, 'make cppcheck' on the top source directory will run + the checker and should cleanly complete with an exit code of 0 + (at least with cppcheck 1.47). + Note: the suppression list isn't included in the final + distributions. It should be created by hand or retrieved from + the git repository. + (Trac #613, git b973f67520682b63ef38b1451d309be9f4f4b218) + +181. [func] feng + Add stop interface into dns server, so we can stop each running + server individually. With it, user can reconfigure her running server + with different ip address or port. + (Trac #388, git 6df94e2db856c1adc020f658cc77da5edc967555) + +180. [build] jreed + Fix custom DESTDIR for make install. Patch from Jan Engelhardt. + (Trac #629, git 5ac67ede03892a5eacf42ce3ace1e4e376164c9f) + +bind10-devel-20110224 released on February 24, 2011 + +179. [func] vorner + It is possible to start and stop resolver and authoritative + server without restart of the whole system. Change of the + configuration (Boss/start_auth and Boss/start_resolver) is + enough. + (Trac #565, git 0ac0b4602fa30852b0d86cc3c0b4730deb1a58fe) + +178. [func] jelte + Resolver now makes (limited) use of the cache + (Trac #491, git 8b41f77f0099ddc7ca7d34d39ad8c39bb1a8363c) + +177. [func] stephen + The upstream fetch code in asiolink is now protocol agnostic to + allow for the addition of fallback to TCP if a fetch response + indicates truncation. + (Trac #554, git 9739cbce2eaffc7e80640db58a8513295cf684de) + +176. [func] likun + src/lib/cache: Rename one interface: from lookupClosestRRset() + to lookupDeepestNS(), and remove one parameter of it. + (Trac #492, git ecbfb7cf929d62a018dd4cdc7a841add3d5a35ae) + +175. [bug] jerry + src/bin/xfrout: Xfrout use the case-sensitive mode to compress + names in an AXFR massage. + (Trac #253, git 004e382616150f8a2362e94d3458b59bb2710182) + +174. [bug]* jinmei + src/lib/dns: revised dnssectime functions so that they don't rely + on the time_t type (whose size varies on different systems, which + can lead to subtle bugs like some form of "year 2038 problem"). + Also handled 32-bit wrap around issues more explicitly, with more + detailed tests. The function API has been changed, but the effect + should be minimal because these functions are mostly private. + (Trac #61, git 09ece8cdd41c0f025e8b897b4883885d88d4ba5d) + +173. [bug] jerry + python/isc/notify: A notify_out test fails without network + connectivity, encapsulate the socket behavior using a mock + socket class to fix it. + (Trac #346, git 319debfb957641f311102739a15059f8453c54ce) + +172. [func] jelte + Improved the bindctl cli in various ways, mainly concerning + list and map item addressing, the correct display of actual values, + and internal help. + (Trac #384, git e5fb3bc1ed5f3c0aec6eb40a16c63f3d0fc6a7b2) + +171. [func] vorner + b10-auth, src/lib/datasrc: in memory data source now works as a + complete data source for authoritative DNS servers and b10-auth + uses it. It still misses major features, however, including + DNSSEC support and zone transfer. + (Last Trac #553, but many more, + git 6f031a09a248e7684723c000f3e8cc981dcdb349) + +170. [bug] jinmei + Tightened validity checks in the NSEC3 constructors, both "from + "text" and "from wire". Specifically, wire data containing + invalid type bitmaps or invalid lengths of salt or hash is now + correctly rejected. + (Trac #117, git 9c690982f24fef19c747a72f43c4298333a58f48) + +169. [func] jelte + Added a basic implementation for a resolver cache (though not + used yet). + (Trac #449, git 8aa3b2246ae095bbe7f855fd11656ae3bdb98986) + +168. [bug] vorner + Boss no longer has the -f argument, which was undocumented and + stayed as a relict of previous versions, currently causing only + strange behaviour. + (Trac #572, git 17f237478961005707d649a661cc72a4a0d612d4) + +167. [bug] naokikambe + Fixed failure of termination of msgq_test.py with python3 + coverage (3.3.1). + (Trac #573, git 0e6a18e12f61cc482e07078776234f32605312e5) + +166. [func] jelte + The resolver now sends back a SERVFAIL when there is a client + timeout (timeout_client config setting), but it will not stop + resolving (until there is a lookup timeout or a result). + (Trac #497 and #489, git af0e5cd93bebb27cb5c4457f7759d12c8bf953a6) + +165. [func] jelte + The resolver now handles CNAMEs, it will follow them, and include + them in the answer. The maximum length of CNAME chains that is + supported is 16. + (Trac #497, git af0e5cd93bebb27cb5c4457f7759d12c8bf953a6) + +164. [bug] y-aharen + IntervalTimer: Modified the interface to accept interval in + milliseconds. It shortens the time of the tests of IntervalTimer. + (Trac #452, git c9f6acc81e24c4b8f0eb351123dc7b43f64e0914) + +163. [func] vorner + The pimpl design pattern is used in UDPServer, with a shared + pointer. This makes it smaller to copy (which is done a lot as a + side effect of being coroutine) and speeds applications of this + class (notably b10-auth) up by around 10%. + (Trac #537, git 94cb95b1d508541201fc064302ba836164d3cbe6) + +162. [func] stephen + Added C++ logging, allowing logging at different severities. + Code specifies the message to be logged via a symbol, and the + logging code picks up the message from an in-built dictionary. + The contents of the dictionary can be replaced at run-time by + locale-specific messages. A message compiler program is provided + to create message header files and supply the default messages. + (Trac #438, git 7b1606cea7af15dc71f5ec1d70d958b00aa98af7) + +161. [func] stephen + Added ResponseScrubber class to examine response from + a server and to remove out-of-bailiwick RRsets. Also + does cross-section checks to ensure consistency. + (Trac #496, git b9296ca023cc9e76cda48a7eeebb0119166592c5) + +160. [func] jelte + Updated the resolver to take 3 different timeout values; + timeout_query for outstanding queries we sent while resolving + timeout_client for sending an answer back to the client + timeout_lookup for stopping the resolving + (currently 2 and 3 have the same final effect) + (Trac #489, git 578ea7f4ba94dc0d8a3d39231dad2be118e125a2) + +159. [func] smann + The resolver now has a configurable set of root servers to start + resolving at (called root_addresses). By default these are not + (yet) filled in. If empty, a hardcoded address for f-root will be + used right now. + (Trac #483, git a07e078b4feeb01949133fc88c9939254c38aa7c) + +158. [func] jelte + The Resolver module will now do (very limited) resolving, if not + set to forwarding mode (i.e. if the configuration option + forward_addresses is left empty). It only supports referrals that + contain glue addresses at this point, and does no other processing + of authoritative answers. + (Trac #484, git 7b84de4c0e11f4a070e038ca4f093486e55622af) + +157. [bug] vorner + One frozen process no longer freezes the whole b10-msgq. It caused the + whole system to stop working. + (Trac #420, git 93697f58e4d912fa87bc7f9a591c1febc9e0d139) + +156. [func] stephen + Added ResponseClassifier class to examine response from + a server and classify it into one of several categories. + (Trac #487, git 18491370576e7438c7893f8551bbb8647001be9c) + +bind10-devel-20110120 released on January 20, 2011 + +155. [doc] jreed + Miscellaneous documentation improvements for man pages and + the guide, including auth, resolver, stats, xfrout, and + zonemgr. (git c14c4741b754a1eb226d3bdc3a7abbc4c5d727c0) + +154. [bug] jinmei + b10-xfrin/b10-zonemgr: Fixed a bug where these programs didn't + receive command responses from CC sessions. Eventually the + receive buffer became full, and many other components that rely + on CC channels would stall (as noted in #420 and #513). This is + an urgent care fix due to the severity of the problem; we'll need + to revisit it for cleaner fix later. + (Trac #516, git 62c72fcdf4617e4841e901408f1e7961255b8194) + +153. [bug] jelte + b10-cfgmgr: Fixed a bug where configuration updates sometimes + lost previous settings in the configuration manager. + (Trac #427, git 2df894155657754151e0860e2ca9cdbed7317c70) + +152. [func]* jinmei + b10-auth: Added new configuration variable "statistics-interval" + to allow the user to change the timer interval for periodic + statistics updates. The update can also be disabled by setting + the value to 0. Disabling statistics updates will also work as + a temporary workaround of a known issue that b10-auth can block in + sending statistics and stop responding to queries as a result. + (Trac #513, git 285c5ee3d5582ed6df02d1aa00387f92a74e3695) + +151. [bug] smann + lib/log/dummylog.h: + lib/log/dummylog.cc: Modify dlog so that it takes an optional + 2nd argument of type bool (true or false). This flag, if + set, will cause the message to be printed whether or not + -v is chosen. + (Trac #432, git 880220478c3e8702d56d761b1e0b21b77d08ee5a) + +150. [bug] jelte + b10-cfgmgr: No longer save the configuration on exit. Configuration + is already saved if it is changed successfully, so writing it on + exit (and hence, when nothing has changed too) is unnecessary and + may even cause problems. + (Trac #435, git fd7baa38c08d54d5b5f84930c1684c436d2776dc) + +149. [bug] jelte + bindctl: Check if the user session has disappeared (either by a + timeout or by a server restart), and reauthenticate if so. This + fixes the 'cmdctl not running' problem. + (Trac #431, git b929be82fec5f92e115d8985552f84b4fdd385b9) + +148. [func] jelte + bindctl: Command results are now pretty-printed (i.e. printed in + a more readable form). Empty results are no longer printed at all + (used to print '{}'), and the message + 'send the command to cmd-ctrl' has also been removed. + (git 3954c628c13ec90722a2d8816f52a380e0065bae) + +147. [bug] jinmei + python/isc/config: Fixed a bug that importing custom configuration + (in b10-config.db) of a remote module didn't work. + (Trac #478, git ea4a481003d80caf2bff8d0187790efd526d72ca) + +146. [func] jelte + Command arguments were not validated internally against their + specifications. This change fixes that (on the C++ side, Python + side depends on an as yet planned addition). Note: this is only + an added internal check, the cli already checks format. + (Trac #473, git 5474eba181cb2fdd80e2b2200e072cd0a13a4e52) + +145. [func]* jinmei + b10-auth: added a new command 'loadzone' for (re)loading a + specific zone. The command syntax is generic but it is currently + only feasible for class IN in memory data source. To reload a + zone "example.com" via bindctl, execute the command as follows: + > Auth loadzone origin = example.com + (Trac #467 git 4f7e1f46da1046de527ab129a88f6aad3dba7562 + from 1d7d3918661ba1c6a8b1e40d8fcbc5640a84df12) + +144. [build] jinmei + Introduced a workaround for clang++ build on FreeBSD (and probably + some other OSes). If building BIND 10 fails with clang++ due to + a link error about "__dso_handle", try again from the configure + script with CXX_LIBTOOL_LDFLAGS=-L/usr/lib (the path actually + doesn't matter; the important part is the -L flag). This + workaround is not automatically enabled as it's difficult to + detect the need for it dynamically, and must be enabled via the + variable by hand. + (Trac #474, git cfde436fbd7ddf3f49cbbd153999656e8ca2a298) + +143. [build] jinmei + Fixed build problems with clang++ in unit tests due to recent + changes. No behavior change. (Trac #448, svn r4133) + +142. [func] jinmei + b10-auth: updated query benchmark so that it can test in memory + data source. Also fixed a bug that the output buffer isn't + cleared after query processing, resulting in misleading results + or program crash. This is a regression due to change #135. + (Trac #465, svn r4103) + +141. [bug] jinmei + b10-auth: Fixed a bug that the authoritative server includes + trailing garbage data in responses. This is a regression due to + change #135. (Trac #462, svn r4081) + +140. [func] y-aharen + src/bin/auth: Added a feature to count queries and send counter + values to statistics periodically. To support it, added wrapping + class of asio::deadline_timer to use as interval timer. + The counters can be seen using the "Stats show" command from + bindctl. The result would look like: + ... "auth.queries.tcp": 1, "auth.queries.udp": 1 ... + Using the "Auth sendstats" command you can make b10-auth send the + counters to b10-stats immediately. + (Trac #347, svn r4026) + +139. [build] jreed + Introduced configure option and make targets for generating + Python code coverage report. This adds new make targets: + report-python-coverage and clean-python-coverage. The C++ + code coverage targets were renamed to clean-cpp-coverage + and report-cpp-coverage. (Trac #362, svn r4023) + +138. [func]* jinmei + b10-auth: added a configuration interface to support in memory + data sources. For example, the following command to bindctl + will configure a memory data source containing the "example.com" + zone with the zone file named "example.com.zone": + > config set Auth/datasources/ [{"type": "memory", "zones": \ + [{"origin": "example.com", "file": "example.com.zone"}]}] + By default, the memory data source is disabled; it must be + configured explicitly. To disable it again, specify a null list + for Auth/datasources: + > config set Auth/datasources/ [] + Notes: it's currently for class IN only. The zone files are not + actually loaded into memory yet (which will soon be implemented). + This is an experimental feature and the syntax may change in + future versions. + (Trac #446, svn r3998) + +137. [bug] jreed + Fix run_*.sh scripts that are used for development testing + so they use a msgq socket file in the build tree. + (Trac #226, svn r3989) + +136. [bug] jelte + bindctl (and the configuration manager in general) now no longer + accepts 'unknown' data; i.e. data for modules that it does not know + about, or configuration items that are not specified in the .spec + files. + (Trac #202, svn r3967) + +135. [func] each + Add b10-resolver. This is an example recursive server that + currently does forwarding only and no caching. + (Trac #327, svn r3903) + +134. [func] vorner + b10-resolver supports timeouts and retries in forwarder mode. + (Trac #401, svn r3660) + +133. [func] vorner + New temporary logging function available in isc::log. It is used by + b10-resolver. + (Trac #393, r3602) + +132. [func] vorner + The b10-resolver is configured through config manager. + It has "listen_on" and "forward_addresses" options. + (Trac #389, r3448) + +131. [func] jerry + src/lib/datasrc: Introduced two template classes RBTree and RBNode + to provide the generic map with domain name as key and anything as + the value. Because of some unresolved design issue, the new classes + are only intended to be used by memory zone and zone table. + (Trac #397, svn r3890) + +130. [func] jerry + src/lib/datasrc: Introduced a new class MemoryDataSrc to provide + the general interface for memory data source. For the initial + implementation, we don't make it a derived class of AbstractDataSrc + because the interface is so different (we'll eventually + consider this as part of the generalization work). + (Trac #422, svn r3866) + +129. [func] jinmei + src/lib/dns: Added new functions masterLoad() for loading master + zone files. The initial implementation can only parse a limited + form of master files, but BIND 9's named-compilezone can convert + any valid zone file into the acceptable form. + (Trac #423, svn r3857) + +128. [build] vorner + Test for query name = '.', type = DS to authoritative nameserver + for root zone was added. + (Trac #85, svn r3836) + +127. [bug] stephen + During normal operation process termination and resurrection messages + are now output regardless of the state of the verbose flag. + (Trac #229, svn r3828) + +126. [func] ocean + The Nameserver Address Store (NSAS) component has been added. It takes + care of choosing an IP address of a nameserver when a zone needs to be + contacted. + (Trac #356, Trac #408, svn r3823) + +bind10-devel-20101201 released on December 01, 2010 + +125. [func] jelte + Added support for addressing individual list items in bindctl + configuration commands; If you have an element that is a list, you + can use foo[X] integer + (starting at 0) + (Trac #405, svn r3739) + +124. [bug] jreed + Fix some wrong version reporting. Now also show the version + for the component and BIND 10 suite. (Trac #302, svn r3696) + +123. [bug] jelte + src/bin/bindctl printed values had the form of python literals + (e.g. 'True'), while the input requires valid JSON (e.g. 'true'). + Output changed to JSON format for consistency. (svn r3694) + +122. [func] stephen + src/bin/bind10: Added configuration options to Boss to determine + whether to start the authoritative server, recursive server (or + both). A dummy program has been provided for test purposes. + (Trac #412, svn r3676) + +121. [func] jinmei + src/lib/dns: Added support for TSIG RDATA. At this moment this is + not much of real use, however, because no protocol support was + added yet. It will soon be added. (Trac #372, svn r3649) + +120. [func] jinmei + src/lib/dns: introduced two new classes, TSIGKey and TSIGKeyRing, + to manage TSIG keys. (Trac #381, svn r3622) + +119. [bug] jinmei + The master file parser of the python datasrc module incorrectly + regarded a domain name beginning with a decimal number as a TTL + specification. This confused b10-loadzone and had it reject to + load a zone file that contains such a name. + Note: this fix is incomplete and the loadzone would still be + confused if the owner name is a syntactically indistinguishable + from a TTL specification. This is part of a more general issue + and will be addressed in Trac #413. (Trac #411, svn r3599) + +118. [func] jinmei + src/lib/dns: changed the interface of + AbstractRRset::getRdataIterator() so that the internal + cursor would point to the first RDATA automatically. This + will be a more intuitive and less error prone behavior. + This is a backward compatible change. (Trac #410, r3595) + +117. [func] jinmei + src/lib/datasrc: added new zone and zone table classes for the + support of in memory data source. This is an intermediate step to + the bigger feature, and is not yet actually usable in practice. + (Trac #399, svn r3590) + +116. [bug] jerry + src/bin/xfrout: Xfrout and Auth will communicate by long tcp + connection, Auth needs to make a new connection only on the first + time or if an error occurred. + (Trac #299, svn r3482) + +115. [func]* jinmei + src/lib/dns: Changed DNS message flags and section names from + separate classes to simpler enums, considering the balance between + type safety and usability. API has been changed accordingly. + More documentation and tests were provided with these changes. + (Trac #358, r3439) + +114. [build] jinmei + Supported clang++. Note: Boost >= 1.44 is required. + (Trac #365, svn r3383) + +113. [func]* zhanglikun + Folder name 'utils'(the folder in /src/lib/python/isc/) has been + renamed to 'util'. Programs that used 'import isc.utils.process' + now need to use 'import isc.util.process'. The folder + /src/lib/python/isc/Util is removed since it isn't used by any + program. (Trac #364, r3382) + +112. [func] zhang likun + Add one mixin class to override the naive serve_forever() provided + in python library socketserver. Instead of polling for shutdown + every poll_interval seconds, one socketpair is used to wake up + the waiting server. (Trac #352, svn r3366) + +111. [bug]* Vaner + Make sure process xfrin/xfrout/zonemgr/cmdctl can be stopped + properly when user enter "ctrl+c" or 'Boss shutdown' command + through bindctl. The ZonemgrRefresh.run_timer and + NotifyOut.dispatcher spawn a thread themselves. + (Trac #335, svn r3273) + +110. [func] Vaner + Added isc.net.check module to check ip addresses and ports for + correctness and isc.net.addr to hold IP address. The bind10, xfrin + and cmdctl programs are modified to use it. + (Trac #353, svn r3240) + +109. [func] naokikambe + Added the initial version of the stats module for the statistics + feature of BIND 10, which supports the restricted features and + items and reports via bindctl command. (Trac #191, r3218) + Added the document of the stats module, which is about how stats + module collects the data (Trac #170, [wiki:StatsModule]) + +108. [func] jerry + src/bin/zonemgr: Provide customizable configurations for + lowerbound_refresh, lowerbound_retry, max_transfer_timeout and + jitter_scope. (Trac #340, r3205) + +107. [func] likun + Remove the parameter 'db_file' for command 'retransfer' of + xfrin module. xfrin.spec will not be generated by script. + (Trac #329, r3171) + +106. [bug] likun + When xfrin can't connect with one zone's master, it should tell + the bad news to zonemgr, so that zonemgr can reset the timer for + that zone. (Trac #329, r3170) + +105. [bug] Vaner + Python processes: they no longer take 100% CPU while idle + due to a busy loop in reading command session in a nonblocking way. + (Trac #349, svn r3153), (Trac #382, svn r3294) + +104. [bug] jerry + bin/zonemgr: zonemgr should be attempting to refresh expired zones. + (Trac #336, r3139) + +103. [bug] jerry + lib/python/isc/log: Fixed an issue with python logging, + python log shouldn't die with OSError. (Trac #267, r3137) + +102. [build] jinmei + Disable threads in ASIO to minimize build time dependency. + (Trac #345, r3100) + +101. [func] jinmei + src/lib/dns: Completed Opcode and Rcode implementation with more + tests and documentation. API is mostly the same but the + validation was a bit tightened. (Trac #351, svn r3056) + +100. [func] Vaner + Python processes: support naming of python processes so + they're not all called python3. + (Trac #322, svn r3052) + +99. [func]* jinmei + Introduced a separate EDNS class to encapsulate EDNS related + information more cleanly. The related APIs are changed a bit, + although it won't affect most of higher level applications. + (Trac #311, svn r3020) + +98. [build] jinmei + The ./configure script now tries to search some common include + paths for boost header files to minimize the need for explicit + configuration with --with-boost-include. (Trac #323, svn r3006) + +97. [func] jinmei + Added a micro benchmark test for query processing of b10-auth. + (Trac #308, svn r2982) + +96. [bug] jinmei + Fixed two small issues with configure: Do not set CXXFLAGS so that + it can be customized; Make sure --disable-static works. + (Trac #325, r2976) + +bind10-devel-20100917 released on September 17, 2010 + +95. [doc, bug] jreed + Add b10-zonemgr manual page. Update other docs to introduce + this secondary manager. + bin/xfrout and bin/zonemgr: Fixed some stderr output. + (Trac #341, svn r2951) + (Trac #342, svn r2949) + +94. [bug] jelte + bin/xfrout: Fixed a problem in xfrout where only 2 or 3 RRs + were used per DNS message in the xfrout stream. + (Trac #334, r2931) + +93. [bug] jinmei + lib/datasrc: A DS query could crash the library (and therefore, + e.g. the authoritative server) if some RR of the same apex name + is stored in the hot spot cache. (Trac #307, svn r2923) + +92. [func]* jelte + libdns_python (the python wrappers for libdns++) has been renamed + to pydnspp (Python DNS++). Programs and libraries that used + 'import libdns_python' now need to use 'import pydnspp'. + (Trac #314, r2902) + +91. [func]* jinmei + lib/cc: Use const pointers and const member functions for the API + as much as possible for safer operations. Basically this does not + change the observable behavior, but some of the API were changed + in a backward incompatible manner. This change also involves more + copies, but at this moment the overhead is deemed acceptable. + (Trac #310, r2803) + +90. [build] jinmei + (Darwin/Mac OS X specific) Specify DYLD_LIBRARY_PATH for tests and + experimental run under the source tree. Without this loadable + python modules refer to installation paths, which may confuse the + operation due to version mismatch or even trigger run time errors + due to missing libraries. (Trac #313, r2782) + +89. [build] jinmei + Generate b10-config.db for tests at build time so that the source + tree does not have to be writable. (Trac #315, r2776) + +88. [func] jelte + Blocking reads on the msgq command channel now have a timeout + (defaults to 4 seconds, modifiable as needed by modules). + Because of this, modules will no longer block indefinitely + if they are waiting for a message that is not sent for whatever + reason. (Trac #296, r2761) + +87. [func] zhanglikun + lib/python/isc/notifyout: Add the feature of notify-out, when + zone axfr/ixfr finishing, the server will notify its slaves. + (Trac #289, svn r2737) + +86. [func] jerry + bin/zonemgr: Added zone manager module. The zone manager is one + of the co-operating processes of BIND 10, which keeps track of + timers and other information necessary for BIND 10 to act as a + slave. (Trac #215, svn r2737) + +85. [build]* jinmei + Build programs using dynamic link by default. A new configure + option --enable-static-link is provided to force static link for + executable programs. Statically linked programs can be run on a + debugger more easily and would be convenient for developers. + (Trac #309, svn r2723) + +bind10-devel-20100812 released on August 12, 2010 + +84. [bug] jinmei, jerry + This is a quick fix patch for the issue: AXFR fails half the + time because of connection problems. xfrout client will make + a new connection every time. (Trac #299, svn r2697) + +83. [build]* jreed + The configure --with-boost-lib option is removed. It was not + used since the build included ASIO. (svn r2684) + +82. [func] jinmei + bin/auth: Added -u option to change the effective process user + of the authoritative server after invocation. The same option to + the boss process will be propagated to b10-auth, too. + (Trac #268, svn r2675) + +81. [func] jinmei + Added a C++ framework for micro benchmark tests. A supplemental + library functions to build query data for the tests were also + provided. (Trac #241, svn r2664) + +80. [bug] jelte + bindctl no longer accepts configuration changes for unknown or + non-running modules (for the latter, this is until we have a + way to verify those options, at which point it'll be allowed + again). + (Trac #99, r2657) + +79. [func] feng, jinmei + Refactored the ASIO link interfaces to move incoming XFR and + NOTIFY processing to the auth server class. Wrapper classes for + ASIO specific concepts were also provided, so that other BIND 10 + modules can (eventually) use the interface without including the + ASIO header file directly. On top of these changes, AXFR and + NOTIFY processing was massively improved in terms of message + validation and protocol conformance. Detailed tests were provided + to confirm the behavior. + Note: Right now, NOTIFY doesn't actually trigger subsequent zone + transfer due to security reasons. (Trac #221, r2565) + +78. [bug] jinmei + lib/dns: Fixed miscellaneous bugs in the base32 (hex) and hex + (base16) implementation, including incorrect padding handling, + parser failure in decoding with a SunStudio build, missing + validation on the length of encoded hex string. Test cases were + more detailed to identify these bugs and confirm the fix. Also + renamed the incorrect term of "base32" to "base32hex". This + changed the API, but they are not intended to be used outside + libdns++, so we don't consider it a backward incompatible change. + (Trac #256, r2549) + +77. [func] zhanglikun + Make error message be more friendly when running cmdctl and it's + already running (listening on same port)(Trac #277, r2540) + +76. [bug] jelte + Fixed a bug in the handling of 'remote' config modules (i.e. + modules that peek at the configuration of other modules), where + they answered 'unknown command' to commands for those other + modules. (Trac #278, r2506) + +75. [bug] jinmei + Fixed a bug in the sqlite3 data source where temporary strings + could be referenced after destruction. It caused various lookup + failures with SunStudio build. (Trac #288, r2494) + +74. [func]* jinmei + Refactored the cc::Session class by introducing an abstract base + class. Test code can use their own derived mock class so that + tests can be done without establishing a real CC session. This + change also modified some public APIs, mainly in the config + module. (Trac #275, r2459) + +73. [bug] jelte + Fixed a bug where in bindctl, locally changed settings were + reset when the list of running modules is updated. (Trac #285, + r2452) + +72. [build] jinmei + Added -R when linking python wrapper modules to libpython when + possible. This helps build BIND 10 on platforms that install + libpython whose path is unknown to run-time loader. NetBSD is a + known such platform. (Trac #148, r2427) + +71. [func] each + Add "-a" (address) option to bind10 to specify an address for + the auth server to listen on. + +70. [func] each + Added a hot-spot cache to libdatasrc to speed up access to + repeatedly-queried data and reduce the number of queries to + the underlying database; this should substantially improve + performance. Also added a "-n" ("no cache") option to + bind10 and b10-auth to disable the cache if needed. + (Trac #192, svn r2383) + +bind10-devel-20100701 released on July 1, 2010 + +69. [func]* jelte + Added python wrappers for libdns++ (isc::dns), and libxfr. This + removes the dependency on Boost.Python. The wrappers don't + completely implement all functionality, but the high-level API + is wrapped, and current modules use it now. + (Trac #181, svn r2361) + +68. [func] zhanglikun + Add options -c (--certificate-chain) to bindctl. Override class + HTTPSConnection to support server certificate validation. + Add support to cmdctl.spec file, now there are three configurable + items for cmdctl: 'key_file', 'cert_file' and 'accounts_file', + all of them can be changed in runtime. + (Trac #127, svn r2357) + +67. [func] zhanglikun + Make bindctl's command parser only do minimal check. + Parameter value can be a sequence of non-space characters, + or a string surrounded by quotation marks (these marks can + be a part of the value string in escaped form). Make error + message be more friendly. (If there is some error in + parameter's value, the parameter name will be provided). + Refactor function login_to_cmdctl() in class BindCmdInterpreter: + avoid using Exception to catch all exceptions. + (Trac #220, svn r2356) + +66. [bug] each + Check for duplicate RRsets before inserting data into a message + section; this, among other things, will prevent multiple copies + of the same CNAME from showing up when there's a loop. (Trac #69, + svn r2350) + +65. [func] shentingting + Various loadzone improvements: allow optional comment for + $TTL, allow optional origin and comment for $INCLUDE, allow + optional comment for $ORIGIN, support BIND9 extension of + time units for TTLs, and fix bug to not use class as part + of label name when records don't have a label but do have + a class. Added verbose options to exactly what is happening + with loadzone. Added loadzone test suite of different file + formats to load. + (Trac #197, #199, #244, #161, #198, #174, #175, svn r2340) + +64. [func] jerry + Added python logging framework. It is for testing and + experimenting with logging ideas. Currently, it supports + three channels (file, syslog and stderr) and five levels + (debug, info, warning, error and critical). + (Trac #176, svn r2338) + +63. [func] shane + Added initial support for setuid(), using the "-u" flag. This will + be replaced in the future, but for now provides a reasonable + starting point. + (Trac #180, svn r2330) + +62. [func] jelte + bin/xfrin: Use the database_file as configured in Auth to transfers + bin/xfrout: Use the database_file as configured in Auth to transfers + +61. [bug] jelte + bin/auth: Enable b10-auth to be launched in source tree + (i.e. use a zone database file relative to that) + +60. [build] jinmei + Supported SunStudio C++ compiler. Note: gtest still doesn't work. + (Trac #251, svn r2310) + +59. [bug] jinmei + lib/datasrc, bin/auth: The authoritative server could return a + SERVFAIL with a partial answer if it finds a data source broken + while looking for an answer. This can happen, for example, if a + zone that doesn't have an NS RR is configured and loaded as a + sqlite3 data source. (Trac #249, r2286) + +58. [bug] jinmei + Worked around an interaction issue between ASIO and standard C++ + library headers. Without this ASIO didn't work: sometimes the + application crashes, sometimes it blocked in the ASIO module. + (Trac #248, svn r2187, r2190) + +57. [func] jinmei + lib/datasrc: used a simpler version of Name::split (change 31) for + better readability. No behavior change. (Trac #200, svn r2159) + +56. [func]* jinmei + lib/dns: renamed the library name to libdns++ to avoid confusion + with the same name of library of BIND 9. + (Trac #190, svn r2153) + +55. [bug] shane + bin/xfrout: xfrout exception on Ctrl-C now no longer generates + exception for 'Interrupted system call' + (Trac #136, svn r2147) + +54. [bug] zhanglikun + bin/xfrout: Enable b10-xfrout can be launched in source + code tree. + (Trac #224, svn r2103) + +53. [bug] zhanglikun + bin/bindctl: Generate a unique session ID by using + socket.gethostname() instead of socket.gethostbyname(), + since the latter one could make bindctl stall if its own + host name can't be resolved. + (Trac #228, svn r2096) + +52. [func] zhanglikun + bin/xfrout: When xfrout is launched, check whether the + socket file is being used by one running xfrout process, + if it is, exit from python. If the file isn't a socket file + or nobody is listening, it will be removed. If it can't + be removed, exit from python. + (Trac #151, svn r2091) + +bind10-devel-20100602 released on June 2, 2010 + +51. [build] jelte + lib/python: Add bind10_config.py module for paths and + possibly other configure-time variables. Allow some components + to find spec files in build tree when ran from source. + (Trac #223) + +50. [bug] zhanglikun + bin/xfrin: a regression in xfrin: it can't communicate with + a remote server. (Trac #218, svn r2038) + +49. [func]* jelte + Use unix domain sockets for msgq. For b10-msgq, the command + line options --msgq-port and -m were removed. For bind10, + the -msgq-port option was removed, and the -m command line + option was changed to be a filename (instead of port number). + (Trac #183, svn r2009) + +48. [func] jelte + bin/auth: Use asio's io_service for the msgq handling. + (svn r2007) + +47. [func] zhanglikun + bin/cmdctl: Add value/type check for commands sent to + cmdctl. (Trac #201, svn r1959) + +46. [func] zhanglikun + lib/cc: Fix real type data encoding/decoding. (Trac #193, + svn r1959) + +45. [func] zhanglikun + bin/bind10: Pass verbose option to more modules. (Trac + #205, svn r1957) + +44. [build] jreed + Install headers for libdns and libexception. (Trac #68, + svn r1941) + +43. [func] jelte + lib/cc: Message queuing on cc channel. (Trac #58, svn r1870) + +42. [func] jelte + lib/python/isc/config: Make temporary file with python + tempfile module instead of manual with fixed name. (Trac + #184, svn r1859) + +41. [func] jelte + Module descriptions in spec files. (Trac #90, svn r1856) + +40. [build] jreed + Report detected features and configure settings at end of + configure output. (svn r1836) + +39. [func]* each + Renamed libauth to libdatasrc. + +38. [bug] zhanglikun + Send command 'shutdown' to Xfrin and Xfrout when boss receive SIGINT. + Remove unused socket file when Xfrout process exits. Make sure Xfrout + exit by itself when it receives SIGINT, instead of being killed by the + signal SIGTERM or SIGKILL sent from boss. + (Trac #135, #151, #134, svn r1797) + +37. [build] jinmei + Check for the availability of python-config. (Trac #159, + svn r1794) + +36. [func] shane + bin/bind10: Miscellaneous code cleanups and improvements. + (Trac #40, svn r2012) + +35. [bug] jinmei + bin/bindctl: fixed a bug that it didn't accept IPv6 addresses as + command arguments. (Trac #219, svn r2022) + +34. [bug] jinmei + bin/xfrin: fixed several small bugs with many additional unit + tests. Fixes include: IPv6 transport support, resource leak, + and non IN class support. (Trac #185, svn r2000) + +33. [bug] each + bin/auth: output now prepended with "[b10-auth]" (Trac + #109, svn r1985) + +32. [func]* each + bin/auth: removed custom query-processing code, changed + boost::asio code to use plain asio instead, and added asio + headers to the source tree. This allows building without + using an external boost library. (Trac #163, svn r1983) + +31. [func] jinmei + lib/dns: added a separate signature for Name::split() as a + convenient wrapper for common usage. (Trac #49, svn r1903) + +30. [bug] jinmei + lib/dns: parameter validation of Name::split() was not sufficient, + and invalid parameters could cause integer overflow and make the + library crash. (Trac #177, svn r1806) + +bind10-devel-20100421 released on April 21, 2010 + +29. [build] jreed + Enable Python unit tests for "make check". (svn r1762) + +28. [bug] jreed + Fix msgq CC test so it can find its module. (svn r1751) + +27. [build] jelte + Add missing copyright license statements to various source + files. (svn r1750) + +26. [func] jelte + Use PACKAGE_STRING (name + version) from config.h instead + of hard-coded value in CH TXT version.bind replies (Trac + #114, svn r1749) + +25. [func]* jreed + Renamed msgq to b10-msgq. (Trac #25, svn r1747, r1748) + +24. [func] jinmei + Support case-sensitive name compression in MessageRenderer. + (Trac #142, svn r1704) + +23. [func] jinmei + Support a simple name with possible compression. (svn r1701) + +22. [func] zhanglikun + b10-xfrout for AXFR-out support added. (svn r1629, r1630) + +21. [bug] zhanglikun + Make log message more readable when xfrin failed. (svn + r1697) + +20. [bug] jinmei + Keep stderr for child processes if -v is specified. (svn + r1690, r1698) + +19. [bug] jinmei + Allow bind10 boss to pass environment variables from parent. + (svn r1689) + +18. [bug] jinmei + Xfrin warn if bind10_dns load failed. (svn r1688) + +17. [bug] jinmei + Use sqlite3_ds.load() in xfrin module and catch Sqlite3DSError + explicitly. (svn r1684) + +16. [func]* zhanglikun + Removed print_message and print_settings configuration + commands from Xfrin. (Trac #136, svn r1682) + +15. [func]* jinmei + Changed zone loader/updater so trailing dot is not required. + (svn r1681) + +14. [bug] shane + Change shutdown to actually SIGKILL properly. (svn r1675) + +13. [bug] jinmei + Don't ignore other RRs than SOA even if the second SOA is + found. (svn r1674) + +12. [build] jreed + Fix tests and testdata so can be used from a read-only + source directory. + +11. [build] jreed + Make sure python tests scripts are included in tarball. + (svn r1648) + +10. [build] jinmei + Improve python detection for configure. (svn r1622) + +9. [build] jinmei + Automake the python binding of libdns. (svn r1617) + +8. [bug] zhanglikun + Fix log errors which may cause xfrin module to crash. (svn + r1613) + +7. [func] zhanglikun + New API for inserting zone data to sqlite3 database for + AXFR-in. (svn r1612, r1613) + +6. [bug] jreed + More code review, miscellaneous cleanups, style guidelines, + and new and improved unit tests added. + +5. [doc] jreed + Manual page cleanups and improvements. + +4. [bug] jinmei + NSEC RDATA fixes for buffer overrun lookups, incorrect + boundary checks, spec-non-conformant behaviors. (svn r1611) + +3. [bug] jelte + Remove a re-raise of an exception that should only have + been included in an error answer on the cc channel. (svn + r1601) + +2. [bug] mgraff + Removed unnecessary sleep() from ccsession.cc. (svn r1528) + +1. [build]* jreed + The configure --with-boostlib option changed to --with-boost-lib. + +bind10-devel-20100319 released on March 19, 2010 + +For complete code revision history, see + http://gitlab.isc.org/isc-projects/kea +Specific git changesets can be accessed at: + http://gitlab.isc.org/isc-projects/kea/commit/rrr +or after cloning the original git repository by executing: + % git diff rrrr^ rrrr +Prior to gitlab, we used Trac for bug tickets. Those tickets +can be accessed at: http://oldkea.isc.org/ticket/nnnn + +LEGEND +[bug] General bug fix. This is generally a backward compatible change, + unless it's deemed to be impossible or very hard to keep + compatibility to fix the bug. +[build] Compilation and installation infrastructure change. +[doc] Update to documentation. This shouldn't change run time behavior. +[func] new feature. In some cases this may be a backward incompatible + change, which would require a bump of major version. +[sec] Security hole fix. This is no different than a general bug + fix except that it will be handled as confidential and will cause + security patch releases. +[perf] Performance related change. + +*: Backward incompatible or operational change. |