ChangeLog 430 KB
Newer Older
Razvan Becheriu's avatar
Razvan Becheriu committed
1
1724.	[func]		razvan
Razvan Becheriu's avatar
Razvan Becheriu committed
2 3 4 5
	Added packet thread pool in dhcpv4 and dhcpv6 servers. It adds
	the ability to handle processPacket function on multiple threads.
	When enabled, parked packets are also added to the queue of items
	to be handles by the thread pool. The packet thread pool is
Razvan Becheriu's avatar
Razvan Becheriu committed
6
	currently disabled and there is no option to enable it yet.
Razvan Becheriu's avatar
Razvan Becheriu committed
7 8
	(Gitlab #892)

Razvan Becheriu's avatar
Razvan Becheriu committed
9
1723.	[func]		tmark
10 11 12 13
	Hostname sanitizing is now globally enabled by default.  Prior
	to this it was disabled.
	(Gitlab #1048)

Razvan Becheriu's avatar
Razvan Becheriu committed
14
1722.	[bug]		razvan
Tomek Mrugalski's avatar
Tomek Mrugalski committed
15 16 17
	Compilation fix for MySQL/MariaDB on Ubuntu 19.10.
	(Gitlab #1071)

Razvan Becheriu's avatar
Razvan Becheriu committed
18
1721.	[func]*		fdupont
Razvan Becheriu's avatar
Razvan Becheriu committed
19 20
	Added multi_threading_compatible function in hooks to retrieve
	the compatibility with multi-threading. This function is called
Razvan Becheriu's avatar
Razvan Becheriu committed
21
	when the library is loaded and if it reports 0 (incompatible) and
Razvan Becheriu's avatar
Razvan Becheriu committed
22 23 24 25
	multi-threading is enabled, then the configuration will be
	rejected. The absence of this function from the library defaults
	to incompatibility with multi-threading. All hooks and premium
	hooks must be updated to be able to be used with multi-threading.
Razvan Becheriu's avatar
Razvan Becheriu committed
26
	However, not all libraries are (or will ever be) compatible.
Razvan Becheriu's avatar
Razvan Becheriu committed
27 28
	(Gitlab #947)

Tomek Mrugalski's avatar
Tomek Mrugalski committed
29 30 31 32 33 34 35 36
1720.	[func]*		tomek
	The next step status in pkt4_send hook point now is able to
	distinguish between SKIP (Kea will skip packing the packet with
	the assumption that a hook already did that) and DROP (Kea will
	drop the packet). Previously both SKIP and DROP were interpreted
	as skip packing.
	(Gitlab #1090)

Razvan Becheriu's avatar
Razvan Becheriu committed
37 38 39 40 41 42 43 44
1719.	[func]		razvan
	Prepared CalloutManager to be used in multi-threading by moving
	the current library index and hook index to the CallbackHandle.
	This change removes the CallountHandle::getLibraryHandle, along
	with the possibility of dynamically registering/deregistering
	callouts inside callouts.
	(Gitlab #957)

45 46 47 48 49 50 51 52 53
1718.	[bug]		tmark
	kea-dhcp4 and kea-dhcp6 now shutdown gracefully by executing
	the shutdown command, if connectivity with a backend database
	has been lost and retries are either disabled or have been
	exhausted. Prior to this they simply invoked exit() which
	could orphan control socket files or cause segfaults unloading
	the CB Cmds hook library.
	(Gitlab #1108)

Razvan Becheriu's avatar
Razvan Becheriu committed
54 55 56 57 58 59 60 61 62
1717.	[func]		razvan
	Prepared PgSqlHostMgr to be used with multi-threading by using a
	connection pool with thread context.
	(Gitlab #1074)

1716.	[func]		razvan
	Implemented thread safe stats manager and stats context.
	(Gitlab #891)

63 64 65 66 67 68 69
1715.	[bug]		tmark
	Kea servers now detect and remove orphaned control channel
	sockets.  This corrects a failure of the servers to restart
	with an error of "address already in use" following a fatal
	loss of database connecivity.
	(Gitlab #1097)

70 71
Kea 1.7.4 released on Jan 29, 2020

72
1714.	[build]		razvan
Razvan Becheriu's avatar
Razvan Becheriu committed
73
	Bumped up library version numbers for Kea 1.7.4 release.
74 75
	(Gitlab #1101)

76 77 78 79 80
1713.	[bug]*		tmark
	Code added under #35 to permit scoping of DDNS behavioral parameters
	was refactored to improve performance.
	(Gitlab #981)

81 82 83 84 85 86
1712.	[bug]		tmark
	Corrected an issue in the MySQL CB hook library which could
	cause subnet and shared-network options, properly added to
	the CB database, to be discarded when fetched from the backend.
	(Gitlab #1093)

Razvan Becheriu's avatar
Razvan Becheriu committed
87 88 89 90 91
1711.	[func]		razvan
	Prepared MySqlHostMgr to be used with multi-threading by using a
	connection pool with thread context.
	(Gitlab #1073)

92 93 94 95 96 97 98 99 100 101 102
1710.	[bug]		fdupont
	The code that handles default parameters and parameters
	inheritance, such as applying global values to subnet level,
	has been updated slightly. Although unlikely, there is small
	possibility this may affect boot-file-name, client-class,
	interface, match-client-id, authoritative, next-server,
	reservation-mode, and server-hostname values in Subnet4 and
	client-class, interface, interface-id, rapid-commit, and
	reservation-mode in Subnet6.
	(Gitlab #724)

103 104 105 106 107
1709.	[func]		fdupont
	MySQL Configuration Backend now allows for storing DDNS related
	configuration in the database.
	(Gitlab #946)

Tomek Mrugalski's avatar
Tomek Mrugalski committed
108 109 110 111
1708.	[doc]		tomek
	Clarified the relationship between comments and user context.
	(Gitlab #1079)

112 113 114 115 116 117 118 119 120 121 122 123 124
1707.	[func]		marcin
	High Availability hooks library supports controlled maintenance
	of the servers. The new ha-maintenance-start command puts one
	of the servers in the partner-in-maintenance state and causes
	this server to take over the entire DHCP traffic directed to the
	HA service. The second server in the in-maintenance state can be
	safely shutdown for the maintenance. This new mechanism solves
	the problem present in earlier versions of Kea when the
	administrator had to rely on the failover mechanism to promote
	one of the servers to handle the DHCP traffic while the other
	server was down.
	(Gitlab #1024)

Tomek Mrugalski's avatar
Tomek Mrugalski committed
125 126 127 128 129
1706.	[bug]		fdupont
	Fixed BOOTP hook. It now properly handles BOOTP packets and sends
	valid responses.
	(Gitlab #1064)

130 131 132 133 134 135 136
1705.	[bug]		fdupont
	Modified option 43 parsing to interpret sub-option codes 0 and 255
	as PAD and END when no sub-option with these codes are defined.
	This adds control of illegal but common use of these reserved
	code points in option 43.
	(Gitlab #950)

Razvan Becheriu's avatar
Razvan Becheriu committed
137 138 139 140
1704.	[func]		fdupont
	Prepared memfile lease manager to be used with multi-threading.
	(Gitlab #894)

141 142 143 144 145 146
1703.	[bug]		niclas rozenvik
	A fix in the --with-gtest option. It is now able to detect the
	libgtest.a. Thank you to Niclas Rozenvik for reporting the issue
	and proposing a fix!
	(Gitlab #1080)

Razvan Becheriu's avatar
Razvan Becheriu committed
147 148 149 150 151 152 153 154 155 156 157
1702.	[func]		razvan
	Update and delete operations on database back-ends use lease old
	expire value (internal storage) to detect concurrent actions on
	the same lease.
	(Gitlab #1040)

1701.	[func]		razvan
	Initialize all option definitions at program startup instead of
	using lazy initialization to make access thread safe and lock-less.
	(Gitlab #889)

158 159 160 161 162
1700.	[func]		godfryd
	Enabled checking Kea merge request in GitLab CI by Danger tool
	(see https://danger.systems/guides/dangerfile.html).
	(Gitlab #672)

163 164
Kea 1.7.3 released on Nov 18th, 2019

165 166 167 168 169 170
1699.	[func]		fdupont, marcin
	Implemented status-get command which returns general status
	information about a Kea server status and optionally
	HA specific information if the HA hooks library is present.
	(Gitlab #1041)

Tomek Mrugalski's avatar
Tomek Mrugalski committed
171 172 173 174
1698.	[doc]		wlodek
	Avalanche scenario for perfdhcp is now documented.
	(Gitlab #876)

Tomek Mrugalski's avatar
Tomek Mrugalski committed
175 176 177 178 179
1697.	[doc]		wlodek
	Forensic logging documentation now mentions database
	configuration.
	(Gitlab #943)

180
1696.	[func]		fdupont
Tomek Mrugalski's avatar
Tomek Mrugalski committed
181 182
	A new hook library libdhcp_bootp has been implemented. Once
	loaded, this hook will provide support for BOOTP packets, as
183
	defined in RFC1497. Please see the "BOOTP support" Section in the
Tomek Mrugalski's avatar
Tomek Mrugalski committed
184 185 186
	ARM for details.
	(Gitlab #898)

187 188 189 190 191
1695.	[func]		fdupont
	Added support of BOOTP leases with infinite valid lifetime.
	This includes representation of such leases in MySQL and
	PostgreSQL databases which the expire date can be a 32 bit
	integer.
192
	(Gitlab #897)
193

194 195 196 197 198
1694.	[doc]		marcin
	Described the usage of the ha-heartbeat command to check the
	states of the HA enabled DHCP servers.
	(Gitlab #998)

Tomek Mrugalski's avatar
Tomek Mrugalski committed
199 200 201 202 203
1693.	[func]		fdupont
	Client supplied ciaddr is now sent back when responding to
	DHCPINFORM
	(Gitlab #992)

Tomek Mrugalski's avatar
Tomek Mrugalski committed
204 205 206 207
1692.	[build]		fdupont
	Better support for google test 1.10.0.
	(Gitlab #954)

208 209 210 211
1691.	[build]		tomek
	Google test version detection improved.
	(Gitlab #206)

Razvan Becheriu's avatar
Razvan Becheriu committed
212 213 214 215 216 217
1690.	[func]		fdupont, razvan
	As a preparation for upcoming multi-threading, the PgSQL
	connection pool has been implemented. This code is not
	usable on its own yet, but it will allow all threads
	to share a pool of connections in the future. This
	should improve the overall PgSQL lease backend performance.
Razvan Becheriu's avatar
Razvan Becheriu committed
218
	Fixed some log messages that were missing lease type details
Razvan Becheriu's avatar
Razvan Becheriu committed
219
	in DHCPv6 PostgreSQL lease manager actions.
Razvan Becheriu's avatar
Razvan Becheriu committed
220 221
	(Gitlab #1044)

222 223
Kea 1.7.2 released on Nov 27, 2019

224 225 226 227 228 229
1689.	[bug]*		fdupont
	The default Kea Control Agent's configuration file uses port 8000
	instead of 8080 for the agent. This corrects the mismatch between
	the default port number used by the kea-shell and the agent.
	(Gitlab #793)

230 231 232 233 234
1688.	[func]		fdupont
	Added a new callout (hook point) executed when the server has
	completed a configuration update using the Config Backend.
	(Gitlab #596)

235 236 237 238 239
1687.	[doc]		fdupont
	Described for developers the way for a hook library to be loadable
	only for specific server(s) and applied as an example to ha.
	(Gitlab #50)

240 241
1686.	[func]		razvan
	Added a generic ThreadPool class which can be used to process
242 243
	functor work items in parallel, on multiple threads. It uses
	a queue container to manage the work items.
244 245
	(Gitlab #883)

246 247 248 249 250 251
1685.	[build]		fdupont
	Small build improvement. The fcntl.h header is included in more
	portable way. This should make it easier to build on Alpine systems and
	possibly other systems.
	(Gitlab #765)

Tomek Mrugalski's avatar
Tomek Mrugalski committed
252 253 254 255
1684.	[func]		fdupont
	As a preparation for upcoming multi-threading, the MySQL
	connection pool has been implemented. This code is not
	usable on its own yet, but it will allow all threads
Razvan Becheriu's avatar
Razvan Becheriu committed
256
	to share a pool of connections in the future. This
Tomek Mrugalski's avatar
Tomek Mrugalski committed
257 258 259
	should improve the overall MySQL lease backend performance.
	(Gitlab #960)

260
1683.	[bug]		wlodek
261 262 263 264 265 266 267
	Perfdhcp is able to parse incoming packet and determine
	if included IA_NA/IA_PD options are correct, counter
	of rejected leases is introduced for all DHCP v6 message
	exchanges. Perfdhcp will no longer send Request/Renew/Release
	message without proper IA_NA/IA_PD included.
	(Gitlab #572)

268 269 270 271 272 273 274 275 276 277 278 279
1682.	[bug]*		tmark
	Added logic to core code and HA hook lib to allow HA peers
	to detect and handle out of bandwidth socket events.  This
	corrects a defect introduced in Kea 1.6.0 that can cause
	an HA server to become unresponsive when an HA socket has
	been closed by a peer.  Note that there is a change to the
	signature of the external socket callback handler invoked
	by IfaceMgr.  Custome hook libraries happen register external
	sockets with IfaceMgr will require modification and
	recompilation.
	(Gitlab #964)

280 281
Kea 1.7.1 released on Oct 30, 2019

282
1681.	[func]		fdupont
283
	Added new command config-backend-pull which forces the server
284 285 286 287
	to immediately poll the configuration updates from the
	configuration backend
	(Gitlab #904)

288 289 290 291 292 293
1680.	[bug,build]	Kristoffer Larsen
	A bug in Makefile has been fixed. The changes made to
	src/lib/dhcpsrv/alloc_engine_messages.mes are now picked up
	properly.
	(Gitlab #752)

294 295
1679.	[func]		fdupont
	Added new commands to the lease_cmds hooks library to search for
296 297
	leases by hardware address, client-id, DUID and hostname. Now
	hostnames are stored in lower case within the lease database.
298 299
	(Gitlab #393)

Tomek Mrugalski's avatar
Tomek Mrugalski committed
300 301 302 303 304
1678.	[build]		fdupont
	The arguments passed to configure are now stored and are available
	using -W command line option.
	(Gitlab #869)

Tomek Mrugalski's avatar
Tomek Mrugalski committed
305
1677.	[doc]		wlodek
306
	Sample configs now all use the same paths for control sockets.
Tomek Mrugalski's avatar
Tomek Mrugalski committed
307 308
	(Gitlab #795)

309 310 311 312 313 314 315 316 317
1676.	[func]		fdupont
	A new hook - flex-option - has been developed. It allows setting
	up DHCPv4 and DHCPv6 option values dynamically, using expression.
	This capability is very useful when you want to generate option
	value procedurally. For details, see new section "Flexible Option
	for Option value settings" in the Kea Administrator Reference
	Manual.
	(Gitlab #219,!523, git 2bf854c029b9b07ee6161bc1fcb4dfdc9846ee42)

318 319 320 321 322 323
1675.	[func]		fdupont
	Both DHCPv4 and DHCPv6 can now listen on and send responses
	to a custom UDP port, as specified with the -p command line
	option. This capability is mostly useful for testing.
	(Gitlab #677,!548, git 47e709fb7b89464d4473e8c7cb138f539042d68b)

324 325 326 327
1674.	[perf]		fdupont
	Added a Multi Threading Manager singleton class in the util library.
	(Gitlab #962,!566, git 66b090e54b45bdeefda266ddd62e42b46ed48d1d)

328 329 330 331
1673.	[bug]		tmark
	Fixed a bug introduced in Kea 1.6.0 (see #539) that caused
	kea-dhcp4 and kea-dhcp6 to discard inbound packets containing
	string options that consist solely of nulls.  The servers
332
	will now quietly omit empty or all-null string options from
333
	inbound packets.
334
	(Gitlab #900,!561, git c75a7c10bde74f59d481a7717b4e03b9cb2268a6)
335

336 337 338 339 340
1672.	[build]		fdupont
	Deprecated bind1st and bind2nd templates were replaced with
	lambda expressions or plain bind templates.
	(Gitlab #919,!521, git b12fa3374454c9c0d749557d5532aab55dbc58d9)

341
1671.	[bug]		tmark
342 343 344
	Corrected an issue in kea-dhcp6 where the server would fail
	to extend the expiry of a existing dynamic lease assigned to
	client with host reservation.
345
	(Gitlab #754,!558, git c223380012b82c93292528b593002c2b80b5361b)
346

347 348 349 350 351
1670.	[func]		fdupont
	Added searches for host reservations by hostname and by hostname
	and subnet.
	(Gitlan #392,!529, git 50068ada6b277c9251de9062501d8c478a8f5529)

352 353
1669.	[func]		tmark
	Rather than within the 'dhcp-ddns' section, DDNS behavioral
354
	parameters may now be specified at global, shared-network,
355 356
	and subnet scopes.  Implemented for both kea-dhcp4 and
	kea-dhcp6.  Not yet supported by Config Backend or Netconf.
357
	(Gitlab #35,!517, git 49ce6286f5d00f99c1c890f12cbc0fd633c9dbf6)
358

359 360 361 362
1668.	[build]		fdupont
	The Kea util thread library was removed.
	(Gitlab #907,!519, git 1b27dc52aae23753643461086f0950b125bf9c93)

363
1667.	[build]		fdupont
364 365
	The availability of C++11 thread, mutex, condition variable and
	atomic libraries is now checked by ./configure.
366 367
	(Gitlab #918,!520, git baf4097520c1cd38366ee4f33a95dde040906e9e)

368 369 370
1666.	[doc]		tmark
	Added note in ARM about manually admining cb data being possible
	but not supported.
371
	(Gitlab #917,!518, git f242e5c2e0e14331172671477dce3a6597691b55)
372

373 374
Kea 1.7.0 released on Sep 25, 2019

375 376
1665.	[build]		tmark
	Bumped up library version numbers for Kea 1.7.0 final release.
377
	(Gitlab #924,!526, git c4061d0fdd660c8e375b4e1317603935ccc00b39)
378

379 380 381 382
1664.	[build]		razvan
	Make sysrepo_config detect installed sysrepo version.
	(Gitlab #766,!449, git e1a236fa4f4680d3eadade6b5f5a6a6065620a5b)

383 384 385 386 387
1663.	[build]		fdupont
	Dropped support for Botan 1.x crypto library in Kea as these
	versions are now end of life.
	(Gitlab #345,!498, git ba028eee986c0da963754c6fcb74790081557bec)

388 389 390 391 392 393 394
1662.	[bug]		marcin
	Prevent deadlock in the Kea DHCP servers caused by allocating
	memory in the system signal handler. The issue was found on
	CentOS 7.6, but could possibly affect Kea running on any other
	OS.
	(Gitlab #796,!504, git f858d9d0b63a18370ebb8bd7d1b8250d0c5a1cb5)

395 396 397
1661.	[bug]		tmark
	kea-dhcp4 now rejects inbound client messages that have
	neither a hardware address nor a client identifier.
398
	(Gitlab #821,!501, git 60baf65d0c9de384b0da147b50b7fc3180fc54dd)
399

400 401 402 403 404 405
1660.	[func]		franek
	Statistics of the DHCP packets are now initialized upon the
	server startup. This makes the statistics available for fetching
	via control channel immediately after the server is started.
	(Gitlab #755,!503, git f0238d1b6e88dfedaa91029ec3b65e06c14cab34)

406
1659.	[bug]		razvan
Razvan Becheriu's avatar
Razvan Becheriu committed
407 408 409
	Corrected an issue in the DHCPv4 server logic whereby the user-defined
	option definitions were not committed which could result in
	configuration failures when values for such options were specified.
410 411
	(Gitlab #729, !434, git e5b68fb226161dcdef0e4d2d9d03d9bdb95af5e2)

412 413
Kea 1.6.0 released on Aug 28, 2019

414
1658.	[bug]		tmark
415 416 417
	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.
418
	(Gitlab #853,!26-p, git 6665c3b6d0f9f2a45b7710e8e9a36fff8f99bf7f)
419

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

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

435 436 437 438 439 440 441 442
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)

443
1654.	[sec]		tmark
444 445
	kea-dhcp4 Memfile logic now ensures during reading and writing
	that leases which are not in the declined state, have either
446
	a hardware address, client id, or both. kea-dhcp6 Memfile logic
447
	now ensures leases which are not declined have a non-empty DUID.
448
	CVE:2019-6474
449
	(Gitlab #805,!6-p, git 9705445210cf2a5c4bbe86fde4ce010c45b7aac1)
450

451
1653.	[sec]		tmark
452 453 454 455 456
	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.
457
	CVE:2019-6474
458
	(Gitlab #805,!5-p git af7393c517cea37a7091075e5d0d24793bccf013)
459

460
1652.	[sec]		tmark
461 462 463
	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.
464
	CVE:2019-6473
465
	(Gitlab #730,!2-p git a2a98c421bb400a81218bd28d6a6f62accd31b1f)
466

467
1651.	[sec]		tmark
468 469 470 471
	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
472
	(Gitlab #722,!1-p git bb1a64b8945950f4439121ce4fef566d37c8630c)
473

474 475 476 477
1650.	[build]		marcin
	Bumped up library version numbers for Kea 1.6.0 final release.
	(Gitlab #841,!490, git 2e88e2554905dd66b9974c9fc513ee7e7b825a46)

478 479 480 481
1649.	[doc]		sgoldlust
	API documentation updated and cleaned up.
	(Gitlab #810,!471, git f1ae84186beb54d45f8455236827108289b0b0d6)

482 483 484 485 486 487 488
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)

489 490 491 492 493 494 495
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)

496 497 498 499 500
1646.	[func]		fdupont
	YANG models updated to cover the latest parameters:
	pattern and max-row-errors.
	(Gitlab #823,!477, git 79d0d45ec0c791560e297ca77fc88842b0a33868)

501 502 503 504 505
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.
506
	(Gitlab #761,!447, git 215d84f00208ac8a2710c28abc3386d6b765ede6)
507

508 509 510 511
1644.	[doc]		marcin, fdupont
	Added a warning about class dependence on built-in classes.
	(Gitlab #727,!466, git 9977d2927cf9b9cf1cd13de30aa5551ca900165b)

512 513 514 515 516 517 518
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)

519 520 521 522
1642.	[doc]		fdupont, marcin
	User documentation for remote-option{4,6}-* commands.
	(Gitlab #826,!479, git 9b469ab63a9627e377a219cf8f83033e4e613b11)

523
1641.	[func]		tmark
524 525
	Added a new Logger output option, 'pattern', which can be
	used to customize log message content and layout.
526
	(Gitlab #665,!460, git 2add51ecf0d91d2a9ac797594c38472190c18460)
527

528 529 530 531 532 533
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)

534 535 536 537 538
1639.	[func]		fdupont
	Updated YANG models with the latest changes in kea-dhcp4 and
	kea-dhcp6.
	(Gitlab #433,!473, git c46e8da1561e7d0c6c6f481d2e32cc9ae398324c)

539 540
1638.	[bug]		franek, razvan
	Kea statistics improvements: Correct statistic-get{all} commands.
541
	(Gitlab #756,!470, git 59fb24794af8a9ca8ee3621bc01dfd507350b2c1)
542

543 544 545 546
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.
547
	(Gitlab #754,!440, git c548d9330e6f626e538343c5e6361457057efdd7)
548

549
1636.	[bug]		razvan
550
	Http request and response parser now accepts 0 for Content-Length.
551 552
	(Gitlab #708,!423, git 09d75804e050083b502a96c8e77b0e98c735ae3d)

553 554 555 556
1635.	[doc]		godfryd, tomek
	Converted API documentation to Sphinx format.
	(Gitlab #777,!464, git 3ba1a265537330308c313a38b85e84cbe02704ae)

557 558 559 560 561
1634.	[func]		franek, razvan
	Kea statistics improvements: Added commands for set sample age and
	set sample count.
	(Gitlab #731,!459, git dde1b96b33ed20dbe2c815f1168e62b66635e39f)

562 563 564 565
1633.	[bug]		fdupont
	Added missing YANG Kea test module in distributions.
	(Gitlab #747,!436, git a800e79c7917acc723cbc71b626adc360e15a8d7)

566 567 568 569
1632.	[doc]		razvan, tmark
	Fixed doc examples.
	(Gitlab #649,!381, git e14b90735ff57be0776270364064952d353d7e3a)

570 571 572 573 574 575
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)

576 577 578 579
1630.	[build]		fdupont
	Added support for sysrepo 0.7.8 (and libyang 1.0-r3).
	(Gitlab #742,!430, git 6776a829f90768225ea794145e522560d26fe959)

580
1629.	[func]		tmark
581 582 583
	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.
584
	(Gitlab #174,!414, git 9715ddecb0143d997a57edea564f5c180a7f8577)
585

586 587 588 589 590
1628.	[bug]		fdupont
	Improved the error message from MySQL CB -set commands when
	a specified server does not exist.
	(Gitlab #732,!429, git 82f34e60363eec72a117939a5526bdb1ececb53c)

591 592 593 594
1627.	[func]		fdupont
	Added new command server-tag-get to DHCPv4 and DHCPv6 servers.
	(Gitlab #470,!386, git 3cb43f112662ba3f9d2fc7152dfa1639401b1491)

595 596 597 598 599 600 601 602
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)

603 604
Kea 1.6.0-beta2 released on July 24, 2019

605 606
1625.	[build]		tmark, marcin
	Bumped up libraries version numbers for Kea 1.6.0 beta2 release.
607
	(Gitlab #740,!427, git 359fe51531e802f052bd4172d4e295378155dbd5)
608

609 610 611 612 613
1624.	[doc]		marcin
	Documented a usage of the server tags with the Kea Configuration
	Backend in the Kea ARM.
	(Gitlab #643,!421, git 4c60b02e619bce2c434bbf9ee0e775d8776b2d74)

614 615 616 617 618
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)

619 620 621 622 623
1622.	[bug]		fdupont
	Corrected server tags returned with the metadata when fetching
	option definitions from the MySQL configuration backend
	(Gitlab #737,!424, git 1cc95ae2a66102427e583b4924383fd414e24f0f)

624 625 626 627 628 629 630 631
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)

632 633 634 635 636
1620.	[func]		franek, razvan
	Kea statistics improvements: Support for storing more than one
	sample.
	(Gitlab #696,!418, git c7b8c275758c96f56081e02da429f5dd9d653b87)

637 638 639 640 641
1619.	[func]		marcin
	Add support for associating subnets with the server tags in the
	mysql_cb hooks library.
	(Gitlab #717,!417, git e121ec4e0a04bc5bebdbfecf9cc1606b50e71263)

642 643 644 645 646
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)

647 648 649 650 651 652
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)

653 654 655 656 657 658
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)

659 660 661 662 663 664
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)

665 666
1614.	[func]		marcin
	Add support for associating the DHCP option definitions with
667
	the server tags in the mysql_cb hooks library.
668 669
	(Gitlab #715,!411, git 5511725555138213de4f48dc1091d65b5db47034)

670 671 672 673 674
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)

675 676 677 678 679
1612.	[bug]		razvan
	Fixed crash caused by unloading premium libraries which use
	custom host cache containers.
	(Gitlab #639,!410, git d3f7e9d9a18d93fb014c8e637e15c6ae9ca9269e)

680 681 682 683
1611.	[doc]		fdupont
	Clarified how Kea handles subnet prefixes in server configuration.
	(Gitlab #419,!333, git f260b51148b4f7584165e13fcf2320fdd5992a74)

684 685 686 687
1610.	[build]		fdupont
	Removed the obsolete compatcheck top directory.
	(Gitlab #667,!391, git 8cb113a52f0cf56fbdb5cb0e87464135234c2ac1)

688 689 690 691
1609.	[bug]		fdupont
	Fixed the implementation of authentication keys in DHCPv6
	host reservations. Please note this includes a PostgreSQL
	schema update.
692
	(Gitlab #550,!297, git f45511f0445cd4204671771175f7f0d34df54b0e)
693

694 695 696 697
1608.	[bug]		fdupont
	Missing debug DHCP6_PACKET_SEND logging message was added.
	(Gitlab #699,!401, git ac96edbe30be5c93f5e3d2512961f1bc99c3253a)

698 699 700 701 702
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.
703
	(Gitlab #686,!403 git 68b2cb0385779ef0c520164e418dee124d7cb364)
704

705 706 707 708
1606.	[bug]		tmark
	Corrected an error with retrieving DHCPv6 leases, whose IAID
	values are larger than int32_t max, from Postgresql lease
	databases.
709
	(Gitlab #651,!384, git 67e047df61d56558d474514a21ed0db96152557a)
710

711 712 713 714 715 716 717
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)

718 719 720 721 722
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)

723
1603.	[perf]		tmark
724 725 726 727
	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.
728
	(Gitlab #691,!395, git 4a0b024bc6d83b26fe702d95ee7ce0c914b37d8e)
729

730 731 732 733
1602.	[func]		fdupont
	Added more information to sanity-checker log messages.
	(Gitlab #685,!392, git 5367cd1196662739bbff5e99072ab6a55cfb0489)

734 735 736 737 738
1601.	[func]		fdupont
	Kea servers now add the lease validity lifetime to informational
	lease allocation log messages.
	(Gitlan #694,!399, git cb29b532cf1f8790f9752d7e8253b0aa31ce05e6)

739 740 741 742
1600.	[bug]		fdupont
	Fixed prefixLengthFromRange() routine.
	(Gitlab #583.!377, git 10bd31217d8a0a77345c4cba7a59314f70c1b509)

743 744 745 746 747 748 749
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)

750 751 752 753 754
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)

755
1597.	[func]		fdupont
756
	Added new configuration parameters for handling user lease
757
	time hints to kea-dhcp4: min-valid-lifetime and max-valid-lifetime;
758
	and to kea-dhcp6: min-preferred-lifetime, max-preferred-lifetime,
759 760 761
	min-valid-lifetime, and max-valid-lifetime.
	(Gitlab #295,!325, git 8641448c4106bf28ea32df72e5e0ad520d3946ae)

762 763 764 765 766
1596.	[func]		marcin
	Implemented lease6-bulk-apply command in the lease_cmds hooks
	library.
	(Gitlab #683,!390, git 122473c18b632ddfa22b8a48f6d9399bc18e2598)

767 768
1595.	[func]		fdupont
	Removed unused t1_ and t2_ members from internal lease class.
769
	(Gitlab #567,!357, git 6072db5f4ca6cfa9573152c255f97dd170acbd57)
770

771 772 773 774 775 776 777 778 779 780
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)

781 782 783 784 785 786
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)

787 788 789
1592.	[build]		tmark
	Files related to YANG and netconf are now only installed
	when the build is configured with --with-syspro.
790
	(Gitlab #584,!364, git 350ae513ed4e8e8e07b159658f88ec7d70b644d3)
791

792 793 794 795
1591.	[doc]		razvan
	Fixed classify and pd-exclude documentation examples.
	(Gitlab #590,!380, git 26b04d2d2d2a88be6abc5879a2fb48e05f0003fd)

796 797 798 799 800 801
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)

802 803 804 805 806
1589.	[bug]		razvan
	Fixed configuring kea with tools/cql_config when using --with-cql
	from source.
	(Gitlab #522,!261, git bf7debc182e094a8b34f1f2df99cf4e9f84c8906)

807 808 809 810 811
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)

812
1587.	[bug]		razvan
813 814
	Fixed IPv6 prefix delegation pools retrieval from the MySQL
	Configuration Backend.
815 816
	(Gitlab #637,!349, git 483273734e8608ed68624d7a868f20672c859c95)

817 818
Kea 1.6.0-beta released on May 29, 2019

819
1586.	[build]		razvan, marcin
820 821
	Bumped up libraries version numbers for Kea 1.6.0 beta release.
	(Gitlab #617,!340, git c0434bf882b6ec483120e39f6b70b5a40fe7c711)
822

823
1585.	[bug, func]	marcin
824 825 826
	MySQL Configuration Backend supports DHCPv6 interface-id parameter.
	(Gitlab #628,!341, git 3a07c636ba4c7fceabe59ec597c44a9c8e3367eb)

827 828 829 830 831
1584.	[doc]		marcin
	Documented Kea Configuration Backend in the Kea Administrator
	Reference Manual.
	(Gitlab #71,!314, git 3a65b7a9104f2a988dacf1acc26312b4259e958d)

832 833 834 835 836 837
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)

838 839 840
1582.	[bug]		tmark
	Input values for DHCPv4 and DHCPv6 options of type 'string'
	will now be trimmed of any trailing null bytes (0x0).
841
	(Gitlab #539, !330, git b126558e9e39e9bff517dceac25a00e96d150085)
842

843

844 845 846 847 848 849
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
850 851 852 853 854
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)

855
1579.	[bug]		razvan
856 857
	Fixed a bug which caused setting dhcp4o6-port to not function via
	Kea configuration backend.
Tomek Mrugalski's avatar
Tomek Mrugalski committed
858
	(Gitlab #577,!331, git 98c24fe1873795bbc94d426c54c588b05d79406f)
859

860 861 862 863 864 865 866 867
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
868
	(Gitlab #208,!196, git 37b8ec6c2c4b64681059f8fad26d112adbb7ee2b)
869

Razvan Becheriu's avatar
Razvan Becheriu committed
870 871
1577.	[func]		razvan
	Implemented host reservations page retrieval for Cassandra.
Razvan Becheriu's avatar
Razvan Becheriu committed
872
	(Gitlab #511,!278, git 152e82b49f5e5abd9d3a2a4825ed8620973f5ef1)
Razvan Becheriu's avatar
Razvan Becheriu committed
873

874 875 876 877
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
878 879 880
1575.	[bug]		razvan
	Fixed issue with keactrl logging error when trying to stop running
	services.
Razvan Becheriu's avatar
Razvan Becheriu committed
881
	(Gitlab #534,!327, git 6ddee0a93ec4ad692cc385150c159d9e8da5232d)
Razvan Becheriu's avatar
Razvan Becheriu committed
882

Razvan Becheriu's avatar
Razvan Becheriu committed
883 884 885 886
1574.	[bug]		razvan
	Add logging to the MySQL config backend.
	(Gitlab #398,!315, git bc46fd3420afdf60ae8841866e8458f7f6e072e8)

Razvan Becheriu's avatar
Razvan Becheriu committed
887 888 889 890
1573.	[bug]		razvan
	Fixed build sysrepo from sources using sysrepo_config.
	(Gitlab #523,!262, git b86864a9b058a18eaaded2273dc5f40a9ec97c78)

891 892 893
1572.	[bug]		tmark
	Corrected an issue where kea-dhcp6 was incorrectly scheduling DNS
	entry removals when renewing leases with generated FQDNs.
894
	(Gitlab #577,!310, git 362f40bebbdbe083ec6420a43ee1c050edf6bba6)
895

896 897 898 899 900
1571.	[bug]		marcin
	The mysql_cb hooks library registers the MySQL backend for the
	DHCPv6 server.
	(Gitlab #603,!322, git 1ede298fcdc7a9b7018b6e300e2d759e33f73645)

901 902 903 904 905
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)

906 907 908 909 910 911 912
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
913 914 915 916 917
	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)
918

919 920 921 922 923 924 925 926
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)

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

933 934 935 936 937
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
938
1564.	[func]		fdupont
939 940 941 942 943
	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
944 945
1563.	[bug]		razvan
	Fixed compilation of google benchmarks.
Razvan Becheriu's avatar
Razvan Becheriu committed
946 947
	(Gitlab #520,!260, git 11aa890d30ecce5518b9f0bad389feea6be78167)

948 949 950 951 952
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)

953
1561.	[func]		tmark
954 955
	kea-dhcp6 now automatically deletes configuration elements
	that have been deleted from configuration backends.
956
	(Gitlab #566,!304, git 2e85376f1b57187b822c662144380e04372cffff)
957

958 959 960 961 962
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)

963 964 965 966
1559.	[func]		fdupont
	Added DHCPv6 support to the MySQL Config Backend hook.
	(Gitlab #397,!244, git 980091ecd717e41a61f0d7f6808213e450647d8e)

Thomas Markwalder's avatar
Thomas Markwalder committed
967 968 969 970 971 972
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)

973 974 975 976 977 978 979
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)

980 981 982 983 984
1556.	[bug]		fdupont
	Corrected parser for option definitions to refuse definitions with
	duplicate code or name.
	(Gitlab #503,!246, git 0befb653277463cd8f88740119fe90a93dbb1466)

985 986 987 988 989
1555.	[bug]		fdupont
	Corrected parsers for option definitions to prevent setting out of
	range option code values.
	(Gitlab #500,!247, git 5c139602d7656df74060fee63461ffba4f290547)

990 991 992 993 994
1554.	[func]		tmark
	kea-dhcp6 now uses globals, option definitions, options,
	share-networks, and subnets from configuration back ends.
	(Gitlab #413,!288, git ff367e273ed8763b354db272c5955a78203d865e)

995 996 997 998 999 1000
1553.	[func]		marcin
	DHCPv4 server automatically fetches incremental configuration updates
	from the configuration backends.
	(Gitlab #103,!277, git 319f7709edb40d6c01390a34942b9d4a200b333e)
	(Gitlab #103,!289, git 80087e2d0f90f9ba6623860fed4f4d33ee935ad0)

1001 1002 1003 1004 1005 1006
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
1007 1008 1009 1010
	Added consistency and serial-consistency parameters to CQL
	connection. Fixed all statements.
	(Gitlab #16,!287, git 56a9b6a860899274f9cafe2366a6731a46490e92)

1011 1012 1013 1014 1015 1016
1550.	[func]		marcin
	Implemented inheritance of the DHCPv4 global and shared network
	specific configuration parameters when using configuration
	backend.
	(Gitlab #490,!284, git 2508f942e879ef74b20c07ffdba37d187d6ea932)

1017 1018 1019 1020 1021
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
1022 1023 1024 1025 1026
1548.	[func]		razvan
	Added consistency and serial-consistency parameters to CQL
	connection.
	(Gitlab #16,!266, git 5771173d721464d879869fad6456211031858d6c)

1027 1028 1029 1030
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
1031
	(Gitlab #536,!281, git c128fd9a6b7bffc36ba4fe9a0badebe55441d673)
1032

1033
1546.	[func]		tmark
1034
	kea-dhcp4 now uses options fetched from configured backends.
1035 1036
	(Gitlab #401,!254, git 6a33a6f1810f5899ff9c8bc79d0093eebad5c728)

1037 1038 1039 1040 1041 1042
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)

1043 1044 1045 1046 1047 1048 1049
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)

1050 1051 1052 1053 1054
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)

1055 1056 1057 1058 1059
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:
1060 1061 1062 1063
	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)
1064
	(Gitlab #531,!279, git 7f8c4fc535df3019789aea1881b7bb3bd539963a)
1065

1066 1067
1541.	[bug]		fdupont
	Empty Relay Agent Information option is no longer sent in server
1068 1069 1070
	responses. Thanks to Geoffrey Huang from Qingdao Agricultural
	University, and Jiaqi Liu from Qingdao WuKeSong Company
	Communication Limited, Shandong, PRC for reporting this issue.
1071 1072
	(Gitlab #519,#510,!271, git f3563396d2227e48e96a5d65587406d8d1868db5)

1073 1074 1075 1076 1077
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)

1078 1079 1080 1081
1539.	[build]		fdupont
	Obsolete dns++.pc file for pkg-config was removed.
	(Gitlab #498,!274, git 93cd62c99f69cc379c08cd06791db522c1fb0aca)

1082 1083 1084 1085 1086 1087
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)

1088 1089 1090 1091 1092 1093 1094
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
1095 1096 1097 1098 1099 1100
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)

1101 1102 1103 1104 1105
1535.	[func]		godfryd
	Added checking required Vagrant version by Hammer.
	Removed Hammer from EXTRA_DIST.
	(Gitlab #518,!257, git ea0006f6eb948d7d4a034b413c5086cbe483eb75)

1106 1107 1108 1109 1110 1111
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
1112 1113 1114 1115
1533.	[doc]		sgoldlust,stephen
	Kea User's Guide significantly updated.
	(Gitlab #362,!182, git 4b7a8df6054d18f2c90fe61d93533466f89e6324)

1116 1117 1118 1119 1120 1121 1122
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)

1123
1531.	[func]		tmark
1124
	When fetching configuration data from configured backends,
1125 1126 1127
	kea-dhcp4 will now merge option definitions.
	(Gitlab #400,!243, git 0c5d1417031e49bd0c247889989e187db2dd8f4b)

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

1133
1529.	[func]		tmark
Tomek Mrugalski's avatar
Tomek Mrugalski committed
1134
	When fetching configuration data from configured backends,
1135 1136 1137
	kea-dhcp4 will now merge global parameters.
	(Gitlab #402,!224, git dadaf76f8dd61b8bb3405aa5dc80029f09b2d4ec)

1138 1139 1140 1141 1142 1143
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)

1144 1145 1146 1147 1148
1527.	[build]		adwol,fdupont,tomek
	Default Kea installation directory has been changed to
	${prefix}/lib/kea/hooks.
	(Gitlab #161,!240, git cfaf16cf02191bf5b7172cade3f58a626288b5f0)

1149 1150 1151 1152 1153
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)

1154 1155 1156 1157
1525.	[func]		fdupont
	Defined API for the DHCPv6 Configuration Backend.
	(Gitlab #458,!231, git f16e03d9bf1c10903c16b2614223b10880f73d50)

1158 1159 1160 1161 1162 1163 1164
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)

1165 1166 1167 1168 1169 1170
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)

1171 1172 1173 1174 1175 1176 1177 1178
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)

1179 1180 1181 1182 1183 1184
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)

1185 1186 1187 1188 1189
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)

1190 1191 1192 1193 1194 1195
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)

1196 1197 1198 1199 1200 1201 1202 1203
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)

1204 1205 1206
1517.	[func]		tmark
	kea-dhcp4 will now connect to and fetch configuration data from
	configured backends. At this point, only fetched subnet data is
1207
	merged and used.
1208 1209
	(Gitlab #101,!202, git c572f8aea94349ff5fb4afee13a88ba811cc6459)

1210 1211 1212 1213 1214 1215 1216
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)

1217 1218
1515.	[func]		fdupont
	Changes required for new host commands that retrieve all host
1219
	reservations from a given subnet (reservation-get-all,
1220
	reservation-get-page) added. Also added documentation.
1221 1222
	(Gitlab #313,!199, git 991b2fadcb9e8171a78e27f95e4bfba6393d7824)

1223 1224 1225 1226 1227 1228
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)

1229 1230 1231 1232 1233
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)

1234 1235 1236 1237 1238 1239
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.
1240
	(Gitlab #40,!203, git f41bd35c3e7a3bdc1f31c5602fd91d5c84c60163)
1241

1242 1243 1244
1511.	[func]		fdupont
	Obsolete experimental secure DHCPv6 options (701-704) removed.
	(Gitlab #386,!196, git 1114527652615fb730e323946cafaf1c7ca72b42)
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

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
1306
1500.	[func, doc]	tmark
1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727
	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
1728
1430.	[func]		fdupont
1729
	Lease objects and lease backends are now able to store user
Tomek Mrugalski's avatar
Tomek Mrugalski committed
1730 1731
	context. User context can store an arbitrary data as long
	as it is in JSON format. Database schemas updated.
1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 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