2
0
mirror of https://gitlab.isc.org/isc-projects/kea synced 2025-08-29 04:57:52 +00:00

[#2651] release changes

This commit is contained in:
Andrei Pavel 2022-11-25 23:51:51 +02:00
parent 4898a69b1c
commit 03423adcd2
No known key found for this signature in database
GPG Key ID: D4E804481939CB21
47 changed files with 119 additions and 117 deletions

View File

@ -39,17 +39,17 @@ For new stable releases or maintenance releases, please don't use `kea-dev` buil
The following steps may involve changing files in the repository. The following steps may involve changing files in the repository.
1. [ ] Run [update-code-for-release.py](https://gitlab.isc.org/isc-private/qa-dhcp/-/blob/master/kea/build/update-code-for-release.py) <br> 1. [ ] Run [update-code-for-release.py](https://gitlab.isc.org/isc-private/qa-dhcp/-/blob/master/kea/build/update-code-for-release.py) <br>
Example command: `GITLAB_TOKEN='...' ./update-code-for-release.py 1.9.7 'Apr 28, 2021' ~/isc/repos/kea/` <br> Example command: `GITLAB_TOKEN='...' ./update-code-for-release.py 1.9.7 ~/isc/repos/kea/` <br>
Help: `GITLAB_TOKEN="..." update-code-for-release.py --help`<br> Help: `GITLAB_TOKEN="..." ./update-code-for-release.py --help`<br>
This script makes the following changes and actions: This script makes the following changes and actions:
1. run prepare_kea_release.sh that does: 1. run prepare_kea_release.sh that does:
1.1. add release entries in ChangeLogs 1. add release entries in ChangeLogs
1.2. update Kea version in configure.ac 1. update Kea version in configure.ac
1.3. update copyright years in files that were changed in current year 1. update copyright years in files that were changed in current year
1.4. sort message files 1. sort message files
1.5. regenerate message files headers 1. regenerate message files headers
2. regenerate parsers using Bison from Docker<br> 2. regenerate parsers using Bison from Docker<br>
using with --upload: With `--upload`:
3. create an issue in GitLab for release changes in kea repo 3. create an issue in GitLab for release changes in kea repo
4. create branches and merge requests for kea and kea-premium 4. create branches and merge requests for kea and kea-premium
5. commit the changes in both repos 5. commit the changes in both repos

View File

@ -1,3 +1,5 @@
Kea 2.3.3 (development) released on November 30, 2022
2078. [build] andrei 2078. [build] andrei
The library version numbers have been bumped for the Kea 2.3.3 The library version numbers have been bumped for the Kea 2.3.3
development release. development release.
@ -15,7 +17,7 @@
2076. [doc] razvan 2076. [doc] razvan
Add documentation for template classes and the new parameter Add documentation for template classes and the new parameter
'template-test' which evaluates to a string value. This indicates 'template-test' which evaluates to a string value. This indicates
if the class is spaning classes with the name containing the if the class is spawning classes with the name containing the
evaluated value: 'SPAWN_<template-class-name>_<evaluated-value>' evaluated value: 'SPAWN_<template-class-name>_<evaluated-value>'
only if the value is not empty string. This will also add the only if the value is not empty string. This will also add the
packet to the <template-class-name> class. packet to the <template-class-name> class.

View File

@ -41,7 +41,7 @@
{ {
"dhcp4": "dhcp4":
{ {
"comment": "control socket for DHCP4 server", "comment": "control socket for DHCPv4 server",
"socket-type": "unix", "socket-type": "unix",
"socket-name": "/tmp/kea4-ctrl-socket" "socket-name": "/tmp/kea4-ctrl-socket"
} }

View File

@ -84,7 +84,7 @@
// This is how the Agent can communicate with the DHCPv4 server. // This is how the Agent can communicate with the DHCPv4 server.
"dhcp4": "dhcp4":
{ {
"comment": "socket to DHCP4 server", "comment": "socket to DHCPv4 server",
"socket-type": "unix", "socket-type": "unix",
"socket-name": "/tmp/kea4-ctrl-socket" "socket-name": "/tmp/kea4-ctrl-socket"
}, },

View File

@ -136,7 +136,7 @@
// further. The default value is 60000ms (60 seconds). // further. The default value is 60000ms (60 seconds).
"sync-timeout": 60000, "sync-timeout": 60000,
// To not experience performance degradation when the Kea server is // To not experience performance degradation when the Kea server is
// processing packets on multiple threads, the High Availablility module // processing packets on multiple threads, the High Availability module
// must have multi-threading enabled. // must have multi-threading enabled.
"multi-threading": { "multi-threading": {
"enable-multi-threading": true, "enable-multi-threading": true,

View File

@ -135,7 +135,7 @@
// further. The default value is 60000ms (60 seconds). // further. The default value is 60000ms (60 seconds).
"sync-timeout": 60000, "sync-timeout": 60000,
// To not experience performance degradation when the Kea server is // To not experience performance degradation when the Kea server is
// processing packets on multiple threads, the High Availablility module // processing packets on multiple threads, the High Availability module
// must have multi-threading enabled. // must have multi-threading enabled.
"multi-threading": { "multi-threading": {
"enable-multi-threading": true, "enable-multi-threading": true,

View File

@ -61,7 +61,7 @@
}, },
// Comment is optional. You can put some notes here. // Comment is optional. You can put some notes here.
"comment": "Kea DHCP4 server serving network on floor 13" "comment": "Kea DHCPv4 server serving network on floor 13"
} }
}, },

View File

@ -62,7 +62,7 @@
}, },
// Comment is optional. You can put some notes here. // Comment is optional. You can put some notes here.
"comment": "Kea DHCP6 server serving network on floor 13" "comment": "Kea DHCPv6 server serving network on floor 13"
} }
}, },

