]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[#3686] release changes Kea-2.7.5
authorMarcin Godzina <mgodzina@isc.org>
Fri, 6 Dec 2024 18:57:06 +0000 (19:57 +0100)
committerMarcin Godzina <mgodzina@isc.org>
Fri, 6 Dec 2024 18:57:06 +0000 (19:57 +0100)
17 files changed:
ChangeLog
changelog_unreleased/3255-https-reconfig [deleted file]
changelog_unreleased/3577-flq-not-suitable-for-shared-db [deleted file]
changelog_unreleased/3652-memory-usage-when-continually-reconfiguring-kea-with-sighup [deleted file]
changelog_unreleased/3661-arm-update-tuple-definition [deleted file]
doc/sphinx/grammar/grammar-ca-parser.rst
doc/sphinx/grammar/grammar-dhcp4-parser.rst
doc/sphinx/grammar/grammar-dhcp6-parser.rst
doc/sphinx/kea-messages.rst
src/bin/agent/location.hh
src/bin/agent/tests/ca_cfg_mgr_unittests.cc
src/bin/dhcp4/dhcp4_lexer.cc
src/bin/dhcp6/dhcp6_lexer.cc
src/bin/dhcp6/tests/host_unittest.cc
src/lib/dhcpsrv/dhcpsrv_messages.mes
src/lib/http/request_context.h
src/lib/http/response_context.h

index 97e4e477f5d13611491a0dc25eb34eecb16c365b..304fbcf3ec2e4115ec40de7b99faa8b2ab3b0f24 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,25 @@
+Kea 2.7.5 (development) released on December 11, 2024
+
+2313.  [doc]           marcin
+       Clarified that the FLQ allocator should not be used with shared
+       lease database.
+       (Gitlab #3577)
+
+2312.  [doc]           fdupont
+       Made clear that when a HTTP control channel is reconfigured
+       with the same address and port the listener socket is reused
+       so any TLS setup change is ignored.
+       (Gitlab #3255)
+
+2311.  [doc]           piotrek
+       Added a more extensive definition of the tuple DHCP option
+       type in the ARM documentation.
+       (Gitlab #3661)
+
+2310.  [bug]           andrei
+       Kea servers no longer increase in memory when being reconfigured.
+       (Gitlab #3652)
+
 2309.  [build]         mgodzina
        The library version numbers have been bumped up for the Kea 2.7.5
        development release.
diff --git a/changelog_unreleased/3255-https-reconfig b/changelog_unreleased/3255-https-reconfig
deleted file mode 100644 (file)
index 404f08f..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-[doc]          fdupont
-       Made clear that when a HTTP control channel is reconfigured
-       with the same address and port the listener socket is reused
-       so any TLS setup change is ignored.
-       (Gitlab #3255)
diff --git a/changelog_unreleased/3577-flq-not-suitable-for-shared-db b/changelog_unreleased/3577-flq-not-suitable-for-shared-db
deleted file mode 100644 (file)
index 10364d2..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-[doc]          marcin
-       Clarified that the FLQ allocator should not be used with shared
-       lease database.
-       (Gitlab #3577)
diff --git a/changelog_unreleased/3652-memory-usage-when-continually-reconfiguring-kea-with-sighup b/changelog_unreleased/3652-memory-usage-when-continually-reconfiguring-kea-with-sighup
deleted file mode 100644 (file)
index ab072e3..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-[bug]          andrei
-       Kea servers no longer increase in memory when being reconfigured.
-       (Gitlab #3652)
diff --git a/changelog_unreleased/3661-arm-update-tuple-definition b/changelog_unreleased/3661-arm-update-tuple-definition
deleted file mode 100644 (file)
index 42ca0c4..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-[doc]          piotrek
-       Added a more extensive definition of the tuple DHCP option
-       type in the ARM documentation.
-       (Gitlab #3661)
index e7d35ce47249675f968bfcec403e0fb6bb3e3c06..2637fb5a17e7dd4bf64a0ed5399aea38b60cc534 100644 (file)
@@ -60,6 +60,7 @@ This grammar is generated from ``agent_parser.yy``. See :ref:`kea-ctrl-agent` fo
 
      global_param ::= http_host
                  | http_port
+                 | http_headers
                  | trust_anchor
                  | cert_file
                  | key_file
@@ -88,6 +89,31 @@ This grammar is generated from ``agent_parser.yy``. See :ref:`kea-ctrl-agent` fo
 
      comment ::= "comment" ":" STRING
 
+     http_headers ::= "http-headers" ":" "[" http_header_list "]"
+
+     http_header_list ::= 
+                     | not_empty_http_header_list
+
+     not_empty_http_header_list ::= http_header
+                               | not_empty_http_header_list "," http_header
+                               | not_empty_http_header_list ","
+
+     http_header ::= "{" http_header_params "}"
+
+     http_header_params ::= http_header_param
+                       | http_header_params "," http_header_param
+                       | http_header_params ","
+
+     http_header_param ::= name
+                      | header_value
+                      | user_context
+                      | comment
+                      | unknown_map_entry
+
+     name ::= "name" ":" STRING
+
+     header_value ::= "value" ":" STRING
+
      hooks_libraries ::= "hooks-libraries" ":" "[" hooks_libraries_list "]"
 
      hooks_libraries_list ::= 
@@ -217,8 +243,6 @@ This grammar is generated from ``agent_parser.yy``. See :ref:`kea-ctrl-agent` fo
                  | comment
                  | unknown_map_entry
 
-     name ::= "name" ":" STRING
-
      debuglevel ::= "debuglevel" ":" INTEGER
 
      severity ::= "severity" ":" STRING
index 256bb72138d3c227e9c8ac3b653a4ba7eef6f93e..d20fc595e986ce12e04665fe7503e0c63da8a1ef 100644 (file)
@@ -504,6 +504,7 @@ This grammar is generated from ``dhcp4_parser.yy``. See :ref:`dhcp4` for more de
                   | interface
                   | id
                   | client_class
+                  | network_client_classes
                   | require_client_classes
                   | evaluate_additional_classes
                   | reservations
@@ -555,6 +556,8 @@ This grammar is generated from ``dhcp4_parser.yy``. See :ref:`dhcp4` for more de
 
      client_class ::= "client-class" ":" STRING
 
+     network_client_classes ::= "client-classes" ":" list_strings
+
      require_client_classes ::= "require-client-classes" ":" list_strings
 
      evaluate_additional_classes ::= "evaluate-additional-classes" ":" list_strings
@@ -598,6 +601,7 @@ This grammar is generated from ``dhcp4_parser.yy``. See :ref:`dhcp4` for more de
                          | reservations_in_subnet
                          | reservations_out_of_pool
                          | client_class
+                         | network_client_classes
                          | require_client_classes
                          | evaluate_additional_classes
                          | valid_lifetime
@@ -747,6 +751,7 @@ This grammar is generated from ``dhcp4_parser.yy``. See :ref:`dhcp4` for more de
                | pool_id
                | option_data_list
                | client_class
+               | network_client_classes
                | require_client_classes
                | evaluate_additional_classes
                | user_context
@@ -896,6 +901,7 @@ This grammar is generated from ``dhcp4_parser.yy``. See :ref:`dhcp4` for more de
                          | cert_file
                          | key_file
                          | cert_required
+                         | http_headers
                          | user_context
                          | comment
                          | unknown_map_entry
@@ -914,6 +920,29 @@ This grammar is generated from ``dhcp4_parser.yy``. See :ref:`dhcp4` for more de
 
      cert_required ::= "cert-required" ":" BOOLEAN
 
+     http_headers ::= "http-headers" ":" "[" http_header_list "]"
+
+     http_header_list ::= 
+                     | not_empty_http_header_list
+
+     not_empty_http_header_list ::= http_header
+                               | not_empty_http_header_list "," http_header
+                               | not_empty_http_header_list ","
+
+     http_header ::= "{" http_header_params "}"
+
+     http_header_params ::= http_header_param
+                       | http_header_params "," http_header_param
+                       | http_header_params ","
+
+     http_header_param ::= name
+                      | header_value
+                      | user_context
+                      | comment
+                      | unknown_map_entry
+
+     header_value ::= "value" ":" STRING
+
      authentication ::= "authentication" ":" "{" auth_params "}"
 
      auth_params ::= auth_param
index 63c33e391a2c51976c4f14f5449c00590b3b99cb..53f6bdc2eed03d12dc4df633814cb9872608c898 100644 (file)
@@ -507,6 +507,7 @@ This grammar is generated from ``dhcp6_parser.yy``. See :ref:`dhcp6` for more de
                   | id
                   | rapid_commit
                   | client_class
+                  | network_client_classes
                   | require_client_classes
                   | evaluate_additional_classes
                   | reservations
@@ -546,6 +547,8 @@ This grammar is generated from ``dhcp6_parser.yy``. See :ref:`dhcp6` for more de
 
      client_class ::= "client-class" ":" STRING
 
+     network_client_classes ::= "client-classes" ":" list_strings
+
      require_client_classes ::= "require-client-classes" ":" list_strings
 
      evaluate_additional_classes ::= "evaluate-additional-classes" ":" list_strings
@@ -587,6 +590,7 @@ This grammar is generated from ``dhcp6_parser.yy``. See :ref:`dhcp6` for more de
                          | reservations_in_subnet
                          | reservations_out_of_pool
                          | client_class
+                         | network_client_classes
                          | require_client_classes
                          | evaluate_additional_classes
                          | preferred_lifetime
@@ -740,6 +744,7 @@ This grammar is generated from ``dhcp6_parser.yy``. See :ref:`dhcp6` for more de
                | pool_id
                | option_data_list
                | client_class
+               | network_client_classes
                | require_client_classes
                | evaluate_additional_classes
                | user_context
@@ -777,6 +782,7 @@ This grammar is generated from ``dhcp6_parser.yy``. See :ref:`dhcp6` for more de
                   | pool_id
                   | option_data_list
                   | client_class
+                  | network_client_classes
                   | require_client_classes
                   | evaluate_additional_classes
                   | excluded_prefix
@@ -947,6 +953,7 @@ This grammar is generated from ``dhcp6_parser.yy``. See :ref:`dhcp6` for more de
                          | cert_file
                          | key_file
                          | cert_required
+                         | http_headers
                          | user_context
                          | comment
                          | unknown_map_entry
@@ -965,6 +972,29 @@ This grammar is generated from ``dhcp6_parser.yy``. See :ref:`dhcp6` for more de
 
      cert_required ::= "cert-required" ":" BOOLEAN
 
+     http_headers ::= "http-headers" ":" "[" http_header_list "]"
+
+     http_header_list ::= 
+                     | not_empty_http_header_list
+
+     not_empty_http_header_list ::= http_header
+                               | not_empty_http_header_list "," http_header
+                               | not_empty_http_header_list ","
+
+     http_header ::= "{" http_header_params "}"
+
+     http_header_params ::= http_header_param
+                       | http_header_params "," http_header_param
+                       | http_header_params ","
+
+     http_header_param ::= name
+                      | header_value
+                      | user_context
+                      | comment
+                      | unknown_map_entry
+
+     header_value ::= "value" ":" STRING
+
      authentication ::= "authentication" ":" "{" auth_params "}"
 
      auth_params ::= auth_param
index 12b49cfd61739538799a77e610e55df6105cc6db..68cc7aceff4abd17284934a72cd3a2dce45316cf 100644 (file)
@@ -2948,6 +2948,17 @@ CTRL_AGENT_FAILED
 This is a fatal error message issued when the Control Agent application
 encounters an unrecoverable error from within the event loop.
 
+CTRL_AGENT_HTTPS_SERVICE_REUSED
+===============================
+
+.. code-block:: text
+
+    reused HTTPS service bound to address %1:%2
+
+This informational message indicates that the server has reused existing
+HTTPS service on the specified address and port. Note that any change in
+the TLS setup was ignored.
+
 CTRL_AGENT_HTTPS_SERVICE_STARTED
 ================================
 
@@ -2959,6 +2970,16 @@ This informational message indicates that the server has started HTTPS service
 on the specified address and port. All control commands should be sent to this
 address and port over a TLS channel.
 
+CTRL_AGENT_HTTP_SERVICE_REUSED
+==============================
+
+.. code-block:: text
+
+    reused HTTP service bound to address %1:%2
+
+This informational message indicates that the server has reused existing
+HTTPS service on the specified address and port.
+
 CTRL_AGENT_HTTP_SERVICE_STARTED
 ===============================
 
@@ -8524,6 +8545,32 @@ DHCPSRV_CFGMGR_USE_UNICAST
 An info message issued when configuring the DHCP server to listen on the unicast
 address on the specific interface.
 
+DHCPSRV_CLASS_WITH_ADDITIONAL_AND_LIFETIMES
+===========================================
+
+.. code-block:: text
+
+    class: %1 has 'only-in-additional-list' true while specifying one or more lease life time values. Life time values will be ignored.
+
+This warning is emitted whenever a class is configured with
+'only-in-addition-list' true as well as specifying one or
+more lease life time parameters (e.g. 'valid-lifetime',
+'preferred-lifetime', or 'offer-lifetime'). Additional list classes
+are evaluated after lease assignment, thus parameters that would otherwise
+impact lease life times will have no affect.
+
+DHCPSRV_CLIENT_CLASS_DEPRECATED
+===============================
+
+.. code-block:: text
+
+    The parameter 'client-class' is deprecated. Use 'client-classes' list parameter instead
+
+This warning message is emitted when configuration parsing detects
+the use of the deprecated 'client-class' parameter. It has
+been replaced by 'client-classes'.  Users should migrate
+to the new list parameter.
+
 DHCPSRV_CLOSE_DB
 ================
 
index 90d309323c47fed852fece685b144c1055adac2c..3f820cc25fc7c5255d9bf8f62efd2ddb19c2b79d 100644 (file)
@@ -1,4 +1,3 @@
-// Generated 202411151018
 // A Bison parser, made by GNU Bison 3.8.2.
 
 // Locations for Bison parsers in C++
index 7c9a6364f1c911333fd412d6564684af3704d545..c225ff948a9c6774dbda0f283970cd8dcbb835aa 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2016-2022 Internet Systems Consortium, Inc. ("ISC")
+// Copyright (C) 2016-2024 Internet Systems Consortium, Inc. ("ISC")
 //
 // This Source Code Form is subject to the terms of the Mozilla Public
 // License, v. 2.0. If a copy of the MPL was not distributed with this
index 97ae42c8f59de5312543f774a68f8cd0d5d4024d..d002fc5b4087cc86ef31823e4536e0c79969f9b8 100644 (file)
@@ -1,6 +1,6 @@
-#line 2 "dhcp4_lexer.cc"
+#line 1 "dhcp4_lexer.cc"
 
-#line 4 "dhcp4_lexer.cc"
+#line 3 "dhcp4_lexer.cc"
 
 #define  YY_INT_ALIGNED short int
 
@@ -2272,7 +2272,7 @@ using namespace isc::dhcp;
 
 /* To avoid the call to exit... oops! */
 #define YY_FATAL_ERROR(msg) isc::dhcp::Parser4Context::fatal(msg)
-#line 2276 "dhcp4_lexer.cc"
+#line 2275 "dhcp4_lexer.cc"
 /* noyywrap disables automatic rewinding for the next file to parse. Since we
    always parse only a single string, there's no need to do any wraps. And
    using yywrap requires linking with -lfl, which provides the default yywrap
@@ -2298,8 +2298,8 @@ using namespace isc::dhcp;
    by moving it ahead by yyleng bytes. yyleng specifies the length of the
    currently matched token. */
 #define YY_USER_ACTION  driver.loc_.columns(yyleng);
+#line 2301 "dhcp4_lexer.cc"
 #line 2302 "dhcp4_lexer.cc"
-#line 2303 "dhcp4_lexer.cc"
 
 #define INITIAL 0
 #define COMMENT 1
@@ -2627,7 +2627,7 @@ YY_DECL
     }
 
 
-#line 2631 "dhcp4_lexer.cc"
+#line 2630 "dhcp4_lexer.cc"
 
        while ( /*CONSTCOND*/1 )                /* loops until end-of-file is reached */
                {
@@ -5825,7 +5825,7 @@ YY_RULE_SETUP
 #line 2528 "dhcp4_lexer.ll"
 ECHO;
        YY_BREAK
-#line 5829 "dhcp4_lexer.cc"
+#line 5828 "dhcp4_lexer.cc"
 
        case YY_END_OF_BUFFER:
                {
index 551e7b7956f862bc960ab6f41cadbdaba6cb4a4e..094e24bfeec9d659f18a0d344f01c485ac064ad6 100644 (file)
@@ -1,6 +1,6 @@
-#line 2 "dhcp6_lexer.cc"
+#line 1 "dhcp6_lexer.cc"
 
-#line 4 "dhcp6_lexer.cc"
+#line 3 "dhcp6_lexer.cc"
 
 #define  YY_INT_ALIGNED short int
 
@@ -2246,7 +2246,7 @@ using namespace isc::dhcp;
 
 /* To avoid the call to exit... oops! */
 #define YY_FATAL_ERROR(msg) isc::dhcp::Parser6Context::fatal(msg)
-#line 2250 "dhcp6_lexer.cc"
+#line 2249 "dhcp6_lexer.cc"
 /* noyywrap disables automatic rewinding for the next file to parse. Since we
    always parse only a single string, there's no need to do any wraps. And
    using yywrap requires linking with -lfl, which provides the default yywrap
@@ -2272,8 +2272,8 @@ using namespace isc::dhcp;
    by moving it ahead by yyleng bytes. yyleng specifies the length of the
    currently matched token. */
 #define YY_USER_ACTION  driver.loc_.columns(yyleng);
+#line 2275 "dhcp6_lexer.cc"
 #line 2276 "dhcp6_lexer.cc"
-#line 2277 "dhcp6_lexer.cc"
 
 #define INITIAL 0
 #define COMMENT 1
@@ -2603,7 +2603,7 @@ YY_DECL
     }
 
 
-#line 2607 "dhcp6_lexer.cc"
+#line 2606 "dhcp6_lexer.cc"
 
        while ( /*CONSTCOND*/1 )                /* loops until end-of-file is reached */
                {
@@ -5841,7 +5841,7 @@ YY_RULE_SETUP
 #line 2561 "dhcp6_lexer.ll"
 ECHO;
        YY_BREAK
-#line 5845 "dhcp6_lexer.cc"
+#line 5844 "dhcp6_lexer.cc"
 
        case YY_END_OF_BUFFER:
                {
index 5c7d79fc9e5019e0208e91e5ded0612a1069197c..9e356ea8315dfbf992eaf86f90b0bb27de042e46 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2015-2023 Internet Systems Consortium, Inc. ("ISC")
+// Copyright (C) 2015-2024 Internet Systems Consortium, Inc. ("ISC")
 //
 // This Source Code Form is subject to the terms of the Mozilla Public
 // License, v. 2.0. If a copy of the MPL was not distributed with this
index 88c05fc78f84dd5c191a1150ab2d46ae32c4272b..fe79223afdec287e4d7f8c7bb358b5e8d81ae3b7 100644 (file)
@@ -245,6 +245,20 @@ for a subnet.
 An info message issued when configuring the DHCP server to listen on the unicast
 address on the specific interface.
 
+% DHCPSRV_CLASS_WITH_ADDITIONAL_AND_LIFETIMES class: %1 has 'only-in-additional-list' true while specifying one or more lease life time values. Life time values will be ignored.
+This warning is emitted whenever a class is configured with
+'only-in-addition-list' true as well as specifying one or
+more lease life time parameters (e.g. 'valid-lifetime',
+'preferred-lifetime', or 'offer-lifetime'). Additional list classes
+are evaluated after lease assignment, thus parameters that would otherwise
+impact lease life times will have no affect.
+
+% DHCPSRV_CLIENT_CLASS_DEPRECATED The parameter 'client-class' is deprecated. Use 'client-classes' list parameter instead
+This warning message is emitted when configuration parsing detects
+the use of the deprecated 'client-class' parameter. It has
+been replaced by 'client-classes'.  Users should migrate
+to the new list parameter.
+
 % DHCPSRV_CLOSE_DB closing currently open %1 database
 Logged at debug log level 40.
 This is a debug message, issued when the DHCP server closes the currently
@@ -957,17 +971,3 @@ included in the message.
 % DHCPSRV_UNKNOWN_DB unknown database type: %1
 The database access string specified a database type (given in the
 message) that is unknown to the software. This is a configuration error.
-
-% DHCPSRV_CLASS_WITH_ADDITIONAL_AND_LIFETIMES class: %1 has 'only-in-additional-list' true while specifying one or more lease life time values. Life time values will be ignored.
-This warning is emitted whenever a class is configured with
-'only-in-addition-list' true as well as specifying one or
-more lease life time parameters (e.g. 'valid-lifetime',
-'preferred-lifetime', or 'offer-lifetime'). Additional list classes
-are evaluated after lease assignment, thus parameters that would otherwise
-impact lease life times will have no affect.
-
-% DHCPSRV_CLIENT_CLASS_DEPRECATED The parameter 'client-class' is deprecated. Use 'client-classes' list parameter instead
-This warning message is emitted when configuration parsing detects
-the use of the deprecated 'client-class' parameter. It has
-been replaced by 'client-classes'.  Users should migrate
-to the new list parameter.
index 22aae21c6c4600704ec00977f2ad6f32a12df68f..da6425981a6042f0b15399563ecea6bd7a7fde94 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2016 Internet Systems Consortium, Inc. ("ISC")
+// Copyright (C) 2016-2024 Internet Systems Consortium, Inc. ("ISC")
 //
 // This Source Code Form is subject to the terms of the Mozilla Public
 // License, v. 2.0. If a copy of the MPL was not distributed with this
index e241f0e7fd1ed6a7817682a623d2f341c3439f76..226ec0573d5d5d24652ea48e1100e8d6cdec6f55 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2017 Internet Systems Consortium, Inc. ("ISC")
+// Copyright (C) 2017-2024 Internet Systems Consortium, Inc. ("ISC")
 //
 // This Source Code Form is subject to the terms of the Mozilla Public
 // License, v. 2.0. If a copy of the MPL was not distributed with this