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

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

15
16
17
18
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
19
	(Trac #5241, git cef2b630c720a442710efc0d1615b7c7bce01e54)
20

21
22
23
24
25
26
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)

27
1281.	[build]		tmark
28
	Configure script now correctly recognizes static boost_system library as
29
30
31
32
	well as checks for the presence of static glibc static libraries when
	--enable-satic-link is specified.
	(Trac #5337, git 42548148cbeaaa285519e121f493d52607f1e8a0)

33
34
35
36
1280.	[build]		waltsteverson
	Missing header for PD-exclude DHCPv6 option is now installed.
	(Github #51, git 36a8e1b8f687a6398af8a10f241e8d19e9de33d8)

37
38
39
40
1279.	[build]		waltsteverson
	Compilation fixes for Alpine Linux
	(Github #50, git 824afa63354e045a5e4f6437246c329d359e04dd)

41
42
43
44
1278.	[doc]		jsoref
	Many spelling corrections.
	(Github #52, git 1dcaef6f8e7901d628c8638fc2f8145ac0279586)

45
46
47
48
49
1277.	[func]*		marcin
	Added support to Command Manager to process commands using
	callouts implemented within hooks libraries.
	(Trac #5330, git 8041d177ed5587101ecb47a09820a7e67e42a066)

50
51
52
1276.	[build]		tmark
	The configure script now configures the build to require the Boost
	system library (boost_system) by default.  The library must be
53
	installed and you may need to specify "--with-boost-lib-dir=<path>".
54
55
56
57
58
	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)

59
1275.	[func]		marcin
Josh Soref's avatar
Josh Soref committed
60
	LibraryHandle object can now be used to register handlers
61
62
63
	for the control commands in a hook library.
	(Trac #5329, git 966cc24ae5593ebb08d6f02a11dab23463ebad7e)

64
65
66
67
1274.	[func]		marcin
	It is now possible to manage Control Agent with keactrl.
	(Trac #5108, git 53ba9f8197a25abd2c52ee3f5e95bc4e4be0241f)

68
69
70
71
72
1273.	[doc]		marcin
	Documented in the User's Guide that the server terminates
	when database connection is lost.
	(Trac #5320, git 5c8b277e8041b53b27a87b32d162ab41ef8b43d7)

73
74
75
76
77
78
1272.	[bug]		marcin
	Fixed inefficient leases indexing in the memfile lease
	manager causing increased CPU utilization during lease
	searches.
	(Trac #5328, git 23b490414f5575b252c8c42fbe93ad2c57d47953)

79
80
81
82
83
1271.	[doc]		marcin
	Documented how to setup secure connection to the Kea
	control	channel.
	(Trac #5304, git a920453bbcf9ffa7200eeddca6323faeff498f16)

84
85
86
87
88
89
90
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)

91
92
93
94
95
96
97
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)

98
99
100
101
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
102
	(Trac #3389, git b2ce84790c33d1580dcfa773d7fcfb65c27addc7)
103

104
105
106
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
107
	(Trac #5243, git a7b478e1d1f7f0b38055086fe9ac053e4fab2850)
108

109
110
1266.	[func]		fdupont
	It is now possible to define options in DHCPv4 pools.
Francis Dupont's avatar
Francis Dupont committed
111
	(Trac #5288, git aa2839caab8d885e5bceca6f506162debd239b3f)
112

Francis Dupont's avatar
Francis Dupont committed
113
114
115
116
117
118
119
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)

120
121
122
123
124
125
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)

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

132
133
134
135
136
137
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)

138
139
140
141
1261.	[bug]		marcin
	Eliminated valgrind errors in libkea-http.
	(Trac #5261, git 34addef4a654665c6022f0269d51970c72431ac2)

142
143
144
145
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
146
	(Trac #5104, git b9ab6ebe7a491c062bc8b0b42afc53f4d6cee011)
147

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

156
157
158
1258.	[bug]		fdupont
	Fixed wrong python package path when kea-shell was configured
	without a prefix.
Francis Dupont's avatar
Francis Dupont committed
159
	(Trac #5214, git 44908c5fa56bfa7e1113078f43c458687a97388a)
160

161
162
Kea 1.2.0 released on April 28, 2017

163
164
165
166
1257.	[bug]		marcin
	Improved logging in the hosts manager.
	(Trac #5264, git 2fb9fd78e63f5d09810702847ad3e3b3020ea92b)

167
1256.	[bug]		tomek
168
169
170
171
	Control Agent now writes proper configuration when using
	config-write command.
	(Trac #5253, git a1b5da4db6ebfa9635bbe411ec363cdcc4fd1d28)

172
173
174
175
1255.	[bug]		marcin
	Fixed failing unit tests in libkea-http.
	(Trac #5260, git 43394f76efb1634155c04b205dec7361fc21f4f9)

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

183
1253.	[func,doc]	tomek
Tomek Mrugalski's avatar
Tomek Mrugalski committed
184
185
186
187
188
	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)

189
190
191
192
193
194
195
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
196
197
198
199
200
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)

201
202
1250.	[bug]		fdupont
	Do not unregister timers when running the config-test command.
Francis Dupont's avatar
Francis Dupont committed
203
	(Trac #5186, git e891b06940e41b4cfaa324c2ace8fdd761ee6662)
204

205
206
207
208
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.
209
	(Trac #5247, git 4e5193fb32b14325ccf5824614e58bcceb3e6388)
210

211
212
213
214
215
216
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)

217
218
219
220
221
222
223
224
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
225
226
227
228
229
230
231
232
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)

233
234
235
1245.	[func]		fdupont
	DHCPv4 domain-search option can now be defined using
	comma separated values.
Francis Dupont's avatar
Francis Dupont committed
236
	(Trac #5087, git eca0b8c6425bc922587675100f100b1aae54aee2)
237

Tomek Mrugalski's avatar
Tomek Mrugalski committed
238
239
240
241
1244.	[doc]		tomek
	User's Guide section about Kea shell added.
	(Trac #5171, git 3dc4908fe02e86c57ccd5ad2d2f8330655f438be)

242
243
244
245
246
247
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)

248
249
250
1242.	[func]		fdupont
	Integer fields in options can now be specified in either
	decimal or hexadecimal format.
251
	(Trac #4540, git 4cbf341f4169cf1e1eae0721644797a726d89702)
252

253
254
255
256
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
257
	(Trac #4070, git 30102cacee95b91e6c4666f0c11f06232f19eeb9)
258

259
260
261
262
1240.	[bug]		marcin
	Corrected IOFetch unit test failures on Debian.
	(Trac #5216, git a7c2946678c43aedfb2e3c37b9730a10067528f3)

263
264
265
266
267
1239.	[func]		marcin
	Implemented additional sanity checks when adding host
	reservations into the configuration file.
	(Trac #5207, git ea42c6f479918235ae4a67a60d08720e2664720c)

268
269
Kea 1.2.0-beta released on April 7, 2017

270
271
272
273
1238.	[build]		tmark,tomek
	Library version numbers bumped for release.
	(Trac #5201	git 58c9c5b705d72031c1589c30c542384a9d43e0f3)

274
275
276
277
1237.	[bug]		marcin
	Fixed hanging Control Agent unit tests.
	(Trac #5200, git 65daafd135965f9eb0bd4c3a22085d4bd3c6ffbe)

278
279
280
281
1236.	[build]		zeitounator
	Improvements in tools/tests_in_valgrind.sh script.
	(Github #49, git 272e7babf9ebeab5f78850394d72c9431041e2e9)

282
1235.	[func]		MrMarvin
283
284
285
	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
286
	(Github #14, git 4038157a3499ad90956c98a2172c57b173f2b985)
287

288
1234.	[build]		fdupont
289
	Improved installation procedure for kea-shell.
Francis Dupont's avatar
Francis Dupont committed
290
	(Trac #5170, git 68a902fb723965ee6f5b7a8272224395917525cc)
291

292
293
294
295
296
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
297
298
299
300
301
302
303
304
305
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)

306
307
308
309
310
1231.	[func]		marcin
	Control agent forwards commands to be handled by other Kea
	servers.
	(Trac #5078, git 19a50ed1ccafae19ef10d84cba73992cadf49753)

311
312
313
314
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.
315
	(Trac #5071, git cafa3d5c24f0112b0b9384a9c1083fe8a3eeb2bf)
316

317
318
319
320
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
321
	(Trac #5150, git 5f6cf226e848baef8d9af64e16c1dbf617a0a798)
322

323
324
325
326
327
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
328
	(Trac #5053, git 532d9f0e459ab1450a83a5015a2dd54745794383)
329

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

336
337
338
339
340
341
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
342
	(Trac #5152, git 2231d79ebebd3cdf432cd4a8ac32018d180e27b6)
343

Tomek Mrugalski's avatar
Tomek Mrugalski committed
344
1225.	[func]		tomek
345
	Two new commands: config-get (retrieves current configuration)
Tomek Mrugalski's avatar
Tomek Mrugalski committed
346
347
348
349
	and config-write (writes current configuration to disk) have been
	implemented.
	(Trac #5151, git ffb26811736a2ae6f9b5556b9823aa284b7e0aec)

Tomek Mrugalski's avatar
Tomek Mrugalski committed
350
351
352
353
354
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
355
356
357
358
359
360
361
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)

362
363
364
1222.	[func]		fdupont
	Obsolete parameter 'allow-client-update' has been removed
	from DHCPv4 and DHCPv6 components.
Francis Dupont's avatar
Francis Dupont committed
365
	(Trac #5145, git 01fde297a978e2bd832655ac7276e5aa3a7e8400)
366

367
368
369
370
371
372
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)

373
374
375
376
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).
377
	(Trac #5061, git d12b6f4a6d80d6bc854f2a8a086e412dc37867bc)
378
379

1219.   [func]		marcin
380
381
382
383
	Control Agent uses libkea-http to process commands over
	the RESTful interface.
        (Trac #5107, git 88ce715926a46b6b3832630116fc7782adc46c7b)

384
385
386
387
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
388
	parsing mechanisms.
389
390
391
	(Trac #5110, git feb2cedc0936364a923ab78542a21114533dd0f5)

1217.	[func]		marcin
392
	Implemented libkea-http library.
393
394
395
	(Trac #5077, git cd72284b5b221e620770883db7e166c4d3ba7eb6)
	(Trac #5088, git 715d18f961801ffbd798a65b19459178c3a53857)
	(Trac #5099, git 7e8df7993f295431e2cb6a13858f746649c4e18d)
396

397
1216.	[func]		fdupont, tomek
398
	Command line option -t implemented for DHCPv4 and DHCPv6.  It
399
400
401
	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
402
	(Trac #3770, git 1d12582e270935ee7b72548d9c66753f4eea4ca4)
403

404
405
406
407
1215.	[doc]		tomek
	Developer's Guide updated to cover flex/bison parser.
	(Trac #5112, git 44139d821c1f4e43dbff22d49101a0854e4f9f5b)

408
1214.	[func]		tomek
409
410
411
412
413
	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)

414
415
416
417
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
418
	(Trac #5105, git fa79ac2396aa94d7bac91bd12d3593ebaaa9386d)
419

420
421
422
423
1212.	[doc]		andreipavelQ
	Many spelling corrections.
	(Github #47, git a6a7ca1ced8c63c1e11ef4c572f09272340afdd7)

424
425
426
427
428
1211.	[func]		andreipavelQ
	Updated PostgreSQL version reporting to be in line with
	MySQL and Cassandra.
	(Github #42, git 7ef4a190facadd66775b4a44c696d1c4215616cd)

429
430
431
432
1210.	[doc]		andreipavelQ
	Doxygen version updated to 1.8.11.
	(Github #45, git ce72998382b62269823fa0dcbfa41dfa9c72b69e)

433
1209.	[func]		tomek
434
	Relay options are now printed in DHCPv6 when sufficiently detailed
435
436
437
	debug logging is requested.
	(Trac #5131, git 5bf58b21fcf07f2e2e97275efa1f76cde913b30a)

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

446
447
448
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
449
	(Trac #5098, git e93906e48a6e2b0ff78c5e37dca642646fe47d43)
450

Tomek Mrugalski's avatar
Tomek Mrugalski committed
451
452
453
454
455
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
456
457
458
459
460
1205.	[func]		tomek
	Parsers for interfaces configuration converted to SimpleParser.
	Removed obsolete 'version' parameter in Dhcp6.
	(Trac #5020, #5038, git 3d8e48c640e302670c04907468d11faafbe9fe7b)

461
462
463
1204.   [func]         marcin
	Added 'control_command_receive' hook point to Kea Command
	Manager.
464
	(Trac #5100, git d0c7cb29a7df3588c540afb4ca56de55f26142e0)
465

466
467
468
469
1203.   [func]         marcin
	Implemented TCPAcceptor class in libkea-asiolink. This class
	provides means to listen and asynchronously accept new TCP
	connections.
470
	(Trac #5094, git 920ba90696ba9d8579a7db5e1efcf955d6654a96)
471

Tomek Mrugalski's avatar
Tomek Mrugalski committed
472
473
474
475
476
477
478
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)

479
480
481
482
483
484
485
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
486
487
488
489
490
	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)

491
492
493
494
495
496
497
498
499
500
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)

501
502
503
504
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.
505
	(Trac #5075, git 1ec7586da5ae1474b52d5a395fb80ee37d6d568e)
506

Tomek Mrugalski's avatar
Tomek Mrugalski committed
507
508
509
510
511
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
512
513
514
515
516
517
518
519
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)

520
521
522
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
523
	(Trac #5066, git a060d4a983860bf3056d50d9bf7ee4355c8372f2)
524

525
526
527
528
1194.   [build]     	marcin
	Moved StateModel class from D2 to libkea-util.
	(Trac #3175, git 270ec379aec2894104a299cdd1080e24007e25fb)

529
530
531
532
533
534
535
536
537
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)
538

539
540
541
542
1191.	[build]		tomek
	Optional support for premium package added.
	(Trac #5027, git 5ff51f28a1f05d941bb117986922a6f410f23c6c)

Tomek Mrugalski's avatar
Tomek Mrugalski committed
543
544
545
546
547
1190.	[func]		tomek
	User context implemented: an arbitrary user information can
	now be defined for address and prefix pools.
	(Trac #5023, git 4f81789e19b72c933bcf86e402b417c63bd7bd3f)

548
549
550
1189.	[func]		fdupont
	Owing to API changes, crypto code now requires OpenSSL 1.0.1 or
	later.
Francis Dupont's avatar
Francis Dupont committed
551
	(Trac #3908, git 4c14fdfd4187a4c8f7b775432082b76782e47663)
552

553
554
1188.	[doc]		vlegout
	Fixed several spelling mistakes.
555
	(Github #32, git d51c005519c4add6fd0c37bcd68b0fbe94941b2d)
556

557
558
559
560
561
562
563
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)

564
565
566
567
568
569
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)

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

575
576
577
578
579
1184.	[bug]		eest
	Fixes in the occasionally failing LFC unit test. This
	fix was provided by Patrik Lundin.
	(Github #31, git 69a5722bf3b41bf3b2bc0c2bcac966c23c08f62d)

580
581
582
583
584
585
586
587
588
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)

589
590
591
592
593
1182.	[func]		marcin
	DHCP servers detect overlapping pool ranges during
	configuration.
	(Trac #2280, git c8f931e0189c9630f5fba5d2a5553bed4abf36f7)

594
595
596
597
598
1181.	[func]		marcin
	Extended DHCPv6 server to allow for specifying DHCP options
	on address and prefix pool levels.
	(Trac #5022, git e3b2785c79aedbb0c8af7468d61f6d61dafd2282)

599
600
Kea 1.1.0 released on September 30, 2016

601
1180.	[doc]		stephen
602
603
604
605
	Editing pass through the Kea guide.
	(Trac #4484, git 63456fab1b978bd515198b9b9e604f293efd8217)
	(Trac #5008, git f09cd12d5b1abc60ccef98df2abc6c41b482a404)

Tomek Mrugalski's avatar
Tomek Mrugalski committed
606
607
608
609
1179.	[doc]		tomek
	Manual pages updated.
	(Trac #3515, git 4cf0395e11e724786c4d2a1d48805f1c770f4c99)

610
1178.	[doc]           tomek
611
612
613
	user_chk hook library is now documented in the User's Guide.
	(Trac #3209, git 4a8534d968a21cff3851619fb22d0032a1202c87)

614
615
616
617
1177.	[build]	marcin
	Updated Kea libraries version numbers for 1.1-final release.
	(Trac #5012, git 6e9a224b46def357141a31386fcc912b29dfe16d)

618
619
620
621
1176.	[doc]		tomek
	Developer's Guide has been updated.
	(trac #4299, git ed38076c183394feaef60e7123d0c488c9f6447d)

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

631
1174.	[bug]		tmark
Josh Soref's avatar
Josh Soref committed
632
	Modified kea-dhcp6 to avoid requesting DNS updates when
633
634
635
	existing leases are renewed without changes to the FQDN.
	(Trac #5007, git 05ea3a5eb75c06cf9814c63a1a54261bf58a954b)

636
637
638
639
640
641
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)

642
643
644
645
1172.	[bug]		andir
	Kea build fixes for gcc 6, which uses C++14 by default.
	(github #29, git ad68c3942839618c26d7ff017fbac7df139b5d01)

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

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

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

665
666
667
668
669
1168.	[doc]		marcin
	Corrected location of the Kea repository in the Kea Administrator
	Reference Manual.
	(Trac #4258, git f081000b892287316e54848ca1f62ca3512d4263)

670
671
672
673
1167.	[func]		marcin
	DHCP servers utilize client classes defined in host reservations.
	(Trac #4765, git 242fbc47b31da404e57be458ac065f811084cca9)

674
675
676
677
678
1166.	[bug]		marcin
	Corrected error message produced by the host database access
	parser when the database type was not specified.
	(Trac #4261, git 028dd49f4fa4843e68e23d11c237e9f4683470ba)

679
680
681
682
683
684
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)

685
686
687
688
689
690
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)

691
692
693
694
695
1163.	[bug]		marcin
	Corrected swapped DHCPSRV_MEMFILE_GET_EXPIRED{4,6} messages
	in the Memfile lease manager.
	(Trac #4717, git ce5919d97879c3fda0858894b24418af135ef8f3)

696
697
698
699
700
701
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)

702
703
704
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
705
	(Trac #4551, git 8d590e434062535e850a60a7892481df845ff390)
706

707
708
Kea 1.1.0-beta released on August 31, 2016

709
710
711
712
713
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)

714
715
716
717
1159.	[func]		marcin
	MySQL database schema updated to version 5.0.
	(Trac #4562, git 0e40b35e280f0845686bcfdb2efb577c7878ede6)

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

723
724
725
726
727
1157.	[func]		marcin
	Added support for static reservations for fixed fields in
	DHCPv4 messages: siaddr, sname and file.
	(Trac #4552, git 9b79fe005dd77328ea7c596fc6886f8fb838d1cf)

728
729
730
1156.	[bug]		tmark
	Lease statistics are now recalculated during server startup and
	after each successful reconfiguration for Memfile, MySQL, and PostgreSQL
731
	back ends.  This addresses issues caused by accumulated values being lost
732
	across restarts and reconfigurations making rendering values incorrect.
733
734
	(Trac #4294 git 0abdcf15f85861ffcb67d50fa4ce3965d25e4a9f)

735
736
737
738
739
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)

740
741
742
743
744
745
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
746
747
748
749
1153.	[func]		tomek
	Integers can now be used in client classification.
	(Trac #4483, git e90cf0ee4007521b86177be6d5fbb970c02c1075)

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

755
756
757
758
759
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
760
761
762
763
764
765
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)

766
767
768
769
770
771
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
772
773
774
775
776
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)

777
778
779
780
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
781
	(Trac #4272, git 9a3bdfa43cf65ef56a8d63580dd5d7414fc41373)
782

783
784
785
786
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.
787
	(Trac #4533, git 874e3a3f5cb10313856284646fcee7cf86e4fcce)
788
789

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

793
1145.	[func]		tmark
794
795
	The Postgresql backend now supports host reservations for both
	DHCPv4 and DHCPv6, with options and IPv6 reservations.
796
797
	(Trac #4277 git ac1eaa1026987c2d86d57b4aa0dc9a4d093787f0)

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

803
804
805
1143.	[doc]		fdupont
	User's Guide has been updated with DHCPv4-over-DHCPv6 support
	details.
Francis Dupont's avatar
Francis Dupont committed
806
	(Trac #4273, git fe8cb64adeabe00d84ee390b579a8328717ae521)
807

808
809
1142.	[doc]		sar
	Uncomment the example columns in some rows in the table
810
	listing the classification examples.
811
	(None, git dee442a64f57c8d9dd87636f9e39084ed1b11e03)
812

813
814
815
816
817
818
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)

819
820
821
822
823
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
824
825
826
827
828
829
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)

830
831
832
833
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
834
	(Trac #4283, git 7dbd95651c308527f2e42c533fdc0a12aeec5308)
835

836
837
838
1137.	[doc]		fdupont
	Developer's Guide has been updated with DHCPv4-over-DHCPv6 support
	details.
Francis Dupont's avatar
Francis Dupont committed
839
	(Trac #4274, git b3eda594e055f03a9a601bacf0c72c3db0ef8e3c)
840

Tomek Mrugalski's avatar
Tomek Mrugalski committed
841
842
843
844
1136.	[doc]		tomek
	Included full text of MPL 2.0 and Apache licenses.
	(Trac #4529, git baefb4b3e2078a0a0f794b42ef52d6b7d53c9dab)

Francis Dupont's avatar
Francis Dupont committed
845
1135.	[func]		fdupont
Francis Dupont's avatar
Francis Dupont committed
846
	Integrated the DHCPv4 service part of DHCPv4-over-DHCPv6 support.
Francis Dupont's avatar
Francis Dupont committed
847
848
	(Trac #4110, git 7d36aebe14db10b0cbac8e6c0e82160b9d5d7ecd)

849
1134.	[func]		fdupont
Francis Dupont's avatar
Francis Dupont committed
850
	Integrated the DHCPv6 service part of DHCPv4-over-DHCPv6 support.
Francis Dupont's avatar
Francis Dupont committed
851
	(Trac #4109, git 8d1f330d9b0a44039a8b9e0b479f8da1743b9504)
852

853
854
855
1133.	[func]		razvan
	The initial support for CQL (Cassandra) backend added. It is able
	to store leases information.
856
	(Github #21, git d3a412d4b090bfd84ec5bc5d7817b1dfcc92602e)
857

858
1132.	[func]		tmark
859
860
	The Postgresql schema has been updated to support host
	reservations and its version number has been bumped to 3.0.
861
	This schema is content equivalent to the MySQL schema version 4.2.
862
863
	(Trac #4275, git 6f8e646bee9de22c921ed26409f3d1856ebce9e6)

864
865
1131.	[func]		fdupont
	Update the DHCPv4-over-DHCPv6 inter-process communication code.
Francis Dupont's avatar
Francis Dupont committed
866
	(Trac #4106, git 1ce1cba00af5d81822d5bbe26ddd28b718f51d54)
867

868
869
870
871
872
873
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)

874
875
876
877
878
879
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
880
881
882
883
884
885
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)

886
887
888
889
890
891
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)

892
893
894
895
1126.	[func]		marcin
	Host reservations can be assigned using DHCPv4 client identifier.
	(Trac #4317, git 5f14fca1e029b04ad21a417936c2b8889acef10d)

896
897
898
899
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
900
	(Trac #4106, git 3223bb8280bfd99c225e725de660ae764abe3c87)
901

902
1124.	[bug]		sar
903
904
	Update the classification document to match the output from
	the debug statements.
905
	(Trac NA, git 8b3ea8e26c3e6cd3c46073b635212fd29f031774)
906

907
1123.	[func]		marcin
908
909
910
911
	Extended MySQL host data source to retrieve DHCPv4 and DHCPv6
	options associated with hosts from a MySQL database.
	(Trac #4281, git b8a306a27d1cae03f6bc5223c30806f5cd1b64f4)

912
1122.	[func]		sar
913
914
915
	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.
916
	(Trac #4480, git cf14d0d21c69879f21733457a97a6ac0bdb1dae2)
917

918
1121.	[func]		stephen
919
920
921
922
	Make the database connection timeout a configurable parameter with
	a default value of five seconds.
	(Trac #3164, git 3332ad17523c6fcc1e735e4297169ebb2de95118)

923
1120.	[bug]		marcin
924
925
926
927
	Performance improvement in libdhcp++: improved efficiency of the
	DHCPv4 Message Type option creation.
	(Trac #4495, git 41c43a2a9e34931fc3ebf58c459f10ad08575d19)

928
1119.	[bug]		marcin
929
930
931
932
933
	Performance improvement in hosts reservation: removed
	inefficient conversion of the host identifier to text
	when logging.
	(Trac #4499, git 48c20790480d5ed7bfde0ef7b052dd4a9745607d)

934
1118.	[func]		tmark
935
936
937
938
939
940
	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)

941
1117.	[bug]		stephen
942
943
944
945
	Adjusted variable type in a MySQL-related file to overcome a
	type mismatch problem reported by one particular compiler.
	(Trac #4485, git 4c6fb189b5d12ffdf4ab171c9154366e70e6082c)

946
1116.	[func]		tomek
947
948
949
950
951
	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)

952
1115.   [bug]		tmark
953
954
	An explicit call to unload the hook libraries prior to server
	exit was added to both kea-dhcp6 and kea-dhcp4.  This corrects
955
956
	an issue where logging components were being destroyed prior
	to hook libraries being unloaded.
957
958
	(Trac #4492, git 2a4792b3551cce2fb9147f33f032ae7e71791d21)

959
1114.	[bug]		marcin
960
961
962
963
964
	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)

965
1113.	[func]		tomek
966
	It is now possible to specify parameters for hook libraries.
967
	(Trac #4297, git f45d0b5d297f6ad522eb8b7e6f6a0de1064b8569)
968

969
1112.	[func]		marcin
970
971
972
973
974
975
	"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)

976
1111.	[func]		tmark
977
978
979
980
981
	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)

982
1110.	[func]		fdupont
983
984
	Added support for extracting constant length fields from a DHCPv4
	packet.
Francis Dupont's avatar
Francis Dupont committed
985
	(Trac #4268a, git 5d1397efc05802b72e86785528870b7154307ff0)
986

987
1109.	[func]		sar
988
989
	Added support for accessing DHCPv6 packet fields message type
	and transaction id in a classification expression.
990
	(Trac #4269, git 48be5f5ceaba6b0d0a2b31465e8a5904524e894c)
991

992
1108.	[bug]		pallotron
993
994
995
996
	perfdhcp uses the same transaction id throughout the DORA
	exchange to adhere with RFC 2131.
	(github #19, git d260a70d6aa0baecd68131bc35f58f097aa77bcc)

997
1107.	[func]		tmark
998
	The DDNS parameter, replace-client-name, has been changed from a boolean
999
	to list of modes, which provides greater flexibility in when the Kea
1000
1001
	servers replace or supply DNS names for clients.  This is supported both
	kea-dhcp4 and kea-dhcp6.
1002
	(Trac #4259, git 45e56d7aa0d4a6224a1a28941f6cb11575391222)
1003

1004
1106.	[func]		marcin
1005
1006
1007
1008
1009
	"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)

1010
1105.	[func]		sar
1011
1012
	Added access to the peer address, link address and option
	information added by relays in a DHCPv6 message.
1013
	(Trac #4265, git bb00d9d205ee047961ba70417d7ce02c37d80ce7)
1014

1015
1104.	[bug]		stephen
1016
1017
1018
1019
1020
	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)

1021
1103.	[bug]		tmark
1022
1023
1024
1025
1026
1027
1028
	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)

1029
1102.	[func]		marcin
1030
1031
1032
1033
1034
	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)

1035
1101.	[func]		kalmus, marcin
1036
1037
1038
	Implemented IPv6 address/prefix reservations in MySQL.
	(Trac #4212, git 79481043935789fc6898d4743bede1606f82eb75)

1039
1100.	[func]		fdupont
1040
1041
1042
	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
1043
	(Trac #4108,#4266,#4267, git ba24bd770d1a1791f8fdc3df7f2e41f9f0c851ec)
1044

1045
1099.	[func]		tmark
1046
1047
	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
1048
	lease4_logger and lease6_logger respectively.  Prior to this these
1049
1050
1051
	events were logged at the DEBUG log level.
	(Trac #4316, git 9beca27e3d76d0ccec925125f23074227db08869)

1052
1098.	[bug]		fdupont
1053
	Fixed some minor Coverity-detected issues.
Francis Dupont's avatar
Francis Dupont committed
1054
	(Trac #4326, git ad1f442ee4382b354dc8be84ba77785e565aa86b)
1055

1056
1097.	[bug]		marcin
1057
1058
1059
1060
	libdhcpsrv: Fixed issues with lease indexing in Memfile
	database backend.
	(Trac #4339, git a065144663ac716b1fa1c8c224a88aa176da9630)

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

1065
1095.	[func]		marcin
1066
1067
1068
1069
	DHCP option values can be specified within host reservations
	in the configuration file.
	(Trac #4319, git 069dd7c248afcfcb7e4d958f20faa32e946e74ce)

1070
1094.	[bug]		fdupont
1071
	Fixed Coverity-detected exception-handling issues.
Francis Dupont's avatar
Francis Dupont committed
1072
	(Trac #4307, git 3e1050749d9684144e1bd17552af7e4abf3c0d17)
1073

1074
1093.	[func]		fdupont
1075
1076
	Added support for IP address (IPv4 and IPv6) literals in
	classification expressions.
Francis Dupont's avatar
Francis Dupont committed
1077
	(Trac #4232, git b98cc019b172a4903a2121e910f3cee4eaca2d51)
1078

1079
1092.	[func]		fdupont
1080
1081
1082
	Added relay4[X].exists method in classifications that checks
	whether a sub-option is present in theDHCPv4 RAI (Relay Agent
	Information, 82) option.
1083
	(Trac #4313, git 87397fd75215b69ad79708aaa1d7505aca299fb5)
1084

1085
1091.	[bug]		fdupont
1086
1087
	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
1088
	(Trac #4310, git 6813e1a7520335f6920ff8de5e52ecdb24712910)
1089

1090
1090.	[bug]		fdupont
1091
1092
	Empty option specifications no longer require setting the
	csv-format parameter.
Francis Dupont's avatar
Francis Dupont committed
1093
	(Trac #4291, git 398458f3ad4680fd5f3c032eb6c99d50c2981368)
1094

1095
1089.	[func]		marcin
1096
1097
1098
1099
	The Host class has been extended to store DHCP options to
	be assigned to a client.
	(Trac #3571, git 9d434f28cc4683eccbcca1ba0d1e45bceb5230d2)

1100
1088.	[bug]		sar
1101
	Always copy the DHCPv4 flags field from a client's request to the
1102
	the server's response.
1103
	(Trac #4292, git 8b7182abdc7ff47eb9b68451e7507b7e4b9872e0)
1104

1105
1087.	[bug]		fdupont
1106
1107
	Removed obsolete requirement of python3 by --enable-generate-docs
	configuration option.
Francis Dupont's avatar
Francis Dupont committed
1108
	(Trac #4315, git 2c236316d5fbac9906cf48a6e4df1649e7545e67)
1109

1110
1086.	[bug]		marcin
1111
1112
1113
1114
1115
	When lease-database configuration parameter is not
	specified the default lease database backend (memfile)
	is used.
	(Trac #3696, git 0be5e6eb32680a742ddcf427b8181f55c0c98115)

1116
1085.	[func]		fdupont
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
	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
1129
	(Trac #4286, git 5ed03ed5ea48334bbd16a9a8e1676f3b4cc730a0)
1130

1131
1084.	[bug]		jpopelka
1132
1133
1134
	Added missing slashed in path_replacer.sh.
	(Github #10, git 8986813825623b19fb220534434d0c13785fc14c)

1135
1083.	[func]		fdupont
1136
	Added a concat function in classification which concatenates two
1137
	strings.
1138
	(Trac #4233, git eec10b436b928bd5eb3139c2f98ec9a6a818f30e)
1139

1140
1082.	[func]		fdupont
1141
1142
1143
	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).
1144
	(Trac #4231, git 8e01dbe2fe2d8c97f89c20f5bb1d03748a2432e0)
1145

1146
1081.	[func]		tomek
Tomek Mrugalski's avatar
Tomek Mrugalski committed
1147
1148
1149
1150
1151
	Client classification in DHCPv4 has been enhanced. It is now
	possible to access relay sub-options using the expression
	relay[123].hex.
	(Trac #4264, git c13791e916ceae9a73ca44005581e0e39385a572)

1152
1080.	[func]		marcin
1153
1154
1155
1156
	perfdhcp now accepts -f option for DHCPv4 server testing, which
	enables lease renewals at the specified rate.
	(Trac #4254, git 8c5630b9ce6d3fba224f0643a7c69e4f7aaefca7)

1157
1158
1159
Kea 1.0.0 released on December 29, 2015

1079.	[bug]		jpopelka
1160
	Fixed compilation issue in MySQL host data source: the
Josh Soref's avatar
Josh Soref committed
1161
	dhcp_identifier_length is now unsigned long. This addresses
1162
	a compilation problem on Fedora.
1163
	(Github #17, git 8548d1b589df98cc956b4d80d2cb8819ef576717)
1164

1165
1078.	[bug]		fdupont
1166
	Removed warnings emitted during generation of Doxygen documentation.
1167
	(Trac #4234, git b67910a3893bc79eb77a48bae6c31214a317bd40)
1168

1169
1077.	[bug]		marcin
1170
1171
1172
1173
1174
1175
1176
	Addressed regression in distcheck after merge of #4224.
	Before the changes one of the lease files produced by
	'kea-lfc' was not removed after tests running lease file
	cleanup. As a result, the distcheck failed discovering
	this file being left after distclean.
	(Trac #4249, git 04aa9b95bf8c4dd8b555dd78cc8cd57126473800)

1177
1076.	[bug]		tmark
1178
1179
1180
1181
1182
1183
1184
1185
1186
	This change bumps the MySQL schema version from 4.0 to 4.1 and includes
	the following changes: added explicit use of InnoDB engine to all MySQL
	table create statements,  MySQL lease dump output is now sorted by lease
	address in ascending order, and the MySQL lease_hwaddr_source table now
	contains an entry for HWADDR_SOURCE_UNKNOWN (i.e. source = 0). Our thanks
	to Sebastien Couture at Ubity Inc. for reporting the InnoDB engine issue
	and submitting a fix for it.
	(Github #16, Trac #4237,#4238, git f0fb9f35a394785215573a591c2bcc68ab481436)

1187
1188
1189
1190
1191
1075.	[doc]		marcin
	Changed Kea license from ISC to Mozilla Public License,
	v. 2.0.
	(Trac #4236, git a0574cdab4deb31e3244fc4e237753a1ad361d96)

1192
1193
1194
1195
1196
1197
1198
1199
1074.	[bug]		marcin
	PID files created by Kea processes are used in shell based
	tests to determine if the given process is running. This
	solves the problem whereby some unrelated processes could
	be reported as running Kea processes in those tests, causing
	the tests to fail.
	(Trac #4224, git 94edccc50cb374ec4db35f653b869c9f06d356ea)

1200
1201
1202
1203
1204
1073.	[doc]		tomek
	Developer's Guide updated with client classification text
	and several clean-ups.
	(Trac #4102, git ac33ebf7428ba5935d3302d000bed317716fabfe)

1205
1206
1207
1208
1209
1072.	[bug]		tmark
	The lease6 hardware address source value is now being properly populated.
	Prior to this the value stored with each IPv6 lease was always zero.
	(Trac #4247, git 27886dadcf9051dc622ee6fde586c27f3d431f8b)

1210
1211
1071.	[func]		tmark
	Assigned unique log message IDs to log messages issued from
Josh Soref's avatar
Josh Soref committed
1212
	MySQL hosts storage operations, eliminating reuse of
1213
1214
1215
	lease database message IDs.
	(Trac #4216, git f0e37cd6d45537971a730c68187011dce41217cc)

1216
1070.	[doc]		sar
1217
1218
	Correct v6 classification examples to use client-id (1) instead
	of server-id (2).
1219
	(Trac #4222, git 69dd98d03861d9de72c2ef75c17c8154b0c5088b)
1220

1221
1222
Kea 1.0.0-beta2 released on December 22, 2015

Tomek Mrugalski's avatar
Tomek Mrugalski committed
1223
1224
1225
1226
1227
1069.	[bug]		tomek
	Improved handling of incoming packets with invalid client-id
	and DUID.
	(Trac #4206, git 2c94f80e30abe53ae5b677762fc69e888c92e03f)

1228
1229
1230
1231
1232
1068.	[func]		marcin
	Renamed log message compiler binary from 'message' to
	'kea-msg-compiler'.
	(Trac #4228, git bbeb5c776c39b9f4132f7f614720db75590ccef9)

Wlodzimierz Wencel's avatar
Wlodzimierz Wencel committed
1233
1234
1235
Kea 1.0.0-beta released on December 8, 2015

1067.	[doc]		sar
1236
	Remove description of option[xx].text operator from classification
Wlodzimierz Wencel's avatar
Wlodzimierz Wencel committed
1237
	until its use becomes clearer.
1238
	(Trac #4218, git 22fe2bf889984078cd86c2a230a038632d21432c)
1239

Wlodzimierz Wencel's avatar
Wlodzimierz Wencel committed
1240
1066.	[func]		tomek
1241
1242
1243
1244
1245
	Configuration parameters for setting up external hosts storage
	are now implemented. This feature is considered experimental
	for DHCPv4 and currently not really usable for DHCPv6.
	(Trac #3569, git 8896c9c3f77a7836d67e6c33943ac4892b851213)

Wlodzimierz Wencel's avatar
Wlodzimierz Wencel committed
1246
1065.	[func]		fdupont,tomek
1247
1248
1249
1250
	The DHCPv4 server now stores Relay Agent Information option as
	the last one.
	(trac #4121, git 2f883d4afb9b27c6c59d993692370685b206b6c2)

Wlodzimierz Wencel's avatar
Wlodzimierz Wencel committed
1251
1064.	[doc]		tmark
1252
1253
1254
	Added Kea logo to documentation.
	(trac #3702, git 7cae813ffe9a7320db5c84ac4beb1c3c0ecabbf7)

Wlodzimierz Wencel's avatar
Wlodzimierz Wencel committed
1255
1063.	[func]		marcin
1256
1257
1258
1259
1260
	It is possible to disable writing generated DHCPv6 server
	identifier in a persistent storage. This also fixes a
	failing distcheck.
	(trac #4211, git d8f39b7aff9312237d4b6d6de39a7336a25ead4c)

Wlodzimierz Wencel's avatar
Wlodzimierz Wencel committed
1261
1062.	[func]		marcin
1262
1263
1264
1265
	libeval: options may be referenced by their names in
	expressions used for client classification.
	(Trac #4204 git 38aebe9566e09daa30796df686cfdd6d0c43fa4d)

Wlodzimierz Wencel's avatar
Wlodzimierz Wencel committed
1266
1061.	[func]		kalmus
1267
1268
1269
1270
	MySqlHostDataSource class implementation. It provides methods
	for adding and extracting Host objects to and from MySQL database.
	(Trac #3682, git 275b40fb941a6934c6434715184ae1c39f3fb3f2)

1271
1272
1273
1274
1060.	[func]		stephen
	Incremented KEA_HOOKS_VERSION to 3 for Kea 1.0.
	(Trac #4208, git bf6f3d495604942a395b51bbe4c37001b7541242)

1275
1276
1277
1278
1279
1280
1059.	[func]		nicolas
	The client packet is now passed as a new parameter "query4"
	to the pkt4_send hook point. Thanks to Nicolas Chaigneau from
	Capgemini for providing this patch.
	(Github #8, git )

Tomek Mrugalski's avatar
Tomek Mrugalski committed
1281
1282
1283
1284
1058.	[func]		tomek
	Two new hook points lease4_recover and lease6_recover have been
	implemented. They are called when a declined IPv4 or IPv6 lease
	concludes its probation period and is being recovered into
Wlodzimierz Wencel's avatar
Wlodzimierz Wencel committed
1285
	usable state.
Tomek Mrugalski's avatar
Tomek Mrugalski committed
1286
1287
	(Trac #3988, 3989, git 1930797c48fee7f4006a33cecd6f08b05ae76725)