View File

@ -55,7 +55,7 @@ The whole subnet is split into dynamic pools:
To deploy this setup, follow the steps provided in the power user home setup with the following distinctions: To deploy this setup, follow the steps provided in the power user home setup with the following distinctions:
1. Install CA only if the administrator is planning to manage Kea using RESTful API. 1. Install CA only if the administrator is planning to manage Kea using RESTful API.
Otherwise, the High Availablility Kea server with multi-threading does not require CA to run. Otherwise, the High Availability Kea server with multi-threading does not require CA to run.
2. Alter the following to match the local setup: 2. Alter the following to match the local setup:

View File

@ -40,7 +40,7 @@
// This is how the Agent can communicate with the DHCPv4 server. // This is how the Agent can communicate with the DHCPv4 server.
"dhcp4": "dhcp4":
{ {
"comment": "socket to DHCP4 server", "comment": "socket to DHCPv4 server",
"socket-type": "unix", "socket-type": "unix",
"socket-name": "/tmp/kea4-ctrl-socket" "socket-name": "/tmp/kea4-ctrl-socket"
}, },

View File

@ -40,7 +40,7 @@
// This is how the Agent can communicate with the DHCPv4 server. // This is how the Agent can communicate with the DHCPv4 server.
"dhcp4": "dhcp4":
{ {
"comment": "socket to DHCP4 server", "comment": "socket to DHCPv4 server",
"socket-type": "unix", "socket-type": "unix",
"socket-name": "/tmp/kea4-ctrl-socket" "socket-name": "/tmp/kea4-ctrl-socket"
}, },

View File

