ChangeLog 327 KB
Newer Older
1 2 3 4
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.
Francis Dupont's avatar
Francis Dupont committed
5
	(Trac #5241, git cef2b630c720a442710efc0d1615b7c7bce01e54)
6

7 8 9 10 11 12
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 xxx)

13 14 15 16 17 18
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)

19 20 21 22
1280.	[build]		waltsteverson
	Missing header for PD-exclude DHCPv6 option is now installed.
	(Github #51, git 36a8e1b8f687a6398af8a10f241e8d19e9de33d8)

23 24 25 26
1279.	[build]		waltsteverson
	Compilation fixes for Alpine Linux
	(Github #50, git 824afa63354e045a5e4f6437246c329d359e04dd)

27 28 29 30
1278.	[doc]		jsoref
	Many spelling corrections.
	(Github #52, git 1dcaef6f8e7901d628c8638fc2f8145ac0279586)

31 32 33 34 35
1277.	[func]*		marcin
	Added support to Command Manager to process commands using
	callouts implemented within hooks libraries.
	(Trac #5330, git 8041d177ed5587101ecb47a09820a7e67e42a066)

36 37 38
1276.	[build]		tmark
	The configure script now configures the build to require the Boost
	system library (boost_system) by default.  The library must be
39
	installed and you may need to specify "--with-boost-lib-dir=<path>".
40 41 42 43 44
	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)

45
1275.	[func]		marcin
Josh Soref's avatar
Josh Soref committed
46
	LibraryHandle object can now be used to register handlers
47 48 49
	for the control commands in a hook library.
	(Trac #5329, git 966cc24ae5593ebb08d6f02a11dab23463ebad7e)

50 51 52 53
1274.	[func]		marcin
	It is now possible to manage Control Agent with keactrl.
	(Trac #5108, git 53ba9f8197a25abd2c52ee3f5e95bc4e4be0241f)

54 55 56 57 58
1273.	[doc]		marcin
	Documented in the User's Guide that the server terminates
	when database connection is lost.
	(Trac #5320, git 5c8b277e8041b53b27a87b32d162ab41ef8b43d7)

59 60 61 62 63 64
1272.	[bug]		marcin
	Fixed inefficient leases indexing in the memfile lease
	manager causing increased CPU utilization during lease
	searches.
	(Trac #5328, git 23b490414f5575b252c8c42fbe93ad2c57d47953)

65 66 67 68 69
1271.	[doc]		marcin
	Documented how to setup secure connection to the Kea
	control	channel.
	(Trac #5304, git a920453bbcf9ffa7200eeddca6323faeff498f16)

70 71 72 73 74 75 76
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)

77 78 79 80 81 82 83
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)

84 85 86 87
1268.	[func]		fdupont
	Kea now re-detects network interfaces every time configuration is
	changed. 're-detect' parameter added to restore old behavior, if
        needed.
Francis Dupont's avatar
Francis Dupont committed
88
	(Trac #3389, git b2ce84790c33d1580dcfa773d7fcfb65c27addc7)
89

90 91 92
1267.	[bug]		fdupont
	Unit-tests for libdhcp now ignore ENOPROTOPT when setting
	SO_REUSEPORT to improve compatibility with older RedHat versions.
Francis Dupont's avatar
Francis Dupont committed
93
	(Trac #5243, git a7b478e1d1f7f0b38055086fe9ac053e4fab2850)
94

95 96
1266.	[func]		fdupont
	It is now possible to define options in DHCPv4 pools.
Francis Dupont's avatar
Francis Dupont committed
97
	(Trac #5288, git aa2839caab8d885e5bceca6f506162debd239b3f)
98

Francis Dupont's avatar
Francis Dupont committed
99 100 101 102 103 104 105
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)

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

112 113 114 115 116 117
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)

118 119 120 121 122 123
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)

124 125 126 127
1261.	[bug]		marcin
	Eliminated valgrind errors in libkea-http.
	(Trac #5261, git 34addef4a654665c6022f0269d51970c72431ac2)

128 129 130 131
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.
Francis Dupont's avatar
Francis Dupont committed
132
	(Trac #5104, git b9ab6ebe7a491c062bc8b0b42afc53f4d6cee011)
133

134 135 136 137 138 139 140 141
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)

142 143 144
1258.	[bug]		fdupont
	Fixed wrong python package path when kea-shell was configured
	without a prefix.
Francis Dupont's avatar
Francis Dupont committed
145
	(Trac #5214, git 44908c5fa56bfa7e1113078f43c458687a97388a)
146

147 148
Kea 1.2.0 released on April 28, 2017

149 150 151 152
1257.	[bug]		marcin
	Improved logging in the hosts manager.
	(Trac #5264, git 2fb9fd78e63f5d09810702847ad3e3b3020ea92b)

153
1256.	[bug]		tomek
154 155 156 157
	Control Agent now writes proper configuration when using
	config-write command.
	(Trac #5253, git a1b5da4db6ebfa9635bbe411ec363cdcc4fd1d28)

158 159 160 161
1255.	[bug]		marcin
	Fixed failing unit tests in libkea-http.
	(Trac #5260, git 43394f76efb1634155c04b205dec7361fc21f4f9)

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

169
1253.	[func,doc]	tomek
Tomek Mrugalski's avatar
Tomek Mrugalski committed
170 171 172 173 174
	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)

175 176 177 178 179 180 181
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)

Tomek Mrugalski's avatar
Tomek Mrugalski committed
182 183 184 185 186
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)

187 188
1250.	[bug]		fdupont
	Do not unregister timers when running the config-test command.
Francis Dupont's avatar
Francis Dupont committed
189
	(Trac #5186, git e891b06940e41b4cfaa324c2ace8fdd761ee6662)
190

191 192 193 194
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.
195
	(Trac #5247, git 4e5193fb32b14325ccf5824614e58bcceb3e6388)
196

197 198 199 200 201 202
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)

203 204 205 206 207 208 209 210
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)

Tomek Mrugalski's avatar
Tomek Mrugalski committed
211 212 213 214 215 216 217 218
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)

219 220 221
1245.	[func]		fdupont
	DHCPv4 domain-search option can now be defined using
	comma separated values.
Francis Dupont's avatar
Francis Dupont committed
222
	(Trac #5087, git eca0b8c6425bc922587675100f100b1aae54aee2)
223

Tomek Mrugalski's avatar
Tomek Mrugalski committed
224 225 226 227
1244.	[doc]		tomek
	User's Guide section about Kea shell added.
	(Trac #5171, git 3dc4908fe02e86c57ccd5ad2d2f8330655f438be)

228 229 230 231 232 233
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)

234 235 236
1242.	[func]		fdupont
	Integer fields in options can now be specified in either
	decimal or hexadecimal format.
237
	(Trac #4540, git 4cbf341f4169cf1e1eae0721644797a726d89702)
238

239 240 241 242
1241.	[func]		fdupont
	Support for tuple-based options added. DHCPv6 option
	bootfile-param (code 60) can now be set in a more convenient
	manner.
Francis Dupont's avatar
Francis Dupont committed
243
	(Trac #4070, git 30102cacee95b91e6c4666f0c11f06232f19eeb9)
244

245 246 247 248
1240.	[bug]		marcin
	Corrected IOFetch unit test failures on Debian.
	(Trac #5216, git a7c2946678c43aedfb2e3c37b9730a10067528f3)

249 250 251 252 253
1239.	[func]		marcin
	Implemented additional sanity checks when adding host
	reservations into the configuration file.
	(Trac #5207, git ea42c6f479918235ae4a67a60d08720e2664720c)

254 255
Kea 1.2.0-beta released on April 7, 2017

256 257 258 259
1238.	[build]		tmark,tomek
	Library version numbers bumped for release.
	(Trac #5201	git 58c9c5b705d72031c1589c30c542384a9d43e0f3)

260 261 262 263
1237.	[bug]		marcin
	Fixed hanging Control Agent unit tests.
	(Trac #5200, git 65daafd135965f9eb0bd4c3a22085d4bd3c6ffbe)

264 265 266 267
1236.	[build]		zeitounator
	Improvements in tools/tests_in_valgrind.sh script.
	(Github #49, git 272e7babf9ebeab5f78850394d72c9431041e2e9)

268
1235.	[func]		MrMarvin
269 270 271
	kea-admin now supports -h (and --host) parameter that can specify
	MySQL or PostgreSQL database locations other than the default
	localhost.
Tomek Mrugalski's avatar
Tomek Mrugalski committed
272
	(Github #14, git 4038157a3499ad90956c98a2172c57b173f2b985)
273

274
1234.	[build]		fdupont
275
	Improved installation procedure for kea-shell.
Francis Dupont's avatar
Francis Dupont committed
276
	(Trac #5170, git 68a902fb723965ee6f5b7a8272224395917525cc)
277

278 279 280 281 282
1233.	[doc]		marcin
	Documented new component Kea Control Agent in the Administrator's
	Manual and the Developer's Guide.
	(Trac #5175, git abf7887ad65eb4b221a1fe61ea0c9773b4feaddb)

Tomek Mrugalski's avatar
Tomek Mrugalski committed
283 284 285 286 287 288 289 290 291
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)

292 293 294 295 296
1231.	[func]		marcin
	Control agent forwards commands to be handled by other Kea
	servers.
	(Trac #5078, git 19a50ed1ccafae19ef10d84cba73992cadf49753)

297 298 299 300
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.
301
	(Trac #5071, git cafa3d5c24f0112b0b9384a9c1083fe8a3eeb2bf)
302

303 304 305 306
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.
Francis Dupont's avatar
Francis Dupont committed
307
	(Trac #5150, git 5f6cf226e848baef8d9af64e16c1dbf617a0a798)
308

309 310 311 312 313
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.
Francis Dupont's avatar
Francis Dupont committed
314
	(Trac #5053, git 532d9f0e459ab1450a83a5015a2dd54745794383)
315

316 317 318 319 320 321
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)

322 323 324 325 326 327
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.
Francis Dupont's avatar
Francis Dupont committed
328
	(Trac #5152, git 2231d79ebebd3cdf432cd4a8ac32018d180e27b6)
329

Tomek Mrugalski's avatar
Tomek Mrugalski committed
330
1225.	[func]		tomek
331
	Two new commands: config-get (retrieves current configuration)
Tomek Mrugalski's avatar
Tomek Mrugalski committed
332 333 334 335
	and config-write (writes current configuration to disk) have been
	implemented.
	(Trac #5151, git ffb26811736a2ae6f9b5556b9823aa284b7e0aec)

Tomek Mrugalski's avatar
Tomek Mrugalski committed
336 337 338 339 340
1224.	[func]		fdupont
	toElement(), a crucial functionality for upcoming get-config
	and write-config command, has been implemented.
	(Trac #5114, git df38c26f957c9ac329718ac9d70ffbcf7b95c4e9)

Tomek Mrugalski's avatar
Tomek Mrugalski committed
341 342 343 344 345 346 347
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)

348 349 350
1222.	[func]		fdupont
	Obsolete parameter 'allow-client-update' has been removed
	from DHCPv4 and DHCPv6 components.
Francis Dupont's avatar
Francis Dupont committed
351
	(Trac #5145, git 01fde297a978e2bd832655ac7276e5aa3a7e8400)
352

353 354 355 356 357 358
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)

359 360 361 362
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).
363
	(Trac #5061, git d12b6f4a6d80d6bc854f2a8a086e412dc37867bc)
364 365

1219.   [func]		marcin
366 367 368 369
	Control Agent uses libkea-http to process commands over
	the RESTful interface.
        (Trac #5107, git 88ce715926a46b6b3832630116fc7782adc46c7b)

370 371 372 373
1218.	[func]		tmark, tomek
	Configuration parsing for D2 has been migrated to bison/flex
	and the SimpleParser framework.  This includes changes to
	libprocess which render the CPL agnostic to the underlying
374
	parsing mechanisms.
375 376 377
	(Trac #5110, git feb2cedc0936364a923ab78542a21114533dd0f5)

1217.	[func]		marcin
378
	Implemented libkea-http library.
379 380 381
	(Trac #5077, git cd72284b5b221e620770883db7e166c4d3ba7eb6)
	(Trac #5088, git 715d18f961801ffbd798a65b19459178c3a53857)
	(Trac #5099, git 7e8df7993f295431e2cb6a13858f746649c4e18d)
382

383
1216.	[func]		fdupont, tomek
384
	Command line option -t implemented for DHCPv4 and DHCPv6.  It
385 386 387
	allows configuration sanity checking. Note that not all parameters
	are completely checked. In particular, service and control channel
	sockets are not opened, and hook libraries are not loaded.
Francis Dupont's avatar
Francis Dupont committed
388
	(Trac #3770, git 1d12582e270935ee7b72548d9c66753f4eea4ca4)
389

390 391 392 393
1215.	[doc]		tomek
	Developer's Guide updated to cover flex/bison parser.
	(Trac #5112, git 44139d821c1f4e43dbff22d49101a0854e4f9f5b)

394
1214.	[func]		tomek
395 396 397 398 399
	Bison parser implemented for Control-agent. The code is able
	to syntactically parse input configuration, but the output
	is not used yet.
	(Trac #5076, git d99048aa5b90efa7812a75cdae98a0913470f5a6)

400 401 402 403
1213.	[bug]		fdupont
	Option string values containing comma can now be specified
	correctly by preceding comma with double backslashes (e.g.
	"foo\\,bar").
Francis Dupont's avatar
Francis Dupont committed
404
	(Trac #5105, git fa79ac2396aa94d7bac91bd12d3593ebaaa9386d)
405

406 407 408 409
1212.	[doc]		andreipavelQ
	Many spelling corrections.
	(Github #47, git a6a7ca1ced8c63c1e11ef4c572f09272340afdd7)

410 411 412 413 414
1211.	[func]		andreipavelQ
	Updated PostgreSQL version reporting to be in line with
	MySQL and Cassandra.
	(Github #42, git 7ef4a190facadd66775b4a44c696d1c4215616cd)

415 416 417 418
1210.	[doc]		andreipavelQ
	Doxygen version updated to 1.8.11.
	(Github #45, git ce72998382b62269823fa0dcbfa41dfa9c72b69e)

419
1209.	[func]		tomek
420
	Relay options are now printed in DHCPv6 when sufficiently detailed
421 422 423
	debug logging is requested.
	(Trac #5131, git 5bf58b21fcf07f2e2e97275efa1f76cde913b30a)

424 425 426 427 428 429 430 431
1208.	[func]		tomek
	Global DHCPv4 and DHCPv6 parsers have been migrated to the
	SimpleParser framework. Several parameters (renew-timer,
	rebind-timer, preferred-lifetime, valid-lifetime, match-client-id,
	next-server, decline-probation-period, dhcp4o6-port,
	echo-client-id) now have explicit default values.
	(Trac #5019, git f3538dd031e6f29abcd516f425d72c8f929abbb0)

432 433 434
1207.	[func]		fdupont
	Client classes parser migrated to SimpleParser. The 'name'
	parameter in 'client-classes' definitions is now mandatory.
Francis Dupont's avatar
Francis Dupont committed
435
	(Trac #5098, git e93906e48a6e2b0ff78c5e37dca642646fe47d43)
436

Tomek Mrugalski's avatar
Tomek Mrugalski committed
437 438 439 440 441
1206.	[func]		tomek
	'hooks-libraries' parser migrated to SimpleParser. The code will
	now refuse a configuration if a hook library fails to load.
	(Trac #5031, #5041, git 1bbaf4cbcf6fda59bacdf526a6c762315fdd88a1)

Tomek Mrugalski's avatar
Tomek Mrugalski committed
442 443 444 445 446
1205.	[func]		tomek
	Parsers for interfaces configuration converted to SimpleParser.
	Removed obsolete 'version' parameter in Dhcp6.
	(Trac #5020, #5038, git 3d8e48c640e302670c04907468d11faafbe9fe7b)

447 448 449
1204.   [func]         marcin
	Added 'control_command_receive' hook point to Kea Command
	Manager.
450
	(Trac #5100, git d0c7cb29a7df3588c540afb4ca56de55f26142e0)
451

452 453 454 455
1203.   [func]         marcin
	Implemented TCPAcceptor class in libkea-asiolink. This class
	provides means to listen and asynchronously accept new TCP
	connections.
456
	(Trac #5094, git 920ba90696ba9d8579a7db5e1efcf955d6654a96)
457

Tomek Mrugalski's avatar
Tomek Mrugalski committed
458 459 460 461 462 463 464
1202.	[func]		tomek
	Parsers for mac-sources, control-socket, and relay-info converted
	to SimpleParser. It is no longer accepted to specify empty
	mac-sources. Either specify actual values in mac-sources or
	don't specify mac-sources at all.
	(Trac #5032, git f1c9dee0936b48be28f890ffd428fbdeb87c12ea)

465 466 467 468 469 470 471
1201.	[func]		tmark
	kea-dhcp4 and kea-dhcp6 now support the "set-config" command.
	The command causes the server to replace its current configuration
	with the configuration supplied as the command's argument.
	(Trac #5046, git 4afbdcf89c9f83d944f774d05bd401d3f2768d10)

1200.	[func]		tmark
472 473 474 475 476
	kea-dhcp4 and kea-dhcp6 now support the Command Channel "libreload"
	command.  The command causes the server to unload and then load all
	currently loaded hook libraries.
	(Trac #3238, git d4d8665494e1847b34b66f8ef542851ea6f0213c)

477 478 479 480 481 482 483 484 485 486
1199.	[func]		tomek, fdupont
	Dhcp4 parser migrated to bison. This yields a number of user
	visible changes:
	- better comment handling (bash, C, C++ style comments)
	- file includes now supported
	- better syntax checking
	- added advanced.json config example
	- removed obsolete 'version' parameter
	(Trac #5017, git 1cf853c595a100c86f9b2b3353f1b5964d902147)

487 488 489 490
1198.   [func]         marcin
	Created kea-ctrl-agent. This application currently doesn't
	do anything. Future tickets will add REST API to allow for
	managing Kea services.
491
	(Trac #5075, git 1ec7586da5ae1474b52d5a395fb80ee37d6d568e)
492

Tomek Mrugalski's avatar
Tomek Mrugalski committed
493 494 495 496 497
1197.	[doc]		tomek
	Configuration examples now set lfc-interval to a default
	value of one hour.
	(Trac #5072, git cf4362196fa2b7892643d1e40b974bb450a3de7e)

Tomek Mrugalski's avatar
Tomek Mrugalski committed
498 499 500 501 502 503 504 505
1196.	[func]		tomek, fdupont
	Dhcp6 parser migrated to bison. This yields a number of user
	visible changes:
	- better comment handling (bash, C, C++ style comments)
	- file includes now supported
	- better syntax checking
	(Trac #5036, git 4c5902da95a5228275cdb151b357864cfa9c31f5)

506 507 508
1195.	[build]		fdupont
	Altered to compile in C++ 2011 standard mode. Also replace (most)
	instances of the deprecated std::auto_ptr with std::unique_ptr.
Francis Dupont's avatar
Francis Dupont committed
509
	(Trac #5066, git a060d4a983860bf3056d50d9bf7ee4355c8372f2)
510

511 512 513 514
1194.   [build]     	marcin
	Moved StateModel class from D2 to libkea-util.
	(Trac #3175, git 270ec379aec2894104a299cdd1080e24007e25fb)

515 516 517 518 519 520 521 522 523
1193.	[doc]		stephen
	Update Hook Developers documentation to make it clearer where
	the Kea include files and libraries are located.
	(Trac #5069, git 14a78caaf3af9fe9a0ffe2c8af784eab78e813e0)

1192.   [build]     marcin
	Created libkea-process library and moved the Controllable
	Process Layer (CPL) from D2 to this new library.
	(Trac #5074, git 4563925f7966e9da2132eb427e742cc3d3feee5d)
524

525 526 527 528
1191.	[build]		tomek
	Optional support for premium package added.
	(Trac #5027, git 5ff51f28a1f05d941bb117986922a6f410f23c6c)

Tomek Mrugalski's avatar
Tomek Mrugalski committed
529 530 531 532 533
1190.	[func]		tomek
	User context implemented: an arbitrary user information can
	now be defined for address and prefix pools.
	(Trac #5023, git 4f81789e19b72c933bcf86e402b417c63bd7bd3f)

534 535 536
1189.	[func]		fdupont
	Owing to API changes, crypto code now requires OpenSSL 1.0.1 or
	later.
Francis Dupont's avatar
Francis Dupont committed
537
	(Trac #3908, git 4c14fdfd4187a4c8f7b775432082b76782e47663)
538

539 540
1188.	[doc]		vlegout
	Fixed several spelling mistakes.
541
	(Github #32, git d51c005519c4add6fd0c37bcd68b0fbe94941b2d)
542

543 544 545 546 547 548 549
1187.	[bug]		marcin
	DHCPv4 server allows for allocating multiple leases for the
	same hardware address if a different client identifier is
	used for each lease. This facilitates the PXE boot use cases
	where a booted machine may request a lease multiple times.
	(Trac #5029, git 03defed4d8bb9a997d31dbfcf30ae3f866bd3353)

550 551 552 553 554 555
1186.	[func]		marcin
	Support for DHCPv6 options defined in RFC6603 and RFC7598. Thanks
	to Andrei Pavel and Cristian Secareanu of Qualitance for submitting
	initial implementation.
	(Trac #github24, git 59b62eb3ddd9db62c04bd47cd8fbdc1af62fbc1b)

556 557 558 559 560
1185.	[build]		marcin
	Install Kea headers to be used for building external libraries.
	Before this change some required headers were not installed.
	(Trac #5055, git a46087b7b7face4a1318658bbdcbf7602c1bb729)

561 562 563 564 565
1184.	[bug]		eest
	Fixes in the occasionally failing LFC unit test. This
	fix was provided by Patrik Lundin.
	(Github #31, git 69a5722bf3b41bf3b2bc0c2bcac966c23c08f62d)

566 567 568 569 570 571 572 573 574
1183.	[bug]		tmark
	kea-dhcp4 now correctly loads declined leases from CSV
	lease files. Prior to this, declined leases were being
	incorrectly and silently discarded.  In addition, both
	kea-dhcp4 and kea-dhcp6 will now emit an error log for
	each invalid row encountered when loading leases from
	CSV files.
	(Trac #5058, git 29b088079bed3c5059fdf8a43a4e79cd7f9a4207)

575 576 577 578 579
1182.	[func]		marcin
	DHCP servers detect overlapping pool ranges during
	configuration.
	(Trac #2280, git c8f931e0189c9630f5fba5d2a5553bed4abf36f7)

580 581 582 583 584
1181.	[func]		marcin
	Extended DHCPv6 server to allow for specifying DHCP options
	on address and prefix pool levels.
	(Trac #5022, git e3b2785c79aedbb0c8af7468d61f6d61dafd2282)

585 586
Kea 1.1.0 released on September 30, 2016

587
1180.	[doc]		stephen
588 589 590 591
	Editing pass through the Kea guide.
	(Trac #4484, git 63456fab1b978bd515198b9b9e604f293efd8217)
	(Trac #5008, git f09cd12d5b1abc60ccef98df2abc6c41b482a404)

Tomek Mrugalski's avatar
Tomek Mrugalski committed
592 593 594 595
1179.	[doc]		tomek
	Manual pages updated.
	(Trac #3515, git 4cf0395e11e724786c4d2a1d48805f1c770f4c99)

596
1178.	[doc]           tomek
597 598 599
	user_chk hook library is now documented in the User's Guide.
	(Trac #3209, git 4a8534d968a21cff3851619fb22d0032a1202c87)

600 601 602 603
1177.	[build]	marcin
	Updated Kea libraries version numbers for 1.1-final release.
	(Trac #5012, git 6e9a224b46def357141a31386fcc912b29dfe16d)

604 605 606 607
1176.	[doc]		tomek
	Developer's Guide has been updated.
	(trac #4299, git ed38076c183394feaef60e7123d0c488c9f6447d)

608 609 610 611 612 613 614 615 616
1175.	[bug]		marcin
	Corrected a bug whereby a client, for which there was no
	host reservation specified, did not obtain an IPv6 lease
	from a server when PostgreSQL or MySQL host database backend
	was in use. In addition, PostgreSQL host database backend
	allows for specifying NULL values in certain columns within
	host reservation tables.
	(Trac #5009, git d3109bb27786867fdc99954ba55367f0ad129e7a)

617
1174.	[bug]		tmark
Josh Soref's avatar
Josh Soref committed
618
	Modified kea-dhcp6 to avoid requesting DNS updates when
619 620 621
	existing leases are renewed without changes to the FQDN.
	(Trac #5007, git 05ea3a5eb75c06cf9814c63a1a54261bf58a954b)

622 623 624 625 626 627
1173.	[bug]		xxwolfsrainxx, marcin
	MySQL database creation scripts use single quotes for
	strings to avoid issues with creation of the database
	when MySQL server operates in ANSI_QUOTES mode.
	(github #30, git e40a54a8e24b5f6427edd4afcd5cdc15012b8866)

628 629 630 631
1172.	[bug]		andir
	Kea build fixes for gcc 6, which uses C++14 by default.
	(github #29, git ad68c3942839618c26d7ff017fbac7df139b5d01)

632 633 634 635 636 637
1171.	[doc]		marcin
	Updated supported operating systems and the prerequisites for
	installing and building Kea in the Kea Administrator
	Reference Manual.
	(Trac #4502, git af847837590ce5b37a300ebe15652fb172585b38)

638 639 640 641 642 643 644
1170.	[doc]		marcin
	Updated Kea Administrator's Reference Manual sections
	regarding host reservations. Added configuration examples
	for using host reservations with MySQL and PostgreSQL
	databases.
	(Trac #3684, git 71d21eac51d20ff5d368b17c437abc45c955a04c)

645 646 647 648 649 650
1169.	[doc]		marcin
	Updated Kea Administrator Reference Manual to explain the
	implications of using "kea_verbose" parameter in the keactrl
	configuration.
	(Trac #3950, git c5f4920fd1994882e1fae398ae29b455401296bd)

651 652 653 654 655
1168.	[doc]		marcin
	Corrected location of the Kea repository in the Kea Administrator
	Reference Manual.
	(Trac #4258, git f081000b892287316e54848ca1f62ca3512d4263)

656 657 658 659
1167.	[func]		marcin
	DHCP servers utilize client classes defined in host reservations.
	(Trac #4765, git 242fbc47b31da404e57be458ac065f811084cca9)

660 661 662 663 664
1166.	[bug]		marcin
	Corrected error message produced by the host database access
	parser when the database type was not specified.
	(Trac #4261, git 028dd49f4fa4843e68e23d11c237e9f4683470ba)

665 666 667 668 669 670
1165.	[func]		marcin
	Hostname option is returned to the client when requested using
	Parameter Request List option. Previously this option was only
	returned when a client has sent Hostname option to the server.
	(Trac #5005, git 96ab8ecaa3d5b2d6cd88d0b16406f433d2cdf841)

671 672 673 674 675 676
1164.	[bug]		marcin
	Corrected an issue whereby DHCPv4 server did not correctly set a
	server identifier in response message sent to a client on BSD
	systems.
	(Trac #5003, git 110c67325072a781d55cf0634f8f5f3385611f97)

677 678 679 680 681
1163.	[bug]		marcin
	Corrected swapped DHCPSRV_MEMFILE_GET_EXPIRED{4,6} messages
	in the Memfile lease manager.
	(Trac #4717, git ce5919d97879c3fda0858894b24418af135ef8f3)

682 683 684 685 686 687
1162.	[func]		pallotron
	Added two enhancements to perfdhcp: optionally using MAC
	addresses from a file in new DHCP transactions, and
	generation of DHCPv6 relayed messages.
	(github #22, git c5b4a5981cf642ebb9aecb8acc07b87abdccbd91)

688 689 690
1161.	[bug]		fdupont
	Fixed interface manager receive methods which raise a bug on
	Fedora 24 / gcc 6.1?
Francis Dupont's avatar
Francis Dupont committed
691
	(Trac #4551, git 8d590e434062535e850a60a7892481df845ff390)
692

693 694
Kea 1.1.0-beta released on August 31, 2016

695 696 697 698 699
1160.	[build]		marcin
	Bumped up version numbers of Kea libraries and KEA_HOOKS_VERSION
	for the Kea 1.1.0 beta release.
	(Trac #4632, git 93941523e039a1cc4bb34182a290f9d7b805df34)

700 701 702 703
1159.	[func]		marcin
	MySQL database schema updated to version 5.0.
	(Trac #4562, git 0e40b35e280f0845686bcfdb2efb577c7878ede6)

704 705 706 707 708
1158.	[func]		tomek
	It is now possible to specify fixed fields (next-server,
	server-hostname and boot-file-name parameters) for client classes.
	(Trac #4626, git 89cf54524d8b55cc982ab2146915c0a90fc6efe2)

709 710 711 712 713
1157.	[func]		marcin
	Added support for static reservations for fixed fields in
	DHCPv4 messages: siaddr, sname and file.
	(Trac #4552, git 9b79fe005dd77328ea7c596fc6886f8fb838d1cf)

714 715 716
1156.	[bug]		tmark
	Lease statistics are now recalculated during server startup and
	after each successful reconfiguration for Memfile, MySQL, and PostgreSQL
717
	back ends.  This addresses issues caused by accumulated values being lost
718
	across restarts and reconfigurations making rendering values incorrect.
719 720
	(Trac #4294 git 0abdcf15f85861ffcb67d50fa4ce3965d25e4a9f)

721 722 723 724 725
1155.	[func]		marcin
	Kea can be configured to operate using read-only host database.
	This is only supported for MySQL and PostgreSQL databases.
	(Trac #4489 git 0d8dc7affb67ad8066b44c6f81532b79a641d50b)

726 727 728 729 730 731
1154.	[bug]		stephen
	Changes to logging to avoid premature destruction of some
	objects during program exit.  On some systems this caused
	one of the unit test programs to crash when it terminated.
	(Trac #4494, git 023c2fc3688bcdbccb4b286bea873c8f9c06cd5f)

Tomek Mrugalski's avatar
Tomek Mrugalski committed
732 733 734 735
1153.	[func]		tomek
	Integers can now be used in client classification.
	(Trac #4483, git e90cf0ee4007521b86177be6d5fbb970c02c1075)

736 737 738 739 740
1152.	[doc]		marcin
	Use of PostgreSQL as a storage for host reservations is now
	documented in the Kea Administrator Reference Manual.
	(Trac #4282, git f2879919772c10b1ae8c45d0e761ef199cf84061)

741 742 743 744 745
1151.	[func]		tmark
	Support for assigning client classes to host reservations has
	been added to both the PostgreSQL and MySQL backends.
	(Trac #4277, #4213 git 6990ab9d542e984c59ce5a11ff926c3c732a75fc)

Tomek Mrugalski's avatar
Tomek Mrugalski committed
746 747 748 749 750 751
1150.	[bug]		tomek
	Extended gcc bug workaround to work on all versions of gcc
	from 5.2 up to, but not including 6.0. See ChangeLog entry
	1103 or Trac ticket #4243 for details.
	(Trac #4553, git 80243d9d246b982d86dd7e0d00597383cae01706)

752 753 754 755 756 757
1149.	[bug]		marcin
	Corrected a bug whereby clients were not assigned reserved
	addresses from an external database, as a result of unexpected
	closure of a connection to that database.
	(Trac #4544, git 7f682112dd5ab9fcd6bfa4e10505c246775f353d)

Tomek Mrugalski's avatar
Tomek Mrugalski committed
758 759 760 761 762
1148.	[func]		tomek
	The vendor options (124, 125 in DHCPv4 and 16, 17 in DHCPv6) are
	now accessible from client classification.
	(Trac #4270, #4271, git ef676368f9036625d73f7f34e3fe9b5eeeaee7f1)

763 764 765 766
1148.	[func]		fdupont
	Added the pkt classification token to extract incoming packet
	meta-data (receiving interface name, source and destination
	address, length).
Francis Dupont's avatar
Francis Dupont committed
767
	(Trac #4272, git 9a3bdfa43cf65ef56a8d63580dd5d7414fc41373)
768

769 770 771 772
1147.	[func]		stephen
	-Werror is no longer the default for compilation.  Promotion of all
	compilation warnings to errors now requires the --with-werror switch
	to be specified when running configure.
773
	(Trac #4533, git 874e3a3f5cb10313856284646fcee7cf86e4fcce)
774 775

1146.	[func]		sar
776
	Add the forensic hook library documentation to the admin guide.
777
	(Trac #4511, git 0bb39840a3cbdaf815819f846120c90d9ca038ff)
778

779
1145.	[func]		tmark
780 781
	The Postgresql backend now supports host reservations for both
	DHCPv4 and DHCPv6, with options and IPv6 reservations.
782 783
	(Trac #4277 git ac1eaa1026987c2d86d57b4aa0dc9a4d093787f0)

784 785 786 787 788
1144.	[bug]		mihu
	Response to DHCPINFORM is generally sent to port 68, rather
	than port 67. Thanks to Michal Humpula for providing a patch.
	(github #23, git 4216a4bedf8a884df087c68d48c88ee9ffa444dc)

789 790 791
1143.	[doc]		fdupont
	User's Guide has been updated with DHCPv4-over-DHCPv6 support
	details.
Francis Dupont's avatar
Francis Dupont committed
792
	(Trac #4273, git fe8cb64adeabe00d84ee390b579a8328717ae521)
793

794 795
1142.	[doc]		sar
	Uncomment the example columns in some rows in the table
796
	listing the classification examples.
797
	(None, git dee442a64f57c8d9dd87636f9e39084ed1b11e03)
798

799 800 801 802 803 804
1141.	[func]		marcin
	Pkt4, Pkt6 and Pkt4o6 objects passed to hooks libraries
	return copies of DHCP options to avoid unintended modification
	of the options stored in the server configuration.
	(Trac #4497, git e50d2ebe998ec3faad8ade22b6971d6584c81044)

805 806 807 808 809
1140.	[func]		marcin
	DHCPv6 server supports assigning multiple reserved addresses
	and/or prefixes to a single client.
	(Trac #4321, git 0bfb2a9093174e4424051c01beeee7637ac95be0)

Tomek Mrugalski's avatar
Tomek Mrugalski committed
810 811 812 813 814 815
1139.	[doc]		tomek
	New features of host reservations have been documented: ability
	to reserve standard and vendor options in host reservations. Separate
	sections for each backend added.
	(Trac #4518, git 99a40fead28f4324dfb55f1962a8bf3e85ab70e2)

816 817 818 819
1138.	[build]		fdupont
	Compilation problem on FreeBSD caused by unused parameter in
	certain version of boost headers is now resolved. Also, INSTALL
	file has been updated and now lists dependencies.
Francis Dupont's avatar
Francis Dupont committed
820
	(Trac #4283, git 7dbd95651c308527f2e42c533fdc0a12aeec5308)
821

822 823 824
1137.	[doc]		fdupont
	Developer's Guide has been updated with DHCPv4-over-DHCPv6 support
	details.
Francis Dupont's avatar
Francis Dupont committed
825
	(Trac #4274, git b3eda594e055f03a9a601bacf0c72c3db0ef8e3c)
826

Tomek Mrugalski's avatar
Tomek Mrugalski committed
827 828 829 830
1136.	[doc]		tomek
	Included full text of MPL 2.0 and Apache licenses.
	(Trac #4529, git baefb4b3e2078a0a0f794b42ef52d6b7d53c9dab)

Francis Dupont's avatar
Francis Dupont committed
831
1135.	[func]		fdupont
Francis Dupont's avatar
Francis Dupont committed
832
	Integrated the DHCPv4 service part of DHCPv4-over-DHCPv6 support.
Francis Dupont's avatar
Francis Dupont committed
833 834
	(Trac #4110, git 7d36aebe14db10b0cbac8e6c0e82160b9d5d7ecd)

835
1134.	[func]		fdupont
Francis Dupont's avatar
Francis Dupont committed
836
	Integrated the DHCPv6 service part of DHCPv4-over-DHCPv6 support.
Francis Dupont's avatar
Francis Dupont committed
837
	(Trac #4109, git 8d1f330d9b0a44039a8b9e0b479f8da1743b9504)
838

839 840 841
1133.	[func]		razvan
	The initial support for CQL (Cassandra) backend added. It is able
	to store leases information.
842
	(Github #21, git d3a412d4b090bfd84ec5bc5d7817b1dfcc92602e)
843

844
1132.	[func]		tmark
845 846
	The Postgresql schema has been updated to support host
	reservations and its version number has been bumped to 3.0.
847
	This schema is content equivalent to the MySQL schema version 4.2.
848 849
	(Trac #4275, git 6f8e646bee9de22c921ed26409f3d1856ebce9e6)

850 851
1131.	[func]		fdupont
	Update the DHCPv4-over-DHCPv6 inter-process communication code.
Francis Dupont's avatar
Francis Dupont committed
852
	(Trac #4106, git 1ce1cba00af5d81822d5bbe26ddd28b718f51d54)
853

854 855 856 857 858 859
1130.	[func]		marcin
	DHCPv6 server assigns DHCP options specified for hosts. Host
	specific options take precedence over class specific options,
	subnet specific options and global options.
	(Trac #3573, git c29551e43010a345cfa2efda46389f4433d84650)

860 861 862 863 864 865
1129.	[bug]		marcin
	libdhcp++: Removed unnecessary copies of the container holding
	option definitions to improve performance of both DHCPv4 and
	DHCPv6 server.
	(Trac #4498, git 14716853a92e08c4cc5be75ae85c5e84d6356a1e)

Tomek Mrugalski's avatar
Tomek Mrugalski committed
866 867 868 869 870 871
1128.	[func]		tomek
	Subnet selection in DHCPv4 will now work, even if the addresses
	configured on interface are not in range of the subnet definition
	from the configuration file.
	(Trac #4308, git 7c74ecdbb64c69d341d623422216b0a54e6ff519)

872 873 874 875 876 877
1127.	[func]		marcin
	DHCPv4 server assigns DHCP options specified for hosts. Host
	specific options take precedence over class specific options,
	subnet specific options and global options.
	(Trac #3572, git 49f67aaf36dab38b4fcbf59dcad97e4309903b2f)

878 879 880 881
1126.	[func]		marcin
	Host reservations can be assigned using DHCPv4 client identifier.
	(Trac #4317, git 5f14fca1e029b04ad21a417936c2b8889acef10d)

882 883 884 885
1125.	[func]		fdupont
	Inter-process communication for exchanging packets between
	DHCPv4 and DHCPv6 components of DHCPv4-over-DHCPv6 has been
	implemented.
Francis Dupont's avatar
Francis Dupont committed
886
	(Trac #4106, git 3223bb8280bfd99c225e725de660ae764abe3c87)
887

888
1124.	[bug]		sar
889 890
	Update the classification document to match the output from
	the debug statements.
891
	(Trac NA, git 8b3ea8e26c3e6cd3c46073b635212fd29f031774)
892

893
1123.	[func]		marcin
894 895 896 897
	Extended MySQL host data source to retrieve DHCPv4 and DHCPv6
	options associated with hosts from a MySQL database.
	(Trac #4281, git b8a306a27d1cae03f6bc5223c30806f5cd1b64f4)

898
1122.	[func]		sar
899 900 901
	Add debug logging to the classification tokens.  This uses
	the loggers "kea-dhcp4.eval" and "kea-dhcp6.eval" to capture
	details of the classification expression evaluations.
902
	(Trac #4480, git cf14d0d21c69879f21733457a97a6ac0bdb1dae2)
903

904
1121.	[func]		stephen
905 906 907 908
	Make the database connection timeout a configurable parameter with
	a default value of five seconds.
	(Trac #3164, git 3332ad17523c6fcc1e735e4297169ebb2de95118)

909
1120.	[bug]		marcin
910 911 912 913
	Performance improvement in libdhcp++: improved efficiency of the
	DHCPv4 Message Type option creation.
	(Trac #4495, git 41c43a2a9e34931fc3ebf58c459f10ad08575d19)

914
1119.	[bug]		marcin
915 916 917 918 919
	Performance improvement in hosts reservation: removed
	inefficient conversion of the host identifier to text
	when logging.
	(Trac #4499, git 48c20790480d5ed7bfde0ef7b052dd4a9745607d)

920
1118.	[func]		tmark
921 922 923 924 925 926
	The "query4" argument, containing the client packet received, has been
	added to the DHCPv4 hook points: lease4_select and lease4_renew.  The
	"query6" argument, containing the client packet received, has been
	added to the DHCPv6 hook points: lease6_select and pkt6_send.
	(Trac #4481, git c0af94c47bda85eb1caa3a78a46280b63990672a)

927
1117.	[bug]		stephen
928 929 930 931
	Adjusted variable type in a MySQL-related file to overcome a
	type mismatch problem reported by one particular compiler.
	(Trac #4485, git 4c6fb189b5d12ffdf4ab171c9154366e70e6082c)

932
1116.	[func]		tomek
933 934 935 936 937
	DHCPv4 subnet selection can now be selected based on IPv6
	information. This is part of ongoing effort to support RFC7341:
	DHCPv4-over-DHCPv6.
	(Trac #4112, git 3352685981ec8ca9a90f7405ff56cd31af6fb0d9)

938
1115.   [bug]		tmark
939 940
	An explicit call to unload the hook libraries prior to server
	exit was added to both kea-dhcp6 and kea-dhcp4.  This corrects
941 942
	an issue where logging components were being destroyed prior
	to hook libraries being unloaded.
943 944
	(Trac #4492, git 2a4792b3551cce2fb9147f33f032ae7e71791d21)

945
1114.	[bug]		marcin
946 947 948 949 950
	perfdhcp: Improved algorithm for dropping timed out transactions.
	This prevents growing memory consumption due to storing timed
	out transactions when the DHCP server drops many messages.
	(Trac #4493, git 9757a93110afb82c5379643f2f48e223d497efae)

951
1113.	[func]		tomek
952
	It is now possible to specify parameters for hook libraries.
953
	(Trac #4297, git f45d0b5d297f6ad522eb8b7e6f6a0de1064b8569)
954

955
1112.	[func]		marcin
956 957 958 959 960 961
	"host-reservation-identifiers" configuration parameter has been
	implemented. It allows for specifying an ordered list of
	host identifiers that DHCPv4 and DHCPv6 servers use to
	retrieve static host reservations for a client.
	(Trac #4303, git 942808400e7116d95acfd53b0dc1ecad1c45c598)

962
1111.	[func]		tmark
963 964 965 966 967
	Schema scripts have been relocated from src/bin/admin/scripts to
	src/share/database/scripts and are now shared by both kea-admin
	and unit testing.
	(Trac #4239, git 131fcf52f2a65cedb53975f99114296366fb0199)

968
1110.	[func]		fdupont
969 970
	Added support for extracting constant length fields from a DHCPv4
	packet.
Francis Dupont's avatar
Francis Dupont committed
971
	(Trac #4268a, git 5d1397efc05802b72e86785528870b7154307ff0)
972

973
1109.	[func]		sar
974 975
	Added support for accessing DHCPv6 packet fields message type
	and transaction id in a classification expression.
976
	(Trac #4269, git 48be5f5ceaba6b0d0a2b31465e8a5904524e894c)
977

978
1108.	[bug]		pallotron
979 980 981 982
	perfdhcp uses the same transaction id throughout the DORA
	exchange to adhere with RFC 2131.
	(github #19, git d260a70d6aa0baecd68131bc35f58f097aa77bcc)

983
1107.	[func]		tmark
984
	The DDNS parameter, replace-client-name, has been changed from a boolean
985
	to list of modes, which provides greater flexibility in when the Kea
986 987
	servers replace or supply DNS names for clients.  This is supported both
	kea-dhcp4 and kea-dhcp6.
988
	(Trac #4259, git 45e56d7aa0d4a6224a1a28941f6cb11575391222)
989

990
1106.	[func]		marcin
991 992 993 994 995
	"circuit-id" can be specified as host identifier in host
	host reservations. However, the server ignores the reservations
	by "circuit-id" at this point.
	(Trac #4301, git cf56fc2a2e0e821a17dd95de49a43755745682fb)

996
1105.	[func]		sar
997 998
	Added access to the peer address, link address and option
	information added by relays in a DHCPv6 message.
999
	(Trac #4265, git bb00d9d205ee047961ba70417d7ce02c37d80ce7)
1000

1001
1104.	[bug]		stephen
1002 1003 1004 1005 1006
	Made DHCPSRV_MEMFILE_LFC_UNREGISTER_TIMER_FAILED a debug message as the
	condition leading to it (trying to unregister a timer that is not
	registered) does not have an adverse effect on the operation of Kea.
	(Trac #4293, git 06204c5d347d0df359af69974c155d0fa9725b44)

1007
1103.	[bug]		tmark
1008 1009 1010 1011 1012 1013 1014
	Wrapped asio/asio.hpp with logic to suppress optimization when building
	under GCC 5.2.0 through 5.3.1 and BOOST_ERROR_CODE_HEADER only is defined.
	This avoids an issue in the asio socket layer that was incorrectly
	reporting socket read errors causing unit tests to fail and kea-dhcp-ddns
	to loop logger calls in the error handler (aka double errors).
	(Trac #4243, git 082f846f37cb32964c876b2bff5fcac82d1eaaf0)

1015
1102.	[func]		marcin
1016 1017 1018 1019 1020
	Updated Host Manager API to allow for retrieving host reservations
	by any type of host identifier. Previously it was only possible
	to retrieve host reservations by hardware address or DUID.
	(Trac #4302, git 3979656c918164e3c39e0e8fb78b2862a2b5e95a)

1021
1101.	[func]		kalmus, marcin
1022 1023 1024
	Implemented IPv6 address/prefix reservations in MySQL.
	(Trac #4212, git 79481043935789fc6898d4743bede1606f82eb75)

1025
1100.	[func]		fdupont
1026 1027 1028
	Reorganized the DHCPv4 and DHCPv6 services into run() (service
	loop), run_one() (receive, call next routine and send) and
	processPacket() (internal core processing of an incoming packet).
Francis Dupont's avatar
Francis Dupont committed
1029
	(Trac #4108,#4266,#4267, git ba24bd770d1a1791f8fdc3df7f2e41f9f0c851ec)
1030

1031
1099.	[func]		tmark
1032 1033
	Both kea-dhcp4 and kea-dhcp6, now log the primary lease events (e.g.
	grants, renewals, releases, declines) at the INFO log level to the
1034
	lease4_logger and lease6_logger respectively.  Prior to this these
1035 1036 1037
	events were logged at the DEBUG log level.
	(Trac #4316, git 9beca27e3d76d0ccec925125f23074227db08869)

1038
1098.	[bug]		fdupont
1039
	Fixed some minor Coverity-detected issues.
Francis Dupont's avatar
Francis Dupont committed
1040
	(Trac #4326, git ad1f442ee4382b354dc8be84ba77785e565aa86b)
1041

1042
1097.	[bug]		marcin
1043 1044 1045 1046
	libdhcpsrv: Fixed issues with lease indexing in Memfile
	database backend.
	(Trac #4339, git a065144663ac716b1fa1c8c224a88aa176da9630)

1047
1096.	[bug]		fdupont
1048
	Fixed Coverity-detected overflows in pkt4::setFile() and setName().
Francis Dupont's avatar
Francis Dupont committed
1049
	(Trac #4306, git 0b7388891eaab39fe727b076468d672551126796)
1050

1051
1095.	[func]		marcin
1052 1053 1054 1055
	DHCP option values can be specified within host reservations
	in the configuration file.
	(Trac #4319, git 069dd7c248afcfcb7e4d958f20faa32e946e74ce)

1056
1094.	[bug]		fdupont
1057
	Fixed Coverity-detected exception-handling issues.
Francis Dupont's avatar
Francis Dupont committed
1058
	(Trac #4307, git 3e1050749d9684144e1bd17552af7e4abf3c0d17)
1059

1060
1093.	[func]		fdupont
1061 1062
	Added support for IP address (IPv4 and IPv6) literals in
	classification expressions.
Francis Dupont's avatar
Francis Dupont committed
1063
	(Trac #4232, git b98cc019b172a4903a2121e910f3cee4eaca2d51)
1064

1065
1092.	[func]		fdupont
1066 1067 1068
	Added relay4[X].exists method in classifications that checks
	whether a sub-option is present in theDHCPv4 RAI (Relay Agent
	Information, 82) option.
1069
	(Trac #4313, git 87397fd75215b69ad79708aaa1d7505aca299fb5)
1070

1071
1091.	[bug]		fdupont
1072 1073
	Protected DHCP server main() routines against errors raised from
	logger calls in the error handler (aka double errors).
Francis Dupont's avatar
Francis Dupont committed
1074
	(Trac #4310, git 6813e1a7520335f6920ff8de5e52ecdb24712910)
1075

1076
1090.	[bug]		fdupont
1077 1078
	Empty option specifications no longer require setting the
	csv-format parameter.
Francis Dupont's avatar
Francis Dupont committed
1079
	(Trac #4291, git 398458f3ad4680fd5f3c032eb6c99d50c2981368)
1080

1081
1089.	[func]		marcin
1082 1083 1084 1085
	The Host class has been extended to store DHCP options to
	be assigned to a client.
	(Trac #3571, git 9d434f28cc4683eccbcca1ba0d1e45bceb5230d2)

1086
1088.	[bug]		sar
1087
	Always copy the DHCPv4 flags field from a client's request to the
1088
	the server's response.
1089
	(Trac #4292, git 8b7182abdc7ff47eb9b68451e7507b7e4b9872e0)
1090

1091
1087.	[bug]		fdupont
1092 1093
	Removed obsolete requirement of python3 by --enable-generate-docs
	configuration option.
Francis Dupont's avatar
Francis Dupont committed
1094
	(Trac #4315, git 2c236316d5fbac9906cf48a6e4df1649e7545e67)
1095

1096
1086.	[bug]		marcin
1097 1098 1099 1100 1101
	When lease-database configuration parameter is not
	specified the default lease database backend (memfile)
	is used.
	(Trac #3696, git 0be5e6eb32680a742ddcf427b8181f55c0c98115)

1102
1085.	[func]		fdupont
1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114
	The following DHCPv4 options are now supported:
		nisplus-domain-name (64),
		nisplus-servers (65),
		mobile-ip-home-agent (68),
		smtp-server (69),
		pop-server (70),
		nntp-server (71),
		www-server (72),
		finger-server (73),
		irc-server (74),
		streettalk-server (75)
		streettalk-directory-assistance-server (76)
Francis Dupont's avatar
Francis Dupont committed
1115
	(Trac #4286, git 5ed03ed5ea48334bbd16a9a8e1676f3b4cc730a0)
1116

1117
1084.	[bug]		jpopelka
1118 1119 1120
	Added missing slashed in path_replacer.sh.
	(Github #10, git 8986813825623b19fb220534434d0c13785fc14c)

1121
1083.	[func]		fdupont
1122
	Added a concat function in classification which concatenates two
1123
	strings.
1124
	(Trac #4233, git eec10b436b928bd5eb3139c2f98ec9a6a818f30e)
1125

1126
1082.	[func]		fdupont
1127 1128 1129
	Added Not, And and Or logical operators, parentheses around
	logical expressions and option[code].exist logical predicate
	(to check the presence of an empty option).
1130
	(Trac #4231, git 8e01dbe2fe2d8c97f89c20f5bb1d03748a2432e0)
1131

1132
1081.	[func]		tomek
Tomek Mrugalski's avatar
Tomek Mrugalski committed
1133 1134