2
0
mirror of https://gitlab.isc.org/isc-projects/kea synced 2025-08-22 01:49:48 +00:00

37686 Commits

Author SHA1 Message Date
Thomas Markwalder
6a10ce215b [#3949] Address review comments
Fixed a typo in src/lib/dhcpsrv/tests/d2_client_unittest.cc
2025-08-04 13:03:29 +00:00
Thomas Markwalder
05159da108 [#3949] Do not add suffix to qualifed host names
/src/bin/dhcp4/tests/host_unittest.cc
/src/bin/dhcp6/tests/host_unittest.cc
    Updated tests

/src/lib/dhcpsrv/d2_client_mgr.cc
    D2ClientMgr::qualifyName() - don't add suffix to
    names that end with a dot.

/src/lib/dhcpsrv/d2_client_mgr.h
    D2ClientMgr::adjustDomainName() - strip trailing dots
    from T::PARTIAL FQDNs before calling qualifyName()

/src/lib/dhcpsrv/tests/d2_client_unittest.cc
    TEST_F(D2ClientMgrParamsTest, qualifyName) - updated
2025-08-04 13:03:29 +00:00
Andrei Pavel
cc5a3e30c8
[#4038] Bump up version in meson.build to 3.1.1-git 2025-08-03 17:27:03 +03:00
Razvan Becheriu
67f31db3e8 [#3826] addressed review comments 2025-07-31 14:22:37 +00:00
Razvan Becheriu
66a216e62d [3826] addressed review comments 2025-07-31 14:22:37 +00:00
Razvan Becheriu
4c40c4e025 [#3826] Implemented lease6-get-by-hw-address command. 2025-07-31 14:22:37 +00:00
Vicky Risk
8da73b894a Edit release_checklist.md to add an item to update the security versions on... 2025-07-31 15:44:36 +03:00
Thomas Markwalder
15d5daa9b1 [#4014] Fixed change log entry file
modified:   changelog_unreleased/4014-v6-fix-cb-command-behavior-for-mulitple-options-with-the-same-code-in-a-given-scope
2025-07-30 15:14:30 -04:00
Thomas Markwalder
37ed556d51 [#4014] Fixed change log typo
modified:   ChangeLog
2025-07-30 15:13:05 -04:00
Razvan Becheriu
be9faa8f0d [#4014] addressed review comments 2025-07-30 16:44:26 +03:00
Thomas Markwalder
836db67289 [#4014] Added Changelog file
new file:   changelog_unreleased/4014-v6-fix-cb-command-behavior-for-mulitple-options-with-the-same-code-in-a-given-scope
2025-07-29 09:37:46 -04:00
Thomas Markwalder
9ee137c846 [#4014] Core and UT for v6 option class-tags
Changes to be committed:
modified:   doc/sphinx/arm/hooks-cb-cmds.rst
modified:   src/hooks/dhcp/mysql/mysql_cb_dhcp6.cc
modified:   src/hooks/dhcp/mysql/mysql_cb_dhcp6.h
modified:   src/hooks/dhcp/mysql/mysql_cb_impl.cc
modified:   src/hooks/dhcp/mysql/tests/mysql_cb_dhcp6_unittest.cc
modified:   src/hooks/dhcp/pgsql/pgsql_cb_dhcp6.cc
modified:   src/hooks/dhcp/pgsql/pgsql_cb_dhcp6.h
modified:   src/hooks/dhcp/pgsql/pgsql_cb_impl.cc
modified:   src/hooks/dhcp/pgsql/tests/pgsql_cb_dhcp6_unittest.cc
modified:   src/lib/dhcpsrv/config_backend_dhcp6.h
modified:   src/lib/dhcpsrv/config_backend_pool_dhcp6.cc
modified:   src/lib/dhcpsrv/config_backend_pool_dhcp6.h
modified:   src/lib/dhcpsrv/testutils/generic_cb_dhcp4_unittest.h
modified:   src/lib/dhcpsrv/testutils/generic_cb_dhcp6_unittest.cc
modified:   src/lib/dhcpsrv/testutils/generic_cb_dhcp6_unittest.h
modified:   src/lib/dhcpsrv/testutils/test_config_backend_dhcp4.cc
modified:   src/lib/dhcpsrv/testutils/test_config_backend_dhcp4.h
modified:   src/lib/dhcpsrv/testutils/test_config_backend_dhcp6.cc
modified:   src/lib/dhcpsrv/testutils/test_config_backend_dhcp6.h
modified:   src/share/api/remote-option4-global-del.json
modified:   src/share/api/remote-option4-global-get.json
modified:   src/share/api/remote-option4-global-set.json
modified:   src/share/api/remote-option4-network-del.json
modified:   src/share/api/remote-option4-network-set.json
modified:   src/share/api/remote-option4-pool-del.json
modified:   src/share/api/remote-option4-pool-set.json
modified:   src/share/api/remote-option4-subnet-del.json
modified:   src/share/api/remote-option4-subnet-set.json
modified:   src/share/api/remote-option6-global-del.json
modified:   src/share/api/remote-option6-global-get.json
modified:   src/share/api/remote-option6-global-set.json
modified:   src/share/api/remote-option6-network-del.json
modified:   src/share/api/remote-option6-network-set.json
modified:   src/share/api/remote-option6-pd-pool-del.json
modified:   src/share/api/remote-option6-pd-pool-set.json
modified:   src/share/api/remote-option6-pool-del.json
modified:   src/share/api/remote-option6-pool-set.json
modified:   src/share/api/remote-option6-subnet-del.json
2025-07-29 08:30:06 -04:00
Andrei Pavel
4c81b194b9
[#4031] Convert some leftover docs from autotools to meson Kea-3.1.0 2025-07-28 10:31:47 +03:00
Andrei Pavel
fca00ed798
[#4031] Add entry in SECURITY.md 2025-07-28 10:18:45 +03:00
Andrei Pavel
9dea33eef5
[#4031] Tweak ChangeLog 2025-07-28 09:15:31 +03:00
Andrei Pavel
621aa2d783
[#4031] Additional updates to copyright dates 2025-07-28 09:11:07 +03:00
Andrei Pavel
e64b3a879b
[#4031] release changes 2025-07-24 20:51:44 +03:00
Razvan Becheriu
e933b13a86 [#4030] bump up library versions for 3.1.0 release 2025-07-24 18:41:12 +03:00
Razvan Becheriu
2a8385c6c3 [#3944] added ChangeLog entry 2025-07-24 16:35:35 +03:00
Razvan Becheriu
0638e4e516 [#3944] addressed review comments 2025-07-24 13:59:55 +03:00
Razvan Becheriu
00d2434ae3 [#3944] add support for CB global scalar lists 2025-07-24 13:41:29 +03:00
Thomas Markwalder
9bc3a19486 [#3770] Addressed comments 2025-07-23 16:57:06 -04:00
Thomas Markwalder
9dfad9bb0b [#3770] Minor correction to hash input value.
Use non-empy delimiter.

modified:   ../classify.cc
modified:   classify_unittest.cc
2025-07-23 14:19:51 -04:00
Thomas Markwalder
3b9c32932c [#3770] Add hashing to CfgOption
modified:   src/lib/dhcp/classify.cc
modified:   src/lib/dhcp/classify.h
modified:   src/lib/dhcp/tests/classify_unittest.cc
modified:   src/lib/dhcpsrv/cfg_option.h
2025-07-23 13:29:27 -04:00
Francis Dupont
3b9622ce5d [#3553] Fixed macOS compiler errors 2025-07-22 17:57:16 +02:00
Francis Dupont
24af29d67a [#3553] Fixed unrelated typo 2025-07-22 16:54:55 +02:00
Francis Dupont
0eaa2c3e1f [#3553] Addressed comments 2025-07-22 16:49:16 +02:00
Francis Dupont
2901d4ce1d [#3553] Added ChangeLog entry 2025-07-22 16:49:16 +02:00
Francis Dupont
88d1fb4207 [#3553] Added botan check 2025-07-22 16:49:16 +02:00
Francis Dupont
de6059ebf3 [#3553] Updated to Botab 3 (only) 2025-07-22 16:49:16 +02:00
Francis Dupont
a140a853c9 [#3553] Checkpoint 2025-07-22 16:49:16 +02:00
Thomas Markwalder
9566324f68 [#3770] Fix option client-classes buffer size
modified:   src/hooks/dhcp/mysql/mysql_host_data_source.cc
2025-07-22 09:59:27 -04:00
Thomas Markwalder
2374feb7e7 [#3770] Fix change log
modified:   changelog_unreleased/3770-examine-cb-command-behavior-for-mulitple-options-with-the-same-code-in-a-given-scope
2025-07-22 09:10:24 -04:00
Thomas Markwalder
67473622a6 [#3770] Revert v6 doc change
modified:   doc/sphinx/arm/hooks-cb-cmds.rst
2025-07-22 09:07:54 -04:00
Thomas Markwalder
d278d5205c [#3770] Updated ARM and api files
new file:   changelog_unreleased/3770-examine-cb-command-behavior-for-mulitple-options-with-the-same-code-in-a-given-scope
modified:   doc/sphinx/arm/hooks-cb-cmds.rst
modified:   src/share/api/remote-option4-global-del.json
modified:   src/share/api/remote-option4-global-get.json
modified:   src/share/api/remote-option4-global-set.json
modified:   src/share/api/remote-option4-network-del.json
modified:   src/share/api/remote-option4-network-set.json
modified:   src/share/api/remote-option4-pool-del.json
modified:   src/share/api/remote-option4-pool-set.json
modified:   src/share/api/remote-option4-subnet-del.json
modified:   src/share/api/remote-option4-subnet-set.json
2025-07-21 15:36:55 -04:00
Thomas Markwalder
084238451e [#3770] Revert length changes in mysql host code
modified:   src/hooks/dhcp/mysql/mysql_host_data_source.cc
2025-07-21 14:44:25 -04:00
Thomas Markwalder
7fdb2bd420 [#3770] Fixed OID type mismatch
modified:   src/hooks/dhcp/pgsql/pgsql_cb_dhcp4.cc
2025-07-21 13:29:01 -04:00
Thomas Markwalder
8516a80613 [#3770] Addressed review comments
modified:   src/hooks/dhcp/mysql/mysql_host_data_source.cc
modified:   src/lib/dhcpsrv/cfg_option.cc
modified:   src/lib/dhcpsrv/tests/cfg_option_unittest.cc
2025-07-21 11:50:31 -04:00
Razvan Becheriu
b11ab95eab [#3770] addressed review comments 2025-07-21 18:08:25 +03:00
Thomas Markwalder
2737bc502f [#3770] Fix dhcp6_options.modfication_ts
Fix dhcp6_options modification_ts column omitted in
original upgrade script and add checks of dhcp6_options changes

/src/bin/admin/tests/mysql_tests.sh.in
    mysql_upgrade_30_to_31_test()
    mysql_migrate_dhcpX_options_client_classes()
    - add dhcp6_options check

/src/bin/admin/tests/pgsql_tests.sh.in
    pgsql_upgrade_29_to_30_test()
    pgsql_migrate_dhcpX_options_client_classes()
    - add dhcp6_options check

/src/share/database/scripts/pgsql/dhcpdb_create.pgsql
    Include conditional add of dhcp6_columns.modification_ts

src/share/database/scripts/pgsql/upgrade_006.2_to_007.0.sh.in
    Add dhcp6_columns.modification_ts

/src/share/database/scripts/pgsql/upgrade_029_to_030.sh.in
    Include conditional add of dhcp6_columns.modification_ts
2025-07-17 08:03:17 -04:00
Thomas Markwalder
49073d4af1 [#3770] Add client-classes to host back end
/src/hooks/dhcp/mysql/mysql_host_data_source.cc
/src/hooks/dhcp/pgsql/pgsql_host_data_source.cc
    Set and fetch host options' client-classes

/src/lib/dhcpsrv/testutils/generic_host_data_source_unittest.cc
    Update tests

/src/share/database/scripts/mysql/upgrade_030_to_031.sh.in
/src/share/database/scripts/mysql/dhcpdb_create.mysql
/src/share/database/scripts/pgsql/dhcpdb_create.pgsql
/src/share/database/scripts/pgsql/upgrade_029_to_030.sh.in
    update dhcp6_options table
2025-07-16 13:01:33 -04:00
Thomas Markwalder
eaf95ca020 [#3770] Update dhcp4_options in schema
Change dhcp4_options.client_classes NULL values with '[  ]'
Change dhcp4_options.client_classes column to NOT NULL

modified:   src/bin/admin/tests/mysql_tests.sh.in
modified:   src/bin/admin/tests/pgsql_tests.sh.in
modified:   src/lib/mysql/mysql_constants.h
modified:   src/lib/pgsql/pgsql_connection.h
modified:   src/share/database/scripts/mysql/dhcpdb_create.mysql
modified:   src/share/database/scripts/mysql/meson.build
new file:   src/share/database/scripts/mysql/upgrade_030_to_031.sh.in
modified:   src/share/database/scripts/pgsql/dhcpdb_create.pgsql
modified:   src/share/database/scripts/pgsql/meson.build
new file:   src/share/database/scripts/pgsql/upgrade_029_to_030.sh.in
2025-07-15 15:48:58 -04:00
Thomas Markwalder
79c2806d8b [#3770] Minor clean up
modified:   src/lib/dhcpsrv/testutils/test_config_backend_dhcp4.cc
2025-07-15 10:02:45 -04:00
Thomas Markwalder
dab54162e3 [#3770] V4 option cmds parse and use client-classes
/src/hooks/dhcp/cb_cmds/cb_cmds_dhcp4.cc
    ConfigCmdsDhcp4Impl::delSharedNetworkOption4()
    ConfigCmdsDhcp4Impl::delSubnetOption4()
    ConfigCmdsDhcp4Impl::delPoolOption4()
     - added client-classes parameter

/src/hooks/dhcp/cb_cmds/cb_cmds_dhcp6.cc
    ConfigCmdsDhcp6Impl::delGlobalOption6()
    ConfigCmdsDhcp6Impl::getGlobalOption6()
    ConfigCmdsDhcp4Impl::delSharedNetworkOption6()
    ConfigCmdsDhcp4Impl::delSubnetOption6()
    ConfigCmdsDhcp4Impl::delPoolOption6()
     - added client-classes parameter

/src/hooks/dhcp/cb_cmds/cb_cmds_impl.h
    makeOptionInfoElement(const OptionDefinition& def)
    makeOptionInfoElement(const OptionDescriptor& desc) - new convenience functions
    Use makeOptionInfoElement() for set() respsonses
    Update parseInputListElement() for shared-networks, subnets, pools

/src/hooks/dhcp/cb_cmds/tests/cb_cmds_test.h
    void checkOptionInfo() - new test func

/src/hooks/dhcp/cb_cmds/tests/option4_cmds_unittest.cc
    udpated test

/src/hooks/dhcp/cb_cmds/tests/option4_network_cmds_unittest.cc
    TEST_F(OptionNetwork4CmdsTest, networkOption4WithClientClasses)

/src/hooks/dhcp/cb_cmds/tests/option4_pool_cmds_unittest.cc
    TEST_F(OptionPool4CmdsTest, poolOption4WithClientClasses)

/src/hooks/dhcp/cb_cmds/tests/option4_subnet_cmds_unittest.cc
    TEST_F(OptionSubnet4CmdsTest, subnetOption4WithClientClasses)

/src/hooks/dhcp/cb_cmds/tests/option6_cmds_unittest.cc
    Use makeOptionInfoElement() for set() respsonses
2025-07-15 14:02:03 +00:00
Thomas Markwalder
3124a92339 [#3770] Clean up
/src/hooks/dhcp/pgsql/pgsql_cb_impl.cc
    PgSqlConfigBackendImpl::addClientClassesBinding()
    - use ClientClasses::toElement()

/src/lib/dhcpsrv/cfg_option.*
    ClientClassesPtr OptionDescriptor::copyClientClasses()
    - new convenience function

/src/lib/dhcpsrv/testutils/generic_cb_dhcp4_unittest.cc
    Use new convenience function
2025-07-15 14:02:03 +00:00
Thomas Markwalder
f9adb8f352 [#3770] Fix v6 UTs
src/lib/dhcpsrv/testutils/generic_cb_dhcp6_unittest.cc
 Fix globalOptions6WithServerTagsTest
2025-07-15 14:02:03 +00:00
Thomas Markwalder
1ea9698f16 [#3770] v4 global options work
Fixed fetch of global options added UT tests

/src/hooks/dhcp/mysql/mysql_cb_impl.cc
    MySqlConfigBackendImpl::getOptions() - take client-classes into account
    MySqlConfigBackendImpl::createInputClientClassesBinding() - use ClientClasses::toElement()

/src/hooks/dhcp/mysql/tests/mysql_cb_dhcp4_unittest.cc
    TEST_F(MySqlConfigBackendDHCPv4Test, globalOption4WithClientClassesTest)
    TEST_F(MySqlConfigBackendDHCPv4Test, getAllOptions4WithClientClassesTest)
    - new tests

/src/hooks/dhcp/pgsql/pgsql_cb_impl.cc
    PgSqlConfigBackendImpl::getOptions() - take client-classes into account

/src/hooks/dhcp/pgsql/tests/pgsql_cb_dhcp4_unittest.cc
    TEST_F(PgSqlConfigBackendDHCPv4Test, globalOption4WithClientClassesTest)
    TEST_F(PgSqlConfigBackendDHCPv4Test, getAllOptions4WithClientClassesTest)
    - new tests

/src/lib/dhcpsrv/parsers/option_data_parser.cc
    OptionDataParser::createOption() - use ClientClasses::fromElement()

/src/lib/dhcpsrv/testutils/generic_cb_dhcp4_unittest.*
    GenericConfigBackendDHCPv4Test::TearDown() - skip schema destroy
    if env variable KEA_UNIT_TEST_KEEP_SCHEMA is defined

    GenericConfigBackendDHCPv4Test::makeClassTaggedOptions()
    GenericConfigBackendDHCPv4Test::updateClassTaggedOptions()
    GenericConfigBackendDHCPv4Test::globalOption4WithClientClassesTest()
    GenericConfigBackendDHCPv4Test::getAllOptions4WithClientClassesTest()
    - new tests
2025-07-15 14:02:03 +00:00
Thomas Markwalder
16ffb6d6ed [#3770] Finished MySql v4, Expanded v4 UTs
/src/hooks/dhcp/mysql/mysql_cb_dhcp4.*
/src/hooks/dhcp/mysql/mysql_cb_impl.cc
    Added client classes to where clauses as needed

/src/hooks/dhcp/mysql/tests/mysql_cb_dhcp4_unittest.cc
    TEST_F(MySqlConfigBackendDHCPv4Test, globalOption4WithClientClassesTest)
    TEST_F(MySqlConfigBackendDHCPv4Test, sharedNetworkOption4WithClientClassesTest)
    TEST_F(MySqlConfigBackendDHCPv4Test, subnetOption4WithClientClassesTest)
    TEST_F(MySqlConfigBackendDHCPv4Test, poolOption4WithClientClassesTest) - new tests

/src/hooks/dhcp/pgsql/tests/pgsql_cb_dhcp4_unittest.cc
    TEST_F(PgSqlConfigBackendDHCPv4Test, globalOption4WithClientClassesTest)
    TEST_F(PgSqlConfigBackendDHCPv4Test, sharedNetworkOption4WithClientClassesTest)
    TEST_F(PgSqlConfigBackendDHCPv4Test, subnetOption4WithClientClassesTest)
    TEST_F(PgSqlConfigBackendDHCPv4Test, poolOption4WithClientClassesTest) - new tests

/src/lib/dhcpsrv/testutils/generic_cb_dhcp4_unittest.cc
    New tests and functions
2025-07-15 14:02:03 +00:00
Thomas Markwalder
2fed7e62a4 [#3770] CfgOption and CB v4 use client-classes
v4 CfgOption and CB internals support client-classes
as part of key for updating and delete options.

CB parsing does NOT yet support it as argument.

/src/lib/dhcpsrv/cfg_option.*
    Added composite key index type + client_classes to OptionContainer
    OptionDescriptor::equals() - add comparision of client_classes_
    CfgOption::replace() - Use new type + client_classes index

    CfgOption::del(const std::string& option_space, const uint16_t option_code,
                  const ClientClasses& client_classes) - new function

    CfgOption::get(const Selector& key, const uint16_t option_code,
                   ClientClasses& client_classes) - new function

    CfgOption::del(const std::string& option_space, const uint16_t option_code,
                  const ClientClasses& client_classes);

/src/hooks/dhcp/mysql/mysql_cb_dhcp4.*
    Added client-classes to createUpdate and delete option SQL statements and functions

/src/hooks/dhcp/mysql/mysql_cb_impl.*
    MySqlConfigBackendImpl::createClientClassesForWhereClause()  - new function

/src/hooks/dhcp/pgsql/pgsql_cb_dhcp4.*
    Added client-classes to createUpdate and delete option SQL statements and functions

/src/hooks/dhcp/pgsql/pgsql_cb_impl.cc
    PgSqlConfigBackendImpl::addClientClassesForWhereClause() - new function

/src/hooks/dhcp/pgsql/tests/pgsql_cb_dhcp4_unittest.cc

/src/hooks/dhcp/pgsql/tests/pgsql_cb_dhcp4_unittest.cc
    TEST_F(PgSqlConfigBackendDHCPv4Test, subnetOption4WithClienClassesTest) - new test

/src/lib/dhcp/classify.h b/src/lib/dhcp/classify.h
    Added typedef boost::shared_ptr<ClientClasses> ClientClassesPtr;

/src/lib/dhcpsrv/config_backend_dhcp4.h
/src/lib/dhcpsrv/config_backend_pool_dhcp4.*
    Udpated with client_classes parameter where needed

/src/lib/dhcpsrv/tests/cfg_option_unittest.cc
    TEST_F(CfgOptionTest, optionsWithClientClasses)
    TEST_F(CfgOptionTest, replaceWithClientClasses)
    TEST_F(CfgOptionTest, deleteWithClientClasses) - new tests

/src/lib/dhcpsrv/testutils/generic_cb_dhcp4_unittest.*
    GenericConfigBackendDHCPv4Test::subnetOption4WithClienClassesTest() - new test

/src/lib/dhcpsrv/testutils/test_config_backend_dhcp4.cc
    Update functions as needed
2025-07-15 14:02:03 +00:00
Andrei Pavel
66cc4ef5b4
[kea-packaging#48] Hammer: Do not reset-failed kea-ctrl-agent because it no longer starts after installation so it no longer fails either 2025-07-15 11:54:56 +03:00