@ -134,7 +134,7 @@
"sync-timeout": 60000, "sync-timeout": 60000,
// Multi-threading parameters. // Multi-threading parameters.
// To not experience performance degradation when the Kea server is // To not experience performance degradation when the Kea server is
// processing packets on multiple threads, the High Availablility module // processing packets on multiple threads, the High Availability module
// must have multi-threading enabled. // must have multi-threading enabled.
"multi-threading": { "multi-threading": {
"enable-multi-threading": true, "enable-multi-threading": true,

View File

@ -134,7 +134,7 @@
"sync-timeout": 60000, "sync-timeout": 60000,
// Multi-threading parameters. // Multi-threading parameters.
// To not experience performance degradation when the Kea server is // To not experience performance degradation when the Kea server is
// processing packets on multiple threads, the High Availablility module // processing packets on multiple threads, the High Availability module
// must have multi-threading enabled. // must have multi-threading enabled.
"multi-threading": { "multi-threading": {
"enable-multi-threading": true, "enable-multi-threading": true,

View File

@ -16,7 +16,7 @@
// This is how the Agent can communicate with the DHCPv4 server. // This is how the Agent can communicate with the DHCPv4 server.
"dhcp4": "dhcp4":
{ {
"comment": "socket to DHCP4 server", "comment": "socket to DHCPv4 server",
"socket-type": "unix", "socket-type": "unix",
"socket-name": "/tmp/kea4-ctrl-socket" "socket-name": "/tmp/kea4-ctrl-socket"
}, },

View File

@ -16,7 +16,7 @@
// This is how the Agent can communicate with the DHCPv4 server. // This is how the Agent can communicate with the DHCPv4 server.
"dhcp4": "dhcp4":
{ {
"comment": "socket to DHCP4 server", "comment": "socket to DHCPv4 server",
"socket-type": "unix", "socket-type": "unix",
"socket-name": "/tmp/kea4-ctrl-socket" "socket-name": "/tmp/kea4-ctrl-socket"
}, },

View File

@ -790,7 +790,7 @@ ASCII, then the spawned class will use the ``SPAWN_Client-ID_foobar`` name
effectively associating the regular class to the packet. In this second case, effectively associating the regular class to the packet. In this second case,
both ``SPAWN_Client-ID_foobar`` and ``Client-ID`` classes will be associated both ``SPAWN_Client-ID_foobar`` and ``Client-ID`` classes will be associated
with the packet. with the packet.
The ``test`` expression on the regular classs ``SPAWN_Client-ID_foobar`` is not The ``test`` expression on the regular class ``SPAWN_Client-ID_foobar`` is not
mandatory and can be omitted, but it is used here with a different match mandatory and can be omitted, but it is used here with a different match
expression for example purposes. expression for example purposes.
@ -836,7 +836,7 @@ is not mandatory that the flag be set to ``true``.
options, are associated with the spawned class. This permits configuring options, are associated with the spawned class. This permits configuring
limits which apply for all packets associated with a class spawned at limits which apply for all packets associated with a class spawned at
runtime, according to the ``template-test`` expression in the parent template runtime, according to the ``template-test`` expression in the parent template
class. For a more detaild description on how to configure limits using the class. For a more detailed description on how to configure limits using the
limits hooks library see the :ref:`hooks-limits-configuration`. limits hooks library see the :ref:`hooks-limits-configuration`.
For example, using the configuration below, ingress DHCPv6 packets that have For example, using the configuration below, ingress DHCPv6 packets that have
client ID values (in the format expressed by the Kea evaluator) ``foobar`` client ID values (in the format expressed by the Kea evaluator) ``foobar``

View File

@ -195,7 +195,7 @@ User context can be added and edited in structures supported by commands.
We encourage Kea users to utilize these functions to store information We encourage Kea users to utilize these functions to store information
used by other systems and custom hooks. used by other systems and custom hooks.
For example, the `subnet4-update` command can be used to add user context data For example, the ``subnet4-update`` command can be used to add user context data
to an existing subnet. to an existing subnet.
:: ::
@ -214,7 +214,7 @@ The same can be done with many other commands like lease6-add etc.
Kea also uses user context to store non-standard data. Kea also uses user context to store non-standard data.
Currently, only :ref:`dhcp4-store-extended-info` uses this feature. Currently, only :ref:`dhcp4-store-extended-info` uses this feature.
When enabled, it adds the ISC key in `user-context` to differentiate automatically When enabled, it adds the ISC key in ``user-context`` to differentiate automatically
added content. added content.
Example of relay information stored in a lease: Example of relay information stored in a lease:

View File

@ -2667,7 +2667,7 @@ servers set to 2001:db8:0::1 and 2001:db8:2::1.
This example shows a configuration using an automatically generated This example shows a configuration using an automatically generated
``VENDOR_CLASS_`` class. The administrator of the network has decided that ``VENDOR_CLASS_`` class. The administrator of the network has decided that
addresses in the range 2001:db8:1::1 to 2001:db8:1::ffff are to be addresses in the range 2001:db8:1::1 to 2001:db8:1::ffff are to be
managed by the DHCP6 server and that only clients belonging to the managed by the DHCPv6 server and that only clients belonging to the
eRouter1.0 client class are allowed to use that pool. eRouter1.0 client class are allowed to use that pool.
:: ::

View File

@ -564,7 +564,7 @@ Kea sources.
// This is how kea-netconf can communicate with the DHCPv4 server. // This is how kea-netconf can communicate with the DHCPv4 server.
"dhcp4": "dhcp4":
{ {
"comment": "DHCP4 server", "comment": "DHCPv4 server",
"model": "kea-dhcp4-server", "model": "kea-dhcp4-server",
"control-socket": "control-socket":
{ {

View File

@ -238,7 +238,7 @@ from incoming IPv6 packets. This parameter is ignored by the Kea DHCPv4 server.
If the packet contains only one IA_NA, the IAID value will be changed to ``0`` If the packet contains only one IA_NA, the IAID value will be changed to ``0``
and stored as such in the lease storage. Similarly if the packet contains only and stored as such in the lease storage. Similarly if the packet contains only
one IA_PD, the IAID value will be changed to ``0`` and stored as such in the one IA_PD, the IAID value will be changed to ``0`` and stored as such in the
lease storage. The IAID is restored to its intitial value in the response back lease storage. The IAID is restored to its initial value in the response back
to the client. The change is visible in the identifier expression if the IAID is to the client. The change is visible in the identifier expression if the IAID is
part of the expression. part of the expression.

View File

@ -22,7 +22,7 @@ to load those libraries.
Hook libraries are loaded by individual Kea processes, not by Kea as a Hook libraries are loaded by individual Kea processes, not by Kea as a
whole. This means, among other things, that it is possible to associate one set whole. This means, among other things, that it is possible to associate one set
of libraries with the DHCP4 server and a different set with the DHCP6 of libraries with the DHCPv4 server and a different set with the DHCPv6
server. server.
It is also possible for a process to load It is also possible for a process to load

View File

@ -88,7 +88,7 @@ during upgrade depending on which packages were originally installed:
If your goal is to have the entire Kea software suite installed, it is If your goal is to have the entire Kea software suite installed, it is
recommended that you simply ``apt install isc-kea`` after upgrading, which recommended that you simply ``apt install isc-kea`` after upgrading, which
will install all of the relevent subpackages that make up Kea. will install all of the relevant subpackages that make up Kea.
This upgrade path hiccup is not present on RPM and Alpine systems, however This upgrade path hiccup is not present on RPM and Alpine systems, however
if you experience issues with upgrading past 2.3.1, please inform us on the if you experience issues with upgrading past 2.3.1, please inform us on the

View File

@ -20,10 +20,10 @@ Regularly Tested Platforms
Kea is officially supported on Alpine, CentOS, Fedora, Ubuntu, Debian, Kea is officially supported on Alpine, CentOS, Fedora, Ubuntu, Debian,
and FreeBSD systems. Kea-|release| builds have been tested on: and FreeBSD systems. Kea-|release| builds have been tested on:
* Alpine — 3.13, 3.14, 3.15, 3.16 * Alpine — 3.14, 3.15, 3.16
* CentOS — 7 * CentOS — 7
* Debian — 10, 11 * Debian — 10, 11
* Fedora — 35, 36 * Fedora — 36
* FreeBSD — 12, 13 * FreeBSD — 12, 13
* RHEL — 8, 9 * RHEL — 8, 9
* Ubuntu — 18.04, 20.04, 22.04 * Ubuntu — 18.04, 20.04, 22.04
@ -38,29 +38,29 @@ ISC makes every effort to fix bugs on these platforms, but may be unable to
do so quickly due to lack of hardware, less familiarity on the part of do so quickly due to lack of hardware, less familiarity on the part of
engineering staff, and other constraints. engineering staff, and other constraints.
* FreeBSD — 11 * macOS — 11, 12, 13
* macOS — 10.15, 11, 12
Community-Maintained Community-Maintained
-------------------- --------------------
These systems may not all have the required dependencies for building Kea These systems have once been regularly tested, but official support for it has
easily available, although it is possible in many cases to compile been abandoned, usually due to discontinued support on their own part. Older
those directly from source. The community and interested parties may wish versions may not have the required dependencies for building Kea easily
to help with maintenance, and we welcome patch contributions, although we available, although it is possible in many cases to compile on those directly
cannot guarantee that we will accept them. All contributions are from source. The community and interested parties may wish to help with
assessed against the risk of adverse effect on officially supported maintenance, and we welcome patch contributions, although we cannot guarantee
platforms. that we will accept them. All contributions are assessed against the risk of
adverse effect on officially supported platforms.
These include platforms past their respective EOL dates, such as: These include platforms past their respective EOL dates, such as:
* Alpine — 3.10 (1 May 2021), 3.11, 3.12 * Alpine — 3.10, 3.11, 3.12, 3.13 (EOL 01 November 2022)
* CentOS — 6 (30 November 2020), 8 (31 December 2021) * CentOS — 6, 8 (EOL 31 December 2021)
* Debian — 8 (30 June 2020), 9 (June 30, 2022) * Debian — 8, 9 (EOL 30 June 2022)
* Fedora — 31, 32, 33, 34 * Fedora — 31, 32, 33, 34, 35 (EOL 13 December 2022)
* FreeBSD — 10 (31 October 2018) * FreeBSD — 10, 11 (EOL 30 September 2021)
* macOS — 10.13, 10.14 * macOS — 10.13, 10.14, 10.15 (EOL 12 September 2022)
* Ubuntu — 14.04, 18.10, 19.04, 19.10, 21.04 * Ubuntu — 14.04, 18.10, 19.04, 19.10, 21.04 (EOL 20 January 2022)
Unsupported Platforms Unsupported Platforms
--------------------- ---------------------

View File

@ -1,4 +1,4 @@
// Copyright (C) 2017 Internet Systems Consortium, Inc. ("ISC") // Copyright (C) 2017-2022 Internet Systems Consortium, Inc. ("ISC")
// //
// This Source Code Form is subject to the terms of the Mozilla Public // 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 // License, v. 2.0. If a copy of the MPL was not distributed with this
@ -122,7 +122,7 @@ It was eventually decided to not implement the secure layer within Kea for the f
burden on Kea maintenance. burden on Kea maintenance.
In the installations where securing command channel is critical (most of the In the installations where securing command channel is critical (most of the
installations?), a reverse HTTP proxy can be setup using one of the third installations?), a reverse HTTP proxy can be set up using one of the third
party HTTP server implementations, e.g. Apache, nginx etc. party HTTP server implementations, e.g. Apache, nginx etc.
*/ */

View File

@ -1,4 +1,4 @@
// Copyright (C) 2012-2018 Internet Systems Consortium, Inc. ("ISC") // Copyright (C) 2012-2022 Internet Systems Consortium, Inc. ("ISC")
// //
// This Source Code Form is subject to the terms of the Mozilla Public // 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 // License, v. 2.0. If a copy of the MPL was not distributed with this

View File

@ -75,6 +75,12 @@ This warning message indicates that a module used by Kea is not at the
right revision in the sysrepo repository. The name, expected and right revision in the sysrepo repository. The name, expected and
available revisions of the module are printed. available revisions of the module are printed.
% NETCONF_NOTIFICATION_RECEIVED Received notification of type %1 for module %1: %2
This informational message logs any YANG notification that has been signaled
by the server, sent to kea-netconf which then was forwarded to subscribed
clients. To achieve this, kea-netconf subscribes itself as a client to all
notifications for the configured module.
% NETCONF_NOT_SUBSCRIBED_TO_NOTIFICATIONS subscribing to notifications for %1 server with %2 module failed: %3 % NETCONF_NOT_SUBSCRIBED_TO_NOTIFICATIONS subscribing to notifications for %1 server with %2 module failed: %3
The warning message indicates that kea-netconf got an error subscribing to The warning message indicates that kea-netconf got an error subscribing to
notifications for a Kea server. The most probable cause is probably that the notifications for a Kea server. The most probable cause is probably that the
@ -82,12 +88,6 @@ model that kea-netconf subscribed to does not have any notification nodes, but
there may be other more unxpected causes as well. there may be other more unxpected causes as well.
The server name, module name and the error are printed. The server name, module name and the error are printed.
% NETCONF_NOTIFICATION_RECEIVED Received notification of type %1 for module %1: %2
This informational message logs any YANG notification that has been signaled
by the server, sent to kea-netconf which then was forwarded to subscribed
clients. To achieve this, kea-netconf subscribes itself as a client to all
notifications for the configured module.
% NETCONF_RUN_EXIT application is exiting the event loop % NETCONF_RUN_EXIT application is exiting the event loop
This is a debug message issued when kea-netconf exits its This is a debug message issued when kea-netconf exits its
event loop. This is a normal step during kea-netconf shutdown. event loop. This is a normal step during kea-netconf shutdown.

View File

@ -2996,7 +2996,7 @@ HAService::verifyAsyncResponse(const HttpResponsePtr& response, int& rcode) {
// The empty status can occur for the lease6-bulk-apply command. In that // The empty status can occur for the lease6-bulk-apply command. In that
// case, the response may contain conflicted or erred leases within the // case, the response may contain conflicted or erred leases within the
// arguments, rather than globally. For other error cases let's construct // arguments, rather than globally. For other error cases let's construct
// the error message from tyhe global values. // the error message from the global values.
if (rcode != CONTROL_RESULT_EMPTY) { if (rcode != CONTROL_RESULT_EMPTY) {
// Include an error text if available. // Include an error text if available.
if (args && args->getType() == Element::string) { if (args && args->getType() == Element::string) {

View File

@ -1,4 +1,4 @@
// Copyright (C) 2018-2021 Internet Systems Consortium, Inc. ("ISC") // Copyright (C) 2018-2022 Internet Systems Consortium, Inc. ("ISC")
// //
// This Source Code Form is subject to the terms of the Mozilla Public // 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 // License, v. 2.0. If a copy of the MPL was not distributed with this

View File

@ -1,4 +1,4 @@
// Copyright (C) 2011-2021 Internet Systems Consortium, Inc. ("ISC") // Copyright (C) 2011-2022 Internet Systems Consortium, Inc. ("ISC")
// //
// This Source Code Form is subject to the terms of the Mozilla Public // 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 // License, v. 2.0. If a copy of the MPL was not distributed with this
@ -247,8 +247,8 @@ IOFetch::operator()(boost::system::error_code ec, size_t length) {
} }
} }
// If we timeout, we stop, which will can cancel outstanding I/Os and // If we timeout, we stop, which cancels outstanding I/O operations and
// shutdown everything. // shuts down everything.
if (data_->timeout != -1) { if (data_->timeout != -1) {
data_->timer.expires_from_now(boost::posix_time::milliseconds( data_->timer.expires_from_now(boost::posix_time::milliseconds(
data_->timeout)); data_->timeout));

View File

@ -1,4 +1,4 @@
// Copyright (C) 2013-2021 Internet Systems Consortium, Inc. ("ISC") // Copyright (C) 2013-2022 Internet Systems Consortium, Inc. ("ISC")
// //
// This Source Code Form is subject to the terms of the Mozilla Public // 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 // License, v. 2.0. If a copy of the MPL was not distributed with this
@ -266,14 +266,14 @@ typedef boost::shared_ptr<D2Params> D2ParamsPtr;
class TSIGKeyInfo : public isc::data::UserContext, public isc::data::CfgToElement { class TSIGKeyInfo : public isc::data::UserContext, public isc::data::CfgToElement {
public: public:
/// @brief Defines string values for the supported TSIG algorithms /// @brief Defines string values for the supported TSIG algorithms
//@{ /// @{
static const char* HMAC_MD5_STR; static const char* HMAC_MD5_STR;
static const char* HMAC_SHA1_STR; static const char* HMAC_SHA1_STR;
static const char* HMAC_SHA256_STR; static const char* HMAC_SHA256_STR;
static const char* HMAC_SHA224_STR; static const char* HMAC_SHA224_STR;
static const char* HMAC_SHA384_STR; static const char* HMAC_SHA384_STR;
static const char* HMAC_SHA512_STR; static const char* HMAC_SHA512_STR;
//}@ /// @}
/// @brief Constructor /// @brief Constructor
/// ///

View File

@ -1,4 +1,4 @@
// Copyright (C) 2012-2021 Internet Systems Consortium, Inc. ("ISC") // Copyright (C) 2012-2022 Internet Systems Consortium, Inc. ("ISC")
// //
// This Source Code Form is subject to the terms of the Mozilla Public // 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 // License, v. 2.0. If a copy of the MPL was not distributed with this
@ -345,7 +345,7 @@ public:
/// @brief Return array type indicator. /// @brief Return array type indicator.
/// ///
/// The method returns the bool value to indicate whether the option is a /// The method returns the bool value to indicate whether the option is a
/// a single value or an array of values. /// single value or an array of values.
/// ///
/// @return true if option comprises an array of values. /// @return true if option comprises an array of values.
bool getArrayType() const { return (array_type_); } bool getArrayType() const { return (array_type_); }

View File

@ -379,7 +379,7 @@ public:
/// Kea configuration. To prevent this, option copying should be /// Kea configuration. To prevent this, option copying should be
/// enabled prior to passing the pointer to a packet to a hook library. /// enabled prior to passing the pointer to a packet to a hook library.
/// ///
/// Note that only only does this method causes the server to copy /// Not only does this method cause the server to copy
/// an option, but the copied option also replaces the original /// an option, but the copied option also replaces the original
/// option within the packet. The option can be then freely modified /// option within the packet. The option can be then freely modified
/// and the modifications will only affect the instance of this /// and the modifications will only affect the instance of this

View File

@ -278,7 +278,7 @@ TEST(ProtocolUtilTest, writeEthernetHeaderBroadcast) {
HWAddrPtr remote_hw_addr(new HWAddr(dest_hw_addr, 6, 1)); HWAddrPtr remote_hw_addr(new HWAddr(dest_hw_addr, 6, 1));
ASSERT_NO_THROW(pkt->setRemoteHWAddr(remote_hw_addr)); ASSERT_NO_THROW(pkt->setRemoteHWAddr(remote_hw_addr));
// Set the broadcast flasg. // Set the broadcast flags.
pkt->setFlags(pkt->getFlags() | Pkt4::FLAG_BROADCAST_MASK); pkt->setFlags(pkt->getFlags() | Pkt4::FLAG_BROADCAST_MASK);
// Construct the ethernet header using HW addresses stored // Construct the ethernet header using HW addresses stored
@ -331,7 +331,7 @@ TEST(ProtocolUtilTest, writeEthernetHeaderBroadcastRelayed) {
HWAddrPtr remote_hw_addr(new HWAddr(dest_hw_addr, 6, 1)); HWAddrPtr remote_hw_addr(new HWAddr(dest_hw_addr, 6, 1));
ASSERT_NO_THROW(pkt->setRemoteHWAddr(remote_hw_addr)); ASSERT_NO_THROW(pkt->setRemoteHWAddr(remote_hw_addr));
// Set the broadcast flasg. // Set the broadcast flags.
pkt->setFlags(pkt->getFlags() | Pkt4::FLAG_BROADCAST_MASK); pkt->setFlags(pkt->getFlags() | Pkt4::FLAG_BROADCAST_MASK);
// Set a gateway address: the broadcast flag is now for // Set a gateway address: the broadcast flag is now for

View File

@ -1,4 +1,4 @@
// Copyright (C) 2012-2019 Internet Systems Consortium, Inc. ("ISC") // Copyright (C) 2012-2022 Internet Systems Consortium, Inc. ("ISC")
// //
// This Source Code Form is subject to the terms of the Mozilla Public // 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 // License, v. 2.0. If a copy of the MPL was not distributed with this
@ -160,7 +160,7 @@ public:
/// @brief Removes staging configuration. /// @brief Removes staging configuration.
/// ///
/// This function should be called when there is a staging configuration /// This function should be called when there is a staging configuration
/// (likely created in the previous configuration attempt) but the entirely /// (likely created in the previous configuration attempt) but the entire
/// new configuration should be created. It removes the existing staging /// new configuration should be created. It removes the existing staging
/// configuration and the next call to @c CfgMgr::getStagingCfg will return a /// configuration and the next call to @c CfgMgr::getStagingCfg will return a
/// fresh (default) configuration. /// fresh (default) configuration.

View File

@ -318,7 +318,7 @@ public:
/// If incoming packet is associated with the template class, the name of /// If incoming packet is associated with the template class, the name of
/// generated spawned class is prepended with this prefix. /// generated spawned class is prepended with this prefix.
/// For example, a packet that associates with the template class "FOO" by /// For example, a packet that associates with the template class "FOO" by
/// evaluating the templeta class expression to BAR will cause the packet to /// evaluating the template class expression to BAR will cause the packet to
/// be assigned to class SPAWN_FOO_BAR. /// be assigned to class SPAWN_FOO_BAR.
static const std::string SPAWN_CLASS_PREFIX; static const std::string SPAWN_CLASS_PREFIX;
}; };

View File

@ -395,14 +395,14 @@ and the fact tables are enabled or disabled are displayed.
The code has issued a begin transaction call. For the memory file database, this is The code has issued a begin transaction call. For the memory file database, this is
a no-op. a no-op.
% DHCPSRV_MEMFILE_BUILD_EXTENDED_INFO_TABLES6_ERROR building extended info tables got an exception on the lease for %1: %2
A debug message issued when the server is building extended info tables and
receives an exception processing a lease.
% DHCPSRV_MEMFILE_BUILD_EXTENDED_INFO_TABLES6 building extended info tables saw %1 leases, extended info sanity checks modified %2 / updated %3 leases and %4 leases were entered into tables % DHCPSRV_MEMFILE_BUILD_EXTENDED_INFO_TABLES6 building extended info tables saw %1 leases, extended info sanity checks modified %2 / updated %3 leases and %4 leases were entered into tables
Extended info tables build was finished. Some statistics are displayed, the Extended info tables build was finished. Some statistics are displayed, the
updated in database is returned to the command interface. updated in database is returned to the command interface.
% DHCPSRV_MEMFILE_BUILD_EXTENDED_INFO_TABLES6_ERROR building extended info tables got an exception on the lease for %1: %2
A debug message issued when the server is building extended info tables and
receives an exception processing a lease.
% DHCPSRV_MEMFILE_COMMIT committing to memory file database % DHCPSRV_MEMFILE_COMMIT committing to memory file database
The code has issued a commit call. For the memory file database, this is The code has issued a commit call. For the memory file database, this is
a no-op. a no-op.

View File

@ -2444,8 +2444,9 @@ Memfile_LeaseMgr::getLeaseLimit(ConstElementPtr parent, Lease::Type ltype, size_
} }
namespace { namespace {
std::string std::string
idtoText(const OptionBuffer& id) { idToText(const OptionBuffer& id) {
std::stringstream tmp; std::stringstream tmp;
tmp << std::hex; tmp << std::hex;
bool delim = false; bool delim = false;
@ -2460,6 +2461,7 @@ idtoText(const OptionBuffer& id) {
} }
return (tmp.str()); return (tmp.str());
} }
} // anonymous namespace } // anonymous namespace
Lease4Collection Lease4Collection
@ -2479,7 +2481,7 @@ Memfile_LeaseMgr::getLeases4ByRelayId(const OptionBuffer& relay_id,
DHCPSRV_MEMFILE_GET_RELAYID4) DHCPSRV_MEMFILE_GET_RELAYID4)
.arg(page_size.page_size_) .arg(page_size.page_size_)
.arg(lower_bound_address.toText()) .arg(lower_bound_address.toText())
.arg(idtoText(relay_id)) .arg(idToText(relay_id))
.arg(qry_start_time) .arg(qry_start_time)
.arg(qry_end_time); .arg(qry_end_time);
@ -2525,7 +2527,7 @@ Memfile_LeaseMgr::getLeases4ByRemoteId(const OptionBuffer& remote_id,
DHCPSRV_MEMFILE_GET_REMOTEID4) DHCPSRV_MEMFILE_GET_REMOTEID4)
.arg(page_size.page_size_) .arg(page_size.page_size_)
.arg(lower_bound_address.toText()) .arg(lower_bound_address.toText())
.arg(idtoText(remote_id)) .arg(idToText(remote_id))
.arg(qry_start_time) .arg(qry_start_time)
.arg(qry_end_time); .arg(qry_end_time);
@ -2690,7 +2692,7 @@ Memfile_LeaseMgr::getLeases6ByRemoteId(const OptionBuffer& remote_id,
DHCPSRV_MEMFILE_GET_REMOTEID6) DHCPSRV_MEMFILE_GET_REMOTEID6)
.arg(page_size.page_size_) .arg(page_size.page_size_)
.arg(lower_bound_address.toText()) .arg(lower_bound_address.toText())
.arg(idtoText(remote_id)) .arg(idToText(remote_id))
.arg(link_addr.toText()) .arg(link_addr.toText())
.arg(static_cast<unsigned>(link_len)); .arg(static_cast<unsigned>(link_len));

View File

@ -1,4 +1,4 @@
// Copyright (C) 2012-2020 Internet Systems Consortium, Inc. ("ISC") // Copyright (C) 2012-2022 Internet Systems Consortium, Inc. ("ISC")
// //
// This Source Code Form is subject to the terms of the Mozilla Public // 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 // License, v. 2.0. If a copy of the MPL was not distributed with this

View File

@ -171,4 +171,4 @@ TEST(IterativeAllocationStateTest, poolLastAllocated6) {
EXPECT_FALSE(state->isLastAllocatedValid()); EXPECT_FALSE(state->isLastAllocatedValid());
} }
} // end of anonymouns namespace } // anonymous namespace

View File

@ -1241,7 +1241,7 @@ TEST_F(MemfileExtendedInfoTest, updateLease6ignore) {
// Note that with persist when the database is reloaded the user context // Note that with persist when the database is reloaded the user context
// is still there so tables will be updated: the ACTION_IGNORE setting // is still there so tables will be updated: the ACTION_IGNORE setting
// has no persistent effect: instead clenup the user context before // has no persistent effect: instead cleanup the user context before
// calling updateLease6... // calling updateLease6...
} }

View File

@ -1,4 +1,4 @@
// Copyright (C) 2011-2015,2017 Internet Systems Consortium, Inc. ("ISC") // Copyright (C) 2011-2022 Internet Systems Consortium, Inc. ("ISC")
// //
// This Source Code Form is subject to the terms of the Mozilla Public // 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 // License, v. 2.0. If a copy of the MPL was not distributed with this
@ -38,7 +38,7 @@ typedef boost::shared_ptr<LoggerDuplicatesList> LoggerDuplicatesListPtr;
/// This is a helper class to add a set of message IDs and associated text to /// This is a helper class to add a set of message IDs and associated text to
/// the global dictionary. /// the global dictionary.
/// ///
/// It should be declared outside an execution unit and initialized with a /// It should be declared outside an execution unit and initialized with
/// an array of values, alternating identifier, associated text and ending with /// an array of values, alternating identifier, associated text and ending with
/// a NULL, e.g. /// a NULL, e.g.
/// ///

View File

@ -764,7 +764,6 @@ public:
/// will be stored. /// will be stored.
/// @param buffer_size size of the output buffer /// @param buffer_size size of the output buffer
/// @param[out] bytes_converted number of bytes converted /// @param[out] bytes_converted number of bytes converted
/// value
/// ///
/// @throw DbOperationError if the value cannot be fetched or is /// @throw DbOperationError if the value cannot be fetched or is
/// invalid. /// invalid.

View File

@ -307,7 +307,7 @@ public:
/// @brief Returns an empty end point. /// @brief Returns an empty end point.
/// ///
/// @return an unitialized endpoint. /// @return an uninitialized endpoint.
static const boost::asio::ip::tcp::endpoint& NO_ENDPOINT() { static const boost::asio::ip::tcp::endpoint& NO_ENDPOINT() {
static boost::asio::ip::tcp::endpoint endpoint; static boost::asio::ip::tcp::endpoint endpoint;
return (endpoint); return (endpoint);

View File

@ -6,6 +6,20 @@
$NAMESPACE isc::tcp $NAMESPACE isc::tcp
% MT_TCP_LISTENER_MGR_STARTED MtTcpListenerMgr started with %1 threads, listening on %2:%3, use TLS: %4
This debug messages is issued when an MtTcpListenerMgr has been started to
accept connections. Arguments detail the number of threads that the listener
is using, the address and port at which it is listening, and if TLS is used
or not.
% MT_TCP_LISTENER_MGR_STOPPED MtTcpListenerMgr for %1:%2 stopped.
This debug messages is issued when the MtTcpListenerMgr, listening
at the given address and port, has completed shutdown.
% MT_TCP_LISTENER_MGR_STOPPING Stopping MtTcpListenerMgr for %1:%2
This debug messages is issued when the MtTcpListenerMgr, listening
at the given address and port, has begun to shutdown.
% TCP_CLIENT_REQUEST_RECEIVED received TCP request from %1 % TCP_CLIENT_REQUEST_RECEIVED received TCP request from %1
This debug message is issued when the server finished receiving a TCP This debug message is issued when the server finished receiving a TCP
request from the remote endpoint. The address of the remote endpoint is request from the remote endpoint. The address of the remote endpoint is
@ -26,6 +40,10 @@ with the remote endpoint. The first argument specifies the address
of the remote endpoint. The second argument specifies request timeout in of the remote endpoint. The second argument specifies request timeout in
seconds. seconds.
% TCP_CONNECTION_REJECTED_BY_FILTER connection from %1 has been denied by the connection filter.
This debug message is issued when the server's connection filter rejects
a new connection based on the client's ip address.
% TCP_CONNECTION_SHUTDOWN shutting down TCP connection from %1 % TCP_CONNECTION_SHUTDOWN shutting down TCP connection from %1
This debug message is issued when one of the TCP connections is shut down. This debug message is issued when one of the TCP connections is shut down.
The connection can be stopped as a result of an error or after the The connection can be stopped as a result of an error or after the
@ -61,9 +79,11 @@ transaction. This is proven to occur when the system clock is moved manually
or as a result of synchronization with a time server. Any ongoing transactions or as a result of synchronization with a time server. Any ongoing transactions
will be interrupted. New transactions should be conducted normally. will be interrupted. New transactions should be conducted normally.
% TCP_CONNECTION_REJECTED_BY_FILTER connection from %1 has been denied by the connection filter. % TCP_REQUEST_RECEIVED_FAILED An unexpected error occurred processing a request from %1, error: %2
This debug message is issued when the server's connection filter rejects This error message is issued when an unexpected error occurred while the
a new connection based on the client's ip address. server attempted to process a received request. The first argument specifies
the address of the remote endpoint. The second argument describes the nature
error.
% TCP_REQUEST_RECEIVE_START start receiving request from %1 with timeout %2 % TCP_REQUEST_RECEIVE_START start receiving request from %1 with timeout %2
This debug message is issued when the server starts receiving new request This debug message is issued when the server starts receiving new request
@ -71,12 +91,6 @@ over the established connection. The first argument specifies the address
of the remote endpoint. The second argument specifies request timeout in of the remote endpoint. The second argument specifies request timeout in
seconds. seconds.
% TCP_REQUEST_RECEIVED_FAILED An unexpected error occurred processing a request from %1, error: %2
This error message is issued when an unexpected error occurred while the
server attempted to process a received request. The first argument specifies
the address of the remote endpoint. The second argument describes the nature
error.
% TCP_SERVER_RESPONSE_SEND sending TCP response %1 to %2 % TCP_SERVER_RESPONSE_SEND sending TCP response %1 to %2
This debug message is issued when the server is starting to send a TCP This debug message is issued when the server is starting to send a TCP
response to a remote endpoint. The first argument holds basic information response to a remote endpoint. The first argument holds basic information
@ -90,17 +104,3 @@ first argument specifies an address of the remote endpoint to which the
response is being sent. The second argument provides a response in the response is being sent. The second argument provides a response in the
textual form. The response is truncated by the logger if it is too large textual form. The response is truncated by the logger if it is too large
to be printed. to be printed.
% MT_TCP_LISTENER_MGR_STARTED MtTcpListenerMgr started with %1 threads, listening on %2:%3, use TLS: %4
This debug messages is issued when an MtTcpListenerMgr has been started to
accept connections. Arguments detail the number of threads that the listener
is using, the address and port at which it is listening, and if TLS is used
or not.
% MT_TCP_LISTENER_MGR_STOPPED MtTcpListenerMgr for %1:%2 stopped.
This debug messages is issued when the MtTcpListenerMgr, listening
at the given address and port, has completed shutdown.
% MT_TCP_LISTENER_MGR_STOPPING Stopping MtTcpListenerMgr for %1:%2
This debug messages is issued when the MtTcpListenerMgr, listening
at the given address and port, has begun to shutdown.

View File

@ -290,7 +290,7 @@ protected:
/// @brief Id to use for the next connection. /// @brief Id to use for the next connection.
size_t next_connection_id_; size_t next_connection_id_;
/// @brief Callback connection invokes in requestReceived to construct a respsonse. /// @brief Callback connection invokes in requestReceived to construct a response.
TcpTestConnection::ResponseHandler response_handler_; TcpTestConnection::ResponseHandler response_handler_;
public: public:

View File

@ -282,7 +282,7 @@ protected:
/// ///
/// Note to developers: it may make more sense to introduce an abstract base /// Note to developers: it may make more sense to introduce an abstract base
/// class for the \c OutputBuffer and define the simple implementation as a /// class for the \c OutputBuffer and define the simple implementation as a
/// a concrete derived class. That way we can provide flexibility for future /// concrete derived class. That way we can provide flexibility for future
/// extension such as more efficient buffer implementation or allowing users /// extension such as more efficient buffer implementation or allowing users
/// to have their own customized version without modifying the source code. /// to have their own customized version without modifying the source code.
/// We in fact considered that option, but at the moment chose the simpler /// We in fact considered that option, but at the moment chose the simpler

View File

@ -202,9 +202,8 @@ public:
/// in the sysrepo datastore by calling Session::getData(). It should be /// in the sysrepo datastore by calling Session::getData(). It should be
/// used sparingly in production code. It is primarily meant for unit tests. /// used sparingly in production code. It is primarily meant for unit tests.
/// ///
/// @param xpath the xpath to be travelled /// @param xpath the xpath of the root node belonging to the the tree being traversed
/// @param f the function to be called on the node itself and each /// @param f the function to be called on the node itself and each descendant
/// descendant
template <typename functor_t> template <typename functor_t>
void forAll(std::string const& xpath, functor_t f) const { void forAll(std::string const& xpath, functor_t f) const {
std::optional<libyang::DataNode> const& data_node(session_.getData(xpath)); std::optional<libyang::DataNode> const& data_node(session_.getData(xpath));