forked from isc-projects/kea
/
ChangeLog
8712 lines (7280 loc) · 351 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1385. [func] tomek
lease4-wipe and lease6-wipe are now able to wipe all leases
from all configured subnets if subnet-id specified is 0
or the subnet-id parameter is omitted.
(Trac #5543, git ecaf777dff4b8d1100c2a97c4fb1cf8f8e63566d)
1384. [func] fdupont
Significant improvements to client classification introduced.
The order of classes evaluation has changed from alphabetical
to the order of appearance. New 'member' expression allows
combination of classes. The new 'only-if-required' and
'require-client-class' parameters controlling the scope of
a class have been introduced.
(Trac #5474, git 3f2d93f0731fc1858b20e831a7d1f090ea8841fe)
1383. [func] tmark
kea-dhcp4 and kea-dhcp6 can now be configured to attempt to
reconnect to MySQL backends if connectivity is lost.
(Trac #5556, git b31da6f9a3545a2cac228eb17c59d72b6b4823f2)
1382. [func] fdupont
Added support for generalized UDP Source Port for DHCP Relay
(RFC 8357) for DHCPv4, DHCPv6 and DHCPv4-over-DHCPv6. Note
this required changes to the inter-server protocol used by
our 4o6 implementation, and is therefore not backward
compatible.
(Trac #5404, git 2a6049947ad4caaaa697dba8cb7669a09264f0bc)
1381. [bug] marcin
Corrected a bug in the libkea-asiolink library which caused
the DHCP servers to crash while processing commands over
the unix domain socket on some systems.
(Trac #5580, git cb5276a24436a9e9ce4d1ab4630e7193a4c2d803)
1380. [func] fdupont
Implemented lease6-get-all command in lease_cmds hooks library.
(Trac #5469, git a0bb7188df47a0f8020ff57739c5a6ab5f7e9828)
1379. [func, bug] marcin
The network_state argument is provided to the callouts in
the dhcp4_srv_configured hook point. Also, fixed a couple
of minor bugs in the HTTP client classes.
(Trac #5470, git 93e2b2198c3163afb81d51fdf5ec547602a12415)
1378. [doc] tomek
New parameter subnets-action for network4-del and network6-del
commands is now documented.
(Trac #5441, git 8b2ffabb3d1ba709f319df2b34d0804ee824446b)
1377. [doc] tomek
New parameters for Cassandra are now documented.
(Trac #5484, git 56e7026ea2bfab99dbfa1a047dc920ec2f743540)
1376. [func] razvan
Cassandra backend improvements: get all IPv4 leases, delete
hosts, ability to store fixed DHCPv4 fields (next-server,
server-hostname, boot-file-name) and user contexts in host
reservations. Also, the ability to store MAC address details
in DHCPv6 leases on PostgreSQL has been improved.
(Github #70, git 8cd0c1ae416be88baf69c2243e83a429d6d5c965)
(Trac #5506, git 8cd0c1ae416be88baf69c2243e83a429d6d5c965)
(Trac #5507, git 8cd0c1ae416be88baf69c2243e83a429d6d5c965)
(Trac #5508, git 8cd0c1ae416be88baf69c2243e83a429d6d5c965)
(Trac #4530, git 8cd0c1ae416be88baf69c2243e83a429d6d5c965)
1375. [func] tmark
When encountering errors unpacking vendor specific options,
both kea-dhcp4 and kea-dhcp6 will now log the error, skip
unpacking any remaining options, and then attempt to process
the packet as is. Prior to this the servers would log the issue
and then drop the packet.
(Trac #5551, git 59ef33ee17672c55cee4ec86ff59737b361a3c21)
1374. [func] tmark
kea-dhp4 and kea-dhcp6 can now be configured to attempt to
reconnect to Postgresql backends if connectivity is lost.
(Trac #5477, git 8e62a058382b2245d418cfbf829776934c638e5e)
1373. [func] marcin
Implemented leases parsing from JSON in libkea-dhcpsrv.
(Trac #5466, git 84c2a2084b0fb7c086fc6b9502f7ff58b708174e)
1372. [func] marcin
Implemented new hook points "dhcp4_srv_configured" and
"leases4_committed" in the DHCPv4 server. The latter supports
new next step status NEXT_STEP_PARK which causes the server
to "park" the client's DHCP packet.
(Trac #5457, git af43f07b0e227ccabcdf07a046a64cebb11bdccf)
1371. [bug] fdupont
Fixed a bug in JSONfeed tool which did not correctly handle
strings and interpret their content.
(Trac #5513, git 231e923a85db7fb8305c7baa4d15f766fdf60942)
1370. [bug] tmark
Fixed a bug which prevented inserting multiple host reservations
where IPv4 address was unspecified or when selected subnet identifier
was not specified (5416). Corrected inconsistent data types for
subnet id columns in both Postgres and MySQL schemas. Now both
schemas support upto MAX UINT32 in all subnet id columns. Exiting
databases may be updated without data migration.
(Trac #5416, #5522, git d1dd0f2e27ffa49515c17cf68d54f162359b6384)
1369. [bug] marcin
Multiple critical performance optimizations in the allocation
engine for shared networks.
(Trac #5437, git 9d8bcd39802795d48c737a05ef3de3634a28ca4e)
1368. [func] tmark
kea-dhcp4 now explicitly logs packets dropped due to a lack
message type as a log type DHCP4_PACKET_DROP_0009. Prior
to this such packets were logged has having an unsupported
message type of 0.
(Trac #5553, git ff97e5ffb5f3478be71aae8130b6eff3208bd69a)
1367. [func] fdupont
Added initial skeleton implementation for Radius hook library.
(Trac #5524, git 832aa23b89eab71875bcbdb1e955eb92fdc0e01a)
1366. [func] fdupont
Implemented FNV hashing function. Cassandra backend no longer
explicitly depends on OpenSSL.
(Trac #5502, git 71de75c3bb099f21fdef0d41806da281d6271287)
1365. [func] fdupont
Both DHCPv4 and DHCPv6 servers can now listen on loopback
interfaces. This capability requires setting socket type to UDP in
DHCPv4. Note the feature has not been thoroughly tested.
(Trac #5390, git f38cbd73581a7a0f8634a63cb17f9b60407e3acc)
1364. [func] fdupont
Extended forensic (aka legal) logging with database capability.
(Trac #5420, git 94bd3cc313e9f2a982ef8f8adf0cf44024c76499)
1363. [func] tmark
Added support for automatically recalculating lease statistics
to the CQL backend.
(Trac #5487, git c807388d581ee1c3e479324f3c399f27feba1c96)
1362. [func] razvan, andrei
A new parameter exit-wait-time has been added to perfdhcp. It is
now possible to tell perfdhcp to wait certain amount of time after
exit conditions are met before actuallying terminating.
(Github #55, git 0cd1178ae092fa0c2f122d0e16fb673b4074a6e6)
1361. [func] razvan, andrei, tomek
Support for Google Benchmark has been added. To compile
benchmarking support, please use --with-benchmark option.
(Github #36, git d6819971410b460d7742c762844e2e75ba580944)
1360. [build,bug] fdupont
Cassandra build fixes for macOS.
(Trac #5494, git cb0d735628aefd6bca2acc11b73d1f66b45d1c40)
1359. [bug] rcgoodfellow
Fixed bug in kea-admin causing error on lease-dump.
(Github #61, git 2c9454ec56edc8f3cff8a23329f53ced0d172280)
1358. [func] andreipavelQ,tomek
The logging configuration is now applied early, which helps
seeing errors in case the new configuration is faulty.
(Github #41, git d77fbec5a003a69cab207aa741133015f2657878)
1357. [build] andreipavelQ
--with-dhcp-mysql renamed to --with-mysql and
--with-dhcp-pgsql renamed to --with-pgsql. These names were
leftovers from old BIND10 times when Kea was part of bigger
solution that also provided DNS services. Kea is now a stand-alone
software, thus the -dhcp- doesn't make sense in those options any
more.
(Github #40, git 318c9e3d3db9bb938ced27932d8401172529a2ff)
1356. [doc] andreipavelQ
Documentation has been upgraded to DocBook 5.0.
(Github #39, git 9b6705bd6c534128ec18820ff0cbdd72b7fce9e9)
1355. [func] tomek
Lightweight 4over6 options reinstantiated. Definitions for DHCPv6
options 89 through 96 were added back. DHCPv4 v4 Parameters Option
159 has its definition tweaked slightly.
(Trac #5514, git 6a4aac2b3bfffe41460db6d1cd3c55b1430aa50c)
1354. [build] andrei
Support for coverage tests has been improved.
(Github #43, git 1949bb3abf71fb3997044d239eb683095166c39f)
1353. [build,bug] andrei, razvan
Various small changes and bugfixes. Thank you to Andrei Pavel
and Razvan Becheriu for submitting their patch.
(Github #54, git 2efa7494228a1797dff8d9d74107a452c61e2386)
1352. [func] fdupont
It is now possible to specify client classification restrictions
on per pool basis. This capability will be useful for grouping
certain types of devices into specific address and/or prefix
pools.
(Trac #5425, git 5f3a89d6e32e90cd9cbb2347c7b2208c3e1561e0)
1351. [build] andreipavelQ
Compilation parameters unified (every file now includes config.h,
several makefile tweaks).
(Github #38, git 7206aa79c57be7466c4ab3dd558663c6c4f858b7)
1350. [func] fdupont
Several hook points now support next step status DROP. This allows
more flexibility with dropping packets from within hooks.
(Trac #5443, git ff22a906915a34df327174f550f69a396a05bb2c)
1349. [func] marcin
Implemented HTTP client classes in libkea-http.
(Trac #5451, git 94267e252b372650e4235389251b49d6f5501322)
1348. [build] fdupont
Modified configure.ac to include premium module m4 macros, if the
module is present. Prior to this it relied on premium having it's
own configure.ac script.
(Trac #5400, git 38c4f2fb8fc8c8874a0e4671cc295a049acf675f)
1347. [build] fdupont
Added support of boost 1.66.0 ASIO.
(Github #60/Trac #5496, git bc2947de4296bd99b74e50e65f272c7ad5312429)
1346. [func] marcin
Implemented lease4-get-all command in lease_cmds hooks library.
(Trac #5468, git a378ec28489e98df64830d1f26c3bebd20e256b2)
1345. [func] marcin
Implemented "force-create" parameter for lease4-update and
lease6-update commands.
(Trac #5472, git 369245e4c5308a701fd483123f2cb2fd7d3d0966)
1344. [func] andrei, razvan
Support for host reservations stored in Cassandra added. The core
functionality was added. There are some limitations (delete,
client classes, fixed DHCPv4 fields, statistics recount, etc.)
These will be addressed in upcoming tickets.
(github #37, git e37606fd2d0c02234a55f7445c52a12b2e7a82ec)
1343. [func] fdupont
User-context and comments are now supported in many new scopes:
global, shared-network, subnet, pool, host reservation, option,
option definition, client-class, control-socket, dhcp-ddns,
interfaces, loggers, and for DHCPv6 pd-pool and server-id.
(Trac #5351, git 3405a8fa5d391d96cd15874fd3de3ac63ceb33b6)
1342. [bug] fdupont
Fixed subnets and host reservations returned by config-get and
config-write.
(Trac #5452, git c24d057bed2692eaf3cdb6af889122eb582ffede)
1341. [func] razvan, andrei
Significant update of Cassandra support. A lot of code for
Cassandra Lease Manager has been updated and partially rewritten.
(github #35, git 41795494720cd9886c1e98d21eaeefd94d674e37)
1340. [func] marcin
Added support for "dhcp-enable" and "dhcp-disable" commands in
the DHCPv4 and DHCPv6 server.
(Trac #5442, git 36dc68ff7aa8b3cfd265c4f982d10248590039bd)
1339. [doc] marcin
Updated User's Guide describing how to selectively disable
legal logging for a subnet.
(Trac #5407, git 469080abd711f8e88a5133f76f4ab31a5549a858)
1338. [func] marcin
Persistent HTTP/1.1 connections and HTTP/1.0 keep-alive
are supported by RESTful API.
(Trac #5448, git 05018f7cc0662d6956b9b7648646e0c17da948ba)
1337. [doc] marcin
Added placeholder section for the libdhcp_ha hooks library.
(Trac #5447, git d939b5b8bc4befb24daf863f2408d97493e4bfbf)
1336. [bug] marcin
DHCPv6 server always sends prefixes with the lifetime of 0 for
the prefix leases that should no longer be used, even if those
prefixes are not included in the Renew/Rebind.
(Trac #5403, git 91bb0855ff7ef86ff72b5a946ae716798d7bebc1)
1335. [bug] marcin
Fixed a bug which prevented inserting multiple host reservations
where IPv4 address was unspecified or when selected subnet
identifier was not specified. This change affects both Postgres
and MySQL backend.
(Trac #5416, git 03fab8f7d5c2e8a5ea735b11ff75652aa31d791d)
Kea 1.3.0 released on October 27, 2017
1334. [bug] marcin
Fixed a bug in the DHCPv6 server whereby a lease with zero
lifetimes could be mistakenly included in the server's
response.
(Trac #5387, git 140e7239096c0d5b9fc82b2c9c461476bf9d5729)
1333. [doc] tmark
Added a discussion of conflict resolution to the DHCP-DDNS chapter
of the Kea admin guide.
(Trac #5275, git ce3fe30524cdc21a9cabeafbdcb2fc3cd2e86cff)
1332. [doc] tomek
Clarified list of supported options, added examples for using
hex notation to specify option values.
(Trac #5068, git c942586172a68a7fac09e366383d996ade7f3840)
1331. [func] marcin
Default "lfc-interval" value is now set to 3600.
(Trac #5341, git dd1af78a49bfb68b88e8215dde65e40a470af81c)
1330. [bug] fdupont
The option length checks were relaxed for the V-I Vendor Class
option.
(Trac #5391, github #57,
git 8c1ea6684a808e8d3af9ea7eccecd93adc801e8a)
1329. [func] marcin
Added support for "client-id" identifier when querying for
leases in the lease_cmds hooks library. Documentation
updated accordingly.
(Trac #5395, git aceafa67f4fbde55ed6724a7b7551ed251e4ee91)
1328. [doc] vicky
Acknowledgements section updated.
(Trac #5385, git fe0658896f3784cd8f59bd5158244d6975cfe4c1)
1327. [build] marcin
Updated Kea libraries' version numbers and hooks version for
the 1.3.0 release.
(Trac #5375, git 70c0fc164c89716419b6ee42da3ca0d4be938a30)
1326. [func] fdupont
server-hostname and boot-file-name are now allowed in global,
subnet4 and shared network scopes in DHCPv4.
(Trac #5277, git 5a2454ec063530867dca2c46a71e342ccd98a5bb)
1325. [bug] marcin
Fixed a bug whereby a reserved address could be allocated to
a different client when this client explicitly requested
this address.
(Trac #5393, git 0964c66d44516a04ec62c8e70be92f216fe3df5a)
1324. [doc] wlodek
Added examples of configuration for iPXE boot with DHCPv6 Kea server
(Trac #5356, git c68b9b381930d1e44fd5daa1b9d033035e32cff2)
1323. [doc] marcin
Added new section to Kea Hooks Developer's Guide describing how
to implement new control commands within hooks libraries.
(Trac #5331, git b23f36ca4a410ba7bca7fd4a9f40c008c77e3c7c)
1322. [build] marcin
Copy all header files from Kea libraries during "make install".
(Trac #5372, git cb38d39a942351ec04a655a396dd7396ea20548b)
1321. [doc] marcin
Better explained subnet selection within shared networks when
client classification is in use.
(Trac #5367, git 26b4d240c5a1ba73e5b61f45d5a832e52f6472dd)
1320. [doc] marcin
Improved documentation of shared networks within Kea Administrator
Reference Manual.
(Trac #5381, git c4be6a71ed3705c182d7ba4417a06ed8fa59f2b5)
1319. [func] marcin
Added support for DHCPv4 option 54 (dhcp-server-identifier).
(Trac #5376, git aae2d91f101b8c61c0abfb3482de04a8dd074121)
1318. [doc] marcin
Updated Kea Administrator's Manual with the information about
new capability of flex-id hook library to use value derived from
flexible identifier as a client identifier or DUID.
(Trac #5384, git cce58fee4aa0476712209a7ed92fab587258b49b)
1317. [bug] fdupont
The kea-admin script now behaves properly when -4 or -6 is missing
while using lease-dump command.
(Trac #5379, git 53870c07d1864faf2a25bdc4ed6c5cf2b0223f8d)
1316. [bug] marcin
Corrected a bug which caused a returning DHCPv4 client performing
4-way exchange to be assigned a different address from a shared
network than previously allocated.
(Trac #5388, git 601a387ba43d990947ee2e1a05e78851d8133a3c)
1315. [bug] marcin
Created unit test for the case when there are several IPv6 subnets
within a shared network and each subnet specifies the same
DHCP option with a different value. This test verifies the fix
applied with ticket #5364 which address the problem of assigning
options from invalid subnet.
(Trac #5366, git 112addd4619509c464dc051f4885e00dc1f69d26)
1314. [bug] marcin, tomek
Improved unit tests for shared networks and corrected a bug
in the allocation engine which caused wrong subnet id to be
stored in the lease database and wrong subnet be used by the
DHCPv6 server for options assignment.
(Trac #5364, git 07ce52ee4ce65eeeea1890201812ac83a286658f)
1313. [bug] fdupont
Empty output_options structure is no longer returned by config-get
or config-write commands.
(Trac #5267, git f2290503ed899f00c7f2f2b905b90bc360617340)
1312. [func] marcin, tomek
Added new configuration parameter "outbound-interface", which
controls how the outbound interface and source address is
determined for the responses sent by DHCPv4 servers to relayed
clients. The default setting is to use the same interface as
the one over which the query has been received. The alternative
is to use system routing to determine the right interface and
source address.
(Trac #5377, git d08088923ec1ea0d1cb8a947bd520174d874d25e)
1311. [build] fdupont
Improvements in --enable-shell and other parameters passed while
building dist tarball.
(Trac #5210, #5339, #5352,
git e531cda4e10114a8f14bcbf3d7e25b6584230875)
1310. [bug] marcin
Documented "ia_pd" parameter for lease6_renew and lease6_rebind
hook points.
(Trac #5368, git 6842036714f84bf12529e1a43e12ac5a07e2e5c0)
1309. [func] fdupont
Kea-shell script now has an optional --path parameter that allows
using not empty URL path.
(Trac #5361, git 9a31c417d52f1481185b0880a10a4b5f16d8462a)
1308. [func] fdupont
Support for conditional token ifelse(condition, iftrue, iffalse)
was added. It can be used in flex-id, client classification and
possibly other expressions that may appear in the future.
(Trac #5363, git 34c364abd23a1a745da79c10c69b94b8defad08b)
1307. [func] fdupont
When an option is defined with a record type and the array
flag is true the last record field is an array. All standard
options supported by ISC DHCP and using this are now supported
by Kea (so now there is no standard option supported only by
ISC DHCP).
(Trac #5226, git f66951dbda8f62122187ac3a99f0fdcc65b383d8)
1306. [bug]* marcin
Respective Kea daemons now use their own default configuration
files: kea-dhcp4.conf, kea-dhcp6.conf, kea-dhcp-ddns.conf and
kea-ctrl-agent.conf. This change is aimed at eliminating the
issue whereby 'config-write' command overrides configuration
of all servers rather than just a configuration of the deamon
to which this command has been sent.
(Trac #5338, git 252e5e8a75fa42271b0cdb6edad3c152bbf3c515)
1305. [bug] tmark
Corrected logic that was causing kea-dhcp4 to remove DNS entries
when renewing leases with generated FQDN names. Prior to this
the server was incorrectly scheduling DNS removal when configured
to generate the client's FQDN.
(Trac #5369, git 18f57f502f1b9fb5bf7ef5ab995ddda60006fd39)
Kea 1.3.0-beta released on September 29, 2017
1304. [bug,func] fdupont
The DHCPv4 Vendor Specific Information (code 43) option and
private options (codes 224-254) can be redefined at the global
scope or inside a client-class. This allows to support different
definitions following the DHCPv4 Vendor Class Identifier (code 60)
option or when defined as a binary option to accept with problems
option 43 carrying a raw value.
(Trac #5073, git b290b3cbaa926d4e9613f6607c5fcbae2301b266)
1303. [func] tmark
The command handlers in the lease_cmds hook library are now
implemented has hook callouts and registered with the Hooks
manager. Prior to this they were registered as command handlers
with the Command Mgr.
(Trac #5332, git c902bda9f026720f6efbf2e5ad407302aeb5e466)
1302. [func] marcin, tomek
DHCPv6 server supports shared networks. It allows for grouping
multiple subnets and use them interchangeably to allocate
IP addresses and other resources to a client located on the
particular link. This mechanism is useful to extend an
address space for the client belonging to a particular
subnet and/or to segregate clients being on the same link but
belonging to different classes, e.g. cable modem vs router.
(Trac #5307, git 110d0c9e403af28e6810141f978d9bf55c381f14)
1301. [func] fdupont
Added some standard option definitions which are supported
by ISC DHCP but not (yet) by Kea.
(Trac #5227, git 4bef838245f08fca5f2cf037cd3a75278b77f8f9)
1300. [doc] tomek
Documentation for shared networks added.
(Trac #5310, git 41fd3bb7ed2f4cd15db6cbd14713f4474f659c92)
1299. [doc] fdupont, tmark
Added an example stunnel configuration file to demonstrate
using kea-shell through https.
(Trac #5282, git efe044fa90d53398e215d2bf31e00e83353e8774)
1298. [func] marcin, tomek
DHCPv4 server supports shared networks. It allows for grouping
multiple subnets and use them interchangeably to allocate
IP addresses and other resources to a client located on the
particular link. This mechanism is useful to extend an
address space for the client belonging to a particular
subnet and/or to segregate clients being on the same link but
belonging to different classes, e.g. cable modem vs router.
(Trac #5306, git 4f2fca69be32997c718ab2c7f37ac80ed4e41d15)
1297. [func] tmark
Added a hook point, "command-processed", to kea-dhcp4
and kea-dhcp6 servers. This hook point occurs after
a control channel command has been received and
processed.
(Trac #5111, git 043d17b0688d4ab25b12469d27859983cb297d07)
1296. [bug] tmark
Altered the mysql backend logic to disable auto_reconnect and
set session value of wait_timeout to a very large values. This
avoids a segfault in MySQL client library caused by auto-reconnects
occurring when kea server's MySQL connection is idle for longer
than the global MySQL wait_timeout.
(Trac #5354, git 9881ef6d772f27de82c048e198ba0ff9e71b9351)
1295. [bug] tomek
DHCPv4 and DHCPv6 servers are now able to parse shared networks.
A basic shared networks examples added.
(Trac #5357, git 74b824cc80f8be66084308c0bf12c1a71f311915)
1294. [func] marcin
Implemented data structures holding configuration of shared
networks. The new structures are unused until remaining tickets
for shared networks implementation are completed.
(Trac #5305, git 76dd46f7070c141cc89d772d69a897b67bd179a1)
1293. [func] tomek
DHCP4_BUFFER_WAIT, DHCP4_BUFFER_WAIT_INTERRUPTED, DHCP6_BUFFER_WAIT,
and DHCP6_BUFFER_WAIT_INTERRUPTED logging messages are no longer
emitted.
(Trac #5345, git 779040fa399fb2da271569dc315294463e28f852)
1292. [func] tomek
User contexts are now supported for subnets. This adds a new
functionality, but also makes the existing documentation example
correct.
(Trac #5350, git 828ecb6dbdaaedd97d2af79dfa9b7f4845d3a049)
1291. [func] fdupont
The configuration parser now checks for mandatory parameters that
are missing.
(Trac #5124, git af0f3d50a835f64a5f8a47c47ef464b119a49643)
1290. [bug] marcin
Corrected a bug causing illegal memory access while
retrieving server hostname and boot file name fields from
the host reservation database. Many thanks to Juan Settecase
for his assistance in identifying this issue.
(Trac #5340, git 2fdc7efcb862ced3c1054620bf14e75a0db6aed2)
1289. [bug] marcin, tmark
Corrected handling of EAGAIN and EWOULDLBOCK errors in
UnixDomainSocket. This was causing intermittent command
channel write errors in kea-ctrl-agent on some Debian systems.
(Trac #5336, git db251cb66ad77ba28ab44281323ddeb23cf29506)
1288. [func] marcin
Documented subnet_cmds library in the Kea User's Guide. Also moved
several classes from dhcp<4/6> into lib/dhcpsrv to facilitate subnet
command parsing.
(Trac #5315, git d259f330a1690b20eb368f6252f5da2cdb6187de)
1287. [bug] tmark
Logger configuration now correctly uses maxsize and maxver
parameters, allowing log rotation to function properly. Prior to
this these values were not being propagated downward, causing log
rotation to always be disabled. The defaults for maxsize and
maxver are 10Mb and 1 respectively.
(Trac #5324, git 75f148458bdeeed27eb877cc2c3ce3069b152f38)
1286. [func] marcin
Configured subnets are now indexed by subnet identifier and
prefix for faster subnet lookups in the configuration.
(Trac #5314, git 894aeb048b7281f947f87a5d6dc5112fac4a86fb)
1285. [func] tomek
Several new commands implemented in lease_cmds library:
lease4-del, lease6-del, lease4-update, lease6-update,
lease4-wipe and lease6-wipe that allow deleting and updating
leases and also wipe all leases from a specific subnet.
(Trac #5280, #5281, 94ff2448c8cf6e3321f4d1b3666a2e2b736f6c50)
1284. [func] tomek
A new library, lease_cmds, has been implemented. Its intended
purpose is to support commands for lease management. Currently
supported commands are: lease4-add, lease6-add, lease4-get,
lease6-get. Additional commands and documentation are planned.
(Trac #5272, #5279, git 785c2e521b198a03d26bde4a804638bfc19ce91b)
1283. [func] fdupont
An 'always-send' parameter has been added to options
configuration. It allows an option to be always sent, even if
a client didn't request it.
(Trac #5241, git cef2b630c720a442710efc0d1615b7c7bce01e54)
1282. [bug] fdupont
Now all interface service sockets are closed before interface
re-detection. Note if the re-configuration fails they remain
closed.
(Trac #5333, git 8bff2ec336456de51d0d9d3ff011d28a6a61ef66)
1281. [build] tmark
Configure script now correctly recognizes static boost_system
library as well as checks for the presence of static glibc static
libraries when --enable-satic-link is specified.
(Trac #5337, git 42548148cbeaaa285519e121f493d52607f1e8a0)
1280. [build] waltsteverson
Missing header for PD-exclude DHCPv6 option is now installed.
(Github #51, git 36a8e1b8f687a6398af8a10f241e8d19e9de33d8)
1279. [build] waltsteverson
Compilation fixes for Alpine Linux
(Github #50, git 824afa63354e045a5e4f6437246c329d359e04dd)
1278. [doc] jsoref
Many spelling corrections.
(Github #52, git 1dcaef6f8e7901d628c8638fc2f8145ac0279586)
1277. [func]* marcin
Added support to Command Manager to process commands using
callouts implemented within hooks libraries.
(Trac #5330, git 8041d177ed5587101ecb47a09820a7e67e42a066)
1276. [build] tmark
The configure script now configures the build to require the Boost
system library (boost_system) by default. The library must be
installed and you may need to specify "--with-boost-lib-dir=<path>".
Prior to this the default was to attempt to build Boost with headers
only. Building with headers only may still be done, though it is
strongly discouraged, by specifying "--enable-boost-headers-only".
(Trac #5215, git b6f1ee0d1210e35631369fc697c76cc3cf2c4130)
1275. [func] marcin
LibraryHandle object can now be used to register handlers
for the control commands in a hook library.
(Trac #5329, git 966cc24ae5593ebb08d6f02a11dab23463ebad7e)
1274. [func] marcin
It is now possible to manage Control Agent with keactrl.
(Trac #5108, git 53ba9f8197a25abd2c52ee3f5e95bc4e4be0241f)
1273. [doc] marcin
Documented in the User's Guide that the server terminates
when database connection is lost.
(Trac #5320, git 5c8b277e8041b53b27a87b32d162ab41ef8b43d7)
1272. [bug] marcin
Fixed inefficient leases indexing in the memfile lease
manager causing increased CPU utilization during lease
searches.
(Trac #5328, git 23b490414f5575b252c8c42fbe93ad2c57d47953)
1271. [doc] marcin
Documented how to setup secure connection to the Kea
control channel.
(Trac #5304, git a920453bbcf9ffa7200eeddca6323faeff498f16)
1270. [bug] tmark
Added a distribution rule to src/bin/d2/Makefile.am so
d2_parser.yy will now be included in the distribution source
tree. Also added entries for missing headers to asiolink/
Makefile.am.
(Trac #5325, git 199003d7aa9f8d4a7f8daa73f8259e951bc03217)
1269. [func] marcin
Command manager can now handle large responses to control
commands. Prior to this change the size of the response
was limited to 64k. The server now also signals timeout
after 10s if the connection lasts too long.
(Trac #5318, git 8531a65521ea42f01f3bed444b054e92f7bd1a46)
1268. [func] fdupont
Kea now re-detects network interfaces every time configuration is
changed. 're-detect' parameter added to restore old behavior, if
needed.
(Trac #3389, git b2ce84790c33d1580dcfa773d7fcfb65c27addc7)
1267. [bug] fdupont
Unit-tests for libdhcp now ignore ENOPROTOPT when setting
SO_REUSEPORT to improve compatibility with older RedHat versions.
(Trac #5243, git a7b478e1d1f7f0b38055086fe9ac053e4fab2850)
1266. [func] fdupont
It is now possible to define options in DHCPv4 pools.
(Trac #5288, git aa2839caab8d885e5bceca6f506162debd239b3f)
1265. [func] fdupont
Extended classification relay6[nest] syntax to allows counting
relays from the DHCPv6 client side by using negative number,
e.g. relay6[-1] represents the first relay (closest to the
client).
(Trac #5287, git 7d0f7a8372dcf256fea8ac13330f0e3e7ed2e8ef)
1264. [func] marcin
Kea's command manager has been re-implemented to use ASIO.
Simultaneous connections over the control channel are now
possible.
(Trac #5317, git 4139a2f41bb3736615bdfa278746962a16384d0d)
1263. [doc] marcin
Added example configurations of the nginx and Apache2 HTTPS
servers running as reverse proxy for Kea RESTful API.
(Trac #5302, git 48113aba218603afac4d457075458d4988e4082b)
(Trac #5303, git b3113da16eb5c6fa323068f0a57dfa30f42893d2)
1262. [func]* marcin
Renamed "dhcp4-server", "dhcp6-server" and "d2-server" parameters
of the Control Agent configuration to "dhcp4", "dhcp6" and "d2"
respectively.
(Trac #5190, git fc67885022115df76425c6901959cedee63a93b9)
1261. [bug] marcin
Eliminated valgrind errors in libkea-http.
(Trac #5261, git 34addef4a654665c6022f0269d51970c72431ac2)
1260. [bug] fdupont
Corrected logic in prefix delegation that was causing multiple
entries to be written to the lease file when renewing or rebinding
a prefix.
(Trac #5104, git b9ab6ebe7a491c062bc8b0b42afc53f4d6cee011)
1259. [func] marcin
Implemented timeout for the control commands forwarded between
the Control Agent and Kea servers. The enhanced forwarding
mechanism uses asynchronous calls over the unix domain sockets.
It also detects the JSON structure boundaries when receiving it
over the stream sockets.
(Trac #5189, git e48d9399c215406f2dab1601d22d6c932b4af271)
1258. [bug] fdupont
Fixed wrong python package path when kea-shell was configured
without a prefix.
(Trac #5214, git 44908c5fa56bfa7e1113078f43c458687a97388a)
Kea 1.2.0 released on April 28, 2017
1257. [bug] marcin
Improved logging in the hosts manager.
(Trac #5264, git 2fb9fd78e63f5d09810702847ad3e3b3020ea92b)
1256. [bug] tomek
Control Agent now writes proper configuration when using
config-write command.
(Trac #5253, git a1b5da4db6ebfa9635bbe411ec363cdcc4fd1d28)
1255. [bug] marcin
Fixed failing unit tests in libkea-http.
(Trac #5260, git 43394f76efb1634155c04b205dec7361fc21f4f9)
1254. [func] tomek
Various improvements needed for upcoming host commands library:
host data source is now able to delete hosts, hosts can be exported
to JSON format, C++11 code for configure script moved to separate
file, several compilation warnings removed.
(Trac #5208, git 88555d8f23745f3d615448e906796920cc7f44d0)
1253. [func,doc] tomek
Default configuration file has been overhauled significantly. It
now covers many additional options and features. Command channel
is now enabled by default. Thanks to Dan Mahoney for his review.
(Trac #5198, git 280de81cfe957ccab8a28074bdb0a4bc0e45104e)
1252. [bug] tmark
kea-dhcp6 now correctly resets lease state and increments the
assigned statistic when it reissues an expired-reclaimed lease
to the lease's original client, in response to a REQUEST from
said client.
(Trac #5252, git 85bde7adbe6a78238bd5e17fecabfa918755f16c)
1251. [func] tomek
New type of host identifier (flex-id) used in reservations has
by added to MySQL and PostgreSQL schemas.
(Trac #5195, git 37c26cc30b717019fbd6b7349279541edb351382)
1250. [bug] fdupont
Do not unregister timers when running the config-test command.
(Trac #5186, git e891b06940e41b4cfaa324c2ace8fdd761ee6662)
1249. [bug] tmark
The assigned lease statistics were not being probably adjusted
by either kea-dhcp4 or kea-dhcp6 when reclaimed expired leases
were reissued.
(Trac #5247, git 4e5193fb32b14325ccf5824614e58bcceb3e6388)
1248. [bug] marcin
Improved socket connection handling code, corrected numerous
failing and crashing tests for libkea-asiolink, libkea-http
and kea-ctrl-agent on Debian, Fedora and Ubuntu.
(Trac #5217, git 4bcb45f0c88aba3d0f70ca48d9fff6f1d4616bc2)
1247. [bug] marcin
Resolved issues with DHCPv4 host reservations by 'client-id'
when MySQL or PostgreSQL host database backend is in use.
Also, the 'client-id' is used together with other host
identifier types when 'host-reservation-identifiers' parameter
is not specified.
(Trac #5102, git 390d687d0f61635f5562d13860ff6362eee67853)
1246. [func,bug] tomek
Restrictions in filename argument in config-write command have
been removed. It is now possible to use absolute paths.
DHCPv4, DHCPv6, D2 and Agent parsers did not handle flush,
maxsize or maxver parameters in logger configuration correctly.
This is now fixed.
(Trac #5187, git a30ffcc67cfb7370c586d3c85147792e27aab4c7)
1245. [func] fdupont
DHCPv4 domain-search option can now be defined using
comma separated values.
(Trac #5087, git eca0b8c6425bc922587675100f100b1aae54aee2)
1244. [doc] tomek
User's Guide section about Kea shell added.
(Trac #5171, git 3dc4908fe02e86c57ccd5ad2d2f8330655f438be)
1243. [func] tomek
config-reload command implemented. It allows Kea DHCPv4 and DHCPv6
servers to reload its original configuration file. Also,
set-config command was renamed to config-set.
(Trac #5213, git b209c2b577a2f9da71cc918d7a551f8efdc1c4cb)
1242. [func] fdupont
Integer fields in options can now be specified in either
decimal or hexadecimal format.
(Trac #4540, git 4cbf341f4169cf1e1eae0721644797a726d89702)
1241. [func] fdupont
Support for tuple-based options added. DHCPv6 option
bootfile-param (code 60) can now be set in a more convenient
manner.
(Trac #4070, git 30102cacee95b91e6c4666f0c11f06232f19eeb9)
1240. [bug] marcin
Corrected IOFetch unit test failures on Debian.
(Trac #5216, git a7c2946678c43aedfb2e3c37b9730a10067528f3)
1239. [func] marcin
Implemented additional sanity checks when adding host
reservations into the configuration file.
(Trac #5207, git ea42c6f479918235ae4a67a60d08720e2664720c)
Kea 1.2.0-beta released on April 7, 2017
1238. [build] tmark,tomek
Library version numbers bumped for release.
(Trac #5201 git 58c9c5b705d72031c1589c30c542384a9d43e0f3)
1237. [bug] marcin
Fixed hanging Control Agent unit tests.
(Trac #5200, git 65daafd135965f9eb0bd4c3a22085d4bd3c6ffbe)
1236. [build] zeitounator
Improvements in tools/tests_in_valgrind.sh script.
(Github #49, git 272e7babf9ebeab5f78850394d72c9431041e2e9)
1235. [func] MrMarvin
kea-admin now supports -h (and --host) parameter that can specify
MySQL or PostgreSQL database locations other than the default
localhost.
(Github #14, git 4038157a3499ad90956c98a2172c57b173f2b985)
1234. [build] fdupont
Improved installation procedure for kea-shell.
(Trac #5170, git 68a902fb723965ee6f5b7a8272224395917525cc)
1233. [doc] marcin
Documented new component Kea Control Agent in the Administrator's
Manual and the Developer's Guide.
(Trac #5175, git abf7887ad65eb4b221a1fe61ea0c9773b4feaddb)
1232. [func] tomek
host4_identifier and host6_identifier hook points have been added.
Premium: Flexible Identifier (flex-id) hook point has been developed.
It allows users to specify a custom expression that takes any
option, field, characteristic or property of the packet to be
used as identifier and then do reservations based on the evaluated
expression for each incoming packet.
(Trac #5132, git cd497526d5bff7ae55bb41c9264fb33943a0cf62)
1231. [func] marcin
Control agent forwards commands to be handled by other Kea
servers.
(Trac #5078, git 19a50ed1ccafae19ef10d84cba73992cadf49753)
1230. [bug] fdupont
kea-dhcp-ddns now correctly populates the original ID in the TSIG rdata
when doing signed updates. Prior to this the value was set to zero
causing PowerDNS to reject then requests with a bad key error.
(Trac #5071, git cafa3d5c24f0112b0b9384a9c1083fe8a3eeb2bf)
1229. [func] fdupont
A new command: config-test has been implemented in DHCPv4, DHCPv6
and control agent servers. It allows checking whether new
configuration looks correct.
(Trac #5150, git 5f6cf226e848baef8d9af64e16c1dbf617a0a798)
1228. [bug] fdupont
Logging on syslog now uses correctly the given facility. If none
is given the default facility is local0, and with an unrecognized
value user (log4cplus default). The syslog openlog() ident
parameter is the program name.
(Trac #5053, git 532d9f0e459ab1450a83a5015a2dd54745794383)
1227. [func] fdupont, tomek
Additional commands: version-get, build-report have been
implemented for DHCPv4, DHCPv6 and Control Agent
components. Control Agent also now supports shutdown command.
(Trac #102, git 9d2b8326fc032876d74c1768c61c630987c25cc5)
1226. [func] fdupont
Command line option -t support added to libprocess and implemented
for kea-dhcp-ddns and kea-ctrl-agent. It allows configuration sanity
checking. Note that some parameters, such as ip-address, port, and
DNS server addresses for instance for kea-dhcp-ddns are not fully
checked as sockets are not opened or connections are not attempted.
(Trac #5152, git 2231d79ebebd3cdf432cd4a8ac32018d180e27b6)
1225. [func] tomek
Two new commands: config-get (retrieves current configuration)
and config-write (writes current configuration to disk) have been
implemented.
(Trac #5151, git ffb26811736a2ae6f9b5556b9823aa284b7e0aec)
1224. [func] fdupont
toElement(), a crucial functionality for upcoming get-config
and write-config command, has been implemented.
(Trac #5114, git df38c26f957c9ac329718ac9d70ffbcf7b95c4e9)
1223. [func] tomek
Kea-shell, a management client able to connect to REST interface
provided by Control Agent, has been added. Control Agent now
uses bison parser, which provides better sanity checks, improved
comments and file inclusions.
(Trac #5137, git 816dc5ccfa374bd9942a49c7bac475f6d0523caa)
1222. [func] fdupont
Obsolete parameter 'allow-client-update' has been removed
from DHCPv4 and DHCPv6 components.
(Trac #5145, git 01fde297a978e2bd832655ac7276e5aa3a7e8400)
1221. [func] tomek
Control agent is now able to parse the input configuration and
store it in its configuration syntax structure. Upcoming tickets
will take advantage of that information.
(Trac #5134, git 828304f2f408888e4b096418e90e35ba524979d0)
1220. [func] parisioa, fdupont, tomek
DHCPv4 and DHCPv6 parsers have updated to accept database port
parameter. The parameter for Cassandra is now called
"contact-points" (was "contact_points" previously).
(Trac #5061, git d12b6f4a6d80d6bc854f2a8a086e412dc37867bc)
1219. [func] marcin
Control Agent uses libkea-http to process commands over
the RESTful interface.
(Trac #5107, git 88ce715926a46b6b3832630116fc7782adc46c7b)
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
parsing mechanisms.
(Trac #5110, git feb2cedc0936364a923ab78542a21114533dd0f5)
1217. [func] marcin
Implemented libkea-http library.
(Trac #5077, git cd72284b5b221e620770883db7e166c4d3ba7eb6)
(Trac #5088, git 715d18f961801ffbd798a65b19459178c3a53857)
(Trac #5099, git 7e8df7993f295431e2cb6a13858f746649c4e18d)
1216. [func] fdupont, tomek
Command line option -t implemented for DHCPv4 and DHCPv6. It
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.
(Trac #3770, git 1d12582e270935ee7b72548d9c66753f4eea4ca4)
1215. [doc] tomek
Developer's Guide updated to cover flex/bison parser.
(Trac #5112, git 44139d821c1f4e43dbff22d49101a0854e4f9f5b)
1214. [func] tomek
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)