]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[#4122] release changes Kea-3.1.2
authorMarcin Godzina <mgodzina@isc.org>
Fri, 19 Sep 2025 14:32:46 +0000 (16:32 +0200)
committerMarcin Godzina <mgodzina@isc.org>
Fri, 19 Sep 2025 14:32:46 +0000 (16:32 +0200)
45 files changed:
ChangeLog
changelog_unreleased/2305-status-get-return-csv-lease-file-location-when-used [deleted file]
changelog_unreleased/3531-how-can-i-log-the-pxe-boot-details-sent-to-my-clients [deleted file]
changelog_unreleased/3860-radius-vendor-attributes [deleted file]
changelog_unreleased/4011-kea-dhcp6-client-ip-reservation-inconsistently-assigned [deleted file]
changelog_unreleased/4070-add-basic-auth-user-file-option-to-high-availability-parameters [deleted file]
changelog_unreleased/4086-password-leaked-to-logs [deleted file]
changelog_unreleased/4096-add-drop-stats-service-disabled [deleted file]
changelog_unreleased/4107-race-condition-in-pid-file-handling [deleted file]
doc/devel/congestion-handling.dox
doc/sphinx/debug-messages.rst
doc/sphinx/kea-messages.rst
platforms.rst
src/bin/agent/agent_lexer.cc
src/bin/d2/d2_lexer.cc
src/bin/dhcp4/dhcp4_lexer.cc
src/bin/dhcp6/dhcp6_lexer.cc
src/bin/lfc/lfc_controller.cc
src/hooks/dhcp/flex_id/flex_id_messages.mes
src/hooks/dhcp/perfmon/perfmon_config.h
src/hooks/dhcp/stat_cmds/stat_cmds.cc
src/lib/asiolink/interval_timer.h
src/lib/asiolink/process_spawn.cc
src/lib/asiolink/process_spawn.h
src/lib/asiolink/tests/process_spawn_unittest.cc
src/lib/dhcp/option4_client_fqdn.cc
src/lib/dhcp/pkt.h
src/lib/dhcp/pkt4.cc
src/lib/dhcp/pkt6.h
src/lib/dhcp/tests/pkt4_unittest.cc
src/lib/dhcpsrv/dhcpsrv_messages.mes
src/lib/dhcpsrv/tests/cb_ctl_dhcp_unittest.cc
src/lib/dhcpsrv/tests/lease_mgr_unittest.cc
src/lib/eval/lexer.cc
src/lib/stats/context.cc
src/lib/stats/context.h
src/lib/stats/stats_mgr.cc
src/lib/stats/stats_mgr.h
src/lib/stats/tests/stats_mgr_unittest.cc
src/lib/util/pid_file.h
src/lib/util/str.cc
src/lib/util/str.h
src/lib/util/tests/pid_file_unittest.cc
src/lib/util/tests/str_unittests.cc
src/lib/yang/adaptor_option.h

index abad14a821a9c332cabad6199c5d75655d21d698..99ce29bcf5ff2aeeead6aa14123fc392beb31f7b 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,53 @@
+Kea 3.1.2 (development) released on September 24, 2025
+
+2403.  [func]          fdupont
+       Added "pkt4-service-disabled" and "pkt6-service-disabled"
+       statistics which are increased when an incoming packet
+       was dropped because the DHCP service is disabled.
+       (Gitlab #4096)
+
+2402.  [func]          fdupont
+       When Kea is configured to use the memfile lease backend,
+       the "status-get" command returns the location of the
+       CVS backup file in the "csv-lease-file" entry.
+       (Gitlab #2305)
+
+2401.  [sec]           tmark
+       Removed logging of database password as clear
+       text when kea-dhcp4 or kea-dhcp6 initializes
+       the schema.
+       (Gitlab #4086)
+
+2400.  [bug]           fdupont
+       Fixed a race condition in pid file handling (used by
+       servers, agents and lease file cleanup).
+       (Gitlab #4107)
+
+2399.  [func]          fdupont
+       Added support of RADIUS dictionary includes, vendor
+       attributes and integer translations to the RADIUS hook
+       library for compatibility with previous versions using
+       the FreeRADIUS client library.
+       (Gitlab #3860)
+
+2398.  [sec]           fdupont
+       Added the "basic-auth-user-file" parameter to the HA
+       hook library. This allows the basic HTTP auth user
+       ID to be read from a file rather than specified as
+       clear text in the configuration.
+       (Gitlab #4070)
+
+2397.  [func]          tmark
+       Additional packet details are now emitted in
+       debug level logs by kea-dhcp4 for both inbound
+       and outbound packets.
+       (Gitlab #3531)
+
+2396.  [func]          tmark
+       The flex-id hook library parameter, ``identifier-expression``,
+       is now optional. Prior to this, it was mandatory.
+       (Gitlab #4011)
+
 2395.  [build]         razvan
        The library version numbers have been bumped up for the Kea 3.1.2
        development release.
@@ -22,7 +72,7 @@
        file cleanup process is running.
        (Gitlab #3986)
 
-Kea 3.1.1 (development) released on September 27, 2025
+Kea 3.1.1 (development) released on August 27, 2025
 
 2391.  [bug]           fdupont
        When reusing an expired lease, kea-dhcp6 now correctly saves
diff --git a/changelog_unreleased/2305-status-get-return-csv-lease-file-location-when-used b/changelog_unreleased/2305-status-get-return-csv-lease-file-location-when-used
deleted file mode 100644 (file)
index c6117cb..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-[func]         fdupont
-       When Kea is configured to use the memfile lease backend,
-       the "status-get" command returns the location of the
-       CVS backup file in the "csv-lease-file" entry.
-       (Gitlab #2305)
diff --git a/changelog_unreleased/3531-how-can-i-log-the-pxe-boot-details-sent-to-my-clients b/changelog_unreleased/3531-how-can-i-log-the-pxe-boot-details-sent-to-my-clients
deleted file mode 100644 (file)
index 48e7fb7..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-[func]         tmark
-       Additional packet details are now emitted in
-       debug level logs by kea-dhcp4 for both inbound
-       and outbound packets.
-       (Gitlab #3531)
diff --git a/changelog_unreleased/3860-radius-vendor-attributes b/changelog_unreleased/3860-radius-vendor-attributes
deleted file mode 100644 (file)
index 5eeb67f..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-[func]         fdupont
-       Added support of RADIUS dictionary includes, vendor
-       attributes and integer translations to the RADIUS hook
-       library for compatibility with previous versions using
-       the FreeRADIUS client library.
-       (Gitlab #2860)
diff --git a/changelog_unreleased/4011-kea-dhcp6-client-ip-reservation-inconsistently-assigned b/changelog_unreleased/4011-kea-dhcp6-client-ip-reservation-inconsistently-assigned
deleted file mode 100644 (file)
index 445ccef..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-[func]         tmark
-       The flex-id hook library parameter, ``identifier-expression``,
-       is now optional. Prior to this, it was mandatory.
-       (Gitlab #4011)
diff --git a/changelog_unreleased/4070-add-basic-auth-user-file-option-to-high-availability-parameters b/changelog_unreleased/4070-add-basic-auth-user-file-option-to-high-availability-parameters
deleted file mode 100644 (file)
index 736a9c0..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-[sec]          fdupont
-       Added the "basic-auth-user-file" parameter to the HA
-       hook library. This allows the basic HTTP auth user
-       ID to be read from a file rather than specified as
-       clear text in the configuration.
-       (Gitlab #4070)
diff --git a/changelog_unreleased/4086-password-leaked-to-logs b/changelog_unreleased/4086-password-leaked-to-logs
deleted file mode 100644 (file)
index b015dee..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-[sec]          tmark
-       Removed logging of database password as clear
-       text when kea-dhcp4 or kea-dhcp6 initializes
-       the schema.
-       (Gitlab #4086)
diff --git a/changelog_unreleased/4096-add-drop-stats-service-disabled b/changelog_unreleased/4096-add-drop-stats-service-disabled
deleted file mode 100644 (file)
index 8c7ebc6..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-[func]         fdupont
-       Added "pkt4-service-disabled" and "pkt6-service-disabled"
-       statistics which are increased when an incoming packet
-       was dropped because the DHCP service is disabled.
-       (Gitlab #4096)
diff --git a/changelog_unreleased/4107-race-condition-in-pid-file-handling b/changelog_unreleased/4107-race-condition-in-pid-file-handling
deleted file mode 100644 (file)
index d13a9d8..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-[bug]          fdupont
-       Fixed a race condition in pid file handling (used by
-       servers, agents and lease file cleanup).
-       (Gitlab #4107)
index 1a963fd0cb38bd5ee3ee742d421bae7084c8632a..0c3ecb84006321d05b40e3af045422d75cc860bf 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2018-2023 Internet Systems Consortium, Inc. ("ISC")
+// Copyright (C) 2018-2025 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 c09b538108e3e45abb1821493c77ab5f4f259a48..0ec6321b2b4bc3899318f75b4527a31ab7126d0d 100644 (file)
@@ -280,6 +280,7 @@ Messages printed on debuglevel 40
 - FLEX_ID_IGNORE_IAID_APPLIED_ON_PD
 - FLEX_ID_IGNORE_IAID_NOT_APPLIED_ON_NA
 - FLEX_ID_IGNORE_IAID_NOT_APPLIED_ON_PD
+- FLEX_ID_NO_IDENTIFIER_EXPRESSION
 - FLEX_ID_RESTORE_CLIENT_ID
 - FLEX_ID_RESTORE_DUID
 - FLEX_ID_USED_AS_CLIENT_ID
index 499ae0ed921d0ff8a66d89e0f422ba6a651b2daf..c2fd3a29c6ada5586918124a4b5976114159acb6 100644 (file)
@@ -5646,7 +5646,8 @@ DHCP4_QUERY_DATA
 Logged at debug log level 55.
 A debug message printing the details of the received packet. The first
 argument includes the client and the transaction identification
-information.
+information. Packet fields ciaddr, yiaddr, siaddr, giaddr, sname, and file
+will be included when not empty.
 
 DHCP4_QUERY_LABEL
 =================
@@ -5843,7 +5844,8 @@ A debug message including the detailed data about the packet being sent
 to the client. The first argument contains the client and the transaction
 identification information. The second and third argument contains the
 packet name and type respectively. The fourth argument contains detailed
-packet information.
+packet information. Packet fields ciaddr, yiaddr, siaddr, giaddr, sname,
+and file will be included when not empty.
 
 DHCP4_RESPONSE_FQDN_DATA
 ========================
@@ -8718,6 +8720,20 @@ DHCPSRV_CFGMGR_NEW_SUBNET6
 This is an informational message reporting that the configuration has
 been extended to include the specified subnet.
 
+DHCPSRV_CFGMGR_OPTION_DEFINITION_MISMATCH
+=========================================
+
+.. code-block:: text
+
+    failed to create option: %1
+
+This warning message is issued when an option has been specified for which
+there is no suitable option definition. Either there is no definition at all
+or the option contents do not fit the option definition. The argument will
+provide a detailed reason for the failure. The server will continue to
+operate but it will exclude the option from packet processing until the
+situation is corrected. This is considered a configuration error.
+
 DHCPSRV_CFGMGR_OPTION_DUPLICATE
 ===============================
 
@@ -9972,6 +9988,17 @@ failed to re-open or re-create the lease file after renaming the
 lease file for lease file cleanup. The server continues to
 operate but leases do not persist to disk.
 
+DHCPSRV_MEMFILE_LFC_RESCHEDULED
+===============================
+
+.. code-block:: text
+
+    rescheduled Lease File Cleanup
+
+An informational message issued when the memfile lease database backend
+rescheduled the periodic Lease File Cleanup at the reception of a
+"kea-lfc-start" command.
+
 DHCPSRV_MEMFILE_LFC_SETUP
 =========================
 
@@ -12254,18 +12281,6 @@ and vendor option was not found.
 FLEX
 ****
 
-FLEX_ID_EXPRESSION_EMPTY
-========================
-
-.. code-block:: text
-
-    Specified identifier-expression is empty
-
-This warning message is printed when the flex-id library is being loaded,
-but the expression used to generate the identifier is empty. The library
-will load, but will not generate any identifiers. Please make sure that
-the identifier-expression parameter is specified.
-
 FLEX_ID_EXPRESSION_EVALUATED
 ============================
 
@@ -12313,18 +12328,6 @@ This error message is printed when the flex-id library is being loaded,
 but the expression used to generate the identifier is malformed. It has
 a different JSON type (e.g. is a map) rather than expected string.
 
-FLEX_ID_EXPRESSION_NOT_DEFINED
-==============================
-
-.. code-block:: text
-
-    Expression (identifier-expression) is not defined.
-
-This warning message is printed when the flex-id library is loaded, but the
-expression used to generate the identifier is not specified. The library
-will load, but will not generate any identifiers. Please make sure that
-the identifier-expression parameter is specified for your library.
-
 FLEX_ID_EXPRESSION_PARSE_FAILED
 ===============================
 
@@ -12415,6 +12418,20 @@ This error message will be printed when an error is encountered during
 loading of the library. Details of the problem are printed as parameter
 to this message.
 
+FLEX_ID_NO_IDENTIFIER_EXPRESSION
+================================
+
+.. code-block:: text
+
+    identifier-expression is either not specified or empty
+
+Logged at debug log level 40.
+This debug message is printed when the flex-id library is being loaded,
+but the expression used to generate the identifier was either omitted or
+is empty. The library will load, but will neither generate nor replace
+client identifiers. Typically this occurs when users are only interested
+in using ignore-iaid, which operates independently of the expression.
+
 FLEX_ID_REPLACE_CLIENT_ID_JSON_TYPE
 ===================================
 
index cfbbd1f4365f3b0645cb55d7d1d4c55df8de2f6a..5ee062eacd55936cb6a21035384874a580987e29 100644 (file)
@@ -18,7 +18,7 @@ Kea is officially supported on Alpine, Debian, Fedora, FreeBSD, RHEL, and Ubuntu
 systems. Kea-|release| builds have been tested on:
 
 * Alpine â€” 3.19, 3.20, 3.21, 3.22
-* Debian â€” 11, 12
+* Debian â€” 11, 12, 13
 * Fedora â€” 41, 42
 * FreeBSD â€” 14
 * RHEL â€” 8, 9, 10
index 7d49ac15f0d635fa945c2325e8d26f4ca1ce059d..75f2a9a036b25e1b6913c39c8ed69698ba49fa49 100644 (file)
@@ -1,6 +1,6 @@
-#line 2 "agent_lexer.cc"
+#line 1 "agent_lexer.cc"
 
-#line 4 "agent_lexer.cc"
+#line 3 "agent_lexer.cc"
 
 #define  YY_INT_ALIGNED short int
 
@@ -1624,7 +1624,7 @@ using isc::agent::AgentParser;
 
 /* To avoid the call to exit... oops! */
 #define YY_FATAL_ERROR(msg) isc::agent::ParserContext::fatal(msg)
-#line 1628 "agent_lexer.cc"
+#line 1627 "agent_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
@@ -1650,8 +1650,8 @@ using isc::agent::AgentParser;
    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 1653 "agent_lexer.cc"
 #line 1654 "agent_lexer.cc"
-#line 1655 "agent_lexer.cc"
 
 #define INITIAL 0
 #define COMMENT 1
@@ -1965,7 +1965,7 @@ YY_DECL
     }
 
 
-#line 1969 "agent_lexer.cc"
+#line 1968 "agent_lexer.cc"
 
        while ( /*CONSTCOND*/1 )                /* loops until end-of-file is reached */
                {
@@ -2982,7 +2982,7 @@ YY_RULE_SETUP
 #line 835 "agent_lexer.ll"
 ECHO;
        YY_BREAK
-#line 2986 "agent_lexer.cc"
+#line 2985 "agent_lexer.cc"
 
        case YY_END_OF_BUFFER:
                {
index 1e56767ffbb43ff890c5a4bd045149841571ae37..92e386daa044963e7e9cac805169cb5d2d2eb168 100644 (file)
@@ -1,6 +1,6 @@
-#line 2 "d2_lexer.cc"
+#line 1 "d2_lexer.cc"
 
-#line 4 "d2_lexer.cc"
+#line 3 "d2_lexer.cc"
 
 #define  YY_INT_ALIGNED short int
 
@@ -1214,7 +1214,7 @@ unsigned int comment_start_line = 0;
 
 /* To avoid the call to exit... oops! */
 #define YY_FATAL_ERROR(msg) isc::d2::D2ParserContext::fatal(msg)
-#line 1218 "d2_lexer.cc"
+#line 1217 "d2_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
@@ -1240,8 +1240,8 @@ unsigned int comment_start_line = 0;
    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 1243 "d2_lexer.cc"
 #line 1244 "d2_lexer.cc"
-#line 1245 "d2_lexer.cc"
 
 #define INITIAL 0
 #define COMMENT 1
@@ -1561,7 +1561,7 @@ YY_DECL
     }
 
 
-#line 1565 "d2_lexer.cc"
+#line 1564 "d2_lexer.cc"
 
        while ( /*CONSTCOND*/1 )                /* loops until end-of-file is reached */
                {
@@ -2812,7 +2812,7 @@ YY_RULE_SETUP
 #line 1022 "d2_lexer.ll"
 ECHO;
        YY_BREAK
-#line 2816 "d2_lexer.cc"
+#line 2815 "d2_lexer.cc"
 
        case YY_END_OF_BUFFER:
                {
index 9d7e68689e50d453631e87ccab04fe9d42250281..7e602585adab3efa430c847f17475e36d39daf1e 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
 
@@ -2311,7 +2311,7 @@ using namespace isc::dhcp;
 
 /* To avoid the call to exit... oops! */
 #define YY_FATAL_ERROR(msg) isc::dhcp::Parser4Context::fatal(msg)
-#line 2315 "dhcp4_lexer.cc"
+#line 2314 "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
@@ -2337,8 +2337,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 2340 "dhcp4_lexer.cc"
 #line 2341 "dhcp4_lexer.cc"
-#line 2342 "dhcp4_lexer.cc"
 
 #define INITIAL 0
 #define COMMENT 1
@@ -2666,7 +2666,7 @@ YY_DECL
     }
 
 
-#line 2670 "dhcp4_lexer.cc"
+#line 2669 "dhcp4_lexer.cc"
 
        while ( /*CONSTCOND*/1 )                /* loops until end-of-file is reached */
                {
@@ -6008,7 +6008,7 @@ YY_RULE_SETUP
 #line 2642 "dhcp4_lexer.ll"
 ECHO;
        YY_BREAK
-#line 6012 "dhcp4_lexer.cc"
+#line 6011 "dhcp4_lexer.cc"
 
        case YY_END_OF_BUFFER:
                {
index 9ef7203870e157d76df101aa5e7d6e7fb1f95a2e..db7809eb0398c9ef104b7b8ec3d9a67057ba8d93 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
 
@@ -2284,7 +2284,7 @@ using namespace isc::dhcp;
 
 /* To avoid the call to exit... oops! */
 #define YY_FATAL_ERROR(msg) isc::dhcp::Parser6Context::fatal(msg)
-#line 2288 "dhcp6_lexer.cc"
+#line 2287 "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
@@ -2310,8 +2310,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 2313 "dhcp6_lexer.cc"
 #line 2314 "dhcp6_lexer.cc"
-#line 2315 "dhcp6_lexer.cc"
 
 #define INITIAL 0
 #define COMMENT 1
@@ -2641,7 +2641,7 @@ YY_DECL
     }
 
 
-#line 2645 "dhcp6_lexer.cc"
+#line 2644 "dhcp6_lexer.cc"
 
        while ( /*CONSTCOND*/1 )                /* loops until end-of-file is reached */
                {
@@ -6023,7 +6023,7 @@ YY_RULE_SETUP
 #line 2675 "dhcp6_lexer.ll"
 ECHO;
        YY_BREAK
-#line 6027 "dhcp6_lexer.cc"
+#line 6026 "dhcp6_lexer.cc"
 
        case YY_END_OF_BUFFER:
                {
index cd651d305bc6e1cdf76bca7419a34168186493a1..ebe11b3ceb26c47ab3c37a77c14d4fd0efca3d46 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2015-2024 Internet Systems Consortium, Inc. ("ISC")
+// Copyright (C) 2015-2025 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 6585ca00633a18ae31510735adbb2166898fc2dc..e5173be8f68b7772ba68ba23703f5ec20749f07f 100644 (file)
@@ -4,14 +4,6 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
-% FLEX_ID_NO_IDENTIFIER_EXPRESSION identifier-expression is either not specified or empty
-Logged at debug log level 40.
-This debug message is printed when the flex-id library is being loaded,
-but the expression used to generate the identifier was either omitted or
-is empty. The library will load, but will neither generate nor replace
-client identifiers. Typically this occurs when users are only interested
-in using ignore-iaid, which operates independently of the expression.
-
 % FLEX_ID_EXPRESSION_EVALUATED Expression evaluated for packet to "%1" (size: %2)
 Logged at debug log level 40.
 This debug message is printed every time a packet evaluation is successful.
@@ -77,6 +69,14 @@ This error message will be printed when an error is encountered during
 loading of the library. Details of the problem are printed as parameter
 to this message.
 
+% FLEX_ID_NO_IDENTIFIER_EXPRESSION identifier-expression is either not specified or empty
+Logged at debug log level 40.
+This debug message is printed when the flex-id library is being loaded,
+but the expression used to generate the identifier was either omitted or
+is empty. The library will load, but will neither generate nor replace
+client identifiers. Typically this occurs when users are only interested
+in using ignore-iaid, which operates independently of the expression.
+
 % FLEX_ID_REPLACE_CLIENT_ID_JSON_TYPE the replace-client-id is %1 but expected boolean value
 This error message is printed when the flex-id library is being loaded,
 but the replace-client-id parameter is malformed, i.e. it has a different
index 33cd18ef9637ece34a70fe4d668c1aaf43a9e755..97cbf62eac6ed23fc2e6ffb093da67b4068ff317 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2024 Internet Systems Consortium, Inc. ("ISC")
+// Copyright (C) 2024-2025 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 3e9f29f4f0aac382922044e928f7e45d60040519..d4430b863a2589f454398c2fd2260e3d16d64852 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2018-2024 Internet Systems Consortium, Inc. ("ISC")
+// Copyright (C) 2018-2025 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 790d132b42a61cfae0567aff544246c1a4332632..e7ba4c11a4a96bf0a8721edefa3ef22fd3d6d41b 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2011-2024 Internet Systems Consortium, Inc. ("ISC")
+// Copyright (C) 2011-2025 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 10769355c1ccc64c7f45e7fd3b643e62aac1e982..0182a5eccb3ceb5beb7ed20947ab13e8828b2f73 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2015-2024 Internet Systems Consortium, Inc. ("ISC")
+// Copyright (C) 2015-2025 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 aabdaad09d3de70bc534f0f26c3c3aae99efecf1..55b47be4ac8c65daf08c90cbe7d42b5b8bb5e1fa 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2015-2024 Internet Systems Consortium, Inc. ("ISC")
+// Copyright (C) 2015-2025 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 365a51bed7dbc3956bac0fc14e28cbe37a6c2729..e0d58c19064957a6c94802d594658d8e33126b30 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2015-2024 Internet Systems Consortium, Inc. ("ISC")
+// Copyright (C) 2015-2025 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 19349dc09a909cfdf98e5092a7c5cf9269299731..81edb114171dd7d5c5cb385c10eb87722a653df8 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2024 Internet Systems Consortium, Inc. ("ISC")
+// Copyright (C) 2013-2025 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 d35666a0f6d06013e71d8fe8a5b9bd5557171460..ad690d64615e320ba77413987d2fc512757efcc8 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2014-2024 Internet Systems Consortium, Inc. ("ISC")
+// Copyright (C) 2014-2025 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 131ad8c5a65ccf7463e65e9f195ebe9b98016a1d..aa2ea9428d7462664db911a12e407e3b900add93 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2011-2024 Internet Systems Consortium, Inc. ("ISC")
+// Copyright (C) 2011-2025 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 95c15c7d6c719ae7e4fcb4443a9cf2cf00d850d6..594241ba374c28b5bc19007314b5dc08edf27e50 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2011-2024 Internet Systems Consortium, Inc. ("ISC")
+// Copyright (C) 2011-2025 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 84f1e81160ad6e55cfbc8181bfc18bfabe5e1794..72f0da76a7ae75bb80cd611f34e0bad158f56b6f 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2011-2024 Internet Systems Consortium, Inc. ("ISC")
+// Copyright (C) 2011-2025 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 8bdd6dcfbe21fac7ea780158624acf611a13de51..94c56d77f974eb0fd35d4107de40b22ae9429315 100644 (file)
@@ -124,6 +124,14 @@ been extended to include the specified IPv4 subnet.
 This is an informational message reporting that the configuration has
 been extended to include the specified subnet.
 
+% DHCPSRV_CFGMGR_OPTION_DEFINITION_MISMATCH failed to create option: %1
+This warning message is issued when an option has been specified for which
+there is no suitable option definition. Either there is no definition at all
+or the option contents do not fit the option definition. The argument will
+provide a detailed reason for the failure. The server will continue to
+operate but it will exclude the option from packet processing until the
+situation is corrected. This is considered a configuration error.
+
 % DHCPSRV_CFGMGR_OPTION_DUPLICATE multiple options with the code: %1 added to the subnet: %2
 This warning message is issued on an attempt to configure multiple options with the
 same option code for the particular subnet. Adding multiple options is uncommon
@@ -1026,11 +1034,3 @@ disabled and the path specified for forensic logging output
 does not comply with the supported path. The server will
 still use the specified path but is warning that doing so may
 pose a security risk.
-
-% DHCPSRV_CFGMGR_OPTION_DEFINITION_MISMATCH failed to create option: %1
-This warning message is issued when an option has been specified for which
-there is no suitable option definition. Either there is no definition at all
-or the option contents do not fit the option definition. The argument will
-provide a detailed reason for the failure. The server will continue to
-operate but it will exclude the option from packet processing until the
-situation is corrected. This is considered a configuration error.
index 0af6f3806cf6c790ef493469f0906016efa253ee..dd321baa583fb676f7c2cddff74ad128ea4ec554 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2019-2024 Internet Systems Consortium, Inc. ("ISC")
+// Copyright (C) 2019-2025 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 55e4b2684bf95937a2c52af5fe8242d87a8821d1..2e8475e957b10a6c4b60f5e316c6f5d6eff2133d 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2012-2024 Internet Systems Consortium, Inc. ("ISC")
+// Copyright (C) 2012-2025 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 6fcdd32c5937a56c57c8080f2899d31f846e746c..729662fa63a29430e44c427f7223bb7faef67297 100644 (file)
@@ -1,6 +1,6 @@
-#line 2 "lexer.cc"
+#line 1 "lexer.cc"
 
-#line 4 "lexer.cc"
+#line 3 "lexer.cc"
 
 #define  YY_INT_ALIGNED short int
 
@@ -1055,7 +1055,7 @@ namespace {
 
 /* To avoid the call to exit... oops! */
 #define YY_FATAL_ERROR(msg) isc::eval::EvalContext::fatal(msg)
-#line 1059 "lexer.cc"
+#line 1058 "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
@@ -1080,8 +1080,8 @@ namespace {
    by moving it ahead by yyleng bytes. yyleng specifies the length of the
    currently matched token. */
 #define YY_USER_ACTION  loc.columns(evalleng);
+#line 1083 "lexer.cc"
 #line 1084 "lexer.cc"
-#line 1085 "lexer.cc"
 
 #define INITIAL 0
 
@@ -1380,7 +1380,7 @@ YY_DECL
 
 
 
-#line 1384 "lexer.cc"
+#line 1383 "lexer.cc"
 
        while ( /*CONSTCOND*/1 )                /* loops until end-of-file is reached */
                {
@@ -1889,7 +1889,7 @@ YY_RULE_SETUP
 #line 251 "lexer.ll"
 ECHO;
        YY_BREAK
-#line 1893 "lexer.cc"
+#line 1892 "lexer.cc"
 
        case YY_END_OF_BUFFER:
                {
index e28228132ac737bd0c433c32ca77a28b4f14668a..b2d9946c2d3c63e871e929586aee303e1a98c574 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2015-2024 Internet Systems Consortium, Inc. ("ISC")
+// Copyright (C) 2015-2025 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 b5879974db3e8b97bc4cde4e5039ba419dce1c0e..b865ca3f78658c7190c8d33ae609d7f72f6d1810 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2015-2020 Internet Systems Consortium, Inc. ("ISC")
+// Copyright (C) 2015-2025 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 cbb7b3262552dff09c58b4298dc5068382a272fb..90afd9a51d964a98ec704785a0eb20d5f2136685 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2015-2024 Internet Systems Consortium, Inc. ("ISC")
+// Copyright (C) 2015-2025 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 5ddf71537e7943e91355dc4844b4a3fe409c9159..1ef1c269d5b85975616691f896d18b64e2927767 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2015-2023 Internet Systems Consortium, Inc. ("ISC")
+// Copyright (C) 2015-2025 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 5da34838946ba5f52e1b8a949e4032e8a21d5e40..a271234b9e49318d26f63b9f1250c3fa28dfb6c3 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2015-2020 Internet Systems Consortium, Inc. ("ISC")
+// Copyright (C) 2015-2025 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 ecf0a368acadf9024176ae42e354bdbef1db9ad1..d228ae0ddda60c803feda864411ded55cbc3a575 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2015-2024 Internet Systems Consortium, Inc. ("ISC")
+// Copyright (C) 2015-2025 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 142b186ad06a97d261d92fc2fc83e8da81cf2e26..f2c8ebcac75313c88743e63389099765a272c84a 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2011-2024 Internet Systems Consortium, Inc. ("ISC")
+// Copyright (C) 2011-2025 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 0e2a8549ebf70872b290fade61dfa6f1ecccb581..8357df8f38789960bf033d4e5028ee83509d8e73 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2011-2024 Internet Systems Consortium, Inc. ("ISC")
+// Copyright (C) 2011-2025 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 e843e92e1fef3daa792a8e967918532b82ffe4fb..09b3bd1adf23f23ef82ac377bda409208cae43cc 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2015-2021 Internet Systems Consortium, Inc. ("ISC")
+// Copyright (C) 2015-2025 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 0afcdda8e9f886e38e1986da64c7be0d4b6a84b1..43ce94ce34ff5ae5cc09c477c4ba0c8209266484 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2011-2024 Internet Systems Consortium, Inc. ("ISC")
+// Copyright (C) 2011-2025 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 f9c33274c8393bc4623fed0dc48adaff8b021138..d7c4351a58abf1563451d8341e8037bbed6205d5 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2018-2022 Internet Systems Consortium, Inc. ("ISC")
+// Copyright (C) 2018-2025 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