ChangeLog 377 KB
Newer Older
1 2 3 4 5 6 7
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)

8 9 10 11
1489.	[doc]		fdupont
	Added examples of global host reservations.
	(Gitlab #136, !143, git bee8b8620f849f6bcaf2b31c3b130bb371c6312c)

12 13 14 15
1488.	[doc]		marcin
	Added stat_cmds to the list of available hooks libraries.
	(Gitlab #85,!142, git 08615372b4f869fe61b13559efa33d0d9794d79b)

16 17 18 19 20 21
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)

22 23
1486.	[func]		tmark
	For Kea 1.5.0-beta2, congestion handling has been enabled by
24
	default. This was done to expose the feature to more testing.
25 26 27
	We will finalize the default setting prior to releasing Kea 1.5.0.
	(Gitlab #276,!132, git fda1f985997412a58d3b4eee4a1ca0588d3f3beb)

28 29 30 31 32 33
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)

34 35 36 37 38 39 40
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)

41 42 43 44
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
45 46
	directly from interface sockets in the main thread (i.e. employs
	pre Kea 1.5 technique).
47 48
	(Gitlab #260, !120, git 9e304fae48d0d0658fd39a21aba9da528b4cc6f4)

49 50 51
1482.	[func]		fdupont
	The configuration parameter "reservation-mode" can be specified
	at global (new), subnet and shared network levels.
Francis Dupont's avatar
Francis Dupont committed
52
	(Gitlab #268,!126, git c72d381c39868308c7d11c7d4def3bdae0a0e04e)
53

54 55 56 57
1481.	[func]		fdupont
	Cleaned up the keatest-module YANG test module.
	(Gitlab #204,!98, git a830adcefd9306969216d35c51306df3610278bb)

58 59 60 61 62 63
1480.	[func]		fdupont
	The unused cconfiguration parameter "always-include-fqdn"
	was removed. Configurations using it will be rejected as
	it is no longer recognized.
	(Gitlab #182,!128, git cafeba167e7c64370dd39eca4551f61acd89d3da)

64 65 66 67 68
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)

69 70 71 72 73
1478.	[bug]		marcin
	Performance improvements in the HTTP client code used in the
	Kea High Availability.
	(Gitlab #57,!122, git 7bd97af1f3d7670cd64cadf0d0cb9ddbe4e74909)

74 75
Kea 1.5.0-beta released on Nov 9, 2018

76 77 78 79 80
1477.	[build]		marcin
	Bumped up libraries version numbers for Kea 1.5.0 beta release.
	(Gitlab #261,!119, git 54d63139048e7fe2dd0384b547ed6f8b96ff0e8f)

1476.	[func]		tmark
81 82 83 84 85 86 87 88
	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)

89
1475.	[func]		sebschrader
90 91 92 93
	Add authoritative feature for DHCPv4 from ISC DHCP: requests from
	unknown clients are dropped (default/previous behavior) or
	answered with DHCPNAK (new behevior with new authoritative flag
	set to true for the subnet). Patch proposed by Sebastian Schrader.
94
	(Gitlab #66, !115, git 0fc1b767826f214475025d8631227970de368de5)
95

Michal Nowikowski's avatar
Michal Nowikowski committed
96 97 98 99
1474.	[doc]		godfryd
	Updated list of supported operating systems.
	(Gitlab #205, !109, git 73253af554cf48434798282f8440a99b1494fd04)

100 101 102 103
1473.	[doc]		tomek
	Outdated FAQ section removed from the User's Guide.
	(Gitlab #118, !113, git 7d079384bd5f49e0e36a571ee964bfd7d6ebd25d)

104 105 106 107 108 109 110
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)

111 112
1471.	[bug]		lmasarati
	Fixed a bug in kea-admin that ignored specified remote hostname.
113 114
	Thank you to lmasarati and Thorsten Krohn for reporting it and
	proposing a patch!
115
	(Gitlab #61, #138, !114, git 901cac7dc85ad8dacf631bf3a5c266eefeb3e6a1)
116

117 118 119 120 121 122 123 124 125 126
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)

127 128 129 130 131
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)

132
1468.	[build]		wlodek
133 134 135
	make distcheck fix.
	(Gitlab #202, !111, git 5d8fb5f7af5fa36f4cb2b89f10631683b2e230d5)

136
1467.	[doc]		fdupont, tomek
137 138 139
	Doxygen errors fixed.
	(Gitlab #180,!93, git d12fb04d71c3b2d0e84ebb2c957334454b5705c4)

Francis Dupont's avatar
Francis Dupont committed
140 141 142 143 144 145
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)

146 147 148 149 150
1465.	[build]		marcin
	Removed libkea-process dependency on MySQL, Postgres and
	Cassandra libraries.
	(Gitlab #194,!104, git bcce7d3c2226c10218d537c4688344c3b7f8c84a)

151 152 153 154 155
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)

156
1463.	[bug]		tmark
157
	Added missing parsing logic for the reservation-mode value,
158 159 160 161 162
	"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)

163 164 165 166 167 168 169
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)

170 171 172 173 174 175
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)

176 177 178
1460.	[func]		tmark
	While kea-dhcp4 and kea-dhcp6 configuration parsing supports
	configuration backend elements "server-tag" and "config-control",
179
	use of these parameters has been disabled. Development of this
180 181 182
	feature will resume after Kea 1.5 release.
	(Gitlab #101,!87, git 4292a7ef7ab268826f846812e7320e1fe1fc46ef)

183 184 185 186 187
1459.	[func]		marcin
	Implemented libdhcp_mysql_cb hooks library which provides
	Configuration Backend functionality for MySQL.
	(Gitlab #93, git 98456608056b3361352b3127767138845eeb5d00)

188 189 190 191 192 193
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)

194
1457.	[func]		tmark
195 196
	Both kea-dhcp4 and kea-dhcp6 configuration parsing support new,
	server-level configuration elements "server-tag" and "config-control".
197 198 199
	While these elements will parse, they are not yet used by the servers.
	(Gitlab #32,!23, git c0727407da8d749d9fb51d873a725369800c967b)

200 201 202 203 204
1456.	[build]		tomek
	Extended Kea version is now stored in a separate file for
	build performance reasons.
	(Gitlab #137,!42, git 87479e979ca3d3025cb4129ace991a59e32e0f62)

205 206 207 208
1455.	[func]		fdupont
	Implemented hexstring(value, separator) operator that can be used
	in any expression, such as client classification, flex-id or
	RADIUS attribute.
Francis Dupont's avatar
Francis Dupont committed
209
	(Gitlab #67,!34, git 004d9a29db09b1c203c52e23585bd275c52095fa)
210

211 212 213
1454.	[func]		fdupont
	Unused interface-id and rapid-commit parameters removed from
	DHCPv4 parser.
Francis Dupont's avatar
Francis Dupont committed
214
	(Gitlab #116,!24, git 7e47292f10acb9179241c991d3591e9bfa47c37d)
215

216 217 218 219 220
1453.	[func]		marcin
	Updated MySQL schema to facilitate Kea Configuration Backend
	feature.
	(Gitlab #89,!22, git e28c0c7b3e7a7729167cdad993f634ed1f0ac53b)

221 222 223 224 225
1452.	[func]		marcin
	Implemented libkea-cb library which includes basic class
	hierarchy for the Kea Configuration Backend.
	(Gitlab #28,!20, git fb5c031ecaf4182e56f62874e9a6bd4c1d755a77)

226 227
1451.	[build]		tmark
	Resolved a namespace issue with std::distance() in libdhcp++.cc
228 229
	when building with Boost 1.68.   Thanks to Huy Vu and Khem Raj
	for reporting and suggesting a fix.
230 231
	(Gitlab #109,!21, git 1fd301f998129e9926ffa35eac27768ae150633d)

232 233 234 235 236
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)

237 238 239 240
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
241
	is done to accommodate support for global host reservations.
242 243
	(Gitlab #15,!11, git 25b54fd9ced4c6d3a2c8ceff9cc7c866b56da2c1)

244 245 246 247 248 249
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)

250 251 252 253 254
1447.	[doc]		tmark
	Updated Kea Administrators's Guide with discussions of the
	use of subnet ID parameters in hook library commands.
	(Gitlab #14,!15	git# 4a7da8069feab1e21132689a9368f8ccb4174683)

255 256 257 258 259 260 261
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)

262 263 264 265 266 267 268
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)

269 270
1444.	[bug]		tomek
	keactrl version tests now work properly on macOS.
271
	(Gitlab !5, git a8c385e1507ffd101f65b445783b0355b01decce)
272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287

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)
288

289
1440.	[func]		tmark
290
	The internal representation of an "unused" subnet-id has been
291 292 293 294
	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:

295 296 297
	isc::dhcp::SUBNET_ID_GLOBAL
	isc::dhcp::SUBNET_ID_UNUSED
	isc::dhcp::SUBNET_ID_MAX
298 299 300 301

	which should be used in code/hooks in place of hard-coded values.
	(Trac #5704, git 90fe9ca2cd6f63bcc7168bdc3786677db57b65ec)

302 303
1439.	[func]		tomek
	keactrl and kea-admin tools can now report version.
304
	(Gitlab #9, git 4a00ab5d4b9ac9193fc5f924149aeaca7a88e2ef)
305 306 307 308 309 310 311 312 313

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)

314 315 316 317 318 319 320 321
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
322
	Added two new configuration parameters to kea-dhcp4 and kea-dhcp6
323 324 325 326 327 328
	DhcpDdns sections: 'hostname-char-set' and 'hostname-char-replacment'.
	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)

329 330 331 332 333 334
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)

335 336 337
1434.   [func]      MayyaSunil
	Code added to support storage of Authentication key host reservation.
	There is no way to use the code yet.
338
	(Github #88, git 66602af46b1a7d9f4197b1f285c928bd9f80ba2b)
339

340 341 342 343 344
1433.	[func]		marcin
	Implemented state HA state machine pausing in the high
	availability hooks library.
	(Trac #5674, git b9f3f082c7a88fe98fa4545b9649193ceb5e3ef5)

345 346 347 348 349
1432.	[func]		MayyaSunil
	Code added to handle Authentication option in DHCPv6. There
	is no way to use this code yet.
	(Github #93, git 022dae4393da9e714678d52886d4f478ba308ba9)

350 351 352 353 354
1431.	[func]		marcin
	Implemented lease4-get-page and lease6-get-page commands
	in lease_cmds hooks library.
	(Trac #5651, git b056828212f7b206ff8bd07c097fd6f427d22d71)

355 356 357 358
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.
Francis Dupont's avatar
Francis Dupont committed
359
	(Trac #5584, git b0b7a198b99fd417466708c80cb7cc2162ae480c)
360

361 362 363 364 365
1429.	[bug]		marcin
	Removed memory leak in the DHCPv4 and DHCPv6 servers which
	occurred when hooks libraries where loaded.
	(Trac #5664, git 2584b902d2617089bfa7238133490ddd855aa77a)

366 367 368 369 370 371 372 373 374 375
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)

376 377
Kea 1.4.0 released on June 15, 2018

378 379 380 381 382 383 384 385 386 387
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)

388 389 390 391 392 393 394
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.
Francis Dupont's avatar
Francis Dupont committed
395
	(Trac #5549, git 6a856ed9722b918a65dca15ff44314e28897784e)
396

397 398 399 400 401 402
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)

403 404 405 406 407 408 409
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)

410 411 412 413 414
1423.	[bug]		tmark
	kea-dhcp4 and kea-dhcp6 now retain and emit global, scalar
	parameters specified in their configuration.
	(Trac #5378, git 4d05122f03d00b10a888c768fe1725cae9d6aea6)

415 416 417
1422.	[build]		fdupont
	Commented out BOOST_ASIO_DISABLE_THREADS in configure to reflect
	the current use of threads by boost ASIO in Kea.
Francis Dupont's avatar
Francis Dupont committed
418
	(Trac #5615, git f3fc8b1a4257a42a97aaf88a36287bbe33d1f65b)
419

420 421 422 423 424 425 426
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)

427 428 429 430 431 432
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)

433 434 435 436 437
1419.	[doc]		marcin
	Documented "sync-leases" configuration parameter of the HA
	hooks library in the Kea Administrator's Manual.
	(Trac #5621, git 4ebac3a411aa02d1cc3d74e7eaf3212ad208159a)

438 439 440 441 442 443 444 445
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)

446 447 448 449 450
1417.	[bug]		marcin
	Improved logging in the HTTP library both for the server and
	the client.
	(Trac #5205, git fd0bec610c89084d5a5d43ef032c9875c3e6ad46)

451 452 453
1416.	[bug]		fdupont
	Added support of recent Botan 2.x crypto backend.
	Note that Botan 1.[9-11] is still supported but not recommended.
Francis Dupont's avatar
Francis Dupont committed
454
	(Trac #5382, git 22651b1935a2397edfbddb9b8873c353c090f18e)
455

456 457 458 459 460 461 462 463
1415.	[bug]		tmark
	kea-dhcp4 and kea-dhcp6 now validate the schema version
	of lease and host back ends 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)

464 465 466 467 468 469 470 471 472
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)

473 474 475 476
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.
Francis Dupont's avatar
Francis Dupont committed
477
	(Trac #5563, git db4c34b069f114f93d9f29cdeb02b536a0fbc982)
478

479 480 481 482 483 484 485
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)

486 487
1411.	[bug]		fdupont
	Fixed warnings about lambda's not using captured variables.
Francis Dupont's avatar
Francis Dupont committed
488
	(Trac #5591, git f88a505823d39faec7dc5f647f40e6454e5dfc74)
489

490 491 492 493
1410.	[bug]		marcin
	Fixed multiple hanging Control Agent unittests.
	(Trac #5576, git 310af68101cba74220652ec2b403520fc5666dc0)

494 495 496 497 498 499
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)

500 501 502
1408.	[func]		tomek
	perfdhcp now supports -o option that adds DHCP options.
	This may be used to simulate various clients.
503
	(Github #77, git b81dedb7f0a2516130e7bd799d9084c63f0e844c)
504

505 506 507 508 509 510
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)

511 512 513
1406.	[func]		fdupont
	Added pkg-config alternative to configure --with-cql path so
	now you can use either pkg-config or cql_config.
Francis Dupont's avatar
Francis Dupont committed
514
	(Trac #5488, git 55498ca3455517132533a39002ebfc05d26c7e38)
515

516
1405.	[bug]		tmark
517
	Corrected missing "override" warning in cql_lease_mgr.h
518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595
	(Trac #5625, git df3068ba0e520df4d96dd38e2de679beb99f2e23)

Kea 1.4.0-beta released on May 18, 2018

1404.	[doc]		tomek
	Hooks package installation intruction 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 back end. 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
Michal Nowikowski's avatar
Michal Nowikowski committed
596
	library, being developed for Kea 1.4 under #5589.
597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885
	(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.
886
	(Github #37, git e37606fd2d0c02234a55f7445c52a12b2e7a82ec)
887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902

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.
903
	(Github #35, git 41795494720cd9886c1e98d21eaeefd94d674e37)
904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961

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.
962
	(Trac #5391, Github #57,
963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804
	 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 deamon
	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.
1805
	(Trac #Github24, git 59b62eb3ddd9db62c04bd47cd8fbdc1af62fbc1b)
1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876

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.
1877
	(Github #30, git e40a54a8e24b5f6427edd4afcd5cdc15012b8866)
1878 1879 1880

1172.	[bug]		andir
	Kea build fixes for gcc 6, which uses C++14 by default.
1881
	(Github #29, git ad68c3942839618c26d7ff017fbac7df139b5d01)
1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936

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.
1937
	(Github #22, git c5b4a5981cf642ebb9aecb8acc07b87abdccbd91)
1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037

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
	back ends.  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.
2038
	(Github #23, git 4216a4bedf8a884df087c68d48c88ee9ffa444dc)
2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231

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.
2232
	(Github #19, git d260a70d6aa0baecd68131bc35f58f097aa77bcc)
2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491 2492 2493 2494 2495 2496 2497 2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 2512 2513 2514 2515 2516 2517 2518 2519 2520 2521 2522 2523 2524 2525 2526 2527 2528 2529 2530 2531 2532 2533 2534 2535 2536 2537 2538 2539 2540 2541 2542 2543 2544 2545 2546 2547 2548 2549 2550 2551 2552 2553 2554 2555 2556 2557 2558 2559 2560 2561 2562 2563 2564 2565 2566 2567 2568 2569 2570 2571 2572 2573 2574 2575 2576 2577 2578 2579 2580 2581 2582 2583 2584 2585 2586 2587 2588 2589 2590 2591 2592 2593 2594 2595 2596 2597 2598 2599 2600 2601 2602 2603 2604 2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 2615 2616 2617 2618 2619 2620 2621 2622 2623 2624 2625 2626 2627 2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 2640 2641 2642 2643 2644 2645 2646 2647 2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 2715 2716 2717 2718 2719 2720 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734 2735 2736 2737 2738 2739 2740 2741 2742 2743 2744 2745 2746 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 2757 2758 2759 2760 2761 2762 2763 2764 2765 2766 2767 2768 2769 2770 2771 2772 2773 2774 2775 2776 2777 2778 2779 2780 2781 2782 2783 2784 2785 2786 2787 2788 2789 2790 2791 2792 2793 2794 2795 2796 2797 2798 2799 2800 2801 2802 2803 2804 2805 2806 2807 2808 2809 2810 2811 2812 2813 2814 2815 2816 2817 2818 2819 2820 2821 2822 2823 2824 2825 2826 2827 2828 2829 2830 2831 2832 2833 2834 2835 2836 2837 2838 2839 2840 2841 2842 2843 2844 2845 2846 2847 2848 2849 2850 2851 2852 2853 2854 2855 2856 2857 2858 2859 2860 2861 2862 2863 2864 2865 2866 2867 2868 2869 2870 2871 2872 2873 2874 2875 2876 2877 2878 2879 2880 2881 2882 2883 2884 2885 2886 2887 2888 2889 2890 2891 2892 2893 2894 2895 2896 2897 2898 2899 2900 2901 2902 2903 2904 2905 2906 2907 2908 2909 2910 2911 2912 2913 2914 2915 2916 2917 2918 2919 2920 2921 2922 2923 2924 2925 2926 2927 2928 2929 2930 2931 2932 2933 2934 2935 2936 2937 2938 2939 2940 2941 2942 2943 2944 2945 2946 2947 2948 2949 2950 2951 2952 2953 2954 2955 2956 2957 2958 2959 2960 2961 2962 2963 2964 2965 2966 2967 2968 2969 2970 2971 2972 2973 2974 2975 2976 2977 2978 2979 2980 2981 2982 2983 2984 2985 2986 2987 2988 2989 2990 2991 2992 2993 2994 2995 2996 2997 2998 2999 3000 3001 3002 3003 3004 3005 3006 3007 3008 3009 3010 3011 3012 3013 3014 3015 3016 3017 3018 3019 3020 3021 3022 3023 3024 3025 3026 3027 3028 3029 3030 3031 3032 3033 3034 3035 3036 3037 3038 3039 3040 3041 3042 3043 3044 3045 3046 3047 3048 3049 3050 3051 3052 3053 3054 3055 3056 3057 3058 3059 3060 3061 3062 3063 3064 3065 3066 3067 3068 3069 3070 3071 3072 3073 3074 3075 3076 3077 3078 3079 3080 3081 3082 3083 3084 3085 3086 3087 3088 3089 3090 3091 3092 3093 3094 3095 3096 3097 3098 3099 3100 3101 3102 3103 3104 3105 3106 3107 3108 3109 3110 3111 3112 3113 3114 3115 3116 3117 3118 3119 3120 3121 3122 3123 3124 3125 3126 3127 3128 3129 3130 3131 3132 3133 3134 3135 3136 3137 3138 3139 3140 3141 3142 3143 3144 3145 3146 3147 3148 3149 3150 3151 3152 3153 3154 3155 3156 3157 3158 3159 3160 3161 3162 3163 3164 3165 3166 3167 3168 3169 3170 3171 3172 3173 3174 3175 3176 3177 3178 3179 3180 3181 3182 3183 3184 3185 3186 3187 3188 3189 3190 3191 3192 3193 3194 3195 3196 3197 3198 3199 3200 3201 3202 3203 3204 3205 3206 3207 3208 3209 3210 3211 3212 3213 3214 3215 3216 3217 3218 3219 3220 3221 3222 3223 3224 3225 3226 3227 3228 3229 3230 3231 3232 3233 3234 3235 3236 3237 3238 3239 3240 3241 3242 3243 3244 3245 3246 3247 3248 3249 3250 3251 3252 3253 3254 3255 3256 3257 3258 3259 3260 3261 3262 3263 3264 3265 3266 3267 3268 3269 3270 3271 3272 3273 3274 3275 3276 3277 3278 3279 3280 3281 3282 3283 3284 3285 3286 3287 3288 3289 3290 3291 3292 3293 3294 3295 3296 3297 3298 3299 3300 3301 3302 3303 3304 3305 3306 3307 3308 3309 3310 3311 3312 3313 3314 3315 3316 3317 3318 3319 3320 3321 3322 3323 3324 3325 3326 3327 3328 3329 3330 3331 3332 3333 3334 3335 3336 3337 3338 3339 3340 3341 3342 3343 3344 3345 3346 3347 3348 3349 3350 3351 3352 3353 3354 3355 3356 3357 3358 3359 3360 3361 3362 3363 3364 3365 3366 3367 3368 3369 3370 3371 3372 3373 3374 3375 3376 3377 3378 3379 3380 3381 3382 3383 3384 3385 3386 3387 3388 3389 3390 3391 3392 3393 3394 3395 3396 3397 3398 3399 3400 3401 3402 3403 3404 3405 3406 3407 3408 3409 3410 3411 3412 3413 3414 3415 3416 3417 3418 3419 3420 3421 3422 3423 3424 3425 3426 3427 3428 3429 3430 3431 3432 3433 3434 3435 3436 3437 3438 3439 3440 3441 3442 3443 3444 3445 3446 3447 3448 3449 3450 3451 3452 3453 3454 3455 3456 3457 3458 3459 3460 3461 3462 3463 3464 3465 3466 3467 3468 3469 3470 3471 3472 3473 3474 3475 3476 3477 3478 3479 3480 3481 3482 3483 3484 3485 3486 3487 3488 3489 3490 3491 3492 3493 3494 3495 3496 3497 3498 3499 3500 3501 3502 3503 3504 3505 3506 3507 3508 3509 3510 3511 3512 3513 3514 3515 3516 3517 3518 3519 3520 3521 3522 3523 3524 3525 3526 3527 3528 3529 3530 3531 3532 3533 3534 3535 3536 3537 3538 3539 3540 3541 3542 3543 3544 3545 3546 3547 3548 3549 3550 3551 3552 3553 3554 3555 3556 3557 3558 3559 3560 3561 3562 3563 3564 3565 3566 3567 3568 3569 3570 3571 3572 3573 3574 3575 3576 3577 3578 3579 3580 3581 3582 3583 3584 3585 3586 3587 3588 3589 3590 3591 3592 3593 3594 3595 3596 3597 3598 3599 3600 3601 3602 3603 3604 3605 3606 3607 3608 3609 3610 3611 3612 3613 3614 3615 3616 3617 3618 3619 3620 3621 3622 3623 3624 3625 3626 3627 3628 3629 3630 3631 3632 3633 3634 3635 3636 3637 3638 3639 3640 3641 3642 3643 3644 3645 3646 3647 3648 3649 3650 3651 3652 3653 3654 3655 3656 3657 3658 3659 3660 3661 3662 3663 3664 3665 3666 3667 3668 3669 3670 3671 3672 3673 3674 3675 3676 3677 3678 3679 3680 3681 3682 3683 3684 3685 3686 3687 3688 3689 3690 3691 3692 3693 3694 3695 3696 3697 3698 3699 3700 3701 3702 3703 3704 3705 3706 3707 3708 3709 3710 3711 3712 3713 3714 3715 3716 3717 3718 3719 3720 3721 3722 3723 3724 3725 3726 3727 3728 3729 3730 3731 3732 3733 3734 3735 3736 3737 3738 3739 3740 3741 3742 3743 3744 3745 3746 3747 3748 3749 3750 3751 3752 3753 3754 3755 3756 3757 3758 3759 3760 3761 3762 3763 3764 3765 3766 3767 3768 3769 3770 3771 3772 3773 3774 3775 3776 3777 3778 3779 3780 3781 3782 3783 3784 3785 3786 3787 3788 3789 3790 3791 3792 3793 3794 3795 3796 3797 3798 3799 3800 3801 3802 3803 3804 3805 3806 3807 3808 3809 3810 3811 3812 3813 3814 3815 3816 3817 3818 3819 3820 3821 3822 3823 3824 3825 3826 3827 3828 3829 3830 3831 3832 3833 3834 3835 3836 3837 3838 3839 3840