ChangeLog 346 KB
Newer Older
1
2
3
4
1363.	[func]		fdupont
	Both DHCPv4 and DHCPv6 servers can now listen on loopback
	interfaces. This capability requires setting socket type to UDP in
	DHCPv4. Note the feature has not been thoroughly tested.
Francis Dupont's avatar
Francis Dupont committed
5
	(Trac #5390, git f38cbd73581a7a0f8634a63cb17f9b60407e3acc)
6

7
1362.	[func]		fdupont
8
	Extended forensic (aka legal) logging with database capability.
Francis Dupont's avatar
Francis Dupont committed
9
	(Trac #5420, git 94bd3cc313e9f2a982ef8f8adf0cf44024c76499)
10

11
12
13
14
15
1361.	[func]		tmark
	Added support for automatically recalculating lease statistics
	to the CQL backend.
	(Trac 5487, git c807388d581ee1c3e479324f3c399f27feba1c96)

16
17
18
19
20
21
1360.	[func]		razvan, andrei
	A new parameter exit-wait-time has been added to perfdhcp. It is
	now possible to tell perfdhcp to wait certain amount of time after
	exit conditions are met before actuallying terminating.
	(github #55, git 0cd1178ae092fa0c2f122d0e16fb673b4074a6e6)

22
23
24
1359.	[func]		razvan, andrei, tomek
	Support for Google Benchmark has been added. To compile
	benchmarking support, please use --with-benchmark option.
25
	(Github #36, git d6819971410b460d7742c762844e2e75ba580944)
26

27
28
1358.	[build,bug]	fdupont
	Cassandra build fixes for macOS.
29
	(Trac #5494, git cb0d735628aefd6bca2acc11b73d1f66b45d1c40)
30
31

1357.	[bug]		rcgoodfellow
32
	Fixed bug in kea-admin causing error on lease-dump.
33
	(github #61, git 2c9454ec56edc8f3cff8a23329f53ced0d172280)
34

35
36
37
38
39
1356.	[func]		andreipavelQ,tomek
	The logging configuration is now applied early, which helps
	seeing errors in case the new configuration is faulty.
	(github #41, git d77fbec5a003a69cab207aa741133015f2657878)

40
41
42
43
44
45
46
47
48
1355.	[build]		andreipavelQ
	--with-dhcp-mysql renamed to --with-mysql and
	--with-dhcp-pgsql renamed to --with-pgsql. These names were
	leftovers from old BIND10 times when Kea was part of bigger
	solution that also provided DNS services. Kea is now a stand-alone
	software, thus the -dhcp- doesn't make sense in those options any
	more.
	(github #40, git 318c9e3d3db9bb938ced27932d8401172529a2ff)

49
50
51
52
1354.	[doc]		andreipavelQ
	Documentation has been upgraded to DocBook 5.0.
	(github #39, git 9b6705bd6c534128ec18820ff0cbdd72b7fce9e9)

53
54
55
56
57
58
1353.	[func]		tomek
	Lightweight 4over6 options reinstantiated. Definitions for DHCPv6
	options 89 through 96 were added back. DHCPv4 v4 Parameters Option
        159 has its definition tweaked slightly.
	(Trac #5514, git 6a4aac2b3bfffe41460db6d1cd3c55b1430aa50c)

59
60
61
62
1352.	[build]		andrei
	Support for coverage tests has been improved.
	(Github #43, git 1949bb3abf71fb3997044d239eb683095166c39f)

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

68
69
70
71
72
1350.	[func]		fdupont
	It is now possible to specify client classification restrictions
	on per pool basis. This capability will be useful for grouping
	certain types of devices into specific address and/or prefix
	pools.
Francis Dupont's avatar
Francis Dupont committed
73
	(Trac #5425, git 5f3a89d6e32e90cd9cbb2347c7b2208c3e1561e0)
74

75
76
77
78
79
1349.	[build]		andreipavelQ
	Compilation parameters unified (every file now includes config.h,
	several makefile tweaks).
	(Github #38, git 7206aa79c57be7466c4ab3dd558663c6c4f858b7)

80
81
82
1348.	[func]		fdupont
	Several hook points now support next step status DROP. This allows
	more flexibility with dropping packets from within hooks.
Francis Dupont's avatar
Francis Dupont committed
83
	(Trac #5443, git ff22a906915a34df327174f550f69a396a05bb2c)
84

85
86
87
88
1347.	[func]		marcin
	Implemented HTTP client classes in libkea-http.
	(Trac #5451, git 94267e252b372650e4235389251b49d6f5501322)

89
90
91
92
1346.	[build]		fdupont
	Modified configure.ac to include premium module m4 macros, if the
	module is present. Prior to this it relied on premium having it's
	own configure.ac script.
Francis Dupont's avatar
Francis Dupont committed
93
	(Trac #5400, git 38c4f2fb8fc8c8874a0e4671cc295a049acf675f)
94

95
96
1345.	[build]		fdupont
	Added support of boost 1.66.0 ASIO.
Francis Dupont's avatar
Francis Dupont committed
97
	(Github #60/Trac #5496, git bc2947de4296bd99b74e50e65f272c7ad5312429)
98

99
100
101
102
1344.	[func]		marcin
	Implemented lease4-get-all command in lease_cmds hooks library.
	(Trac #5468, git a378ec28489e98df64830d1f26c3bebd20e256b2)

103
104
105
106
107
1343.	[func]		marcin
	Implemented "force-create" parameter for lease4-update and
	lease6-update commands.
	(Trac #5472, git 369245e4c5308a701fd483123f2cb2fd7d3d0966)

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

115
116
117
118
119
1343.	[func]		fdupont
	User-context and comments are now supported in many new scopes:
	global, shared-network, subnet, pool, host reservation, option,
	option definition, client-class, control-socket, dhcp-ddns,
	interfaces, loggers, and for DHCPv6 pd-pool and server-id.
Francis Dupont's avatar
Francis Dupont committed
120
	(Trac #5351, git 3405a8fa5d391d96cd15874fd3de3ac63ceb33b6)
121
122
123
124

1342.	[bug]		fdupont
	Fixed subnets and host reservations returned by config-get and
	config-write.
Francis Dupont's avatar
Francis Dupont committed
125
	(Trac #5452, git c24d057bed2692eaf3cdb6af889122eb582ffede)
126

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

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

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

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

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

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

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

164
165
Kea 1.3.0 released on October 27, 2017

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

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

Tomek Mrugalski's avatar
Tomek Mrugalski committed
177
178
179
180
181
1332.	[doc]		tomek
	Clarified list of supported options, added examples for using
	hex notation to specify option values.
	(Trac #5068, git c942586172a68a7fac09e366383d996ade7f3840)

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

186
187
188
1330.	[bug]		fdupont
	The option length checks were relaxed for the V-I Vendor Class
	option.
189
190
	(Trac #5391, github #57,
	 git 8c1ea6684a808e8d3af9ea7eccecd93adc801e8a)
191

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

Tomek Mrugalski's avatar
Tomek Mrugalski committed
198
199
200
201
1328.	[doc]		vicky
	Acknowledgements section updated.
	(Trac #5385, git fe0658896f3784cd8f59bd5158244d6975cfe4c1)

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

207
208
209
1326.	[func]		fdupont
	server-hostname and boot-file-name are now allowed in global,
	subnet4 and shared network scopes in DHCPv4.
Francis Dupont's avatar
Francis Dupont committed
210
	(Trac #5277, git 5a2454ec063530867dca2c46a71e342ccd98a5bb)
211

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

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

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

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

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

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

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

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

251
252
253
1317.	[bug]		fdupont
	The kea-admin script now behaves properly when -4 or -6 is missing
	while using lease-dump command.
Francis Dupont's avatar
Francis Dupont committed
254
	(Trac #5379, git 53870c07d1864faf2a25bdc4ed6c5cf2b0223f8d)
255

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

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

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

277
278
279
1313.	[bug]		fdupont
	Empty output_options structure is no longer returned by config-get
	or config-write commands.
Francis Dupont's avatar
Francis Dupont committed
280
	(Trac #5267, git f2290503ed899f00c7f2f2b905b90bc360617340)
281

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

292
293
294
1311.	[build]		fdupont
	Improvements in --enable-shell and other parameters passed while
	building dist tarball.
Francis Dupont's avatar
Francis Dupont committed
295
296
	(Trac #5210, #5339, #5352,
	git e531cda4e10114a8f14bcbf3d7e25b6584230875)
297

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

303
1309.	[func]		fdupont
Tomek Mrugalski's avatar
Tomek Mrugalski committed
304
	Kea-shell script now has an optional --path parameter that allows
305
	using not empty URL path.
Francis Dupont's avatar
Francis Dupont committed
306
	(Trac #5361, git 9a31c417d52f1481185b0880a10a4b5f16d8462a)
307

308
309
310
311
1308.	[func]		fdupont
	Support for conditional token ifelse(condition, iftrue, iffalse)
	was added. It can be used in flex-id, client classification and
	possibly other expressions that may appear in the future.
Francis Dupont's avatar
Francis Dupont committed
312
	(Trac #5363, git 34c364abd23a1a745da79c10c69b94b8defad08b)
313

314
315
316
317
1307.	[func]		fdupont
	When an option is defined with a record type and the array
	flag is true the last record field is an array. All standard
	options supported by ISC DHCP and using this are now supported
318
	by Kea (so now there is no standard option supported only by
319
	ISC DHCP).
Francis Dupont's avatar
Francis Dupont committed
320
	(Trac #5226, git f66951dbda8f62122187ac3a99f0fdcc65b383d8)
321

322
323
324
325
326
327
328
329
330
1306.	[bug]*		marcin
	Respective Kea daemons now use their own default configuration
	files: kea-dhcp4.conf, kea-dhcp6.conf, kea-dhcp-ddns.conf and
	kea-ctrl-agent.conf. This change is aimed at eliminating the
	issue whereby 'config-write' command overrides configuration
	of all servers rather than just a configuration of the deamon
	to which this command has been sent.
	(Trac #5338, git 252e5e8a75fa42271b0cdb6edad3c152bbf3c515)

331
332
333
334
335
336
337
1305.	[bug]	tmark
	Corrected logic that was causing kea-dhcp4 to remove DNS entries
	when renewing leases with generated FQDN names.  Prior to this
	the server was incorrectly scheduling DNS removal when configured
	to generate the client's FQDN.
	(Trac #5369, git 18f57f502f1b9fb5bf7ef5ab995ddda60006fd39)

338
339
Kea 1.3.0-beta released on September 29, 2017

340
341
342
343
344
345
346
1304.	[bug,func]	fdupont
	The DHCPv4 Vendor Specific Information (code 43) option and
	private options (codes 224-254) can be redefined at the global
	scope or inside a client-class. This allows to support different
	definitions following the DHCPv4 Vendor Class Identifier (code 60)
	option or when defined as a binary option to accept with problems
	option 43 carrying a raw value.
347
	(Trac #5073, git b290b3cbaa926d4e9613f6607c5fcbae2301b266)
348

349
350
351
352
353
354
355
1303.	[func]		tmark
	The command handlers in the lease_cmds hook library are now
	implemented has hook callouts and registered with the Hooks
	manager. Prior to this they were registered as command handlers
	with the Command Mgr.
	(Trac #5332, git c902bda9f026720f6efbf2e5ad407302aeb5e466)

356
357
358
359
360
361
362
363
364
365
1302.	[func]		marcin, tomek
	DHCPv6 server supports shared networks. It allows for grouping
	multiple subnets and use them interchangeably to allocate
	IP addresses and other resources to a client located on the
	particular link. This mechanism is useful to extend an
	address space for the client belonging to a particular
	subnet and/or to segregate clients being on the same link but
	belonging to different classes, e.g. cable modem vs router.
	(Trac #5307, git 110d0c9e403af28e6810141f978d9bf55c381f14)

366
1301.	[func]		fdupont
367
368
	Added some standard option definitions which are supported
	by ISC DHCP but not (yet) by Kea.
Francis Dupont's avatar
Francis Dupont committed
369
	(Trac #5227, git 4bef838245f08fca5f2cf037cd3a75278b77f8f9)
370

Tomek Mrugalski's avatar
Tomek Mrugalski committed
371
372
373
374
1300.	[doc]		tomek
	Documentation for shared networks added.
	(Trac #5310, git 41fd3bb7ed2f4cd15db6cbd14713f4474f659c92)

375
376
377
1299.	[doc]		fdupont, tmark
	Added an example stunnel configuration file to demonstrate
	using kea-shell through https.
Francis Dupont's avatar
Francis Dupont committed
378
	(Trac #5282, git efe044fa90d53398e215d2bf31e00e83353e8774)
379

380
381
382
383
384
385
386
387
388
389
1298.	[func]		marcin, tomek
	DHCPv4 server supports shared networks. It allows for grouping
	multiple subnets and use them interchangeably to allocate
	IP addresses and other resources to a client located on the
	particular link. This mechanism is useful to extend an
	address space for the client belonging to a particular
	subnet and/or to segregate clients being on the same link but
	belonging to different classes, e.g. cable modem vs router.
	(Trac #5306, git 4f2fca69be32997c718ab2c7f37ac80ed4e41d15)

390
391
392
393
394
395
396
1297.	[func]		tmark
	Added a hook point, "command-processed", to kea-dhcp4
	and kea-dhcp6 servers. This hook point occurs after
	a control channel command has been received and
	processed.
	(Trac #5111, git 043d17b0688d4ab25b12469d27859983cb297d07)

397
398
399
400
1296.	[bug]		tmark
	Altered the mysql backend logic to disable auto_reconnect and
	set session value of wait_timeout to a very large values. This
	avoids a segfault in MySQL client library caused by auto-reconnects
401
	occurring when kea server's MySQL connection is idle for longer
402
403
404
	than the global MySQL wait_timeout.
	(Trac #5354, git 9881ef6d772f27de82c048e198ba0ff9e71b9351)

Tomek Mrugalski's avatar
Tomek Mrugalski committed
405
1295.	[bug]		tomek
406
407
	DHCPv4 and DHCPv6 servers are now able to parse shared networks.
	A basic shared networks examples added.
Tomek Mrugalski's avatar
Tomek Mrugalski committed
408
409
	(Trac #5357, git 74b824cc80f8be66084308c0bf12c1a71f311915)

410
411
412
413
414
415
1294.	[func]		marcin
	Implemented data structures holding configuration of shared
	networks. The new structures are unused until remaining tickets
	for shared networks implementation are completed.
	(Trac #5305, git 76dd46f7070c141cc89d772d69a897b67bd179a1)

416
417
1293.	[func]		tomek
	DHCP4_BUFFER_WAIT, DHCP4_BUFFER_WAIT_INTERRUPTED, DHCP6_BUFFER_WAIT,
Tomek Mrugalski's avatar
Tomek Mrugalski committed
418
419
	and DHCP6_BUFFER_WAIT_INTERRUPTED logging messages are no longer
	emitted.
420
421
	(Trac #5345, git 779040fa399fb2da271569dc315294463e28f852)

422
423
424
425
426
427
1292.	[func]		tomek
	User contexts are now supported for subnets. This adds a new
	functionality, but also makes the existing documentation example
	correct.
	(Trac #5350, git 828ecb6dbdaaedd97d2af79dfa9b7f4845d3a049)

428
429
430
1291.	[func]		fdupont
	The configuration parser now checks for mandatory parameters that
	are missing.
Francis Dupont's avatar
Francis Dupont committed
431
	(Trac #5124, git af0f3d50a835f64a5f8a47c47ef464b119a49643)
432

433
434
435
436
437
438
439
1290.	[bug]		marcin
	Corrected a bug causing illegal memory access while
	retrieving server hostname and boot file name fields from
	the host reservation database. Many thanks to Juan Settecase
	for his assistance in identifying this issue.
	(Trac #5340, git 2fdc7efcb862ced3c1054620bf14e75a0db6aed2)

440
441
442
443
444
445
1289.	[bug]		marcin, tmark
	Corrected handling of EAGAIN and EWOULDLBOCK errors in
	UnixDomainSocket. This was causing intermittent command
	channel write errors in kea-ctrl-agent on some Debian systems.
	(Trac #5336, git db251cb66ad77ba28ab44281323ddeb23cf29506)

446
447
448
449
450
451
1288.	[func]		marcin
	Documented subnet_cmds library in the Kea User's Guide.  Also moved
	several classes from dhcp<4/6> into lib/dhcpsrv to facilitate subnet
	command parsing.
	(Trac #5315, git d259f330a1690b20eb368f6252f5da2cdb6187de)

452
1287.	[bug]		tmark
453
454
	Logger configuration now correctly uses maxsize and maxver
	parameters, allowing log rotation to function properly.  Prior to
455
	this these values were not being propagated downward, causing log
456
457
	rotation to always be disabled.  The defaults for maxsize and
	maxver are 10Mb and 1 respectively.
458
459
	(Trac #5324, git 75f148458bdeeed27eb877cc2c3ce3069b152f38)

460
461
462
463
464
1286.	[func]		marcin
	Configured subnets are now indexed by subnet identifier and
	prefix for faster subnet lookups in the configuration.
	(Trac #5314, git 894aeb048b7281f947f87a5d6dc5112fac4a86fb)

465
466
467
468
469
470
471
1285.	[func]		tomek
	Several new commands implemented in lease_cmds library:
	lease4-del, lease6-del, lease4-update, lease6-update,
	lease4-wipe and lease6-wipe that allow deleting and updating
	leases and also wipe all leases from a specific subnet.
	(Trac #5280, #5281, 94ff2448c8cf6e3321f4d1b3666a2e2b736f6c50)

472
473
474
475
476
477
478
1284.	[func]		tomek
	A new library, lease_cmds, has been implemented. Its intended
	purpose is to support commands for lease management. Currently
	supported commands are: lease4-add, lease6-add, lease4-get,
	lease6-get. Additional commands and documentation are planned.
	(Trac #5272, #5279, git 785c2e521b198a03d26bde4a804638bfc19ce91b)

479
480
481
482
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
483
	(Trac #5241, git cef2b630c720a442710efc0d1615b7c7bce01e54)
484

485
486
487
488
1282.	[bug]		fdupont
	Now all interface service sockets are closed before interface
	re-detection. Note if the re-configuration fails they remain
	closed.
489
	(Trac #5333, git 8bff2ec336456de51d0d9d3ff011d28a6a61ef66)
490

491
1281.	[build]		tmark
492
493
494
	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.
495
496
	(Trac #5337, git 42548148cbeaaa285519e121f493d52607f1e8a0)

497
498
499
500
1280.	[build]		waltsteverson
	Missing header for PD-exclude DHCPv6 option is now installed.
	(Github #51, git 36a8e1b8f687a6398af8a10f241e8d19e9de33d8)

501
502
503
504
1279.	[build]		waltsteverson
	Compilation fixes for Alpine Linux
	(Github #50, git 824afa63354e045a5e4f6437246c329d359e04dd)

505
506
507
508
1278.	[doc]		jsoref
	Many spelling corrections.
	(Github #52, git 1dcaef6f8e7901d628c8638fc2f8145ac0279586)

509
510
511
512
513
1277.	[func]*		marcin
	Added support to Command Manager to process commands using
	callouts implemented within hooks libraries.
	(Trac #5330, git 8041d177ed5587101ecb47a09820a7e67e42a066)

514
515
516
1276.	[build]		tmark
	The configure script now configures the build to require the Boost
	system library (boost_system) by default.  The library must be
517
	installed and you may need to specify "--with-boost-lib-dir=<path>".
518
519
520
521
522
	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)

523
1275.	[func]		marcin
Josh Soref's avatar
Josh Soref committed
524
	LibraryHandle object can now be used to register handlers
525
526
527
	for the control commands in a hook library.
	(Trac #5329, git 966cc24ae5593ebb08d6f02a11dab23463ebad7e)

528
529
530
531
1274.	[func]		marcin
	It is now possible to manage Control Agent with keactrl.
	(Trac #5108, git 53ba9f8197a25abd2c52ee3f5e95bc4e4be0241f)

532
533
534
535
536
1273.	[doc]		marcin
	Documented in the User's Guide that the server terminates
	when database connection is lost.
	(Trac #5320, git 5c8b277e8041b53b27a87b32d162ab41ef8b43d7)

537
538
539
540
541
542
1272.	[bug]		marcin
	Fixed inefficient leases indexing in the memfile lease
	manager causing increased CPU utilization during lease
	searches.
	(Trac #5328, git 23b490414f5575b252c8c42fbe93ad2c57d47953)

543
544
545
546
547
1271.	[doc]		marcin
	Documented how to setup secure connection to the Kea
	control	channel.
	(Trac #5304, git a920453bbcf9ffa7200eeddca6323faeff498f16)

548
549
550
551
552
553
554
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)

555
556
557
558
559
560
561
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)

562
563
564
1268.	[func]		fdupont
	Kea now re-detects network interfaces every time configuration is
	changed. 're-detect' parameter added to restore old behavior, if
565
	needed.
Francis Dupont's avatar
Francis Dupont committed
566
	(Trac #3389, git b2ce84790c33d1580dcfa773d7fcfb65c27addc7)
567

568
569
570
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
571
	(Trac #5243, git a7b478e1d1f7f0b38055086fe9ac053e4fab2850)
572

573
574
1266.	[func]		fdupont
	It is now possible to define options in DHCPv4 pools.
Francis Dupont's avatar
Francis Dupont committed
575
	(Trac #5288, git aa2839caab8d885e5bceca6f506162debd239b3f)
576

Francis Dupont's avatar
Francis Dupont committed
577
578
579
580
581
582
583
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)

584
585
586
587
588
589
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)

590
591
592
593
594
595
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)

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

602
603
604
605
1261.	[bug]		marcin
	Eliminated valgrind errors in libkea-http.
	(Trac #5261, git 34addef4a654665c6022f0269d51970c72431ac2)

606
607
608
609
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
610
	(Trac #5104, git b9ab6ebe7a491c062bc8b0b42afc53f4d6cee011)
611

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

620
621
622
1258.	[bug]		fdupont
	Fixed wrong python package path when kea-shell was configured
	without a prefix.
Francis Dupont's avatar
Francis Dupont committed
623
	(Trac #5214, git 44908c5fa56bfa7e1113078f43c458687a97388a)
624

625
626
Kea 1.2.0 released on April 28, 2017

627
628
629
630
1257.	[bug]		marcin
	Improved logging in the hosts manager.
	(Trac #5264, git 2fb9fd78e63f5d09810702847ad3e3b3020ea92b)

631
1256.	[bug]		tomek
632
633
634
635
	Control Agent now writes proper configuration when using
	config-write command.
	(Trac #5253, git a1b5da4db6ebfa9635bbe411ec363cdcc4fd1d28)

636
637
638
639
1255.	[bug]		marcin
	Fixed failing unit tests in libkea-http.
	(Trac #5260, git 43394f76efb1634155c04b205dec7361fc21f4f9)

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

647
1253.	[func,doc]	tomek
Tomek Mrugalski's avatar
Tomek Mrugalski committed
648
649
650
651
652
	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)

653
654
655
656
657
658
659
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
660
661
662
663
664
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)

665
666
1250.	[bug]		fdupont
	Do not unregister timers when running the config-test command.
Francis Dupont's avatar
Francis Dupont committed
667
	(Trac #5186, git e891b06940e41b4cfaa324c2ace8fdd761ee6662)
668

669
670
671
672
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.
673
	(Trac #5247, git 4e5193fb32b14325ccf5824614e58bcceb3e6388)
674

675
676
677
678
679
680
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)

681
682
683
684
685
686
687
688
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
689
690
691
692
693
694
695
696
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)

697
698
699
1245.	[func]		fdupont
	DHCPv4 domain-search option can now be defined using
	comma separated values.
Francis Dupont's avatar
Francis Dupont committed
700
	(Trac #5087, git eca0b8c6425bc922587675100f100b1aae54aee2)
701

Tomek Mrugalski's avatar
Tomek Mrugalski committed
702
703
704
705
1244.	[doc]		tomek
	User's Guide section about Kea shell added.
	(Trac #5171, git 3dc4908fe02e86c57ccd5ad2d2f8330655f438be)

706
707
708
709
710
711
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)

712
713
714
1242.	[func]		fdupont
	Integer fields in options can now be specified in either
	decimal or hexadecimal format.
715
	(Trac #4540, git 4cbf341f4169cf1e1eae0721644797a726d89702)
716

717
718
719
720
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
721
	(Trac #4070, git 30102cacee95b91e6c4666f0c11f06232f19eeb9)
722

723
724
725
726
1240.	[bug]		marcin
	Corrected IOFetch unit test failures on Debian.
	(Trac #5216, git a7c2946678c43aedfb2e3c37b9730a10067528f3)

727
728
729
730
731
1239.	[func]		marcin
	Implemented additional sanity checks when adding host
	reservations into the configuration file.
	(Trac #5207, git ea42c6f479918235ae4a67a60d08720e2664720c)

732
733
Kea 1.2.0-beta released on April 7, 2017

734
735
736
737
1238.	[build]		tmark,tomek
	Library version numbers bumped for release.
	(Trac #5201	git 58c9c5b705d72031c1589c30c542384a9d43e0f3)

738
739
740
741
1237.	[bug]		marcin
	Fixed hanging Control Agent unit tests.
	(Trac #5200, git 65daafd135965f9eb0bd4c3a22085d4bd3c6ffbe)

742
743
744
745
1236.	[build]		zeitounator
	Improvements in tools/tests_in_valgrind.sh script.
	(Github #49, git 272e7babf9ebeab5f78850394d72c9431041e2e9)

746
1235.	[func]		MrMarvin
747
748
749
	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
750
	(Github #14, git 4038157a3499ad90956c98a2172c57b173f2b985)
751

752
1234.	[build]		fdupont
753
	Improved installation procedure for kea-shell.
Francis Dupont's avatar
Francis Dupont committed
754
	(Trac #5170, git 68a902fb723965ee6f5b7a8272224395917525cc)
755

756
757
758
759
760
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
761
762
763
764
765
766
767
768
769
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)

770
771
772
773
774
1231.	[func]		marcin
	Control agent forwards commands to be handled by other Kea
	servers.
	(Trac #5078, git 19a50ed1ccafae19ef10d84cba73992cadf49753)

775
776
777
778
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.
779
	(Trac #5071, git cafa3d5c24f0112b0b9384a9c1083fe8a3eeb2bf)
780

781
782
783
784
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
785
	(Trac #5150, git 5f6cf226e848baef8d9af64e16c1dbf617a0a798)
786

787
788
789
790
791
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
792
	(Trac #5053, git 532d9f0e459ab1450a83a5015a2dd54745794383)
793

794
795
796
797
798
799
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)

800
801
802
803
804
805
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
806
	(Trac #5152, git 2231d79ebebd3cdf432cd4a8ac32018d180e27b6)
807

Tomek Mrugalski's avatar
Tomek Mrugalski committed
808
1225.	[func]		tomek
809
	Two new commands: config-get (retrieves current configuration)
Tomek Mrugalski's avatar
Tomek Mrugalski committed
810
811
812
813
	and config-write (writes current configuration to disk) have been
	implemented.
	(Trac #5151, git ffb26811736a2ae6f9b5556b9823aa284b7e0aec)

Tomek Mrugalski's avatar
Tomek Mrugalski committed
814
815
816
817
818
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
819
820
821
822
823
824
825
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)

826
827
828
1222.	[func]		fdupont
	Obsolete parameter 'allow-client-update' has been removed
	from DHCPv4 and DHCPv6 components.
Francis Dupont's avatar
Francis Dupont committed
829
	(Trac #5145, git 01fde297a978e2bd832655ac7276e5aa3a7e8400)
830

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

837
838
839
840
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).
841
	(Trac #5061, git d12b6f4a6d80d6bc854f2a8a086e412dc37867bc)
842
843

1219.   [func]		marcin
844
845
846
847
	Control Agent uses libkea-http to process commands over
	the RESTful interface.
        (Trac #5107, git 88ce715926a46b6b3832630116fc7782adc46c7b)

848
849
850
851
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
852
	parsing mechanisms.
853
854
855
	(Trac #5110, git feb2cedc0936364a923ab78542a21114533dd0f5)

1217.	[func]		marcin
856
	Implemented libkea-http library.
857
858
859
	(Trac #5077, git cd72284b5b221e620770883db7e166c4d3ba7eb6)
	(Trac #5088, git 715d18f961801ffbd798a65b19459178c3a53857)
	(Trac #5099, git 7e8df7993f295431e2cb6a13858f746649c4e18d)
860

861
1216.	[func]		fdupont, tomek
862
	Command line option -t implemented for DHCPv4 and DHCPv6.  It
863
864
865
	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
866
	(Trac #3770, git 1d12582e270935ee7b72548d9c66753f4eea4ca4)
867

868
869
870
871
1215.	[doc]		tomek
	Developer's Guide updated to cover flex/bison parser.
	(Trac #5112, git 44139d821c1f4e43dbff22d49101a0854e4f9f5b)

872
1214.	[func]		tomek
873
874
875
876
877
	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)

878
879
880
881
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
882
	(Trac #5105, git fa79ac2396aa94d7bac91bd12d3593ebaaa9386d)
883

884
885
886
887
1212.	[doc]		andreipavelQ
	Many spelling corrections.
	(Github #47, git a6a7ca1ced8c63c1e11ef4c572f09272340afdd7)

888
889
890
891
892
1211.	[func]		andreipavelQ
	Updated PostgreSQL version reporting to be in line with
	MySQL and Cassandra.
	(Github #42, git 7ef4a190facadd66775b4a44c696d1c4215616cd)

893
894
895
896
1210.	[doc]		andreipavelQ
	Doxygen version updated to 1.8.11.
	(Github #45, git ce72998382b62269823fa0dcbfa41dfa9c72b69e)

897
1209.	[func]		tomek
898
	Relay options are now printed in DHCPv6 when sufficiently detailed
899
900
901
	debug logging is requested.
	(Trac #5131, git 5bf58b21fcf07f2e2e97275efa1f76cde913b30a)

902
903
904
905
906
907
908
909
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)

910
911
912
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
913
	(Trac #5098, git e93906e48a6e2b0ff78c5e37dca642646fe47d43)
914

Tomek Mrugalski's avatar
Tomek Mrugalski committed
915
916
917
918
919
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
920
921
922
923
924
1205.	[func]		tomek
	Parsers for interfaces configuration converted to SimpleParser.
	Removed obsolete 'version' parameter in Dhcp6.
	(Trac #5020, #5038, git 3d8e48c640e302670c04907468d11faafbe9fe7b)

925
926
927
1204.   [func]         marcin
	Added 'control_command_receive' hook point to Kea Command
	Manager.
928
	(Trac #5100, git d0c7cb29a7df3588c540afb4ca56de55f26142e0)
929

930
931
932
933
1203.   [func]         marcin
	Implemented TCPAcceptor class in libkea-asiolink. This class
	provides means to listen and asynchronously accept new TCP
	connections.
934
	(Trac #5094, git 920ba90696ba9d8579a7db5e1efcf955d6654a96)
935

Tomek Mrugalski's avatar
Tomek Mrugalski committed
936
937
938
939
940
941
942
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)

943
944
945
946
947
948
949
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
950
951
952
953
954
	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)

955
956
957
958
959
960
961
962
963
964
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)

965
966
967
968
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.
969
	(Trac #5075, git 1ec7586da5ae1474b52d5a395fb80ee37d6d568e)
970

Tomek Mrugalski's avatar
Tomek Mrugalski committed
971
972
973
974
975
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
976
977
978
979
980
981
982
983
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)

984
985
986
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
987
	(Trac #5066, git a060d4a983860bf3056d50d9bf7ee4355c8372f2)
988

989
990
991
992
1194.   [build]     	marcin
	Moved StateModel class from D2 to libkea-util.
	(Trac #3175, git 270ec379aec2894104a299cdd1080e24007e25fb)

993
994
995
996
997
998
999
1000
1001
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)
1002

1003
1004
1005
1006
1191.	[build]		tomek
	Optional support for premium package added.
	(Trac #5027, git 5ff51f28a1f05d941bb117986922a6f410f23c6c)

Tomek Mrugalski's avatar
Tomek Mrugalski committed
1007
1008
1009
1010
1011
1190.	[func]		tomek
	User context implemented: an arbitrary user information can
	now be defined for address and prefix pools.
	(Trac #5023, git 4f81789e19b72c933bcf86e402b417c63bd7bd3f)

1012
1013
1014
1189.	[func]		fdupont
	Owing to API changes, crypto code now requires OpenSSL 1.0.1 or
	later.
Francis Dupont's avatar
Francis Dupont committed
1015
	(Trac #3908, git 4c14fdfd4187a4c8f7b775432082b76782e47663)
1016

1017
1018
1188.	[doc]		vlegout
	Fixed several spelling mistakes.
1019
	(Github #32, git d51c005519c4add6fd0c37bcd68b0fbe94941b2d)
1020

1021
1022
1023
1024
1025
1026
1027
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)

1028
1029
1030
1031
1032
1033
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)

1034
1035
1036
1037
1038
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)

1039
1040
1041
1042
1043
1184.	[bug]		eest
	Fixes in the occasionally failing LFC unit test. This
	fix was provided by Patrik Lundin.
	(Github #31, git 69a5722bf3b41bf3b2bc0c2bcac966c23c08f62d)

1044
1045
1046
1047
1048
1049
1050
1051
1052
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)

1053
1054
1055
1056
1057
1182.	[func]		marcin
	DHCP servers detect overlapping pool ranges during
	configuration.
	(Trac #2280, git c8f931e0189c9630f5fba5d2a5553bed4abf36f7)

1058
1059
1060
1061
1062
1181.	[func]		marcin
	Extended DHCPv6 server to allow for specifying DHCP options
	on address and prefix pool levels.
	(Trac #5022, git e3b2785c79aedbb0c8af7468d61f6d61dafd2282)

1063
1064
Kea 1.1.0 released on September 30, 2016

1065
1180.	[doc]		stephen
1066
1067
1068
1069
	Editing pass through the Kea guide.
	(Trac #4484, git 63456fab1b978bd515198b9b9e604f293efd8217)
	(Trac #5008, git f09cd12d5b1abc60ccef98df2abc6c41b482a404)

Tomek Mrugalski's avatar
Tomek Mrugalski committed
1070
1071
1072
1073
1179.	[doc]		tomek
	Manual pages updated.
	(Trac #3515, git 4cf0395e11e724786c4d2a1d48805f1c770f4c99)

1074
1178.	[doc]           tomek
1075
1076
1077
	user_chk hook library is now documented in the User's Guide.
	(Trac #3209, git 4a8534d968a21cff3851619fb22d0032a1202c87)

1078
1079
1080
1081
1177.	[build]	marcin
	Updated Kea libraries version numbers for 1.1-final release.
	(Trac #5012, git 6e9a224b46def357141a31386fcc912b29dfe16d)

1082
1083
1084
1085
1176.	[doc]		tomek
	Developer's Guide has been updated.
	(trac #4299, git ed38076c183394feaef60e7123d0c488c9f6447d)

1086
1087
1088
1089
1090
1091
1092
1093
1094
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)

1095
1174.	[bug]		tmark
Josh Soref's avatar
Josh Soref committed
1096
	Modified kea-dhcp6 to avoid requesting DNS updates when
1097
1098
1099
	existing leases are renewed without changes to the FQDN.
	(Trac #5007, git 05ea3a5eb75c06cf9814c63a1a54261bf58a954b)

1100
1101
1102
1103
1104
1105
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)

1106
1107
1108
1109
1172.	[bug]		andir
	Kea build fixes for gcc 6, which uses C++14 by default.
	(github #29, git ad68c3942839618c26d7ff017fbac7df139b5d01)

1110
1111
1112
1113
1114
1115
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)

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

1123
1124
1125
1126
1127
1128
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)

1129
1130
1131
1132
1133
1168.	[doc]		marcin
	Corrected location of the Kea repository in the Kea Administrator
	Reference Manual.
	(Trac #4258, git f081000b892287316e54848ca1f62ca3512d4263)

1134
1135
1136
1137
1167.	[func]		marcin
	DHCP servers utilize client classes defined in host reservations.
	(Trac #4765, git 242fbc47b31da404e57be458ac065f811084cca9)

1138
1139
1140
1141
1142
1166.	[bug]		marcin
	Corrected error message produced by the host database access
	parser when the database type was not specified.
	(Trac #4261, git 028dd49f4fa4843e68e23d11c237e9f4683470ba)

1143
1144
1145
1146
1147
1148
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)

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

1155
1156
1157
1158
1159
1163.	[bug]		marcin
	Corrected swapped DHCPSRV_MEMFILE_GET_EXPIRED{4,6} messages
	in the Memfile lease manager.
	(Trac #4717, git ce5919d97879c3fda0858894b24418af135ef8f3)

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

1166
1167
1168
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
1169
	(Trac #4551, git 8d590e434062535e850a60a7892481df845ff390)
1170

1171
1172
Kea 1.1.0-beta released on August 31, 2016

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

1178
1179
1180
1181
1159.	[func]		marcin
	MySQL database schema updated to version 5.0.
	(Trac #4562, git 0e40b35e280f0845686bcfdb2efb577c7878ede6)

1182
1183
1184
1185
1186
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)

1187
1188
1189
1190
1191
1157.	[func]		marcin
	Added support for static reservations for fixed fields in
	DHCPv4 messages: siaddr, sname and file.
	(Trac #4552, git 9b79fe005dd77328ea7c596fc6886f8fb838d1cf)

1192
1193
1194
1156.	[bug]		tmark
	Lease statistics are now recalculated during server startup and
	after each successful reconfiguration for Memfile, MySQL, and PostgreSQL
1195
	back ends.  This addresses issues caused by accumulated values being lost
1196
	across restarts and reconfigurations making rendering values incorrect.
1197
1198
	(Trac #4294 git 0abdcf15f85861ffcb67d50fa4ce3965d25e4a9f)

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

1204
1205
1206
1207
1208
1209
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
1210
1211
1212
1213
1153.	[func]		tomek
	Integers can now be used in client classification.
	(Trac #4483, git e90cf0ee4007521b86177be6d5fbb970c02c1075)

1214
1215
1216
1217
1218
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)

1219
1220
1221
1222
1223
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
1224
1225
1226
1227
1228
1229
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)

1230
1231
1232
1233
1234
1235
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
1236
1237
1238
1239
1240
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)

1241
1242
1243
1244
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
1245
	(Trac #4272, git 9a3bdfa43cf65ef56a8d63580dd5d7414fc41373)
1246

1247
1248
1249
1250
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.
1251
	(Trac #4533, git 874e3a3f5cb10313856284646fcee7cf86e4fcce)
1252
1253

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

1257
1145.	[func]		tmark
1258
1259
	The Postgresql backend now supports host reservations for both
	DHCPv4 and DHCPv6, with options and IPv6 reservations.
1260
1261
	(Trac #4277 git ac1eaa1026987c2d86d57b4aa0dc9a4d093787f0)

1262
1263
1264
1265
1266
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)

1267
1268
1269
1143.	[doc]		fdupont
	User's Guide has been updated with DHCPv4-over-DHCPv6 support
	details.
Francis Dupont's avatar
Francis Dupont committed
1270
	(Trac #4273, git fe8cb64adeabe00d84ee390b579a8328717ae521)
1271

1272
1273
1142.	[doc]		sar
	Uncomment the example columns in some rows in the table
1274
	listing the classification examples.
1275
	(None, git dee442a64f57c8d9dd87636f9e39084ed1b11e03)
1276

1277
1278
1279
1280
1281
1282
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)

1283
1284
1285
1286
1287
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
1288
1289
1290
1291
1292
1293
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)

1294
1295
1296
1297
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
1298
	(Trac #4283, git 7dbd95651c308527f2e42c533fdc0a12aeec5308)
1299

1300
1301
1302
1137.	[doc]		fdupont
	Developer's Guide has been updated with DHCPv4-over-DHCPv6 support
	details.
Francis Dupont's avatar
Francis Dupont committed
1303
	(Trac #4274, git b3eda594e055f03a9a601bacf0c72c3db0ef8e3c)
1304

Tomek Mrugalski's avatar
Tomek Mrugalski committed
1305
1306
1307
1308
1136.	[doc]		tomek
	Included full text of MPL 2.0 and Apache licenses.
	(Trac #4529, git baefb4b3e2078a0a0f794b42ef52d6b7d53c9dab)

Francis Dupont's avatar
Francis Dupont committed
1309
1135.	[func]		fdupont
Francis Dupont's avatar
Francis Dupont committed
1310
	Integrated the DHCPv4 service part of DHCPv4-over-DHCPv6 support.
Francis Dupont's avatar
Francis Dupont committed
1311
1312
	(Trac #4110, git 7d36aebe14db10b0cbac8e6c0e82160b9d5d7ecd)

1313
1134.	[func]		fdupont
Francis Dupont's avatar
Francis Dupont committed
1314
	Integrated the DHCPv6 service part of DHCPv4-over-DHCPv6 support.
Francis Dupont's avatar
Francis Dupont committed
1315
	(Trac #4109, git 8d1f330d9b0a44039a8b9e0b479f8da1743b9504)
1316

1317
1318
1319
1133.	[func]		razvan
	The initial support for CQL (Cassandra) backend added. It is able
	to store leases information.
1320
	(Github #21, git d3a412d4b090bfd84ec5bc5d7817b1dfcc92602e)
1321

1322
1132.	[func]		tmark
1323
1324
	The Postgresql schema has been updated to support host
	reservations and its version number has been bumped to 3.0.
1325
	This schema is content equivalent to the MySQL schema version 4.2.
1326
1327
	(Trac #4275, git 6f8e646bee9de22c921ed26409f3d1856ebce9e6)

1328
1329
1131.	[func]		fdupont
	Update the DHCPv4-over-DHCPv6 inter-process communication code.
Francis Dupont's avatar
Francis Dupont committed
1330
	(Trac #4106, git 1ce1cba00af5d81822d5bbe26ddd28b718f51d54)
1331

1332
1333
1334
1335
1336
1337
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)

1338
1339
1340
1341
1342
1343
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
1344
1345
1346
1347
1348
1349
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)

1350
1351
1352
1353
1354
1355
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)

1356
1357
1358
1359
1126.	[func]		marcin
	Host reservations can be assigned using DHCPv4 client identifier.
	(Trac #4317, git 5f14fca1e029b04ad21a417936c2b8889acef10d)

1360
1361
1362
1363
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
1364
	(Trac #4106, git 3223bb8280bfd99c225e725de660ae764abe3c87)
1365

1366
1124.	[bug]		sar
1367
1368
	Update the classification document to match the output from
	the debug statements.
1369
	(Trac NA, git 8b3ea8e26c3e6cd3c46073b635212fd29f031774)
1370

1371
1123.	[func]		marcin
1372
1373
1374
1375
	Extended MySQL host data source to retrieve DHCPv4 and DHCPv6
	options associated with hosts from a MySQL database.
	(Trac #4281, git b8a306a27d1cae03f6bc5223c30806f5cd1b64f4)

1376
1122.	[func]		sar
1377
1378
1379
	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.
1380
	(Trac #4480, git cf14d0d21c69879f21733457a97a6ac0bdb1dae2)
1381

1382
1121.	[func]		stephen
1383
1384
1385
1386
	Make the database connection timeout a configurable parameter with
	a default value of five seconds.
	(Trac #3164, git 3332ad17523c6fcc1e735e4297169ebb2de95118)

1387
1120.	[bug]		marcin
1388
1389
1390
1391
	Performance improvement in libdhcp++: improved efficiency of the
	DHCPv4 Message Type option creation.
	(Trac #4495, git 41c43a2a9e34931fc3ebf58c459f10ad08575d19)

1392
1119.	[bug]		marcin