forked from isc-projects/kea
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ChangeLog
13162 lines (10974 loc) · 512 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
Kea 2.3.4 (development) released on January 25, 2022
2089. [build] razvan
The library version numbers have been bumped for the Kea 2.3.4
development release.
(Gitlab #2726)
2088. [func]* tomek
The libreload command is now deprecated. The code is still there,
but it will be removed in the future versions.
(Gitlab #2693)
2087. [func] razvan
The Kea DHCPv4 server can now handle multiple vendor options
with different enterprise IDs and multiple vivso-suboptions.
(Gitlab #1518)
2086. [bug] andrei
A spacing issue in a prepared statement that prevented Config
Backend from working with PostgreSQL 15 and above has been fixed.
(Gitlab #2724)
2085. [func] tmark
kea-dhcp-ddns uses new log messages to clearly distinguish
between timeouts and other IO errors when communicating with
DNS servers.
(Gitlab #2589)
2084. [func] razvan
When the client adds a prefix length in the hint, the server
will try to select a pool with the delegated prefix length
equal to the respective value. If no pool is found, the server
will try to select a pool with a lower delegated prefix length
(a larger address space) and if none is found, it will try to
select a pool with a higher delegated prefix length (a smaller
address space).
(Gitlab #1958)
2083. [func] marcin
New database connection parameters, "read-timeout" and
"write-timeout", control the timeouts in communication with the
MySQL database. The "tcp-user-timeout" controls the timeout in
communication with the PostgreSQL database. Setting these
timeouts can prevent occasional Kea hangs due to issues with
the database connectivity.
(Gitlab #2688)
2082. [bug] razvan
The prefix address provided in the prefix and prefix length pair
from the pool configuration is now checked to match the first
address in the pool.
(Gitlab #2612)
2081. [func] tmark
The default value for the kea-dhcp-ddns parameter,
dns-server-timeout, has been increased from 100 ms to
500 ms. This was done to improve the out-of-the-box
user experience.
(Gitlab #2590)
2080. [func] tmark
Bulk Lease Query results can now include delegated prefixes.
Memfile queries used by Bulk Lease Query (BLQ) were modified
to include delegated prefixes when appropriate. Prior to
this they were returning only address leases.
(Gitlab #2713)
2079. [func] marcin
The lease allocation strategy is now configurable. It is possible
to select between iterative and random lease selection for the
address assignment and prefix delegation, respectively, at the
global, shared network, and subnet levels.
(Gitlab #2348, #969)
Kea 2.3.3 (development) released on November 30, 2022
2078. [build] andrei
The library version numbers have been bumped for the Kea 2.3.3
development release.
(Gitlab #2650)
2077. [func] andrei
YANG modules have been updated with three configuration nodes:
extended-info-checks, ignore-rai-link-selection, template-test.
keatest-module has also gained empty, leafref and union nodes for
proper testing of all YANG leaf types.
Additionally, stable libyang and sysrepo versions are recommended
for use in the ARM in place of the previous development versions.
(Gitlab #2601)
2076. [doc] razvan
Add documentation for template classes and the new parameter
'template-test' which evaluates to a string value. This indicates
if the class is spawning classes with the name containing the
evaluated value: 'SPAWN_<template-class-name>_<evaluated-value>'
only if the value is not empty string. This will also add the
packet to the <template-class-name> class.
(Gitlab #2606)
2075. [bug] razvan
The builtin client class ALL can now be used again to apply lease
limits and rate limits.
(Gitlab #2615)
2074. [func] tmark
Added a new library, libkea_tcp, that provides support for a
generic TCP listener. Initially, this library will be used
for Bulk LeaseQuery
(Gitlab #2583)
Kea 2.3.2 (development) released on October 26, 2022
2073. [build] razvan
The library version numbers have been bumped for the Kea 2.3.2
development release.
(Gitlab #2607)
2072. [func] razvan
If both "flush-reclaimed-timer-wait-time" and
"hold-reclaimed-time" are non-zero, when the client sends a
release message the lease is expired. Previously it was deleted
from the lease storage. The default values are 25 and 3600
respectively, effectively changing the default server behavior.
(Gitlab #2548)
2071. [perf] andrei
Significantly improved the performance of editing configuration
with kea-netconf. Instead of making a request to the sysrepo
datastore for each leaf and leaf-list node, a single request is
done and the config is translated from the received data node.
This approach is considered experimental.
(Gitlab #2400)
2070. [func] andrei
kea-netconf now requires libyang v2 and sysrepo v2 to compile and
run. Support for libyang v1 and sysrepo v1 has been dropped.
(Gitlab #2311)
2069. [func] fdupont
Added a new sanity checker named "extended-info-checks"
which checks and eventually upgrades lease extended
info which store into lease user context in DHCPv4
the dhcp-agent-options content and in DHCPv6 the
relay-msg fields and options.
(Gitlab #2595)
2068. [func] djt
Kea's official APK, Deb, and RPM packages have been restructured
and made to follow a consistent packaging standard. Some of the
package names have been modified, and some packages have been
consolidated into larger packages as a result of these changes.
Kea now runs under a service user on RPM systems. Upgrading Kea
on Debian and Ubuntu systems should be done with ``apt
dist-upgrade`` when upgrading to this release or later, as some
packages need to be removed before being reinstalled. Depending
on how Kea was installed, upgrading to this release or later on
Debian or Ubuntu systems could cause the DHCPv6 and/or the DDNS
server, as well as the open-source hooks to be removed. In order
to ensure they are properly installed, either install the
``isc-kea`` metapackage, or install the packages explicitly by
name. Further details can be found in the Gitlab issue.
(Gitlab #2220)
2067. [func] fdupont
Updated the layout of extended information optionally
stored in lease user context to add remote and relay
identifier (sub-)options.
(Gitlab #2587)
2066. [bug] fdupont
Fixed lease reuse process to clear the user context
when the lease expired and was reclaimed.
(Gitlab #2588)
2065. [func] djt
A compatibility config option called ignore-rai-link-selection
has been added to the DHCPv4 config allow operators to ignore
Link Selection suboption data in Relay Agent information options.
When this configuration value is set to true, Kea will no longer
use data provided in the suboption for subnet selection.
(Gitlab #2543)
Kea 2.3.1 (development) released on September 28, 2022
2064. [build] mgodzina
The library version numbers have been bumped for the Kea 2.3.1
development release.
(Gitlab #2576)
2063. [bug] fdupont
Fixed 32 bit compatibility issue with PostgreSQL time.
(Gitlab #2532)
2062. [func] fdupont
The lease_cmds hook library supports two new commands
"lease4-write" and "lease6-write" which should help
to recover emergency situations e.g. full disk space
by writing the memory lease database into a CSV file.
They are supported only by the memfile backend.
(Gitlab #1654)
2061. [bug]* fdupont
Enforce length limits on host identifier (20 bytes for
hardware address, 128 bytes for DUID and other types).
(Gitlab #2557)
2060. [build] andrei
Two scripts that are used for checking YANG modules now
automatically detect the location of the yanglint tool and its
libraries based on the values passed to the configure script.
"make check" should now pass uninterrupted on some delicate
systems like Alpine and RPM-based. Also, reinstall.sh, used to
install YANG modules, now detects sysrepoctl automatically.
(Gitlab #2558)
2059. [func] marcin
The lease_cmds hook library returns a new "conflict" status
code indicating an issue with a lease update due to a mismatch
between the received lease and the server's configuration or
state. The HA hook library differentiates between this new
status and a general error and avoids transitioning to the
partner-down state when conflicts occur. The new
"max-rejected-lease-updates" parameter sets a limit for the
maximum number of conflicts before the server terminates the
HA service.
(Gitlab #2408)
2058. [build] fdupont
kea-lfc is now built just after libraries.
(Gitlab #2526)
2057. [doc] marcin
Fixed broken example and documentation for long DHCPv4 options
in the ARM.
(Gitlab #2545)
2056. [build] andrei
Improved build compatibility in Kea between g++ and Boost
libraries. The compilation error that was fixed was reported to
occur with g++ 8 and boost 1.75. The fix consists of passing
callbacks directly to boost::asio::io_service::post and not
indirectly through a functor. Thanks to rski for reporting the
error and suggesting the fix!
(Gitlab #2519)
2055. [func] andrei
When Kea starts with an erroneous file configuration, if the
logging is viable and is configured to log at least at ERROR
level, it will log the errors according to the configured
logging. Previously, it would log them in stderr which made
gathering of the errors more difficult. A final log message is
still logged at stderr just as before.
(Gitlab #1955)
Kea 2.3.0 (development) released on August 31, 2022
2054. [build] razvan
The library version numbers have been bumped for the Kea 2.3.0
development release.
(Gitlab #2546)
2053. [doc] razvan
A new appendix for configuration templates added to Kea ARM.
which include High Availability with multi-threading and secure
connections using TLS.
(Gitlab #2441)
2052. [func] andrei
Omitted logger configuration entries are now properly inherited
from the root logger as the ARM suggests.
(Gitlab #2537)
2051. [func] razvan
Added support for bulk lease query options defined in RFC 6926.
The bulk lease query functionality has not been implemented yet.
(Gitlab #2527)
2050. [build] andrei, tomek
Fixed problem with preparing system using hammer on FreeBSD
13.0. The available sphinx and python versions are now detected
dynamically. This should prevent future package upgrades (e.g.
to python 3.10) from breaking our builds again.
(Gitlab #2534)
2049. [build] razvan, fdupont
The distcheck rule is able to compile and run unittests for
database backends, GSS-TSIG and Sysrepo/NETCONF.
(Gitlab #2071)
2048. [bug] fdupont
Set broadcast MAC destination address in DHCPv4 replies
when the IP address is broadcast. Thanks to Joost Bekkers
for reporting the issue and contributing the patch. This
improves Kea's compatibility with Cisco Small Business
switches.
(Gitlab #2211)
2047. [func] fdupont
Added support of multiple instances of the DHCPv6
"vendor-class" (code 16) and "vendor-opts" (code 17)
options: specifying multiple options with different
enterprise numbers is now supported by Kea.
2046. [doc] andrei
Disabled smart quotes in Sphinx configuration to leave quotes
unchanged. Prior to this change, quotes were converted into
left-quotes and right-quotes. This made it difficult for users to
copy and use chunks of configuration directly from the ARM.
(Gitlab #2513)
Kea 2.2.0 (stable) released on July 27, 2022
2045. [build] tmark
Bumped library version numbers for the Kea 2.2.0 stable release.
(Gitlab #2504)
2044. [func] tmark
Modified indexes on the hosts table in the postgresql
schema to improve performance on host reservation searches.
Thanks to Paul Kutzer for suggesting these changes.
(Gitlab #2452)
2043. [func] andrei
The status-get command now shows the status of the sockets being
opened to receive DHCP requests, and a list of errors for the
sockets that were not successfully created.
(Gitlab #2434)
2042. [func] razvan
Added missing parameters to YANG modules, including TLS
parameters for database connections.
(Gitlab #2224)
2041. [bug] tmark
HA now applies load balancing and scoping only to inbound
client packet types that apply to client lease fulfillment,
e.g. DHCPDISCOVER, DHCPREQUEST, DHCPV6_SOLICIT, DHCPV6_REQUEST,
etc. Previously, HA indiscriminately balanced and
scoped all inbound packets, including those related to lease
query.
(Gitlab #1781)
2040. [func] djt
Added support for Alpine 3.16 in hammer.py.
(Gitlab #2491)
2039. [doc] andrei
Updated the limits hook library ARM documentation to reflect
support for lease limits.
(Gitlab #2481)
2038. [func] djt
Added a new statistic to kea-dhcp4 that counts host
reservation conflicts. They are now tracked at both
the global and subnet levels, as v4-reservation-conflicts
and subnet[id].v4-reservation-conflicts, respectively.
(Gitlab #2419)
2037. [bug] razvan, marcin
Fixed a crash in the HA+MT scenario caused by a race condition
which occurred between resetting the CalloutHandle state and
accessing the hook point parameters, from different threads,
when unparking packets.
(Gitlab #2473)
2036. [build] andrei
Added a tool that checks whether there are any missing REST
commands from the API Reference section of the ARM.
See tools/check-for-missing-api-commands.sh.
It has been integrated into the Gitlab CI and runs on every
push.
(Gitlab #2379)
2035. [doc] Daniel Bjors
The Developer's Guide now correctly uses the Lease4CollectionPtr
and Lease6CollectionPtr types. Thanks to Daniel Bjors for
reporting this typo.
(Gitlab #2447)
2034. [func] andrei
The PostgreSQL schema has been changed to provide initial support
for the lease-limiting feature, part of the limits hook library.
(Gitlab #2445)
2033. [func] tmark
Functionality needed to support the lease-limiting feature of
of the limits hook library has been added to Memfile_LeaseMgr.
(Gitlab #2436)
Kea 2.1.7 (development) released on June 29, 2022
2032. [build] razvan
The library version numbers have been bumped for the Kea 2.1.7
development release.
(Gitlab #2455)
2031. [func] fdupont
Improved compatibility with OpenSSL 3.0.x, in particular
recover system error messages.
(Gitlab #1614)
2030. [doc] fdupont, tomek
GSS-TSIG examples updated. The recommendation to not use
client-keytab and credentials-cache at the same time added.
(Gitlab #2247)
2029. [bug] fdupont
The check of the subnet id in configuration is stricter:
values outside the 0..4294967295 are rejected. Note that
the value 0 means to leave Kea to assign itself the id.
(Gitlab #2086)
2028. [build] orbea, fdupont
Compatibility with LibreSSL 3.5.2 improved.
(Github #121, Gitlab #2411)
2027. [func] fdupont
The TLS is now supported with Multi-Threaded HA (HA+MT) scenario.
Additional parameters (trust-anchor, cert-file, key-file,
require-client-certs) are now supported in the HA configuration.
(Gitlab #1706)
2026. [func] andrei
The MySQL schema has been changed to provide initial support for
the lease limiting feature, part of the limits hook library.
(Gitlab #2438)
2025. [bug] tmark
Added missing support for client-class user-context to
both MySQL and PostgreSQL CB hook libraries.
(Gitlab #2430)
2024. [func] djt
The ALLOC_ENGINE_V4_ALLOC_FAIL_SUBNET log message format has been
slightly modified, so that when it is emitted for a subnet that
is not within a shared network, it emits "(none)" for the value
of the shared network. The ARM documentation for this parameter
has been updated to reflect that subnets within shared networks
will in fact display which shared network the subnet belongs to.
The ALLOC_ENGINE_V6_ALLOC_FAIL_SUBNET log message format has
changed to be consistent with the format of
ALLOC_ENGINE_V4_ALLOC_FAIL_SUBNET.
(Gitlab #2395)
2023. [bug] tmark
Corrected a MySQL CB issue that caused subnets to be
updated without having audit entries created when the
affiliated shared-network is deleted. This can cause
the subnets to be excluded from subsequent CB refresh
cycles.
(Gitlab #2299)
Kea 2.1.6 (development) released on May 25 2022
2022. [func] andrei, djt
kea-admin lease-upload now calls the lease file cleanup (LFC)
process to clean up entries with duplicate addresses in the input
CSV file, to avoid a conflict error when inserting the leases in
the database. kea-admin also no longer asks for input on
non-interactive shells. A new -y|--yes flag has been added that
enables automatic overwriting of any file that kea-admin writes
to, when dumping or uploading leases.
(Gitlab #2293)
2021. [build] razvan
The library version numbers have been bumped for the Kea 2.1.6
development release.
(Gitlab #2421)
2020. [doc] andrei
The rate-limiting feature of the new limits hook library has been
documented. It can apply a specified limit of a certain number of
packets per time unit to a given client class or subnet.
(Gitlab #562, #1650)
2019. [func] tmark
A new built-in class, "SKIP_DDNS", was added, which can be used
in conjunction with the ddns-tuning hook library to skip
performing DDNS updates for a given client.
(Gitlab #2354)
2018. [func] razvan
The kea-dhcp4 server now supports portions of RFC 3396, allowing
it to send and receive DHCP options longer than 255 bytes.
(Gitlab #2227)
2017. [bug] marcin
A bug in the allocation engine, which caused it to write an
allocated lease under the wrong subnet ID within a shared
network, has been corrected. This was occurring when multiple
clients matched the same fixed address reservation. The first
client is now assigned the fixed address, while a subsequent
client is then given a dynamically allocated address from a
different subnet in the shared network.
(Gitlab #2409)
2016. [doc] fdupont
Documentation for the role-based access control (RBAC)
premium hook library was added to the ARM.
(Gitlab #1263)
Kea 2.1.5 (development) released on Apr 27, 2022
2015. [bug] tmark
Fixed an issue in kea-dhcp6 that was causing the server
not to update the FQDN option in outbound responses when
the ddns-tuning hook lib calculates a new host name.
(Gitlab #2392)
2014. [bug] tmark
Correct an issue that was causing reconfigure to fail
in kea-dhcp4 and kea-dhcp6 when using ddns-tuning hook
library.
(Gitlab #2390)
2013. [build] razvan
Library version numbers bumped for Kea 2.1.5 development
version.
(Gitlab #2385)
2012. [doc] andrei
Documented whether it's OK or not to have overlapping pools,
including PD pools in IPv6.
(Gitlab #1842)
2011. [func] djt
Added CTRL_AGENT_COMMAND_RECEIVED log line with command and
source address to the kea-ctrl-agent for commands which
are not forwarded on to another daemon. Added client
remote-address to CTRL_AGENT_COMMAND_FORWARDED log message if
it is available.
(Gitlab #687)
2010. [func] razvan
Several extra log messages now detail the subnet selection
process. The messages are available on debuglevel 40.
(Gitlab #2352)
2009. [func] tmark
Added new hook callout points: ddns4_update to Kea DHCPv4
server and ddns6_update to Kea DHCPv6 server. This enables
use of the ddns-tuning hook library.
(Gitlab #1548)
2008. [func]* tomek
The support for benchmarks have been removed.
(Gitlab #2372)
2007. [func] tmark
Added split() function to classification expression
language.
(GitLab #2272)
2006. [func] slawek
Added ``service-sockets-require-all`` parameter to specify
mandatory successfully binding all needed service sockets to
initialize DHCP services (defaults to false). If any socket is
unavailable, then the service fails to start. Added
``service-sockets-max-retries`` parameter (defaults to 0) to
specify the number of retries to open unavailable sockets and
``service-sockets-retry-wait-time`` parameter to specify a time
interval to wait between attempts.
(Gitlab #1716)
2005. [func]* razvan
The support for Cassandra database backend has been removed.
(Gitlab #2116)
Kea 2.1.4 (development) released on March 30, 2022
2004. [build] razvan
Library version numbers bumped for Kea 2.1.4 development
version.
(Gitlab #2363)
2003. [func] fdupont
Added the support of sub-options in the flex_option
hook library.
(GitLab #2314)
2002. [bug] tmark
Fixed a bug in MySql config backend that caused it to
store unspecified, client-class valid and preferred life
time values as zero in the database.
(Gitlab #2344)
2001. [bug] razvan
Fixed a bug which causes client classes with empty test
expressions to fail class evaluation when those classes are
retrieved from config backend.
(Gitlab #2336)
2000. [func] fdupont
Added the ``early-global-reservations-lookup`` configuration
parameter which allows to perform a search for global host
reservations and set client classes before the subnet
selection. This is achieved when explicitly configured to
``true`` and it defaults to ``false`` if not configured.
(Gitlab #2249)
1999. [func] tmark, razvan
The kea-dhcp6 server fully supports using PostgreSQL for config
backend. This should be considered an experimental feature.
(Gitlab #2355, #2356)
1998. [func] tmark, razvan
With the addition of support for client classes, the kea-dhcp4
server now fully supports using PostgreSQL for config backend.
(Gitlab #2322)
1997. [bug] tmark
The obsolete log message, DHCP4_NCR_CREATE, has been
removed from kea-dhcp4.
(GitLab #2301)
Kea 2.1.3 (development) released on Feb 23, 2022
1996. [build] razvan
Library version numbers bumped for Kea 2.1.3 development
version.
(Gitlab #2317)
1995. [func] tmark
kea-dhcp4 now supports using PostgreSQL for config
backend for everything except client classes. The
new hook library is libdhcp_pgsql_cb.so. This should
be considered an experimental feature.
(Gitlab #95)
1994. [func] razvan
Added support for Server Identifier Override RAI sub-option
(RFC 5107). The implementation is not complete according to the
RFC, because the server does not store the RAI, but the
functionality handles expected use cases.
(Gitlab #1695)
1993. [func] razvan
Added global and per subnet counters for allocation failures:
``v4-allocation-fail``, ``v4-allocation-fail-shared-network``,
``v4-allocation-fail-subnet``, ``v4-allocation-fail-no-pools``,
``v4-allocation-fail-classes``, ``subnet[X].v4-allocation-fail``,
``subnet[X].v4-allocation-fail-shared-network``,
``subnet[X].v4-allocation-fail-subnet``,
``subnet[X].v4-allocation-fail-no-pools``,
``subnet[X].v4-allocation-fail-classes``,
``v6-allocation-fail``, ``v6-allocation-fail-shared-network``,
``v6-allocation-fail-subnet``, ``v6-allocation-fail-no-pools``,
``v6-allocation-fail-classes``, ``subnet[X].v6-allocation-fail``,
``subnet[X].v6-allocation-fail-shared-network``,
``subnet[X].v6-allocation-fail-subnet``,
``subnet[X].v6-allocation-fail-no-pools``,
``subnet[X].v6-allocation-fail-classes``.
There is a warning log message emitted in the logs each time one
of the allocation failure counters is incremented.
(Gitlab #2054)
1992. [bug] razvan
The ``maxver`` and ``maxsize`` logger parameters are excluded
from ``config-get`` command response if the logger output is
``stdout``, ``stderr`` or ``syslog``.
(Gitlab #2288)
1991. [bug] jinmei, razvan
Fixed keactrl exit code when netconf is not build.
(Gitlab #2262)
1990. [func] razvan
Added the ``reservations-lookup-first`` configuration parameter
which controls whether host reservations lookup should be
performed before lease lookup. This parameter has effect only
when multi-threading is disabled. When multi-threading is
enabled, host reservations lookup is always performed first. The
``reservations-lookup-first`` parameter defaults to ``false``
when multi-threading is disabled.
(Gitlab #2036)
Kea 2.1.2 (development) released on Jan 26, 2022
1989. [build] razvan
Library version numbers bumped for Kea 2.1.2 development
version.
(Gitlab #2281)
1988. [bug] tmark
Kea core logic now ensures options belonging
to client classes are properly created when
classes are read from configuration backends.
(Gitlab #2246)
1987. [bug] tmark
Fixed an issue in PostgreSQL support code that caused
asserts when compiled with: -Wp,-D_GLIBCXX_ASSERTIONS.
(Gitlab #2284)
1986. [func] fdupont
The kea-admin command now accepts extra arguments which
are passed to the database command tool, e.g. '--ssl' to
'mysql' with `kea-admin ... -x --ssl'. Quotes are not
preserved but multiple arguments can be given.
(Gitlab #2225)
1985. [func] fdupont
Added support for using files to configure basic HTTP
credentials. Instead of configuring a value, it is taken from
the content of a file. The new parameters of the Control Agent
configuration are:
- 'user-file' pointing to a file vs 'user'
- 'password-file' pointing to a file vs 'password'
- 'password-file' pointing to a file with the secret
(which is <user>:<password>) vs 'user' and 'password'.
For the High Availability hook library the new parameter
is 'basic-auth-password-file' which can be used as an
alternative to 'basic-auth-password'.
(Gitlab #2006)
1984. [func] andrei
Introduced the lease-upload command to kea-admin which can upload
leases from a memfile CSV file to a database backend.
(Gitlab #2039)
1983. [bug] fdupont
Minimum and maximum values of lifetimes are no longer
skipped when the configuration is retrieved even when
they are the same as the default value.
(Gitlab #2222)
1982. [bug] andrei
The config for an HA peer now accepts an IPv6 address as a valid
value for the "url" entry.
(Gitlab #2264)
1981. [func] tomek
The default-url DHCPv4 option has been replaced with
v4-captive-portal, as defined in RFC8910.
(Gitlab #1684)
1980. [func]* andrei
The kea-admin lease-dump command now outputs a CSV file that is
compatible with the memfile backend. This is useful when
migrating from database to memfile. The generated output is
backwards incompatible. Any tools that depend on it would need
to adapt.
(Gitlab #2038)
1979. [bug] fdupont
Update and delete operations on leases no longer raise
an error with infinite valid lifetime (used by BOOTP)
and MySQL or PostgreSQL backends where timestamps can
be limited to 32 bits.
(Gitlab 897)
1978. [doc] tomek
The Kea Administrator Reference Manual now correctly states that
DHCPv6 authentication option has code 11, not 10.
(Gitlab #2207)
1977. [bug] razvan
Use only MAX_HWADDR_LEN (20) bytes from remote-id when extracting
the MAC from relay options.
(Gitlab #2201)
1976. [func] andrei
Added hwtype and hwaddr_source columns to v6 memfile.
(Gitlab #2236)
1975. [func] tmark
Additional changes and corrections relating to Config Backend
were made to the PostgreSQL database schema. In addition, the
upgrade scripts were renamed to ensure proper file name ordering.
Note that PostgreSQL CB is not yet functional.
(Gitlab #2183, #2244, #2245)
1974. [func] fdupont
The global parameter lookup has been refactored to provide better
performance. Proper return error code (CONTROL_RESULT_ERROR) has
been fixed in some cases when trying to apply the new
configuration. Old code was using wrong hardcoded '2' value
(CONTROL_RESULT_COMMAND_UNSUPPORTED).
(Gitlab #1082)
1973. [func] fdupont
MySQL backends now can be configured to use the SSL/TLS
support to protect connections to the server. New
database parameters are "cert-file", "key-file",
"trust-anchor" and "cipher-list". The negotiated cipher
name is logged so the MySQL service configuration can
be checked. PostgreSQL accepts the same parameters
but they only trigger the call to the OpenSSL generic
initialization in the Pq C-API.
(Gitlab #34)
1972. [func] andrei
Kea servers now can accept trailing commas in file
configurations. While parsing, a warning is printed with the
location of the comma to give the user the ability to correct
a mistake.
(Gitlab #2084)
1971. [func] tmark, jad
Added support for embedded DHCPv6 DUIDs within DHCPv4
Client Identifier options per RFC 4361. This allows
Kea to support DDNS in dual stack environments per
RFC 4703(Sec 5.2). Thanks to John Dickinson for
contributing the patch!
(Gitlab #1934)
Kea 2.1.1 (development) released on Nov 24, 2021
1970. [build] razvan
Library version numbers bumped for Kea 2.1.1 development
version.
(Gitlab #2195)
1969. [build] andrei
Fixed "make check -j N" running tests in parallel in src/lib/log.
(Gitlab #2172)
1968. [build] andrei
Fixed make check failing when googletest support was disabled.
(Gitlab #2167)
1967. [bug] andrei
Fixed a bug where keactrl did not color the active status code
for kea-dhcp-ddns as it did for the other servers.
(Gitlab #2117)
1966. [func] djt
Allow Kea to pack opaque data tuples within options with zero
length to accommodate some DHCP clients who have been observed
to send DHCPv4 option 124 with zero length tuples.
(Gitlab #2021)
1965. [func] andrei
Increase the value that "maxsize" can take from 2GB to 2PB.
(Gitlab #2130)
1964. [func] wlodek
Added support for Debian 11 in hammer.py.
(Gitlab #2042, #2193)
1963. [func] andrei
hammer.py has had several improvements.
NETCONF and PostgreSQL will be properly configured when running
prepare-system on Fedora and FreeBSD.
vagrant will be automatically upgraded if it is too outdated.
Error messages are more clear when running on unsupported
systems.
hammer.py is now able to detect Arch Linux distributions and
offers limited support for it, being able to prepare-system with
freeradius and netconf support.
(Gitlab #2111, #2112)
1962. [func] andrei
kea-netconf updates: fixed store-extended-info, it was an
operational node instead of a config node. Added several
containers and leaves: compatibility, lenient-option-parsing,
multi-threading, enable-multi-threading, packet-queue-size,
thread-pool-size, valid-lifetime, min-valid-lifetime,
max-valid-lifetime, preferred-lifetime, min-preferred-lifetime,
max-preferred-lifetime, cache-max-age, cache-threshold,
ddns-generated-prefix, ddns-override-client-update,
ddns-override-no-update, ddns-qualifying-suffix,
ddns-replace-client-name, ddns-send-updates,
ddns-update-on-renew, ddns-use-conflict-resolution,
ip-reservations-unique, parked-packet-limit, reservations-global,
reservations-in-subnet, reservations-out-of-pool,
statistic-default-sample-age, statistic-default-sample-count,
store-extended-info, on-fail.
(Gitlab #2136)
1961. [func] tomek, tmark
The initial, stubbed version of the PostgreSQL CB hook
library has been created. The library is not yet functional
and does not installed.
(Gitlab #1848)
1960. [build] andrei
Froze sphinx dependency versions used to build documentation.
Added the update-python-dependencies Makefile rule to bump the
versions.
(Gitlab #2161)
1959. [doc] djt
Move documentation for acceptable format strings into the Kea
ARM. The relevant section of the ARM was previously referring
to a dead link in the Log4cpp documentation.
(Gitlab #2134)
1958. [func] tomek, tmark
PostgreSQL database schema has been extended with tables for
Config Backend (CB). This is the first step towards PostgreSQL
CB. However, as there is no code yet to use those new tables,
they're not not functional yet.
(Gitlab #90, #2166)
Kea 2.1.0 (development) released on Oct 27, 2021
1957. [build] razvan
Library version numbers bumped for Kea 2.1.0 development
version.
(Gitlab #2141)
1956. [bug] tmark
Modified stat_cmds hook library to omit statistics
for non-existent subnets from results returned by
stat-lease4-get and stat-lease6-get commands.
(Gitlab #2033)
1955. [bug] tmark
kea-dhcp4 no longer sends DHCPNAKs in response to
DHCPREQUESTs for addresses for which it has no knowledge.
(Gitlab #1584)
1954. [doc] fdupont
Updated the Developer's Guide to explain what to do when
GSS-TSIG hook unit tests fail from a system Kerberos
incompatible configuration.
(Gitlab #2056)
1953. [build] fdupont
Changed the name of the GSS-TSIG hook library object to
libddns_gss_tsig.so.
(Gitlab #2115)
Kea 2.0.0 (stable) released on September 29, 2021
1952. [build] razvan
Library version numbers bumped for Kea 2.0.0 stable version.
(Gitlab #2104)
1951. [doc] tomek
A new appendix for configuration templates added to Kea ARM.
the first of which is a home power user.
(Gitlab #2050)
1950. [doc] slawek
Added a description and an example of the usage of the "include"
statement in the Kea configuration file to the ARM.
(Gitalb #2080)
1949. [bug] tmark
kea-dhcp6 now correctly determines DNS update flags when
the allocation engine dynamically changes the selected
network subnet.
(Gitlab #1622)
1948. [func] tmark
HTTP library will now emit a warning log when the queue of
pending client requests for a given URL exceeds a threshold.
(Gitlab #2085)
1947. [bug] marcin
Corrected a bug in the High Availablity hooks library that could
cause a standby server not to synchronize its lease database
after a temporary communication interruption with its partner.
(Gitlab #1959)
1946. [bug] marcin
Fixes a bug in MySQL configuration backend schema. DHCP options
associated with deleted client classes are now automatically
deleted.
(Gitlab #2094)
1945. [build] andrei
Reverted qa#261 changes, which forced linking with OpenSSL 1.1
when available. This caused a segfault, when Kea's crypto library
used OpenSSL 1.1, but the MySQL library it linked against, used
OpenSSL 1.0.
(Gitlab #2081)
1944. [bug] tmark
kea-dhcp4 and kea-dhcp6 both now support a global parameter,
parked-packet-limit, that can be used to limit the number
of client responses the server may park pending completion
of hook library callouts.
(Gitlab #1307)
1943. [bug] marcin
Fixed a bug in fetching client classes from the Config Backend.
The bug resulted in failures during attempts to evaluate the
classes for a received packet.
(Gitlab #2077)
1942. [func] fdupont
Added basic statistics to the DHCP-DDNS server.
(Gitlab #2040)
1941. [func] fdupont
Per DNS server TSIG keys are now supported in the DHCP-DDNS
(aka D2) server configuration. A new callout point 'select_key'
gives access to the selected TSIG key before sending DNS updates.
(Gitlab #2011)
Kea 1.9.11 (development) released on Aug 30, 2021
1940. [build] razvan
Library version numbers bumped for Kea 1.9.11 development
version.
(Gitlab #2053)