ChangeLog 415 KB
Newer Older
1 2
Kea 1.6.0 released on Aug 28, 2019

3
1658.	[bug]		tmark
4 5 6
	Renamed the column "array" in option definition tables
	in MySQL schema to "is_array" to avoid a reserved word
	conflict introduced by MySQL 8.0.17.
7
	(Gitlab #853,!26-p, git 6665c3b6d0f9f2a45b7710e8e9a36fff8f99bf7f)
8

9 10 11 12 13 14 15
1657.	[bug]		marcin, tomek
	Corrected multiple occurrences of out of bounds vector reads.
	These could cause server to assert when GLIBCXX_ASSERTIONS
	was enabled during compilation. Also, elminated overflows as
	a result of strncpy.
	(Gitlab #851,!24-p, git 4b1d6ffc5ae4f1e1fa5990a644c9786e7f6afea6)

16 17 18 19 20 21 22 23
1656.	[bug]		marcin
	Corrected a bug in the Kea MySQL Configuration Backend which
	caused the Kea DHCPv6 server to incorrectly require the server
	tag to be provided with the remote-subnet6-option-set command.
	In addition, corrected issues with setting and deleting
	pool specific DHCP options via the Configuration Backend.
	(Gitlab #847,!23-p, git 578bc6c997679c507c2f9e419783d34de77816cd)

24 25 26 27 28 29 30 31
1655.	[bug]		marcin
	Corrected a bug in the Kea MySQL Configuration Backend which
	prevented the DHCP servers from discovering and fetching the
	changes applied with the new commands. The new commands set
	and delete the options embedded within the subnets, shared
	networks and pools.
	(Gitlab #845,!22-p, git 7fb2255b212e4e98ff4dbf6d8e2e0ada78701110)

Michal Nowikowski's avatar
Michal Nowikowski committed
32
1654.	[sec]		tmark
33 34
	kea-dhcp4 Memfile logic now ensures during reading and writing
	that leases which are not in the declined state, have either
35
	a hardware address, client id, or both. kea-dhcp6 Memfile logic
Michal Nowikowski's avatar
Michal Nowikowski committed
36
	now ensures leases which are not declined have a non-empty DUID.
37
	CVE:2019-6474
38
	(Gitlab #805,!6-p, git 9705445210cf2a5c4bbe86fde4ce010c45b7aac1)
39

Michal Nowikowski's avatar
Michal Nowikowski committed
40
1653.	[sec]		tmark
41 42 43 44 45
	Added a new parameter, "max-row-errors", to Memfile lease database
	configuration for kea-dhcp4 and kea-dhcp6.  This parameter can be
	used to limit the number of rows discarded due to error during
	lease file loading after which the server will abandon the effort
	and exit. The default value of 0 disables the limit.
46
	CVE:2019-6474
47
	(Gitlab #805,!5-p git af7393c517cea37a7091075e5d0d24793bccf013)
48

Michal Nowikowski's avatar
Michal Nowikowski committed
49
1652.	[sec]		tmark
50 51 52
	Prevent the DHCP servers from asserting when malformed
	hostname or FQDN options are received.  Now the servers will
	drop the DHCP packets containing the malformed options.
53
	CVE:2019-6473
54
	(Gitlab #730,!2-p git a2a98c421bb400a81218bd28d6a6f62accd31b1f)
55

Michal Nowikowski's avatar
Michal Nowikowski committed
56
1651.	[sec]		tmark
57 58 59 60
	Added logic to kea-dhcp6 to catch values for client or
	server DUIDs that exceed 128 bytes to inbound packet
	sanity checking.
	CVE:2019-6472
61
	(Gitlab #722,!1-p git bb1a64b8945950f4439121ce4fef566d37c8630c)
62

63 64 65 66
1650.	[build]		marcin
	Bumped up library version numbers for Kea 1.6.0 final release.
	(Gitlab #841,!490, git 2e88e2554905dd66b9974c9fc513ee7e7b825a46)

67 68 69 70
1649.	[doc]		sgoldlust
	API documentation updated and cleaned up.
	(Gitlab #810,!471, git f1ae84186beb54d45f8455236827108289b0b0d6)

71 72 73 74 75 76 77
1648.	[func]		fdupont,marcin
	Client classification information (client-class,
	require-client-classes) and excluded prefix (excluded-prefix,
	excluded-prefix-len) may now be specified in the MySQL
	Configuration Backend.
	(Gitlab #659,!387, git 1f2cae397b48e2a28a7a7e61f6392691b9d32c13)

78 79 80 81 82 83 84
1647.	[doc]		marcin
	Updated "Local and Relayed Traffic in Shared Networks" sections
	of the Kea ARM. Explained that all subnets within a shared
	network should have the same subnet selector, i.e. interface
	name or relay IP address.
	(Gitlab #496,!483, git 1335e5643cc142c65bfc49c13280e9aaf3eeec21)

85 86 87 88 89
1646.	[func]		fdupont
	YANG models updated to cover the latest parameters:
	pattern and max-row-errors.
	(Gitlab #823,!477, git 79d0d45ec0c791560e297ca77fc88842b0a33868)

90 91 92 93 94
1645.	[func]		tmark
	Binary option data may now be specified as a single-quoted
	text string, within double quotes: "'some text'".  This is
	handy for binary options that convey text such as urls or
	file names.
95
	(Gitlab #761,!447, git 215d84f00208ac8a2710c28abc3386d6b765ede6)
96

97 98 99 100
1644.	[doc]		marcin, fdupont
	Added a warning about class dependence on built-in classes.
	(Gitlab #727,!466, git 9977d2927cf9b9cf1cd13de30aa5551ca900165b)

101 102 103 104 105 106 107
1643.	[build]		godfryd
	Added an optional --with-site-packages switch to configure
	script. It allows python package installation in a separate
	directory (mostly useful on Debian systems when building native
	packages).
	(Gitlab #721,#480, git 66332000ff618fbb41656981c7bbf3bb940066fe)

108 109 110 111
1642.	[doc]		fdupont, marcin
	User documentation for remote-option{4,6}-* commands.
	(Gitlab #826,!479, git 9b469ab63a9627e377a219cf8f83033e4e613b11)

112
1641.	[func]		tmark
113 114
	Added a new Logger output option, 'pattern', which can be
	used to customize log message content and layout.
115
	(Gitlab #665,!460, git 2add51ecf0d91d2a9ac797594c38472190c18460)
116

117 118 119 120 121 122
1640.	[func]		fdupont
	Added sub-option expression for client classification and flex-id.
	Users can access sub-option with option[12].option[34].hex or
	option[12].option[34].exist
	(Gitlab #150,!385, git 70bb412f20b706484538680906d6fcfd7ee6da68)

123 124 125 126 127
1639.	[func]		fdupont
	Updated YANG models with the latest changes in kea-dhcp4 and
	kea-dhcp6.
	(Gitlab #433,!473, git c46e8da1561e7d0c6c6f481d2e32cc9ae398324c)

128 129
1638.	[bug]		franek, razvan
	Kea statistics improvements: Correct statistic-get{all} commands.
130
	(Gitlab #756,!470, git 59fb24794af8a9ca8ee3621bc01dfd507350b2c1)
131

132 133 134 135
1637.	[bug]		tmark
	Corrected an issue in kea-dhcp6 where the server would assign
	a different lease each time a client with a dynamic host
	reservation returned via a SOLICIT.
136
	(Gitlab #754,!440, git c548d9330e6f626e538343c5e6361457057efdd7)
137

138
1636.	[bug]		razvan
139
	Http request and response parser now accepts 0 for Content-Length.
140 141
	(Gitlab #708,!423, git 09d75804e050083b502a96c8e77b0e98c735ae3d)

142 143 144 145
1635.	[doc]		godfryd, tomek
	Converted API documentation to Sphinx format.
	(Gitlab #777,!464, git 3ba1a265537330308c313a38b85e84cbe02704ae)

Razvan Becheriu's avatar
Razvan Becheriu committed
146 147 148 149 150
1634.	[func]		franek, razvan
	Kea statistics improvements: Added commands for set sample age and
	set sample count.
	(Gitlab #731,!459, git dde1b96b33ed20dbe2c815f1168e62b66635e39f)

151 152 153 154
1633.	[bug]		fdupont
	Added missing YANG Kea test module in distributions.
	(Gitlab #747,!436, git a800e79c7917acc723cbc71b626adc360e15a8d7)

155 156 157 158
1632.	[doc]		razvan, tmark
	Fixed doc examples.
	(Gitlab #649,!381, git e14b90735ff57be0776270364064952d353d7e3a)

159 160 161 162 163 164
1631.	[bug]		marcin
	Corrected the bug in mysql_cb hooks library which in some cases
	caused the pools to be orphaned and left in the database after
	the subnet has been updated.
	(Gitlab #632,!438, git ea15b537d62c66e03923b5fdce91db8795f436b4)

165 166 167 168
1630.	[build]		fdupont
	Added support for sysrepo 0.7.8 (and libyang 1.0-r3).
	(Gitlab #742,!430, git 6776a829f90768225ea794145e522560d26fe959)

169
1629.	[func]		tmark
170 171 172
	High Availaiblity logging now also emits server and partner system
	times when reporting clock skew issues.  Prior to this it reported
	only the skew between the two servers.
173
	(Gitlab #174,!414, git 9715ddecb0143d997a57edea564f5c180a7f8577)
174

175 176 177 178 179
1628.	[bug]		fdupont
	Improved the error message from MySQL CB -set commands when
	a specified server does not exist.
	(Gitlab #732,!429, git 82f34e60363eec72a117939a5526bdb1ececb53c)

180 181 182 183
1627.	[func]		fdupont
	Added new command server-tag-get to DHCPv4 and DHCPv6 servers.
	(Gitlab #470,!386, git 3cb43f112662ba3f9d2fc7152dfa1639401b1491)

184 185 186 187 188 189 190 191
1626.	[bug]		marcin
	Automatically delete embedded options as a result of deleting
	a subnet, pool or shared network from the MySQL Configuration
	Backend. Prior to this change, the options were unnecessarily
	left in the database. The database schema version was affected
	and its version bumped up to 8.2.
	(Gitlab #680,!426, git 03f0af3900bdd9eaa951b23cc9508f0618d3f1bb)

192 193
Kea 1.6.0-beta2 released on July 24, 2019

194 195
1625.	[build]		tmark, marcin
	Bumped up libraries version numbers for Kea 1.6.0 beta2 release.
196
	(Gitlab #740,!427, git 359fe51531e802f052bd4172d4e295378155dbd5)
197

198 199 200 201 202
1624.	[doc]		marcin
	Documented a usage of the server tags with the Kea Configuration
	Backend in the Kea ARM.
	(Gitlab #643,!421, git 4c60b02e619bce2c434bbf9ee0e775d8776b2d74)

203 204 205 206 207
1623.	[bug]		fdupont
	Eliminated the issue whereby the DHCP server could terminate as a
	result of the remote-network4-del and remote-network6-del commands.
	(Gitlab #738,!425, git b34151b647aae8690fe0996090e13403a8e3ad55)

208 209 210 211 212
1622.	[bug]		fdupont
	Corrected server tags returned with the metadata when fetching
	option definitions from the MySQL configuration backend
	(Gitlab #737,!424, git 1cc95ae2a66102427e583b4924383fd414e24f0f)

213 214 215 216 217 218 219 220
1621.	[func]		fdupont
	Both kea-dhcp4 and kea-dhcp6 now support a special class, 'DROP'.
	When the class is defined, inbound client packets that match the
	class's match expression will be dropped without further processing.
	Each such drop is logged at DEBUG level and accounted for in
	drop statistics.
	(Gitlab #606,!375, git bfa5b2c50324e9d2339daa8309774f49a5e7bf3c)

221 222 223 224 225
1620.	[func]		franek, razvan
	Kea statistics improvements: Support for storing more than one
	sample.
	(Gitlab #696,!418, git c7b8c275758c96f56081e02da429f5dd9d653b87)

226 227 228 229 230
1619.	[func]		marcin
	Add support for associating subnets with the server tags in the
	mysql_cb hooks library.
	(Gitlab #717,!417, git e121ec4e0a04bc5bebdbfecf9cc1606b50e71263)

231 232 233 234 235
1618.	[func]		marcin
	Add support for associating the shared networks with the server
	tags in the mysql_cb hooks library.
	(Gitlab #716,!412, git 326fdbeb51dc1f6eebbdbbdcce78cfac87a61bd9)

236 237 238 239 240 241
1617.	[bug]		fdupont
	During the application of the config backend the external config
	is initialized to the default values so when a global parameter
	is changed and deleted it gets back a sane value.
	(Gitlab #630,!355, git 237afd3c512ed4d05ae76de76cce21dca643a889)

242 243 244 245 246 247
1616.	[func]		fdupont
	Renamed kea-admin lease-init, lease-version and lease-upgrade
	commands to db-init, db-version and db-upgrade. Only the lease-*
	command is now lease-dump.
	(Gitlab #466,!393, git cbd2ed23f2ea0649ccf608fe818197d2923108f0)

248 249 250 251 252 253
1615.	[func]		fdupont
	Added check for keyword name and type in parsers of objects
	managed by the config backend (options, option definitions,
	subnets and shared networks).
	(Gitlab #575,!358, git c9d87afad8db924da0aadc1b8ab40638bd0a6738)

254 255
1614.	[func]		marcin
	Add support for associating the DHCP option definitions with
256
	the server tags in the mysql_cb hooks library.
257 258
	(Gitlab #715,!411, git 5511725555138213de4f48dc1091d65b5db47034)

259 260 261 262 263
1613.	[func]		marcin
	Add support for associating the global DHCP options with the
	server tags in the mysql_cb hooks library.
	(Gitlab #714,!409, git 711c1dca9de388b786942fe5bedb8b8cf63b85ba)

264 265 266 267 268
1612.	[bug]		razvan
	Fixed crash caused by unloading premium libraries which use
	custom host cache containers.
	(Gitlab #639,!410, git d3f7e9d9a18d93fb014c8e637e15c6ae9ca9269e)

269 270 271 272
1611.	[doc]		fdupont
	Clarified how Kea handles subnet prefixes in server configuration.
	(Gitlab #419,!333, git f260b51148b4f7584165e13fcf2320fdd5992a74)

273 274 275 276
1610.	[build]		fdupont
	Removed the obsolete compatcheck top directory.
	(Gitlab #667,!391, git 8cb113a52f0cf56fbdb5cb0e87464135234c2ac1)

277 278 279 280
1609.	[bug]		fdupont
	Fixed the implementation of authentication keys in DHCPv6
	host reservations. Please note this includes a PostgreSQL
	schema update.
281
	(Gitlab #550,!297, git f45511f0445cd4204671771175f7f0d34df54b0e)
282

283 284 285 286
1608.	[bug]		fdupont
	Missing debug DHCP6_PACKET_SEND logging message was added.
	(Gitlab #699,!401, git ac96edbe30be5c93f5e3d2512961f1bc99c3253a)

287 288 289 290 291
1607.	[bug]		tmark
	Corrected an initialization issue which caused lease sanity
	checking to be enabled inside the Lease File Cleanup (LFC)
	process.  The LFC cannot meaningfully perform sanity checking
	as it does not have access to the full server configuration.
292
	(Gitlab #686,!403 git 68b2cb0385779ef0c520164e418dee124d7cb364)
293

294 295 296 297
1606.	[bug]		tmark
	Corrected an error with retrieving DHCPv6 leases, whose IAID
	values are larger than int32_t max, from Postgresql lease
	databases.
298
	(Gitlab #651,!384, git 67e047df61d56558d474514a21ed0db96152557a)
299

300 301 302 303 304 305 306
1605.	[func]		marcin
	Extended mysql_cb hooks library to support new API calls for
	managing the DHCP servers in the database. In addition, added
	support for associating the global parameters with the server
	tags.
	(Gitlab #642,!373, git 8ca1021809a6c44cf8a6589a959e94ca9ca76c29)

307 308 309 310 311
1604.	[bug]		fdupont
	Improved configuration failure messages when the problem is
	from the configuration backend and not the configuration file.
	(Gitlab #616,!379, git 637e9f03cc502068822ab0310f2e070d4a4da339)

312
1603.	[perf]		tmark
313 314 315 316
	High Availability now registers its HTTP sockets with Interface
	Manager's main thread allowing the thread can monitor them for
	IO readiness. This should improve the responsiveness of HA peers
	to each other.
317
	(Gitlab #691,!395, git 4a0b024bc6d83b26fe702d95ee7ce0c914b37d8e)
318

319 320 321 322
1602.	[func]		fdupont
	Added more information to sanity-checker log messages.
	(Gitlab #685,!392, git 5367cd1196662739bbff5e99072ab6a55cfb0489)

323 324 325 326 327
1601.	[func]		fdupont
	Kea servers now add the lease validity lifetime to informational
	lease allocation log messages.
	(Gitlan #694,!399, git cb29b532cf1f8790f9752d7e8253b0aa31ce05e6)

328 329 330 331
1600.	[bug]		fdupont
	Fixed prefixLengthFromRange() routine.
	(Gitlab #583.!377, git 10bd31217d8a0a77345c4cba7a59314f70c1b509)

332 333 334 335 336 337 338
1599.	[perf]		marcin
	Improved performance of the DHCPv6 server running with High
	Availability by aggregating multiple lease updates in a single
	lease6-bulk-apply command instead of generating multiple
	lease6-update commands, one for each allocated lease.
	(Gitlab #689,!394, git 65021b840b94da3d118e541fba5469c8ed15175b)

339 340 341 342 343
1598.	[bug]		razvan
	Added unittests for long (> 65536 chars) tokens in parsed configs
	so any crash related to parsers could be detected.
	(Gitlab #604,!376, git 811735b67fcdb5592c3e020792c154f2f454259c)

344
1597.	[func]		fdupont
345
	Added new configuration parameters for handling user lease
346
	time hints to kea-dhcp4: min-valid-lifetime and max-valid-lifetime;
347
	and to kea-dhcp6: min-preferred-lifetime, max-preferred-lifetime,
348 349 350
	min-valid-lifetime, and max-valid-lifetime.
	(Gitlab #295,!325, git 8641448c4106bf28ea32df72e5e0ad520d3946ae)

351 352 353 354 355
1596.	[func]		marcin
	Implemented lease6-bulk-apply command in the lease_cmds hooks
	library.
	(Gitlab #683,!390, git 122473c18b632ddfa22b8a48f6d9399bc18e2598)

356 357
1595.	[func]		fdupont
	Removed unused t1_ and t2_ members from internal lease class.
358
	(Gitlab #567,!357, git 6072db5f4ca6cfa9573152c255f97dd170acbd57)
359

360 361 362 363 364 365 366 367 368 369
1594.	[bug]		fdupont
	Kea no longer uses the .../var/kea directory, for instance pid
	files are now in .../var/run/kea.
	BEWARE this applies to the kea-dhcp6-serverid file so if the
	server will not find the file at its new location it will believe
	it is the first time it is being started and will generate a new
	server DUID.  If that happens, clients will keep trying to get to
	the old server and be confused.
	(Gitlab #538,!334, git 928b9ae57452aae1dff92ad689ba180fa975381c)

370 371 372 373 374 375
1593.	[bug]		marcin
	Fixed a bug in the Kea Control Agent which caused a sporadic crash
	after a tiemout while sending the HTTP response to the controlling
	client.
	(Gitlab #491,!363, git ff204dfe4dd80702f8bb2edf83f8486e019a7e04)

376 377 378
1592.	[build]		tmark
	Files related to YANG and netconf are now only installed
	when the build is configured with --with-syspro.
379
	(Gitlab #584,!364, git 350ae513ed4e8e8e07b159658f88ec7d70b644d3)
380

381 382 383 384
1591.	[doc]		razvan
	Fixed classify and pd-exclude documentation examples.
	(Gitlab #590,!380, git 26b04d2d2d2a88be6abc5879a2fb48e05f0003fd)

385 386 387 388 389 390
1590.	[func]		fdupont
	It is now possible to specify hostname-char-set and
	hostname-char-replacement at the global scope allowing to sanitize
	host names without requiring a dhcp-ddns entry.
	(Gitlab #540,!374, git 0a5979369902070ee0c4faf3b713627455b99489)

391 392 393 394 395
1589.	[bug]		razvan
	Fixed configuring kea with tools/cql_config when using --with-cql
	from source.
	(Gitlab #522,!261, git bf7debc182e094a8b34f1f2df99cf4e9f84c8906)

396 397 398 399 400
1588.	[func]		marcin
	Extended APIs of the DHCPv4 and DHCPv6 configuration backends with
	the management functions for the server tags.
	(Gitlab #641,!352, git 022d2266e71ced7ec79e0717298ca8e88330a7e7)

401
1587.	[bug]		razvan
402 403
	Fixed IPv6 prefix delegation pools retrieval from the MySQL
	Configuration Backend.
404 405
	(Gitlab #637,!349, git 483273734e8608ed68624d7a868f20672c859c95)

406 407
Kea 1.6.0-beta released on May 29, 2019

408
1586.	[build]		razvan, marcin
409 410
	Bumped up libraries version numbers for Kea 1.6.0 beta release.
	(Gitlab #617,!340, git c0434bf882b6ec483120e39f6b70b5a40fe7c711)
411

412
1585.	[bug, func]	marcin
413 414 415
	MySQL Configuration Backend supports DHCPv6 interface-id parameter.
	(Gitlab #628,!341, git 3a07c636ba4c7fceabe59ec597c44a9c8e3367eb)

416 417 418 419 420
1584.	[doc]		marcin
	Documented Kea Configuration Backend in the Kea Administrator
	Reference Manual.
	(Gitlab #71,!314, git 3a65b7a9104f2a988dacf1acc26312b4259e958d)

421 422 423 424 425 426
1583.	[bug]		fdupont, marcin
	Corrected a bug which caused failures to merge a subnet from the
	Configuration Backend into the DHCP server's configuration
	when subnet identifier was modified.
	(Gitlab #492,!252, git c9aba2b5e915c27a8539e6b8f0498179ba896da4)

427 428 429
1582.	[bug]		tmark
	Input values for DHCPv4 and DHCPv6 options of type 'string'
	will now be trimmed of any trailing null bytes (0x0).
430
	(Gitlab #539, !330, git b126558e9e39e9bff517dceac25a00e96d150085)
431

432

433 434 435 436 437 438
1581.	[bug]		marcin
	Corrected a bug whereby the DHCPv6 server did not take into
	account a relay address specified at the shared network level
	during the subnet selection.
	(Gitlab #620,!332, git c2383e404a5227f6b55655c09ccdc03930815500)

Tomek Mrugalski's avatar
Tomek Mrugalski committed
439 440 441 442 443
1580.	[bug]		jonatan.raudsepp
	Compilation fix for Alpine linux in Perfdhcp code. Thanks to
	Jonatan Raudsepp for sending a patch!
	(Gitlab #624,!337, git 19321df9e4490b75ac7b322afec9d231bcb6ffe3)

444
1579.	[bug]		razvan
445 446
	Fixed a bug which caused setting dhcp4o6-port to not function via
	Kea configuration backend.
Tomek Mrugalski's avatar
Tomek Mrugalski committed
447
	(Gitlab #577,!331, git 98c24fe1873795bbc94d426c54c588b05d79406f)
448

449 450 451 452 453 454 455 456
1578.	[func]		fdupont
	The configuration syntax has changed. The Logging scope that used
	to be shared between all servers has been deprecated. Each daemon
	is supposed to define its own loggers using 'loggers' array. The
	old configuration syntax is still accepted, but is considered
	deprecated.  Kea 1.6 will accept it, but that capability will be
	removed in the future. Please migrate your configuration to new
	syntax.
Francis Dupont's avatar
Francis Dupont committed
457
	(Gitlab #208,!196, git 37b8ec6c2c4b64681059f8fad26d112adbb7ee2b)
458

Razvan Becheriu's avatar
Razvan Becheriu committed
459 460
1577.	[func]		razvan
	Implemented host reservations page retrieval for Cassandra.
Razvan Becheriu's avatar
Razvan Becheriu committed
461
	(Gitlab #511,!278, git 152e82b49f5e5abd9d3a2a4825ed8620973f5ef1)
Razvan Becheriu's avatar
Razvan Becheriu committed
462

463 464 465 466
1576.	[doc]		fdupont
	New commands cache-get-by-id and cache-size are now documented.
	(Gitlab #594,!324, git 3753008cc77f71457b5d777560d8e36dc56e7acd)

Razvan Becheriu's avatar
Razvan Becheriu committed
467 468 469
1575.	[bug]		razvan
	Fixed issue with keactrl logging error when trying to stop running
	services.
Razvan Becheriu's avatar
Razvan Becheriu committed
470
	(Gitlab #534,!327, git 6ddee0a93ec4ad692cc385150c159d9e8da5232d)
Razvan Becheriu's avatar
Razvan Becheriu committed
471

Razvan Becheriu's avatar
Razvan Becheriu committed
472 473 474 475
1574.	[bug]		razvan
	Add logging to the MySQL config backend.
	(Gitlab #398,!315, git bc46fd3420afdf60ae8841866e8458f7f6e072e8)

Razvan Becheriu's avatar
Razvan Becheriu committed
476 477 478 479
1573.	[bug]		razvan
	Fixed build sysrepo from sources using sysrepo_config.
	(Gitlab #523,!262, git b86864a9b058a18eaaded2273dc5f40a9ec97c78)

480 481 482
1572.	[bug]		tmark
	Corrected an issue where kea-dhcp6 was incorrectly scheduling DNS
	entry removals when renewing leases with generated FQDNs.
483
	(Gitlab #577,!310, git 362f40bebbdbe083ec6420a43ee1c050edf6bba6)
484

485 486 487 488 489
1571.	[bug]		marcin
	The mysql_cb hooks library registers the MySQL backend for the
	DHCPv6 server.
	(Gitlab #603,!322, git 1ede298fcdc7a9b7018b6e300e2d759e33f73645)

490 491 492 493 494
1570.	[bug]		marcin
	Corrected the bug in the Kea HTTP library which could cause a server
	to assert when system clock was modified during the transaction.
	(Gitlab #599,!320, git 958abe5063b6e602c0070e336524e313c3a87671)

495 496 497 498 499 500 501
1569.	[perf]		fdupont
	Improved performance of the DHCPv4 server in cases when
	match-client-id set disabled by removing unnecessary query to the
	lease database."
	(Gitlab 509,!272, git 2ad41651c1118fe6f7dfb918df0694dd254706f1)

1568.	[bug]		tmark
502 503 504 505 506
	kea-dhcp6 now properly skips sanity checking prefix leases.
	Prior to this it was incorrectly subjecting them to sanity
	checks during memfile lease file reloads and then flagging
	the leases as incorrect.
	(Gitlab #591,!#313, git 12262c5df19673652be73cf1dd62d07527bee95d)
507

508 509 510 511 512 513 514 515
1567.	[bug]		marcin
	Kea HTTP client now always includes Host header in all HTTP requests.
	The Host header is required in all HTTP/1.1 requests. This corrects
	the problem whereby HA peers were unable to communicate via reverse
	HTTP proxy because the proxy was responding with Bad Request status
	when no Host header was included.
	(Gitlab #360,!305, git ddb6dbf4cf63e98d3954c5d46e0311abc4fd6cfc)

516 517
1566.	[func]		tmark
	kea-dhcp6 can now be configured to calculate values to
518
	send to clients for T1 and T2 times. Prior to this
519
	it was only possibly to specify explicit values.
Thomas Markwalder's avatar
Thomas Markwalder committed
520
	(Gitlab #365,!296, git 144b83a84c836d6ff17620b35cb74f830b13c2eb)
521

522 523 524 525 526
1565.	[func]		marcin
	MySQL Config Backend returns server tags associated with the
	configuration elements.
	(Gitlab #579,!309, git 1e2648df047fe964e8ad3e9deb1c85eea32b1219)

Razvan Becheriu's avatar
Razvan Becheriu committed
527
1564.	[func]		fdupont
528 529 530 531 532
	Implemented two new commands to manage subnets:	subnet4-update and
	subnet6-update. They allow an update of existing subnets
	configuration.
	(Gitlab #465,!265, git 71eb9188033f81dab56fc5a847a39f5497398b62)

Razvan Becheriu's avatar
Razvan Becheriu committed
533 534
1563.	[bug]		razvan
	Fixed compilation of google benchmarks.
Razvan Becheriu's avatar
Razvan Becheriu committed
535 536
	(Gitlab #520,!260, git 11aa890d30ecce5518b9f0bad389feea6be78167)

537 538 539 540 541
1562.	[bug]		marcin
	Corrected a bug whereby the DHCP server would trigger a segfault
	upon termination when MySQL configuration backend was in use.
	(Gitlab #571,!306, git 705e7bb6dd27ec90dd2807d4aac0905e3cb13de4)

Thomas Markwalder's avatar
Thomas Markwalder committed
542
1561.	[func]		tmark
543 544
	kea-dhcp6 now automatically deletes configuration elements
	that have been deleted from configuration backends.
545
	(Gitlab #566,!304, git 2e85376f1b57187b822c662144380e04372cffff)
546

547 548 549 550 551
1560.	[bug]		fdupont
	kea-dhcp4 now permits option code values of 0 and 255 for
	options defined in option spaces other than the "dhcp4" space.
	(Gitlab #564,!300, git 7a0a0b84d91893f08c0ee6f236daa05bede65166)

552 553 554 555
1559.	[func]		fdupont
	Added DHCPv6 support to the MySQL Config Backend hook.
	(Gitlab #397,!244, git 980091ecd717e41a61f0d7f6808213e450647d8e)

Thomas Markwalder's avatar
Thomas Markwalder committed
556 557 558 559 560 561
1558.	[func]		tmark
	In addition to a continuous string of digits, hexadecimal
	literals may now be a series of one or more octets separated
	by either colons or spaces.
	(Gitlab #484, git 251efcd5f518a215173845b22555276df0e0ffc6)

562 563 564 565 566 567 568
1557.	[bug]		marcin
	Added support for "reservation-mode" parameter in the shared network
	configuration parsers. It corrects a bug in Configuration Backend
	whereby host reservation mode was not stored in the database when
	specified via remote-network4-set command.
	(Gitlab #517,!301, git e6533001e9d850432254d3cfe995a4f7abcee6e2)

569 570 571 572 573
1556.	[bug]		fdupont
	Corrected parser for option definitions to refuse definitions with
	duplicate code or name.
	(Gitlab #503,!246, git 0befb653277463cd8f88740119fe90a93dbb1466)

574 575 576 577 578
1555.	[bug]		fdupont
	Corrected parsers for option definitions to prevent setting out of
	range option code values.
	(Gitlab #500,!247, git 5c139602d7656df74060fee63461ffba4f290547)

579 580 581 582 583
1554.	[func]		tmark
	kea-dhcp6 now uses globals, option definitions, options,
	share-networks, and subnets from configuration back ends.
	(Gitlab #413,!288, git ff367e273ed8763b354db272c5955a78203d865e)

584 585 586 587 588 589
1553.	[func]		marcin
	DHCPv4 server automatically fetches incremental configuration updates
	from the configuration backends.
	(Gitlab #103,!277, git 319f7709edb40d6c01390a34942b9d4a200b333e)
	(Gitlab #103,!289, git 80087e2d0f90f9ba6623860fed4f4d33ee935ad0)

590 591 592 593 594 595
1552.	[bug]		marcin
	Corrected inheritance of the subnet and shared network specific
	parameters in the MySQL Configuration Backend.
	(Gitlab #552,!295, git 4812e4227a57b29bfa3995e71588233424a3abb1)

1551.	[func]		razvan
Razvan Becheriu's avatar
Razvan Becheriu committed
596 597 598 599
	Added consistency and serial-consistency parameters to CQL
	connection. Fixed all statements.
	(Gitlab #16,!287, git 56a9b6a860899274f9cafe2366a6731a46490e92)

600 601 602 603 604 605
1550.	[func]		marcin
	Implemented inheritance of the DHCPv4 global and shared network
	specific configuration parameters when using configuration
	backend.
	(Gitlab #490,!284, git 2508f942e879ef74b20c07ffdba37d187d6ea932)

606 607 608 609 610
1549.	[func]		tmark
	kea-dhcp6 can now be configured to fetch data from configuration
	back ends. It does not yet utilize the data fetched.
	(Gitlab #104,!290, git d8a25c1ecd17ad24bdce6af19e7a42ce66d4c4f2)

Razvan Becheriu's avatar
Razvan Becheriu committed
611 612 613 614 615
1548.	[func]		razvan
	Added consistency and serial-consistency parameters to CQL
	connection.
	(Gitlab #16,!266, git 5771173d721464d879869fad6456211031858d6c)

616 617 618 619
1547.	[bug, doc]		fdupont
	Option value for sip-ua-cs-domains has been corrected in the
	Kea User's Guide. Thanks to Shawn Routhier from Infoblox for
	reporting this issue.
Razvan Becheriu's avatar
Razvan Becheriu committed
620
	(Gitlab #536,!281, git c128fd9a6b7bffc36ba4fe9a0badebe55441d673)
621

Thomas Markwalder's avatar
Thomas Markwalder committed
622
1546.	[func]		tmark
623
	kea-dhcp4 now uses options fetched from configured backends.
Thomas Markwalder's avatar
Thomas Markwalder committed
624 625
	(Gitlab #401,!254, git 6a33a6f1810f5899ff9c8bc79d0093eebad5c728)

626 627 628 629 630 631
1545.	[func]		fdupont
	A new parameter "data-directory" has been added to DHCPv6.
	If specified, it allows DHCPv6 server to store lease and
	server-id files in non-standard locations.
	(Gitlab #430,!263, git 1f094e18a21124abcaf846cab52c8cba65ca36bc)

632 633 634 635 636 637 638
1544.	[build]		fdupont
	Message compiler is no longer needed during compilation and
	generated message files are part of the distribution. They can be
	regenerated using --enable-generate-messages switch passed to
	configure script.
	(Gitlab #441,!233, git 499b7c36454bcac2553f7bf304d48d7d80f4d4ca)

639 640 641 642 643
1543.	[bug]		fdupont
	Corrected behavior of the remote-subnet4-set so as it is now
	possible to set the subnet using both an ID or a subnet prefix.
	(Gitlab #481,!251, git 9ef651950fde16e258e4b03dd21bbf6dd07d5231)

644 645 646 647 648
1542.	[test]		tmark
	MySQL, PostgreSQL, and CQL unit tests will now attempt to wipe
	the unit test data, rather than the (re)create the schema between
	each test.  This reduces test execution time appreciably.  The
	behavior may be overridden by defining environment variable:
649 650 651 652
	KEA_TEST_DB_WIPE_DATA_ONLY="false".  This will cause the schema
	to be recreated before each test but may dramatically increase
	test execution time.
	(Gitlab #526,!269, git 7e81d7bea27e919b652351880872aae68ad1b209)
653
	(Gitlab #531,!279, git 7f8c4fc535df3019789aea1881b7bb3bd539963a)
654

655 656
1541.	[bug]		fdupont
	Empty Relay Agent Information option is no longer sent in server
657 658 659
	responses. Thanks to Geoffrey Huang from Qingdao Agricultural
	University, and Jiaqi Liu from Qingdao WuKeSong Company
	Communication Limited, Shandong, PRC for reporting this issue.
660 661
	(Gitlab #519,#510,!271, git f3563396d2227e48e96a5d65587406d8d1868db5)

662 663 664 665 666
1540.	[func]		fdupont
	Added a new method deleteSharedNetworkSubnets4 in the config
	backend API to delete all subnets belonging to a shared network.
	(Gitlab #512,!256, git 76991c42d115641c7fdcd0f215137be578fb39a0)

667 668 669 670
1539.	[build]		fdupont
	Obsolete dns++.pc file for pkg-config was removed.
	(Gitlab #498,!274, git 93cd62c99f69cc379c08cd06791db522c1fb0aca)

671 672 673 674 675 676
1538.	[func]		marcin
	DHCP configuration parsers correctly handle unspecified parameters.
	This change was required for the MySQL Config Backend to record
	unspecified parameters as NULL in the database.
	(Gitlab #488,!259, git d3b33058651036be34200f16d2da230267415056)

677 678 679 680 681 682 683
1537.	[func]		godfryd
	Improved handling unix sockets in unit tests. Now by default
	they are created in temporary folder under /tmp folder. This
	fixes the issue with creating sockets with too long path
	in the case when source folder is deeply nested.
	(Gitlab #357,!258, git a45e2f68d7d1848adb0cf755954a3d76c9dff338)

Tomek Mrugalski's avatar
Tomek Mrugalski committed
684 685 686 687 688 689
1536.	[build]		tomek
	Many changes in keactrl, kea-admin, cql_config and sysrepo_config
	scripts. ISC is now using shellcheck to verify portability of
	our scripts.
	(Gitlab #480,!245, git 8818ba0260ba36710b88db6401069f9fe4f3a73a)

690 691 692 693 694
1535.	[func]		godfryd
	Added checking required Vagrant version by Hammer.
	Removed Hammer from EXTRA_DIST.
	(Gitlab #518,!257, git ea0006f6eb948d7d4a034b413c5086cbe483eb75)

695 696 697 698 699 700
1534.	[func]		marcin
	MySQL config backend correctly handles the optional values for
	subnets and shared networks. Also, updated the MySQL config
	backend to store and fetch T1 and T2 percentage settings.
	(Gitlab #489,!250, git 01fc4d5bb4105b90c7025e8ca8131c3c15203848)

Tomek Mrugalski's avatar
Tomek Mrugalski committed
701 702 703 704
1533.	[doc]		sgoldlust,stephen
	Kea User's Guide significantly updated.
	(Gitlab #362,!182, git 4b7a8df6054d18f2c90fe61d93533466f89e6324)

705 706 707 708 709 710 711
1532.	[func]*		marcin
	Renamed OptionalValue C++ object to Optional and modified its
	API. This object is now used to represent optional values in
	subnets and shared networks. This is an internal Kea logic
	change but it may impact existing user hooks libraries.
	(Gitlab #487,!232, git 1c58e0ce9b9fd6fc8864dbfb2335bc5841c78ff3)

712
1531.	[func]		tmark
713
	When fetching configuration data from configured backends,
714 715 716
	kea-dhcp4 will now merge option definitions.
	(Gitlab #400,!243, git 0c5d1417031e49bd0c247889989e187db2dd8f4b)

Tomek Mrugalski's avatar
Tomek Mrugalski committed
717
1530.	[bug]		adwol
Tomek Mrugalski's avatar
Tomek Mrugalski committed
718 719 720 721
	Potential syntax error in keactrl fixed. Thanks to Adam Osuchowski
	from Silesian University of Technology for providing a patch.
	(Gitlab #162,!241, git b1a1137f252432aa956ed6fea3da21c740857333)

722
1529.	[func]		tmark
Tomek Mrugalski's avatar
Tomek Mrugalski committed
723
	When fetching configuration data from configured backends,
724 725 726
	kea-dhcp4 will now merge global parameters.
	(Gitlab #402,!224, git dadaf76f8dd61b8bb3405aa5dc80029f09b2d4ec)

727 728 729 730 731 732
1528.	[func]		fdupont
	Aligned DHCPv4 and DHCPv6 specific tables used by the MySQL Config
	Backend. Extended MySQL schema to implement audit trail for the
	DHCPv6 Config Backend.
	(Gitlab #460,!232,!236, git 57f945f917db522773281c9e95ec8027afae6205)

733 734 735 736 737
1527.	[build]		adwol,fdupont,tomek
	Default Kea installation directory has been changed to
	${prefix}/lib/kea/hooks.
	(Gitlab #161,!240, git cfaf16cf02191bf5b7172cade3f58a626288b5f0)

738 739 740 741 742
1526.	[func]		tmark
	In addition to subnets, when fetching configuration data from
	configured backends, kea-dhcp4 will now merge shared-networks.
	(Gitlab #399,!215, git 6b57b6b5d678c91b6b380fbe08beafd06b0e7b1d)

743 744 745 746
1525.	[func]		fdupont
	Defined API for the DHCPv6 Configuration Backend.
	(Gitlab #458,!231, git f16e03d9bf1c10903c16b2614223b10880f73d50)

747 748 749 750 751 752 753
1524.	[func]		tomek
	Support for vendor options improved in DHCPv4 and DHCPv6. Kea is now
	able to send back vendor suboptions, even if the client packet didn't
	include DHCPv4 vivso (125) or DHCPv6 vendor (17) option. Usage of client
	classification in such a case is required, though.
	(Gitlab #464,!238, git 5c79da9358862657a631a9a8fc2ce79ae26b762e)

754 755 756 757 758 759
1523.	[bug]		fdupont
	IfaceMgr::send method now returns proper status that matches
	its documentation. Thanks to Matthias Stoeckl from Secunet
	for reporting this issue.
	(Gitlab #417,!221, git 4be58523f38097cea81ea06161aead58e00aeb2a)

760 761 762 763 764 765 766 767
1522.	[bug]		marcin
	The "unspecified" DHCP timer values (e.g. renew-timer) are
	represented as NULL values in the database. This corrects
	a bug whereby the unspecified timers defaulted to 0 which
	prevented the DHCP server from calculating the timers to
	be sent to the client. Instead a value of 0 was sent.
	(Gitlab #451,!227, git 5ec9a55528fbcfff4e0c808f9a745b9fd3a5dfae)

768 769 770 771 772 773
1521.	[func]		marcin
	Removed subsecond precision for the timestamps in MySQL config
	backend. It caused issues on systems with MySQL version prior
	to 5.6.4 which don't support subsecond timestamp values.
	(Gitlab #444,!229, git 71200e98f5a862908240a0d2e269b5da23290af9)

774 775 776 777 778
1520.	[build]		fdupont
	Made perfdhcp build optional and off by default: to build it
	please use the new --enable-perfdhcp configure flag.
	(Gitlab #340,!220, git b2d9a5559c348e82d6730809ccf1429097a9872c)

779 780 781 782 783 784
1519.	[bug]		Brent Bloxam
	A bug in kea-admin that always assumed the PostgreSQL database is
	always local has been fixed. Thank you to Brent Bloxam from
	Beanfield Metroconnect for submiting a patch!
	(Gitlab #423,!216, git d14e2f34c7d544aeb5e1e219f305fac9ab18c498)

785 786 787 788 789 790 791 792
1518.	[func]		marcin
	Extended MySQL schema to include the types of the global DHCP
	parameters in the database. The Kea servers will use this
	information to cast the values fetched from the database into
	their actual types. The supported types are: string, integer,
	boolean and real.
	(Gitlab #429,!217, git edd745c507ce5a888461df1489311de0c22cd312)

793 794 795
1517.	[func]		tmark
	kea-dhcp4 will now connect to and fetch configuration data from
	configured backends. At this point, only fetched subnet data is
796
	merged and used.
797 798
	(Gitlab #101,!202, git c572f8aea94349ff5fb4afee13a88ba811cc6459)

799 800 801 802 803 804 805
1516.	[func]		marcin
	Implemented audit trail for MySQL Configuration Backend. It allows
	for tracking incremental changes in the servers' configurations.
	Both mysql_cb hooks library and the MySQL schema have been updated
	to facilitate this feature.
	(Gitlab #396,!205, git 6d40db07ef641eef29405c42e718979e7a1e8675)

806 807
1515.	[func]		fdupont
	Changes required for new host commands that retrieve all host
808
	reservations from a given subnet (reservation-get-all,
809
	reservation-get-page) added. Also added documentation.
810 811
	(Gitlab #313,!199, git 991b2fadcb9e8171a78e27f95e4bfba6393d7824)

812 813 814 815 816 817
1514.	[func]		fdupont
	Control Agent and DHCP-DDNS daemons now support config-reload
	command, that instruct a given server to load again its
	configuration from a file on disk.
	(Gitlab #375,!192, git 93648a3a4918225e2c4413ae220fccc59eaea99a)

818 819 820 821 822
1513.	[func]		godfryd
	Fixed perfdhcp that now it keeps requested rate during performance
	testing. Previously it was always about 20% lower than expected.
	(Gitlab #283,!135, git 329f54bb151ec35888e9a8070cc5fa368d6f1f5e)

823 824 825 826 827 828
1512.   [func]      tmark
	kea-dhcp4 will now ignore empty Host Name (option code 12) values
	received from clients.  While an empty value for this option is
	not RFC-compliant, some clients do send them.  Prior to the this
	server would drop the entire packet.  In the spirit of being liberal
	in what we accept, the server will now simply omit the option.
829
	(Gitlab #40,!203, git f41bd35c3e7a3bdc1f31c5602fd91d5c84c60163)
830

831 832 833
1511.	[func]		fdupont
	Obsolete experimental secure DHCPv6 options (701-704) removed.
	(Gitlab #386,!196, git 1114527652615fb730e323946cafaf1c7ca72b42)
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 886 887 888 889 890 891 892 893 894

1510.	[bug]		fdupont
	DHCPv4 and DHCPv6 no longer crash if badly broken configuration
	is received.
	(Gitlab #381,!193, git f45fe7b7e3916d36d017b4ec5b50588fbf517d86)

1509.	[func]		tmark
	kea-dhcp4 can now be configured to calculate values to
	send to clients for for T1 and T2 (options 58 and 59
	repsectively).  Prior to this it was only possibly to
	specify explicit values.
	(Gitlab #365,!194, git 67944844a40436cd69e0e5b4962f5c9cba89ef6f)

1508.	[func]		fdupont
	Implemented the management API using a control socket for the
	DHCP DDNS (D2) server. D2 now supports the following commands:
	build-report, config-get, config-set, config-test, config-write,
	list-commands, shutdown and version-get. Also, extended Control
	Agent (CA) to support one additional command: config-set.
	(Gitlab #30,!183, git ab27550cec365f42289eb5fa1bc39f33f01b19c2)

1507.	[func]		tmark
	kea-dhcp4 now ensures that the message type option (53) is
	the first option in outbound DHCPv4 packets.  This was done
	to accommodate non-compliant clients that require the option
	to be first.
	(Gitlab #363,!177, git 34f40035bf7a7849083138cacee440a9f0991d67)

Kea 1.5.0 released on Dec 14, 2018

1506.	[build]		marcin
	Bumped up libraries version numbers for Kea 1.5.0 final release.
	(Gitlab #338,!168, git 551c5d704804d0ab2ea276e95dbae66b9d0f5561)

1505.	[bug]		marcin
	Corrected an issue in the lease_cmds hooks library which caused
	errors while adding leases with high lease expiration time value
	to the database. Many thanks to Shawn Routhier from Infoblox for
	finding and reporting the issue.
	(Gitlab #337,!167, git 3fcdc28814310ac93b3903897e952b3b60cfa0bc)

1504.	[bug]		fdupont
	Created separate control buffers for reception and transmission
	over UDP sockets.
	(Gitlab #327,!166, git cbb573858d7b1a4d2ba2316db457aa55ab037fc3)

1503.	[doc]		fdupont, marcin
	Updated "JSON Configuration" section of the Kea User's Guide.
	(Gitlab #198,!160, git 94c66b3c071d7bbf4b247bf57cd75ddcc343177e)

1502.	[bug]		fdupont
	Unicode parser for JSON structures has been improved. It now
	handles escape sequences better.
	(Gitlab #45,!40, git ba9b18cf2af66f8fb80e3dbbe13da11c99764588)

1501.	[func]		fdupont
	keactrl now supports kea-netconf. The new daemon is disabled by
	default. Please edit keactrl.conf (netconf=yes) if you want to
	start using it.
	(Gitlab #186,!163, git 8f7d556456891e7c675082f7e6cc88da71a92fee)

Michal Nowikowski's avatar
Michal Nowikowski committed
895
1500.	[func, doc]	tmark
896 897 898 899 900 901 902 903 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 962 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
	Streamlined the isc::dhcp::PacketQueue interface and
	added a section on Congestion Handling to the developer's guide.
	(Gitlab #278,!162, git 0ce615f5da993ac90f675c5315ba7cb5c2ef3e1c)

1499.	[func]		tmark
	For Kea 1.5.0, congestion handling has been disabled by
	default.
	(Gitlab #277,!164, git 8d87c46a3cc7b7be4dd5f751b48449e92ee62d84)

1498.	[bug]		marcin
	Corrected behavior of the DHCP servers with respect to the
	"reconnect-wait-time" parameter setting. This parameter is
	specified in milliseconds, but the servers used to interpret
	it as specified in seconds.
	(Gitlab #173,!154, git 377f49e84ad6ebc91cbeac4116d24a15571c522d)

1497.	[func]		fdupont
	All YANG modules now have a revision specified. When starting,
	kea-netconf daemon will now check if the required modules are
	installed and have a proper revision. This should help spotting
	issues when migrating from older YANG modules.
	(Gitlab #204,!121, git 9e772e1472e073ee85924cfc706cb57a5e70a0b1)

1496.	[doc]		marcin
	Updated Kea documentation to reference RFC 8415, which is the
	new DHCPv6 specification. It obsoletes a number of RFCs:
	RFC 3315 (previous DHCPv6 specification), RFC 3633, RFC 3736,
	RFC 4242, RFC 7083, RFC 7283 and RFC 7550. Kea documentation
	now refers to RFC 8415 where appropriate instead of obsoleted
	RFCs.
	(Gitlab #288,!158, git 974b033a8de7a8e671156c33efeb13d4ac847c96)

1495.	[bug]		marcin
	Corrected an issue in the Memfile lease backend which caused
	errors while reading leases with very long lifetimes. Many
	thanks to Shawn Routhier from Infoblox for finding and reporting
	the issue.
	(Gitlab #303,!151, git ab92ab6fcd414f1efc7c5de6a641274da7c04e92)

1494.	[bug]		marcin
	Kea servers reject commands with unsupported parameters.
	(Gitlab #253,!147, git 7fc55489887c0e8f32db5c1fe9f46fa1cc2a4407)

1493.	[bug]		marcin
	Names carried in DHCPv4 Client FQDN option, Hostname option and
	stored in the lease database are case insensitive.
	(Gitlab #86,!152, git d9e23e2a6a3114b1c87de9c881ef10cdb1e00c61)

Kea 1.5.0-beta2 released on Nov 30, 2018

1492.	[doc]		fdupont
	Added a step by step netconf operation example in the
	Kea Administrators's Guide.
	(Gitlab #195,!131, git 994a826caf3c1a9f5f84d8b703a3b202120e91b6)

1491.	[build]		tomek
	coroutine.hpp from Boost 1.68 has been added the Kea source.
	It is used only if the Boost library provided by the system
	is very old and does not include that header. This effectively
	reverts the change done in Kea 1.4.0.
	(Gitlab #293,!45, git df0f507b8b750c8dff1f537cad5b5748b7841852)

1491.	[build]		marcin
	Bumped up libraries version numbers for Kea 1.5.0 beta2 release.
	Also, generated logger message files are now installed with Kea.
	(Gitlab #62,!144, git 7dc8d73a58504fd81a49b1c54651388d53d98d53)

1490.	[bug]		marcin
	Applied fixes in Cassandra Host Manager which prevents Kea
	crash during an attempt to delete non-existing reservation.
	In particular, this crash was observed as a result of sending
	reservation-del command over RESTful API.
	(Gitlab #27,!138, git 8666ed4754ffd27f3aa46a2cf3e4b161a1d877ee)

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

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

1487.	[doc]		marcin
	Corrected broken links and various typos in Kea documentation
	which had been identified during Kea 1.5.0 beta1 release
	process.
	(Gitlab #263,!137, git 79a224288efa1e1c51b0f2ec11ff646563b306e1)

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

1485.	[func]		fdupont
	Simplified and updated Kea YANG models. For instance the list of
	loggers was moved from the removed logging container to global
	config parameters.
	(Gitlab #204, !97, git 1de6c2987ec9067b7c1baa577c6dcd6ddd1b30fb)

1484.	[bug]		marcin
	Resolved issues with MySQL backend failing to insert a lease
	to the MariaDB database on OpenSUSE. This fix may also
	improve stability of the MySQL backend on other systems running
	MariaDB.
	(Gitlab #53,!125, git 038eddbc7b904289e4b74b5ef2406cb57f79a646)

1483.	[func]		tmark
	Use of congestion handling is now optional via the 'enable-queue'
	flag added to 'dhcp-queue-control'.  It is disabled by default.
	When disabled Kea's DHCPv4 and DHCPv6 servers will consume packets
	directly from interface sockets in the main thread (i.e. employs
	pre Kea 1.5 technique).
	(Gitlab #260, !120, git 9e304fae48d0d0658fd39a21aba9da528b4cc6f4)

1482.	[func]		fdupont
	The configuration parameter "reservation-mode" can be specified
	at global (new), subnet and shared network levels.
	(Gitlab #268,!126, git c72d381c39868308c7d11c7d4def3bdae0a0e04e)

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

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

1479.	[build]		fdupont
	Support for sysrepo 0.7.6 (and libyang 0.16-r2) was added.
	Previous versions of sysrepo (and libyang) are still supported.
	(Gitlab #176, !107, git 4304a10b21708afb2a7599c77bc7508a600333cb)

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

Kea 1.5.0-beta1 released on Nov 9, 2018

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

1476.	[func]		tmark
	Added initial implementation of congestion handling to kea-dhcp4
	and kea-dhcpt6. This adds a new top level element to the server
	configurations, "dhcp-queue-control".  Both servers will now
	read client packets from interface sockets in a separate thread
	queueing them for server level processing.  For Kea 1.5-Beta
	this feature is always on.
	(Gitlab #42, !103, git 09d5ffebc8f9bfab2ab99c384eec9c3a3c915f39)

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

1474.	[doc]		godfryd
	Updated list of supported operating systems.
	(Gitlab #205, !109, git 73253af554cf48434798282f8440a99b1494fd04)

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

1472.	[bug]		marcin
	Timeout is now reported by the HTTP client when connecting to the server
	takes too long. This eliminates HTTP client hangs when firewall is
	misconfigured and causes connection to never be established. This issue
	was found during Kea High Availability testing.
	(Gitlab #26,!106, git 9724823f160af0ef5e8ccdf779087ff08a04457a)

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

1470.	[func]		marcin
	Improved lease database synchronization mechanisms in High
	Availability hooks library. The new implementation uses
	lease4-get-page and lease6-get-page commands to fetch leases
	from the partner server. This prevents timeouts occurring
	during long synchronizations as well as decreases CPU and
	memory consumption on the HA enabled servers during lease
	database synchronization.
	(Gitlab #78,!85, git c54ea216463dcc6df693c96c4a5f82c0fbec2ff6)

1469.	[doc]		marcin, fdupont
	Documented new class_cmds premium library which is used
	to modify client class configuration of the DHCP servers.
	(Gitlab #64,!41, git c1c1d0b71496d81b330a8c1eb95996bbf634ada0)

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

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

1466.	[func]		fdupont
	Added random number generation in services provided by
	the crypto library (and ultimately by the crypto backend,
	i.e. Botan or OpenSSL).
	(Gitlab #29,!9, git 609ddc69613dc828b3d93673d61a2c259c3944aa)

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

1464.	[build]		marcin
	Exclude mysql_cb hooks library from the Kea 1.5.0 release. This
	library will be added back in Kea 1.6.0 release.
	(Gitlab #93,!105, git 49572aa300ea2b25712d7e8cea0dd0df34faf7ee)

1463.	[bug]		tmark
	Added missing parsing logic for the reservation-mode value,
	"global", to kea-dhcp6.  The parsing logic was somehow omitted
	and caused kea-dhcp6 configuration parsing to fail on values
	of "global".
	(Gitlab #129,!55, git 00352d701f61274f0993b468a413af6c5623af3d)

1462.	[build,doc]	tomek,sgoldlust,vicky
	Kea REST API is now documented. Thanks to Suzanne Goldlust for
	providing descriptions for great majority of commands and to
	Vicky Risk for review and corrections. Also, docgen, a new
	tool for documentation generation has been written.
	(Gitlab #10,!3, git 5d2e4d6fcc182a19eafa895abc35b1aee599fd23)

1461.	[doc]		marcin, fdupont
	Added new sample configurations providing all parameters at
	the exception of host reservations for DHCPv4 and DHCPv6 servers
	for testing of configuration managers.
	(Gitlab #130,!89, git 4bc7e0dbe4804f63c51d100a8f724327e3d3a936)

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

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

1458.	[func]		fdupont
	Control sockets for kea-netconf has been implemented. The code is
	not functional yet, but the capability of the kea-netconf daemon
	to communicate with CA, D2, DHCPv4 and DHCPv6 daemons is there.
	(Gitlab #153,!60, git 11486e255aef704114645f8e7c5fee9c3abf9e76)

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

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

1455.	[func]		fdupont
	Implemented hexstring(value, separator) operator that can be used
	in any expression, such as client classification, flex-id or
	RADIUS attribute.
	(Gitlab #67,!34, git 004d9a29db09b1c203c52e23585bd275c52095fa)

1454.	[func]		fdupont
	Unused interface-id and rapid-commit parameters removed from
	DHCPv4 parser.
	(Gitlab #116,!24, git 7e47292f10acb9179241c991d3591e9bfa47c37d)

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

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

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

1450.	[build]		tomek
	Dependencies improved. libkea-process no longer requires libkea-dhcpsrv.
	As a result, D2 and CA are no longer linked with libkea-dhcpsrv.
	(Gitlab #25,!14, git cdb3a6f2d98a303b80433df7e0d5698c77897b7f)

1449.	[func]		tmark
	Modified Kea 1.5.0 database upgrade scripts to convert
	subnet ID values of 0, to either null (MySQL and Postgres)
	or 0xFFFFFFFF (CQL), in existing host reservations. This
	is done to accommodate support for global host reservations.
	(Gitlab #15,!11, git 25b54fd9ced4c6d3a2c8ceff9cc7c866b56da2c1)

1448.	[build]*	marcin
	Created new Kea libraries: libkea-database, libkea-mysql,
	libkea-pgsql and libkea-cql. Some database specific code was
	moved from libkea-dhcpsrv to those new libraries.
	(Gitlab #92,!13, git 5feb6b8a53675c27715e9e8fbeb312bd6eb17547)

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

1446.	[func]		tmark
	kea-dhcp6 now supports global host reservations and a new
	global reservations-mode .  Prior to this reservations could
	only be specified per subnet.  This is supported by by Memfile,
	MySQL, PostgreSQL, and Cassandra host data sources.
	(Gitlab #13,!6, git# a5484c4d8852662be7da1e6e8b1d4c1a19e6502f)

1445.	[func]		tomek
	Implemented initial skeleton version of the kea-netconf tool.
	Currently it can't do anything, but the build system is now
	capable of detecting sysrepo (use --with-sysrepo in configure),
	there's a very basic documentation and unit-tests.
	(gitlab !1, git 89ff2093811d65220d99dc2a6516375c4ec953dc)

1444.	[bug]		tomek
	keactrl version tests now work properly on macOS.
	(Gitlab !5, git a8c385e1507ffd101f65b445783b0355b01decce)

1443.	[func]		tmark
	kea-dhcp4 now supports global host reservations and a new
	global reservations-mode .  Prior to this reservations could
	only be specified per subnet.  This is supported by by Memfile,
	MySQL,PostgreSQL,and Cassandra host data sources.
	(Trac #5705, git f991cffd06add941f8bf2937232f51d597623e21)

1442.   [func]		MayyaSunil
	Implemented new queries for IPv6 leases by DUID.
	(Github #99, git c20b5248da1283e596e35ad057ae242f4d613965)

1441.	[func]		marcin
	Added log message indicating that the control socket has been
	opened by a server.
	(Gitlab #8, git 3dbaf4917bea112466f1ee5726870c545950e114)

1440.	[func]		tmark
	The internal representation of an "unused" subnet-id has been
	changed from zero to 0xFFFFFFFF. The largest, valid value for
	a subnet's ID is now 0xFFFFFFFE.  Three new constants have been
	added so subnet_id.h:

	isc::dhcp::SUBNET_ID_GLOBAL
	isc::dhcp::SUBNET_ID_UNUSED
	isc::dhcp::SUBNET_ID_MAX

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

1439.	[func]		tomek
	keactrl and kea-admin tools can now report version.
	(Gitlab #9, git 4a00ab5d4b9ac9193fc5f924149aeaca7a88e2ef)

1438.	[func]		tomek
	subnet-id parameter is now optional in lease4-add, lease6-add,
	lease4-update and lease6-update commands. If not specified or
	its value is zero, Kea will attempt to figure out the correct
	value of subnet-id. If there is no matching subnet configured,
	the lease will be rejected.
	(Trac #5683, git a8ce7a78b5b294e6bce02de887552a1e4593db4e)

1437.	[func]		tomek
	DHCPv4 and DHCPv6 servers are now able to sanity check and
	possibly correct some inconsistencies in leases when loaded from
	disk (memfile). A new parameter to govern this behavior has been
	added.
	(Trac #5682, git 609bfa0a67caa91fac6834eb39260acfd19e3be4)

1436.   [func]      tmark
	Added two new configuration parameters to kea-dhcp4 and kea-dhcp6
	DhcpDdns sections: 'hostname-char-set' and 'hostname-char-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)

1435.	[func]		marcin
	Implemented ha-continue command in HA hooks library and
	updated the Kea User's Guide with the information how to
	pause and resume the HA state machine.
	(Trac #5675, git 98a9bd4f6766ff2f53681d84d55c56988be4d501)

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

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

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

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

Tomek Mrugalski's avatar
Tomek Mrugalski committed
1317
1430.	[func]		fdupont
1318
	Lease objects and lease backends are now able to store user
Tomek Mrugalski's avatar
Tomek Mrugalski committed
1319 1320
	context. User context can store an arbitrary data as long
	as it is in JSON format. Database schemas updated.
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
	(Trac #5584, git b0b7a198b99fd417466708c80cb7cc2162ae480c)

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

1428.	[bug]		marcin
	Corrected behavior of the standby server in the HA hot-standby
	mode, which failed to monitor delays in responses to the
	DHCP queries sent to the primary server after the primary
	server became unavailable. This resulted in transition of
	the standby server to the partner-down state immediately
	after detecting interruption in communication with the
	primary over the control channel.
	(Trac #5654, git 7a83f05fe40fb1b6812b055e2d6d633d9e00160c)

Kea 1.4.0 released on June 15, 2018

1427.	[bug]		marcin
	Resolved multiple problems causing slow synchronization of
	leases in the HA hooks library, including adjusting
	timeouts in control channel and improving performance of
	responses sent by the Command Manager to Control Agent.
	Also, introduced 'sync-timeout' configuration parameter
	into HA hooks library to control lease database
	synchronization timeout.
	(Trac #5649, git cbc29128863916a13364749bf681586aea2aa51e)

1426.	[func]		fdupont
	Added KNOWN and UNKNOWN built-in client classes: after host lookup
	if a matching host entry is found the incoming packet is added to
	the KNOWN class, if none is found to the UNKNOWN class. Then
	expressions depending directly or indirectly on these classes are
	evaluated. Note these classes may be used to select a pool but
	they may not to select a subnet.
	(Trac #5549, git 6a856ed9722b918a65dca15ff44314e28897784e)

1425.	[bug]		marcin
	Improved performance of the DHCP server running in High
	Availability configuration by optimizing the management of
	CalloutHandle objects passed to the callouts.
	(Trac #5647, git eea88d5c8f4d8efb6c5bfdfbf4e070a90069db5d)

1424.	[doc]		marcin
	List of hooks libraries provided by ISC includes an
	information which Kea servers the libraries can be attached
	to. The detailed description of each supported hooks library
	also contains this information.
	(Trac #5613, git 9d6f8de3d988c42c413a7d628e31854e9c80d8c9)

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

1422.	[build]		fdupont
	Commented out BOOST_ASIO_DISABLE_THREADS in configure to reflect
	the current use of threads by boost ASIO in Kea.
	(Trac #5615, git f3fc8b1a4257a42a97aaf88a36287bbe33d1f65b)

1421.	[build]		marcin
	Moved libdhcp_ha (High Availability) hooks library from
	premium to main Kea repository and changed its license to
	MPLv2.0. Future ChangeLog entries for this library will be
	tracked in the Kea ChangeLog file.
	(Trac #5645, git 19b2553d4869bdd52b63b6f7969052d8a724f78d)

1420.	[doc]		marcin
	Updated list of loggers in the Kea Administrator's Manual.
	The updated list contains all loggers, including those
	from supported hooks libraries.
	(Trac #5622, git bd94afc0af7183452c94f3b5768c6138f79d3b60)

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

1418.	[bug]		marcin
	Corrected bug in the allocation engine which caused occasional
	lease allocation failures when a loaded hooks library set the
	callout status to non default value, e.g. "skip" rather than
	"continue". In such cases, the server reported that it failed
	to allocate a lease "after 0 attempts".
	(Trac #5638, git f2e9b686ae52e1b06f660e1b522588b1440e2620)

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

1416.	[bug]		fdupont
	Added support of recent Botan 2.x crypto backend.
	Note that Botan 1.[9-11] is still supported but not recommended.
	(Trac #5382, git 22651b1935a2397edfbddb9b8873c353c090f18e)

1415.	[bug]		tmark
	kea-dhcp4 and kea-dhcp6 now validate the schema version
	of lease and host 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)

1414.	[bug]		tmark
	kea-dhcp4 parsing now treats renew-timer and rebind-timer
	as optional with no defaults. The logic for sending them
	to the client was changed to: send rebind-timer only
	when it is less than the lease lifetime; and send renew-timer
	only when it less than either the rebind-timer if specified,
	or lease lifetime in the absence of rebind-timer.
	(Trac #5596, git 38426e16ec04a786e35a65d27cbcb7dbabfe79b5)

1413.	[func]		fdupont
	Removed getAll, get4 and get6 methods using both hardware address
	and DUID from host backend (aka host data source) APIs.
	This is an *incompatible* change.
	(Trac #5563, git db4c34b069f114f93d9f29cdeb02b536a0fbc982)

1412.	[func]*		marcin
	The client classes used by the High Availability hook library
	use upper case "HA_" prefix and they are now built-in classes.
	This means that those classes do not need to be	declared in the
	server configuration.
	(Trac #5632, git 2d590bfd7d1b0eca377eb99eef83a3083a1d7399)

1411.	[bug]		fdupont
	Fixed warnings about lambda's not using captured variables.
	(Trac #5591, git f88a505823d39faec7dc5f647f40e6454e5dfc74)

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

1409.	[doc]		marcin
	Documented in the User's Guide how Kea HA service behaves
	when the clock skew between active servers becomes too
	high.
	(Trac #5603, git ffaff4d2a03600bb4f81d335b49a840e31d03c8c)

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

1407.	[bug]		tmark
	Corrected an issue where the destruction of loggers
	prior to the destruction of the TimerMgr singleton
	caused unit tests to segfault.
	(Trac #5626, git 9f4e3f9cd8acf8e7d1d3e714d8f904754377c00f)

1406.	[func]		fdupont
	Added pkg-config alternative to configure --with-cql path so
	now you can use either pkg-config or cql_config.
	(Trac #5488, git 55498ca3455517132533a39002ebfc05d26c7e38)

1405.	[bug]		tmark
	Corrected missing "override" warning in cql_lease_mgr.h
	(Trac #5625, git df3068ba0e520df4d96dd38e2de679beb99f2e23)

Kea 1.4.0-beta released on May 18, 2018

1404.	[doc]		tomek
	Hooks package installation 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
	library, being developed for Kea 1.4 under #5589.
	(Trac #5586, git a070c327668c10de3b28f5e249f91d6d16a97ff5)

1394.	[doc]		marcin
	Documented High Availability hook library in the Kea
	Administrator Reference Manual.
	(Trac #5478, git 3db34400d0331e3d4fc208529eeb18f6abfb6562)

1393.	[build]		marcin
	Install new header files introduced since Kea 1.3 release.
	Also, bumped up libraries version numbers for Kea 1.4 beta
	release.
	(Trac #5590, git 64351229a30832735c5a81ac17ca1521aa2483b2)

1392.	[func]		fdupont, marcin
	Implemented new hook point "leases6_committed" in the DHCPv6
	server. It supports new next step status NEXT_STEP_PARK
	which causes the server	to "park" the client's DHCP packet.
	(Trac #5458, git 04d6fb0a0ac5b9dff2a02764cc9265f9a2a05ae8)

1391.	[func]		tmark
	For both kea-dhcp4 and kea-dhcp6, the "ip-address" parameter
	in the "relay" element for both subnets and shared networks,
	has been replaced with a list form, "ip-addresses".  Configuration
	parsing will continue to honor the singular form, but it should
	be considered deprecated.  In addition, an omission in 1.3 that
	caused shared network parsing to ignore the "relay' element has
	been corrected.
	(Trac #5535, git f4601abdb657122a8ba5d7784eded773ec01d171)

1390.	[doc]		tomek
	User's Guide documentation for RADIUS and Host Cache written.
	(Trac #5538, git c73337a8ec691874b8ac0b2efcd8708f1a79acbb)

1389.	[func]		fdupont
	dhcp6_srv_configured hook point added.
	(Trac #5530, git 3bb521f6ec8b4e2a1e57ec84b17ee12b0ccf0f83)

1388.	[build]		tmark
	Modified configure script to support --with-dhcp-mysql and
	--with-dhcp-pgsql but emit a deprecation warning message
	encouraging their replacement with --with-mysql and --with-pgsql.
	(Trac #5567, git 53761069761ddde44636baa30185322debfe4186)

1387.	[func]		tmark
	perfdhcp no longer requires -r (rate) be specified in order to use
	-D<max-drop>, -n<num-request>, -p<test-period> and -t<report> options.
	(Trac #5115, git c3ba89c56882cac1080899ad201f0c02056eef38)

1386.	[func]		fdupont
	Extended comment / user-context support to DHCP-DDNS and
	Control Agent configuration syntax.
	(Trac #5495, git fe79959e3bc3c46ccb89661cb27696671a8508b8)

1385.	[func]		tomek
	lease4-wipe and lease6-wipe are now able to wipe all leases
	from all configured subnets if subnet-id specified is 0
	or the subnet-id parameter is omitted.
	(Trac #5543, git ecaf777dff4b8d1100c2a97c4fb1cf8f8e63566d)

1384.	[func]		fdupont
	Significant improvements to client classification introduced.
	The order of classes evaluation has changed from alphabetical
	to the order of appearance. New 'member' expression allows
	combination of classes. The new 'only-if-required' and
	'require-client-class' parameters controlling the scope of
	a class have been introduced.
	(Trac #5474, git 3f2d93f0731fc1858b20e831a7d1f090ea8841fe)

1383.	[func]		tmark
	kea-dhcp4 and kea-dhcp6 can now be configured to attempt to
	reconnect to MySQL backends if connectivity is lost.
	(Trac #5556, git b31da6f9a3545a2cac228eb17c59d72b6b4823f2)

1382.	[func]		fdupont
	Added support for generalized UDP Source Port for DHCP Relay
	(RFC 8357) for DHCPv4, DHCPv6 and DHCPv4-over-DHCPv6. Note
	this required changes to the inter-server protocol used by
	our 4o6 implementation, and is therefore not backward
	compatible.
	(Trac #5404, git 2a6049947ad4caaaa697dba8cb7669a09264f0bc)

1381.	[bug]		marcin
	Corrected a bug in the libkea-asiolink library which caused
	the DHCP servers to crash while processing commands over
	the unix domain socket on some systems.
	(Trac #5580, git cb5276a24436a9e9ce4d1ab4630e7193a4c2d803)

1380.	[func]		fdupont
	Implemented lease6-get-all command in lease_cmds hooks library.
	(Trac #5469, git a0bb7188df47a0f8020ff57739c5a6ab5f7e9828)

1379.	[func, bug]	marcin
	The network_state argument is provided to the callouts in
	the dhcp4_srv_configured hook point. Also, fixed a couple
	of minor bugs in the HTTP client classes.
	(Trac #5470, git 93e2b2198c3163afb81d51fdf5ec547602a12415)

1378.	[doc]		tomek
	New parameter subnets-action for network4-del and network6-del
	commands is now documented.
	(Trac #5441, git 8b2ffabb3d1ba709f319df2b34d0804ee824446b)

1377.	[doc]		tomek
	New parameters for Cassandra are now documented.
	(Trac #5484, git 56e7026ea2bfab99dbfa1a047dc920ec2f743540)

1376.	[func]		razvan
	Cassandra backend improvements: get all IPv4 leases, delete
	hosts, ability to store fixed DHCPv4 fields (next-server,
	server-hostname, boot-file-name) and user contexts in host
	reservations. Also, the ability to store MAC address details
Tomek Mrugalski's avatar
Tomek Mrugalski committed
1670
	in DHCPv6 leases on PostgreSQL has been improved.
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
	(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
Tomek Mrugalski's avatar
Tomek Mrugalski committed
1791
	159 has its definition tweaked slightly.
1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 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 1877 1878 1879 1880 1881 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 1937 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 2038 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 2232 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
	(Trac #5514, git 6a4aac2b3bfffe41460db6d1cd3c55b1430aa50c)

1354.	[build]		andrei
	Support for coverage tests has been improved.
	(Github #43, git 1949bb3abf71fb3997044d239eb683095166c39f)

1353.	[build,bug]	andrei, razvan
	Various small changes and bugfixes. Thank you to Andrei Pavel
	and Razvan Becheriu for submitting their patch.
	(Github #54, git 2efa7494228a1797dff8d9d74107a452c61e2386)

1352.	[func]		fdupont
	It is now possible to specify client classification restrictions
	on per pool basis. This capability will be useful for grouping
	certain types of devices into specific address and/or prefix
	pools.
	(Trac #5425, git 5f3a89d6e32e90cd9cbb2347c7b2208c3e1561e0)

1351.	[build]		andreipavelQ
	Compilation parameters unified (every file now includes config.h,
	several makefile tweaks).
	(Github #38, git 7206aa79c57be7466c4ab3dd558663c6c4f858b7)

1350.	[func]		fdupont
	Several hook points now support next step status DROP. This allows
	more flexibility with dropping packets from within hooks.
	(Trac #5443, git ff22a906915a34df327174f550f69a396a05bb2c)

1349.	[func]		marcin
	Implemented HTTP client classes in libkea-http.
	(Trac #5451, git 94267e252b372650e4235389251b49d6f5501322)

1348.	[build]		fdupont
	Modified configure.ac to include premium module m4 macros, if the
	module is present. Prior to this it relied on premium having it's
	own configure.ac script.
	(Trac #5400, git 38c4f2fb8fc8c8874a0e4671cc295a049acf675f)

1347.	[build]		fdupont
	Added support of boost 1.66.0 ASIO.
	(Github #60/Trac #5496, git bc2947de4296bd99b74e50e65f272c7ad5312429)

1346.	[func]		marcin
	Implemented lease4-get-all command in lease_cmds hooks library.
	(Trac #5468, git a378ec28489e98df64830d1f26c3bebd20e256b2)

1345.	[func]		marcin
	Implemented "force-create" parameter for lease4-update and
	lease6-update commands.
	(Trac #5472, git 369245e4c5308a701fd483123f2cb2fd7d3d0966)

1344.	[func]		andrei, razvan
	Support for host reservations stored in Cassandra added. The core
	functionality was added. There are some limitations (delete,
	client classes, fixed DHCPv4 fields, statistics recount, etc.)
	These will be addressed in upcoming tickets.
	(Github #37, git e37606fd2d0c02234a55f7445c52a12b2e7a82ec)

1343.	[func]		fdupont
	User-context and comments are now supported in many new scopes:
	global, shared-network, subnet, pool, host reservation, option,
	option definition, client-class, control-socket, dhcp-ddns,
	interfaces, loggers, and for DHCPv6 pd-pool and server-id.
	(Trac #5351, git 3405a8fa5d391d96cd15874fd3de3ac63ceb33b6)

1342.	[bug]		fdupont
	Fixed subnets and host reservations returned by config-get and
	config-write.
	(Trac #5452, git c24d057bed2692eaf3cdb6af889122eb582ffede)

1341.	[func]		razvan, andrei
	Significant update of Cassandra support. A lot of code for
	Cassandra Lease Manager has been updated and partially rewritten.
	(Github #35, git 41795494720cd9886c1e98d21eaeefd94d674e37)

1340.	[func]		marcin
	Added support for "dhcp-enable" and "dhcp-disable" commands in
	the DHCPv4 and DHCPv6 server.
	(Trac #5442, git 36dc68ff7aa8b3cfd265c4f982d10248590039bd)

1339.	[doc]		marcin
	Updated User's Guide describing how to selectively disable
	legal logging for a subnet.
	(Trac #5407, git 469080abd711f8e88a5133f76f4ab31a5549a858)

1338.	[func]		marcin
	Persistent HTTP/1.1 connections and HTTP/1.0 keep-alive
	are supported by RESTful API.
	(Trac #5448, git 05018f7cc0662d6956b9b7648646e0c17da948ba)

1337.	[doc]		marcin
	Added placeholder section for the libdhcp_ha hooks library.
	(Trac #5447, git d939b5b8bc4befb24daf863f2408d97493e4bfbf)

1336.	[bug]		marcin
	DHCPv6 server always sends prefixes with the lifetime of 0 for
	the prefix leases that should no longer be used, even if those
	prefixes are not included in the Renew/Rebind.
	(Trac #5403, git 91bb0855ff7ef86ff72b5a946ae716798d7bebc1)

1335.	[bug]		marcin
	Fixed a bug which prevented inserting multiple host reservations
	where IPv4 address was unspecified or when selected subnet
	identifier was not specified. This change affects both Postgres
	and MySQL backend.
	(Trac #5416, git 03fab8f7d5c2e8a5ea735b11ff75652aa31d791d)

Kea 1.3.0 released on October 27, 2017

1334.	[bug]		marcin
	Fixed a bug in the DHCPv6 server whereby a lease with zero
	lifetimes could be mistakenly included in the server's
	response.
	(Trac #5387, git 140e7239096c0d5b9fc82b2c9c461476bf9d5729)

1333.	[doc]		tmark
	Added a discussion of conflict resolution to the DHCP-DDNS chapter
	of the Kea admin guide.
	(Trac #5275, git ce3fe30524cdc21a9cabeafbdcb2fc3cd2e86cff)

1332.	[doc]		tomek
	Clarified list of supported options, added examples for using
	hex notation to specify option values.
	(Trac #5068, git c942586172a68a7fac09e366383d996ade7f3840)

1331.	[func]		marcin
	Default "lfc-interval" value is now set to 3600.
	(Trac #5341, git dd1af78a49bfb68b88e8215dde65e40a470af81c)

1330.	[bug]		fdupont
	The option length checks were relaxed for the V-I Vendor Class
	option.
	(Trac #5391, Github #57,
	 git 8c1ea6684a808e8d3af9ea7eccecd93adc801e8a)

1329.	[func]		marcin
	Added support for "client-id" identifier when querying for
	leases in the lease_cmds hooks library. Documentation
	updated accordingly.
	(Trac #5395, git aceafa67f4fbde55ed6724a7b7551ed251e4ee91)

1328.	[doc]		vicky
	Acknowledgements section updated.
	(Trac #5385, git fe0658896f3784cd8f59bd5158244d6975cfe4c1)

1327.	[build]		marcin
	Updated Kea libraries' version numbers and hooks version for
	the 1.3.0 release.
	(Trac #5375, git 70c0fc164c89716419b6ee42da3ca0d4be938a30)

1326.	[func]		fdupont
	server-hostname and boot-file-name are now allowed in global,
	subnet4 and shared network scopes in DHCPv4.
	(Trac #5277, git 5a2454ec063530867dca2c46a71e342ccd98a5bb)

1325.	[bug]		marcin
	Fixed a bug whereby a reserved address could be allocated to
	a different client when this client explicitly requested
	this address.
	(Trac #5393, git 0964c66d44516a04ec62c8e70be92f216fe3df5a)

1324.   [doc]           wlodek
	Added examples of configuration for iPXE boot with DHCPv6 Kea server
	(Trac #5356, git c68b9b381930d1e44fd5daa1b9d033035e32cff2)

1323.	[doc]		marcin
	Added new section to Kea Hooks Developer's Guide describing how
	to implement new control commands within hooks libraries.
	(Trac #5331, git b23f36ca4a410ba7bca7fd4a9f40c008c77e3c7c)

1322.	[build]		marcin
	Copy all header files from Kea libraries during "make install".
	(Trac #5372, git cb38d39a942351ec04a655a396dd7396ea20548b)

1321.	[doc]		marcin
	Better explained subnet selection within shared networks when
	client classification is in use.
	(Trac #5367, git 26b4d240c5a1ba73e5b61f45d5a832e52f6472dd)

1320.	[doc]		marcin
	Improved documentation of shared networks within Kea Administrator
	Reference Manual.
	(Trac #5381, git c4be6a71ed3705c182d7ba4417a06ed8fa59f2b5)

1319.	[func]		marcin
	Added support for DHCPv4 option 54 (dhcp-server-identifier).
	(Trac #5376, git aae2d91f101b8c61c0abfb3482de04a8dd074121)

1318.	[doc]		marcin
	Updated Kea Administrator's Manual with the information about
	new capability of flex-id hook library to use value derived from
	flexible identifier as a client identifier or DUID.
	(Trac #5384, git cce58fee4aa0476712209a7ed92fab587258b49b)

1317.	[bug]		fdupont
	The kea-admin script now behaves properly when -4 or -6 is missing
	while using lease-dump command.
	(Trac #5379, git 53870c07d1864faf2a25bdc4ed6c5cf2b0223f8d)

1316.	[bug]		marcin
	Corrected a bug which caused a returning DHCPv4 client performing
	4-way exchange to be assigned a different address from a shared
	network than previously allocated.
	(Trac #5388, git 601a387ba43d990947ee2e1a05e78851d8133a3c)

1315.	[bug]		marcin
	Created unit test for the case when there are several IPv6 subnets
	within a shared network and each subnet specifies the same
	DHCP option with a different value. This test verifies the fix
	applied with ticket #5364 which address the problem of assigning
	options from invalid subnet.
	(Trac #5366, git 112addd4619509c464dc051f4885e00dc1f69d26)

1314.	[bug]		marcin, tomek
	Improved unit tests for shared networks and corrected a bug
	in the allocation engine which caused wrong subnet id to be
	stored in the lease database and wrong subnet be used by the
	DHCPv6 server for options assignment.
	(Trac #5364, git 07ce52ee4ce65eeeea1890201812ac83a286658f)

1313.	[bug]		fdupont
	Empty output_options structure is no longer returned by config-get
	or config-write commands.
	(Trac #5267, git f2290503ed899f00c7f2f2b905b90bc360617340)

1312.	[func]		marcin, tomek
	Added new configuration parameter "outbound-interface", which
	controls how the outbound interface and source address is
	determined for the responses sent by DHCPv4 servers to relayed
	clients. The default setting is to use the same interface as
	the one over which the query has been received. The alternative
	is to use system routing to determine the right interface and
	source address.
	(Trac #5377, git d08088923ec1ea0d1cb8a947bd520174d874d25e)

1311.	[build]		fdupont
	Improvements in --enable-shell and other parameters passed while
	building dist tarball.
	(Trac #5210, #5339, #5352,
	git e531cda4e10114a8f14bcbf3d7e25b6584230875)

1310.	[bug]		marcin
	Documented "ia_pd" parameter for lease6_renew and lease6_rebind
	hook points.
	(Trac #5368, git 6842036714f84bf12529e1a43e12ac5a07e2e5c0)

1309.	[func]		fdupont
	Kea-shell script now has an optional --path parameter that allows
	using not empty URL path.
	(Trac #5361, git 9a31c417d52f1481185b0880a10a4b5f16d8462a)

1308.	[func]		fdupont
	Support for conditional token ifelse(condition, iftrue, iffalse)
	was added. It can be used in flex-id, client classification and
	possibly other expressions that may appear in the future.
	(Trac #5363, git 34c364abd23a1a745da79c10c69b94b8defad08b)

1307.	[func]		fdupont
	When an option is defined with a record type and the array
	flag is true the last record field is an array. All standard
	options supported by ISC DHCP and using this are now supported
	by Kea (so now there is no standard option supported only by
	ISC DHCP).
	(Trac #5226, git f66951dbda8f62122187ac3a99f0fdcc65b383d8)

1306.	[bug]*		marcin
	Respective Kea daemons now use their own default configuration
	files: kea-dhcp4.conf, kea-dhcp6.conf, kea-dhcp-ddns.conf and
	kea-ctrl-agent.conf. This change is aimed at eliminating the
	issue whereby 'config-write' command overrides configuration
	of all servers rather than just a configuration of the 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.
Tomek Mrugalski's avatar
Tomek Mrugalski committed
2581
	(Trac #5107, git 88ce715926a46b6b3832630116fc7782adc46c7b)
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