-
Notifications
You must be signed in to change notification settings - Fork 146
/
Copy pathChangeLog
12861 lines (10721 loc) · 502 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
2046. [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)
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)
1939. [bug] tmark
Removed all MultiThreadingCriticalSections from lease_cmds
hooks library which can cause a dead-lock when running HA+MT.
The commands simply try to acquire the resource lock and fail
if the resource is unavailable also logging an error message.
(Gitlab #2051)
1938. [bug] razvan
Fix dead locks caused by commands with CS on http listener
threads and CS on main thread racing with CS on other threads.
(Gitlab #2041, #2043)
1937. [bug] razvan
The Config Backend is now capable of reestablishing database
connection after a failure.
(Gitlab #1982)
1936. [build] andrei
Kea attempts to first link with compatibility library OpenSSL 1.1
(usually found on CentOS 7) before falling back to the system
OpenSSL (1.0 on CentOS 7 which is out of support).
(Gitlab qa#261)
1935. [func] andrei
The store-extended-info config entry was added to Kea YANG
modules at root-level and at subnet-level.
(Gitlab #1944)
1934. [func] tmark
Kea-dhcp6 now supports specifying valid-lifetime and
preferred-lifetime values in client classes (via both
configuration file and Config Backend). Prior to this
it could only be specified at the global, shared-network,
and subnet scopes.
(Gitlab #1710)
1933. [doc] fdupont, tomek
Added a new ARM section about GSS-TSIG. Currently it describes
how to build Kea with GSS-API support. It will be expanded in
the future.
(Gitlab #2018)
1932. [func] tmark
MySQL indexing of leases database has been improved. It now
behaves better on older MySQL versions. In particular, the lease
reclamation no longer causes full scans to be performed. This
fix introduces MySQL schema update to 11.0. This should reduce
the periodic performance slowdowns.
(Gitlab #2030)
1931. [bug] tomek
Two hook messages HOOKS_CALLOUT_ERROR and HOOKS_CALLOUT_MESSAGES
are now printing the hook name and index properly. Thank you to
Shawn Routhier for reporting the issue.
(Gitlab #2020)
1930. [doc] razvan
Extended documentation section about setting up the timezones in
MySQL and PostgreSQL databases.
(Gitlab #1978)
1929. [build] andrei
Compatibility with upcoming boost 1.77 has been improved.
Thanks to Brad Smith for the patch!
(Gitlab #1980)
1928. [bug] tmark
Modified kea-dhcp4 and kea-dhcp6 to only append the
ddns-qualifying-suffix if the input name does not
already end with that suffix. Prior to this the
suffix was always added which could lead to names
including the suffix twice.
(Gitlab #1529)
Kea 1.9.10 (development) released on Jul 30, 2021
1927. [build] razvan
Library version numbers bumped for Kea 1.9.10 development
version.
(Gitlab #1984)
1926. [func]* marcin
Server tags in the MySQL database are now represented as strings
with a maximum length of 64 characters. Previously, the server
tags could be up to 256 characters long, and it could cause
database migrations to fail on the systems with UTF-8 encoding
configured for MySQL. Shorter server tags avoid hitting the
limitation on the maximum length of an indexed table column.
(Gitlab #1976)
1925. [build] fdupont
Updated parsers to bison 3.3 or later.
(Gitlab #453)
1924. [bug] razvan
The MultiThreadingCriticalSection is now thread-safe and can be
called from http client or http listener processing threads.
(Gitlab #1964)
1923. [func] andrei
Integrate with Sysrepo v1.x branch. Building with support for
Sysrepo now requires the latest v1.x versions:
sysrepo v1.4.140 + libyang v1.0.240.
Support for legacy Sysrepo versions v0.x has been dropped.
(Gitlab #1077)
1922. [func] marcin
Added support for storing client classes in the MySQL config
backend.
(Gitlab #1920, #1928, #1965, #1972, #1977)
1921. [func] fdupont
The D2 d2_srv_configured hook point used DROP status to notify
the D2 server that an error has occurred and the configuration
is rejected. The error message is passed to the D2 server
through the new 'error' hook parameter.
(Gitlab #1950)
Kea 1.9.9 (development) released on June 30, 2021
1920. [build] andrei
Bump library versions for the Kea 1.9.9 development release.
(Gitlab #1947)
1919. [bug] razvan
Fix the run script hook library leaving behind defunct processes.
(Gitlab #1878)
1918. [bug] razvan
When parsed, PSID was incorrectly ignoring the PSID value when
psid-len was 16 instead of ignoring it when the values is 0 as
per the RFC.
(Gitlab #1858)
1917. [func] tomek
DHCPv4 and DHCPv6 are now more consistent when logging the
reasons why a packet was dropped. This information is now
available on debuglevel 15. Also added a section in the ARM
discussing the debug levels. The subnet selection failed log
message now provides more useful information about the subnet.
(Gitlab #1915, #1916)
1916. [func] razvan
The Kea DHCPv4 server accepts requests using server identifier
configured at client class level.
(Gitlab #1836)
1915. [func] andrei
DOCSIS options are no longer offered to any vendor other than
Cable Labs (vendor-id == 4491). This was not an explicit check
previously and the match to the vendor relied on a technicality
such that other vendors could have received these options under
certain conditions.
(Gitlab #1894)
1914. [func]* tomek
The Cassandra (CQL) support is being deprecated, both for
leases and host backends. For the time being the features
will produce a warning, but will otherwise function normally.
However, the functionality will be removed in the future
Kea releases.
(Gitlab #1892)
1913. [doc] tomek
Kea adopted Developer Certificate of Origin for incoming
contributions. Please see the CONTRIBUTING.md file for details.
(Gitlab #1895)
1912. [doc] fdupont, tomek
The Kea configuration syntax is now documented in BNF notation.
See new appendix in the ARM.
(Gitlab #504, #745)
1911. [bug] andrei
Fixed a minor regression where kea-admin and keactrl would output
technical errors like "unbound variable" instead of more helpful
messages like "missing backend" because of the undefined variable
checks introduced in 1.9.4. Added tests to further prevent it.
(Gitlab #1653)
1910. [func] andrei
Extended perfdhcp to send v4 DHCPRELEASE messages via -F flag.
(Gitlab #1119)
1909. [build] fdupont
Experimental support for Heimdal implementation of GSS-API
with Kerberos 5 added.
(Gitlab #1909)
1908. [func] razvan
Added export for V4 option 82 (DHO_DHCP_AGENT_OPTIONS) and
respective suboptions 1 (RAI_OPTION_AGENT_CIRCUIT_ID) and
suboption 2 (RAI_OPTION_REMOTE_ID) in the run script hooks
library.
(Gitlab #1840)
1907. [doc] peterd, andrei, razvan
Many Kea ARM corrections and updates.
(Gitlab #1917)
1906. [func] fdupont
Added support for the TKEY DNS resource record.
(Gitlab #1880)
1905. [build] fdupont
Added an optional --with-gssapi switch to the configure
script. It checks for the presence and suitability of
packages pertinent to GSS-TSIG. This has been added in
anticipation of future work and does not add any
functionality to Kea.
(Gitlab #1884)
Kea 1.9.8 (development) released on May 26, 2021
1904. [build] wlodek
Library version numbers bumped for Kea 1.9.8 development
version.
(Gitlab #1882)
1903. [func] andrei
Kea now recognizes requests sent from vendors that include their
information in DHCPv6 Vendor Class option (code 16) for the
purpose of offering custom options in the response. Previously,
only the Vendor-specific Information option (code 17) was
searched for a vendor ID. For the purpose of classification, both
options are looked into, now, just as before.
(Gitlab #1837)
1902. [func] andrei, fdupont
All logs that expose configuration, either in full or in snippets
now have the values of "password" and "secret" entries replaced
with asterisks "*****".
(Gitlab #1721)
1901. [bug] marcin
Corrected a bug in DHCPv4 subnet selection. The server ignored
the Subnet Selection option supplied by a client if its query
contained a Relay Agent Information (RAI) option without a Link
Selection option. After this change, the server respects the
Subnet Selection option when RAI lacks the Link Selection
option. If RAI includes it, it takes precedence over the Subnet
Selection option.
(Gitlab #1816)
1900. [bug] tmark
Fixed a sporadic failure caused by a wrong assertion in
unit test, testMtHttpClientTest.workPauseResumeShutdown,
introduced by #1818.
(Gitlab #1876)
1899. [func] tmark,razvan
In HA+Mt mode, the HA hook library now pauses and resumes
its worker threads when Kea core enters and exits critical
sections, respectively. This eliminates race conditions
during core processing such as reconfiguration, shutdown,
and certain RESTful API commands.
(Gitlab #1818)
1898. [func] fdupont
The DROP class may now depend on the KNOWN or UNKNOWN classes
and may be used after the host reservation lookup.
(Gitlab #1815)
1897. [func] andrei
Kea has a new configuration section called "compatibility" geared
towards non-compliant clients. The only boolean parameter added
for now called "lenient-option-parsing" changes the way DHCPv6
option 16's vendor-class-data field is parsed. When enabled,
instead of complaining that a length exceeds the rest of the
option's buffer, the value is considered to be the rest of the
buffer. This also applies to custom options defined with the
tuple type for both DHCPv4 and DHCPv6.
(Gitlab #1860)
1896. [func] wlodek
Perfdhcp extended to send v6 traffic from multiple networks.
(Gitlab #1416)
1895. [func] razvan
Added additional evaluation tokens to extract and print data:
addrtotext, int8totext, int16totext, int32totext, uint8totext,
uint16totext, uint32totext.
(Gitlab #1680)
1894. [func] fdupont
Implemented 'auth' logger, dedicated to logging access
control information, such as basic HTTP authentication.
(Gitlab #1590)
1893. [func] fdupont
Botan 2.14 or later can now be used as a crypto library for
the TLS/HTTPS support in Kea.
(Gitlab #1665)
1892. [func] fdupont
Added + operator as an convenient alias to concat() function
in expressions.
(Gitlab #1824)
Kea 1.9.7 (development) released on Apr 28, 2021