// re-detected.
"re-detect": true,
- // Kea tries to bind the service sockets during initialiation. It may
+ // Kea tries to bind the service sockets during initialization. It may
// fail due to a port being already opened or misconfiguration. Kea can
// suppress these errors and only logs them. This flag prevents starting
// the DHCP server without binding all sockets. If unspecified, it
// defaults to false.
"service-sockets-require-all": true,
- // Kea tries to bind the service sockets during initialiation. This
+ // Kea tries to bind the service sockets during initialization. This
// option specifies how many times binding to interface will be retried.
// The default value is 0 which means that the operation will not be
// repeated.
// re-detected.
"re-detect": true,
- // Kea tries to bind the service sockets during initialiation. It may
+ // Kea tries to bind the service sockets during initialization. It may
// fail due to a port being already opened or misconfiguration. Kea can
// suppress these errors and only logs them. This flag prevents starting
// the DHCP server without binding all sockets. If unspecified, it
// defaults to false.
"service-sockets-require-all": true,
- // Kea tries to bind the service sockets during initialiation. This
+ // Kea tries to bind the service sockets during initialization. This
// option specifies how many times binding to interface will be retried.
// The default value is 0 which means that the operation will not be
// repeated.
either host reservations or configuration backend.
The server is also able to receive packets with split options (options using
-the same option code) and to fuse the data chuncks into one option. This is
+the same option code) and to fuse the data chunks into one option. This is
also supported for suboptions if each suboption data chunk also contains the
suboption code and suboption length.
| | | subnet separately. |
+----------------------------------------------+----------------+------------------------------------+
| v4-allocation-fail-shared-network | integer | Number of address allocation |
- | | | failures for a paticular client |
+ | | | failures for a particular client |
| | | connected to a shared network. |
| | | This is a global statistic that |
| | | covers all subnets. |
+----------------------------------------------+----------------+------------------------------------+
| subnet[id].v4-allocation-fail-shared-network | integer | Number of address allocation |
- | | | failures for a paticular client |
+ | | | failures for a particular client |
| | | connected to a shared network. |
| | | The *id* is the subnet-id of a |
| | | given subnet. This statistic is |
| | | subnet separately. |
+----------------------------------------------+----------------+------------------------------------+
| v6-allocation-fail-shared-network | integer | Number of address allocation |
- | | | failures for a paticular client |
+ | | | failures for a particular client |
| | | connected to a shared network. |
| | | This is a global statistic that |
| | | covers all subnets. |
+----------------------------------------------+----------------+------------------------------------+
| subnet[id].v6-allocation-fail-shared-network | integer | Number of address allocation |
- | | | failures for a paticular client |
+ | | | failures for a particular client |
| | | connected to a shared network. |
| | | The *id* is the subnet-id of a |
| | | given subnet. This statistic is |
client is matched to this class, kea servers (kea-dhcp4 and kea-dhcp6) will not
send DDNS update requests (NCRs) to kea-dhcp-ddns. A common use-case would be
to skip DDNS updates for fixed-address host reservations. This is done easily by
-simply assiging the class to the host reservation as shown below:
+simply assigning the class to the host reservation as shown below:
.. code-block:: javascript
should be created if it does not exit in the ``add`` and ``supersede``
action. When not specified, it defaults to true.
-- ``container-remove`` - booleand value which specifies if the container option
+- ``container-remove`` - boolean value which specifies if the container option
should be deleted if it remains empty after the removal of a sub-option by
the ``remove`` action. When not specified, it defaults to true.
-- ``csv-format`` - booleand value which specifies if the raw value of the
+- ``csv-format`` - boolean value which specifies if the raw value of the
evaluated expression is used (false, default) or parsed using the sub-option
definition (true).
host name as well as whether or not forward and/or reverse updates are
enabled.
- Upon entry into the callout, the arguments <b>hostname</b>,<b>fwd_udpate</b>,
- and <b>rev_udpate</b> have been set by the server based on the client packet,
- and various configuration values (e.g host reservations, DDNS behaviorial
+ Upon entry into the callout, the arguments <b>hostname</b>,<b>fwd_update</b>,
+ and <b>rev_update</b> have been set by the server based on the client packet,
+ and various configuration values (e.g host reservations, DDNS behavioral
parameters, etc). Upon return from the callout, any changes to these
values will be applied as follows:
- If <b>hostname</b> has changed it will be used to update the outbound
host name (option 12) if it exists, the output FQDN option (option 81)
if it exists, and used as the FQDN sent in DNS updates
- - Forward DNS update(s) will be done if <b>fwd_udpate</b> is true (and
+ - Forward DNS update(s) will be done if <b>fwd_update</b> is true (and
<b>kea-dhcp-ddns</b> connectivity is enabled)
- - Reverse DNS update(s) will be done if <b>rev_udpate</b> is true (and
+ - Reverse DNS update(s) will be done if <b>rev_update</b> is true (and
<b>kea-dhcp-ddns</b> connectivity is enabled)
- <b>Next step status</b>: Not applicable, its value will be ignored.
host name as well as whether or not forward and/or reverse updates are
enabled.
- Upon entry into the callout, the arguments <b>hostname</b>,<b>fwd_udpate</b>,
- and <b>rev_udpate</b> have been set by the server based on the client packet,
- and various configuration values (e.g host reservations, DDNS behaviorial
+ Upon entry into the callout, the arguments <b>hostname</b>,<b>fwd_update</b>,
+ and <b>rev_update</b> have been set by the server based on the client packet,
+ and various configuration values (e.g host reservations, DDNS behavioral
parameters, etc). Upon return from the callout, any changes to these
values will be applied as follows:
- If <b>hostname</b> has changed it will be used to update the outbound
FQDN option (option 39) if it exists, and used as the FQDN sent in DNS
updates
- - Forward DNS update(s) will be done if <b>fwd_udpate</b> is true (and
+ - Forward DNS update(s) will be done if <b>fwd_update</b> is true (and
<b>kea-dhcp-ddns</b> connectivity is enabled)
- - Reverse DNS update(s) will be done if <b>rev_udpate</b> is true (and
+ - Reverse DNS update(s) will be done if <b>rev_update</b> is true (and
<b>kea-dhcp-ddns</b> connectivity is enabled)
- <b>Next step status</b>: Not applicable, its value will be ignored.
// but the prefix will not match. According to the RFC 8415, section 18.3.5
// the server may return delegated prefix with lifetime of 0 when it
// finds that the lease entry for the particular IAID but the prefix
- // is not appropriate. This constitues explicit notification to the
+ // is not appropriate. This constitutes explicit notification to the
// client to not use this prefix.
ASSERT_NO_THROW(client.doRebind());
// Make sure that the server has discarded client's message. In such case,
class CfgControlSocket : public isc::data::UserContext,
public isc::data::CfgToElement {
public:
- /// @brief Defines the list of possible constrol socket types.
+ /// @brief Defines the list of possible control socket types.
enum Type {
UNIX, //< Unix socket.
HTTP, //< HTTP socket.
EXPECT_EQ(errmsg.str(), impl_->getErrMsg());
}
-// Verify that a sub-option configuration must retrive a space.
+// Verify that a sub-option configuration must retrieve a space.
TEST_F(FlexSubOptionTest, subOptionConfigNoSpace) {
ElementPtr options = Element::createList();
ElementPtr option = Element::createMap();
/// @brief Attempts to add a backend instance to the CB manager.
///
/// @param access Connection access string containing the database
- /// connetion parameters.
+ /// connection parameters.
virtual void addBackend(const std::string& access) {
ConfigBackendDHCPv4Mgr::instance().addBackend(access);
}
/// @brief Attempts to add a backend instance to the CB manager.
///
/// @param access Connection access string containing the database
- /// connetion parameters.
+ /// connection parameters.
virtual void addBackend(const std::string& access) {
ConfigBackendDHCPv6Mgr::instance().addBackend(access);
}
<< subnet->getID() << ", prefix: " << subnet->toText());
}
- // Remove existing server assocation.
+ // Remove existing server association.
PsqlBindArray server_bindings;
server_bindings.add(subnet->getID());
updateDeleteQuery(PgSqlConfigBackendDHCPv4Impl::DELETE_SUBNET4_SERVER,
updateDeleteQuery(PgSqlConfigBackendDHCPv4Impl::UPDATE_SHARED_NETWORK4,
in_bindings);
- // Remove existing server assocation.
+ // Remove existing server association.
PsqlBindArray server_bindings;
server_bindings.addTempString(shared_network->getName());
updateDeleteQuery(PgSqlConfigBackendDHCPv4Impl::DELETE_SHARED_NETWORK4_SERVER,
<< subnet->getID() << ", prefix: " << subnet->toText());
}
- // Remove existing server assocation.
+ // Remove existing server association.
PsqlBindArray server_bindings;
server_bindings.add(subnet->getID());
updateDeleteQuery(PgSqlConfigBackendDHCPv6Impl::DELETE_SUBNET6_SERVER,
updateDeleteQuery(PgSqlConfigBackendDHCPv6Impl::UPDATE_SHARED_NETWORK6,
in_bindings);
- // Remove existing server assocation.
+ // Remove existing server association.
PsqlBindArray server_bindings;
server_bindings.addTempString(shared_network->getName());
updateDeleteQuery(PgSqlConfigBackendDHCPv6Impl::DELETE_SHARED_NETWORK6_SERVER,
OID_INT2, // 15 code (of option to update)
OID_VARCHAR // 16 space (of option to update)
},
- "UPDATE_OPTION6_CIENT_CLASS",
+ "UPDATE_OPTION6_CLIENT_CLASS",
PGSQL_UPDATE_OPTION6_NO_TAG(o.scope_id = 2 AND o.dhcp_client_class = $14 AND o.code = $15 AND o.space = $16)
},
/// @brief Adds network ddns-replace-client-name mode to a bind array.
///
- /// If network's value of ddsn-replace-client-name mode has been specified
+ /// If network's value of ddns-replace-client-name mode has been specified
/// it is added to the binding, otherwise a null is added to the binding.
///
/// @param bindings PsqlBindArray to which the mode should be added.
/// @brief Attempts to add a backend instance to the CB manager.
///
/// @param access Connection access string containing the database
- /// connetion parameters.
+ /// connection parameters.
virtual void addBackend(const std::string& access) {
ConfigBackendDHCPv4Mgr::instance().addBackend(access);
}
/// @brief Attempts to add a backend instance to the CB manager.
///
/// @param access Connection access string containing the database
- /// connetion parameters.
+ /// connection parameters.
virtual void addBackend(const std::string& access) {
ConfigBackendDHCPv6Mgr::instance().addBackend(access);
}
///
/// @param host Hostname to be used for selecting a backend.
/// @param port Port number to be used for selecting a backend. This value
- /// is optional and is ignored when set to 0. It must be used on conjuction
+ /// is optional and is ignored when set to 0. It must be used in conjunction
/// with hostname.
explicit BackendSelector(const std::string& host, const uint16_t port = 0);
/// @brief Checks if the specified selector is valid.
///
- /// It checks if the port number is specified in conjuction with
+ /// It checks if the port number is specified in conjunction with
/// host.
/// @throw BadValue if selector validation fails.
void validate() const;
// for preventing bind errors or re-opening sockets.
// The @ref IfaceMgr::hasOpenSocket(addr) does match the "::"
// address on BSD and Solaris on any interface, so we make sure that
- // that interface actually has opened sockets by checking the numner
+ // that interface actually has opened sockets by checking the number
// of sockets to be non zero.
if (!skip_opened || !IfaceMgr::hasOpenSocket(addr) ||
!iface->getSockets().size()) {
// for preventing bind errors or re-opening sockets.
// The @ref IfaceMgr::hasOpenSocket(addr) does match the "::"
// address on BSD and Solaris on any interface, so we make sure that
- // the interface actually has opened sockets by checking the numner
+ // the interface actually has opened sockets by checking the number
// of sockets to be non zero.
if (!skip_opened || !IfaceMgr::hasOpenSocket(addr) ||
!iface->getSockets().size()) {
/// Constructor, used in replying to a message.
///
- /// @param msg_type type of message (e.g. DHCPDISOVER=1)
+ /// @param msg_type type of message (e.g. DHCPDISCOVER=1)
/// @param transid transaction-id
Pkt4(uint8_t msg_type, uint32_t transid);
EXPECT_EQ(2, errors_count_);
}
-// Test that no exception is thown when a port is already bound but skip open
+// Test that no exception is thrown when a port is already bound but skip open
// flag is provided.
TEST_F(IfaceMgrTest, openSockets4SkipOpen) {
NakedIfaceMgr ifacemgr;
EXPECT_EQ(2, errors_count_);
}
-// Test that no exception is thown when a port is already bound but skip open
+// Test that no exception is thrown when a port is already bound but skip open
// flag is provided.
TEST_F(IfaceMgrTest, openSockets6SkipOpen) {
NakedIfaceMgr ifacemgr;
/// -# ab:cd:ef - colon delimited
/// -# ab cd ef - space delimited
/// -# 0xabcdef - 0x prefixed (no delimiters)
- /// -# abcdef - no prefix or delimeters
+ /// -# abcdef - no prefix or delimiters
///
/// A leading zero is assumed for odd number of digits
/// in an octet or continuous string.
/// @param result_string The expected result of the eval
/// @param should_throw The eval will throw
void verifySplitEval(const std::string& test_string,
- const std::string& test_delimeters,
+ const std::string& test_delimiters,
const std::string& test_field,
const std::string& result_string,
bool should_throw = false) {
// push values on stack
values_.push(test_string);
- values_.push(test_delimeters);
+ values_.push(test_delimiters);
values_.push(test_field);
// evaluate the token
testInteger(encode(4294967295), 4294967295);
}
-// Verify TokenSplit::eval, single delimeter.
+// Verify TokenSplit::eval, single delimiter.
TEST_F(TokenTest, split) {
// Get the whole string
std::string input(".two.three..five.");
EXPECT_TRUE(checkFile());
}
-// Verify TokenSplit::eval with more than one delimeter.
+// Verify TokenSplit::eval with more than one delimiter.
TEST_F(TokenTest, splitMultipleDelims) {
// Get the whole string
std::string input(".two:three.:five.");
/// to operate on sub-options. It also adds additional capabilities.
///
/// Note: @c TokenSubOption virtually derives @c TokenOption because both
-/// classes are inherided together in more complex classes in other parts of
+/// classes are inherited together in more complex classes in other parts of
/// the code. This makes the base class @c TokenOption to exist only once in
/// such complex classes.
///
/// Access control parameters: Flags which indicate what information to record.
/// Remote address and TLS usage are always recorded.
- /// @brief Record subjet name.
+ /// @brief Record subject name.
static bool recordSubject_;
/// @brief Record issuer name.
/// @brief Simulates external registery of Connection TCP sockets
///
- /// Provides methods compatible with Connection callbacks for connnect
+ /// Provides methods compatible with Connection callbacks for connect
/// and close operations.
class ExternalMonitor {
public:
}
}));
- // Record subjet and issuer: they will be check during response creation.
+ // Record subject and issuer: they will be checked during response creation.
HttpRequest::recordSubject_ = true;
HttpRequest::recordIssuer_ = true;
/// @brief Simulates external registry of Connection TCP sockets
///
- /// Provides methods compatible with Connection callbacks for connnect
+ /// Provides methods compatible with Connection callbacks for connect
/// and close operations.
class ExternalMonitor {
public:
/// @brief Converts a column in a row in a result set to a binary bytes
///
- /// Method is used to convert columns stored as BYTEA into a vectory of
+ /// Method is used to convert columns stored as BYTEA into a vector of
/// binary bytes, (uint8_t). It uses PQunescapeBytea to do the conversion.
///
/// @param r the result set containing the query results
/// default value. If this column is null, the Triplet is returned
/// as unspecified.
/// @param min_col the column number within the row that contains the
- /// minium value.
+ /// minimum value.
/// @param max_col the column number within the row that contains the
/// maximum value.
/// @return Triplet to receive the column value
/// default value. If this column is null, the Triplet is returned
/// as unspecified.
/// @param min_col the column number within the row that contains the
- /// minium value.
+ /// minimum value.
/// @param max_col the column number within the row that contains the
/// maximum value.
/// @return Triplet to receive the column value
/// @brief Load all libraries.
///
- /// @return true if all libraries loaded succesfully, false if one or more
+ /// @return true if all libraries loaded successfully, false if one or more
/// libraries failed to load.
bool loadLibraries() {
bool result(false);