mirror of
https://gitlab.isc.org/isc-projects/kea
synced 2025-08-30 21:45:37 +00:00
[#3469] Corrected MySQL binding offsets for class update
/src/hooks/dhcp/mysql_cb/mysql_cb_dhcp6.cc MySqlConfigBackendDHCPv6Impl::createUpdateClientClass6() - corrected binding offsets /src/lib/dhcpsrv/testutils/generic_cb_dhcp6_unittest.cc GenericConfigBackendDHCPv6Test::createUpdateClientClass6OptionsTest() - added lifetime member checks
This commit is contained in:
@@ -1,3 +1,10 @@
|
||||
2267. [bug] tmark
|
||||
Corrected an issue in MySQL config back end that
|
||||
causes preferred life time values to be overwritten
|
||||
when updating client classes via remote-set-class6.
|
||||
command.
|
||||
(Gitlab #3469)
|
||||
|
||||
2266. [bug] fdupont
|
||||
Improved the code handling multiple instances of
|
||||
the same v4 option according to RFC 3396.
|
||||
|
@@ -3118,7 +3118,7 @@ public:
|
||||
// If position is not specified, leave the class at the same position.
|
||||
// Remove the binding which specifies the position and use different
|
||||
// query.
|
||||
in_bindings.erase(in_bindings.begin() + 10, in_bindings.begin() + 11);
|
||||
in_bindings.erase(in_bindings.begin() + 7, in_bindings.begin() + 8);
|
||||
conn_.updateDeleteQuery(MySqlConfigBackendDHCPv6Impl::UPDATE_CLIENT_CLASS6_SAME_POSITION,
|
||||
in_bindings);
|
||||
} else {
|
||||
|
@@ -4450,6 +4450,14 @@ GenericConfigBackendDHCPv6Test::createUpdateClientClass6OptionsTest() {
|
||||
ASSERT_NO_THROW_LOG(client_class = cbptr_->getClientClass6(ServerSelector::ALL(), class1->getName()));
|
||||
ASSERT_TRUE(client_class);
|
||||
|
||||
// Verify lifetime values.
|
||||
EXPECT_EQ(30, client_class->getValid().getMin());
|
||||
EXPECT_EQ(60, client_class->getValid().get());
|
||||
EXPECT_EQ(90, client_class->getValid().getMax());
|
||||
EXPECT_EQ(25, client_class->getPreferred().getMin());
|
||||
EXPECT_EQ(55, client_class->getPreferred().get());
|
||||
EXPECT_EQ(85, client_class->getPreferred().getMax());
|
||||
|
||||
// Validate options belonging to the class.
|
||||
ASSERT_TRUE(client_class->getCfgOption());
|
||||
OptionDescriptor returned_opt_new_posix_timezone =
|
||||
@@ -4495,6 +4503,14 @@ GenericConfigBackendDHCPv6Test::createUpdateClientClass6OptionsTest() {
|
||||
ASSERT_NO_THROW_LOG(client_class = cbptr_->getClientClass6(ServerSelector::ALL(), class1->getName()));
|
||||
ASSERT_TRUE(client_class);
|
||||
|
||||
// Re-check lifetime values. This ensure bindings line up.
|
||||
EXPECT_EQ(30, client_class->getValid().getMin());
|
||||
EXPECT_EQ(60, client_class->getValid().get());
|
||||
EXPECT_EQ(90, client_class->getValid().getMax());
|
||||
EXPECT_EQ(25, client_class->getPreferred().getMin());
|
||||
EXPECT_EQ(55, client_class->getPreferred().get());
|
||||
EXPECT_EQ(85, client_class->getPreferred().getMax());
|
||||
|
||||
// Ensure that the first option definition is gone.
|
||||
ASSERT_TRUE(client_class->getCfgOptionDef());
|
||||
returned_def_foo = client_class->getCfgOptionDef()->get(test_option_defs_[0]->getOptionSpaceName(),
|
||||
|
Reference in New Issue
Block a user