summaryrefslogtreecommitdiffstats
path: root/ChangeLog
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-21 14:53:22 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-21 14:53:22 +0000
commit52c021ee0b0c6ad2128ed550c694aad0d11d4c3f (patch)
tree83cf8627b94336cf4bee7479b9749263bbfd3a06 /ChangeLog
parentInitial commit. (diff)
downloadisc-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--ChangeLog13985
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 "&#x2c" 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.