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

37658 Commits

Author SHA1 Message Date
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
Francis Dupont
c28ec9c260 [#4005] Added doc and ChangeLog entry 2025-07-10 19:13:31 +03:00
Razvan Becheriu
88c7ccee0c [#3927] fixed TLS unit tests 2025-07-10 10:39:28 +03:00
Francis Dupont
c57d680482 [#3927] Doc and chmod fixes 2025-07-09 17:52:42 +02:00
Razvan Becheriu
1cfc415b7a [#3927] updated documentation 2025-07-09 18:19:33 +03:00
Razvan Becheriu
ad5a10aada [#3927] remove ssl-mode for mysql 2025-07-09 18:14:05 +03:00
Francis Dupont
3c8b1d4b8c [#3927] Updated pgsql ssslmode code 2025-07-09 15:57:32 +02:00
Francis Dupont
e7cab5f3c8 [#3927] Updated the default to library one 2 2025-07-09 15:52:51 +02:00
Francis Dupont
854f394cae [#3927] Updated the default to library one 2025-07-09 15:35:13 +02:00
Francis Dupont
780642e3b5 [#3927] Indented SSL_MODE 2025-07-09 16:03:46 +03:00
Razvan Becheriu
1d83dd5479 [#3927] remove key-password 2025-07-09 15:40:43 +03:00
Razvan Becheriu
ff73ae4d04 [#3927] add ssl-mode parameter 2025-07-09 07:42:22 +03:00
Razvan Becheriu
485cc46cd8 [#3927] fixed unit tests 2025-07-08 14:03:11 +03:00
Razvan Becheriu
7b961f6b78 [#3927] add TLS parameters to pgsql connection 2025-07-08 10:59:42 +00:00
William Leuschner
04b4bfcbb6
[#3978] Correct reference to kea-lfc in 5.3.1 2025-07-02 12:08:15 -04:00
Andrei Pavel
4c78eed897
[#3848] Adapt packaging in Hammer to the -X changes 2025-07-02 10:28:07 +03:00
Andrei Pavel
7142f01378
[#3848] Fix fuzzers after security enforcement 2025-07-01 15:59:02 +03:00
Thomas Markwalder
245776a812 [#3848] Addressed review comments
modified:   src/bin/keactrl/kea-ctrl-agent.conf.pre
2025-07-01 11:54:12 +00:00
Thomas Markwalder
067ed4448a [#3848] Remove user from default agent file
modified:   src/bin/keactrl/kea-ctrl-agent.conf.pre
2025-07-01 11:54:12 +00:00
Suzanne Goldlust
3aa9dc86d8 [#3980] Removed outdated reference to SF portal 2025-06-30 19:11:39 +00:00
Thomas Markwalder
93260a8664 [#3848] Fix duplicated log ids
modified:   src/bin/dhcp4/dhcp4_messages.mes
modified:   src/bin/dhcp6/dhcp6_messages.mes
modified:   src/lib/d2srv/d2_messages.mes
2025-06-30 11:49:59 +00:00
Thomas Markwalder
fe696acbb6 [#3848] Fix element position reporting
modified:   src/lib/cc/data.cc
    altered data::copy() to also copy the source element's position

modified:   src/bin/dhcp4/json_config_parser.cc
modified:   src/hooks/dhcp/lease_query/tests/lease_query_impl4_unittest.cc
modified:   src/lib/http/tests/basic_auth_config_unittests.cc
2025-06-30 11:49:59 +00:00
Thomas Markwalder
0a85700c28 [#3848] Change risk to policy
modified:   doc/sphinx/arm/agent.rst
modified:   doc/sphinx/arm/ddns.rst
modified:   doc/sphinx/arm/dhcp4-srv.rst
modified:   doc/sphinx/arm/dhcp6-srv.rst
modified:   doc/sphinx/arm/security.rst
2025-06-30 11:49:59 +00:00
Thomas Markwalder
d8eb27b3fa [#3848] Replace WARN with WARNING some more 2025-06-30 11:49:59 +00:00
Thomas Markwalder
33caead065 [#3848] Make message IDs consistent 2025-06-30 11:49:59 +00:00
Marcin Siodelski
15a78bcfc3 [#3848] Fixed whitespace 2025-06-30 11:49:59 +00:00
Thomas Markwalder
b3ded306f3 [#3848] Addressed review comments
Fixed minor nits

modified:   doc/sphinx/arm/agent.rst
modified:   doc/sphinx/arm/ddns.rst
modified:   doc/sphinx/arm/dhcp4-srv.rst
modified:   doc/sphinx/arm/dhcp6-srv.rst
modified:   doc/sphinx/arm/security.rst
modified:   src/bin/dhcp4/main.cc
modified:   src/bin/dhcp6/main.cc
modified:   src/hooks/dhcp/host_cache/tests/command_unittests.cc
modified:   src/hooks/dhcp/lease_cmds/lease_cmds.cc
modified:   src/hooks/dhcp/lease_cmds/lease_cmds_messages.cc
modified:   src/hooks/dhcp/lease_cmds/lease_cmds_messages.h
modified:   src/hooks/dhcp/lease_cmds/lease_cmds_messages.mes
modified:   src/hooks/dhcp/lease_cmds/libloadtests/lease_cmds4_unittest.cc
modified:   src/lib/d2srv/d2_config.cc
modified:   src/lib/hooks/tests/hooks_manager_unittest.cc
modified:   src/lib/http/tests/basic_auth_config_unittests.cc
modified:   src/lib/process/d_controller.cc
modified:   src/lib/util/filesystem.cc
modified:   src/lib/util/filesystem.h
2025-06-30 11:49:59 +00:00
Thomas Markwalder
8ba41dcfaf [#3848] Updated the ARM
new file:   changelog_unreleased/3848-security-policy-security-strict-relaxed
modified:   doc/sphinx/arm/agent.rst
modified:   doc/sphinx/arm/ddns.rst
modified:   doc/sphinx/arm/dhcp4-srv.rst
modified:   doc/sphinx/arm/dhcp6-srv.rst
modified:   doc/sphinx/arm/security.rst
2025-06-30 11:49:59 +00:00
Thomas Markwalder
d1ef7da74a [#3848] Warn if running as root
Servers now all warn if they are running
as root.
2025-06-30 11:49:59 +00:00