2
0
mirror of https://gitlab.isc.org/isc-projects/kea synced 2025-08-30 21:45:37 +00:00
Commit Graph

37462 Commits

Author SHA1 Message Date
Andrei Pavel
efec9a6507 [#3616] Fix UB warning about exceeding enum value 2024-10-25 13:46:57 +03:00
Wlodzimierz Wencel
e2300efb36 [#3529] fixed typo, removed experimental note 2024-10-25 09:41:12 +00:00
Andrei Pavel
879dc32cdd [#3605] Add changelog entry 2024-10-25 09:18:43 +03:00
Andrei Pavel
a7496bb68e [#3605] Do not run sast on scheduler 2024-10-25 08:30:56 +03:00
Razvan Becheriu
f3917dfe75 [#3605] fixed fuzz on BSD-like systems 2024-10-24 20:39:35 +03:00
Andrei Pavel
f2f5b0eec4 [#3605] Remove unused files in fuzz 2024-10-24 19:48:18 +03:00
Andrei Pavel
8036286956 [#3605] Add missing headers used for fuzzing 2024-10-24 19:48:18 +03:00
Thomas Markwalder
08f3d9a02c [#3538] Restore debug-messages.rst
modified:   doc/sphinx/debug-messages.rst
2024-10-24 09:39:16 -04:00
Thomas Markwalder
d5cc8cd65c Apply 1 suggestion(s) to 1 file(s)
Co-authored-by: Tomek Mrugalski <tomek@isc.org>
2024-10-24 09:39:16 -04:00
Thomas Markwalder
90ffa08d56 [#3538] Updated the ARM
modified:   ChangeLog
modified:   doc/sphinx/arm/dhcp6-srv.rst
modified:   doc/sphinx/debug-messages.rst
2024-10-24 09:39:07 -04:00
Andrei Pavel
9698dbcc63 [#3605] Include what you use on src/bin/dhcp*/dhcp*_srv.cc 2024-10-23 19:50:24 +00:00
Andrei Pavel
a18fa75bcf [#3605] Remove unused chrono 2024-10-23 19:50:24 +00:00
Razvan Becheriu
8c9af66b1e [#2974] add more unittests 2024-10-23 22:09:56 +03:00
Razvan Becheriu
495a53790b [#2974] fix shell unittests 2024-10-23 21:03:27 +03:00
Razvan Becheriu
611059bbd1 [#2974] removen unnecessary IfaceMgrTestConfig instances 2024-10-23 17:42:09 +03:00
Razvan Becheriu
3deadfd3c6 [#2974] minor changes 2024-10-23 17:42:09 +03:00
Thomas Markwalder
04ccdc9397 [#2974] Added ChangeLog 2024-10-23 17:42:09 +03:00
Thomas Markwalder
b873508888 [#2974] Rename commands to subnetx-select-test 2024-10-23 17:42:09 +03:00
Francis Dupont
0c75e1d5f5 [#2974] Missing update 2024-10-23 17:42:09 +03:00
Francis Dupont
a2b33c0072 [#2974] Addressed some comments 2024-10-23 17:42:09 +03:00
Francis Dupont
2f5d06caf1 [#2974] Finished v6, tests and doc 2024-10-23 17:42:09 +03:00
Francis Dupont
cadf332033 [#2974] Checkpoint: did v4 code, need UTs, v6 and doc 2024-10-23 17:42:09 +03:00
Andrei Pavel
a740d0bfe5 [#3605] Rotate ports on HTTP fuzzers as well 2024-10-23 16:40:37 +03:00
Razvan Becheriu
f340ef1b05 [#3605] use server listener 2024-10-23 16:40:37 +03:00
Andrei Pavel
9f7d0a93eb [#3605] Specialize HTTP fuzzers into v4 and v6 2024-10-23 16:40:32 +03:00
Andrei Pavel
a4f4e30b3d [#3605] Razvan's fix for ASAN warnings in fuzzing 2024-10-23 16:40:31 +03:00
Andrei Pavel
a96168e762 [#3605] Integrate a new fuzzing solution in Kea
The solution is based on clusterfuzzlite, libfuzzer, and oss-fuzz
technologies.

- Add the .clusterfuzzlite directory.
- Add the fuzz CI stage and fuzzing CI jobs.
- Add the fuzzing targets in the fuzz directory.
- Document fuzzing in doxygen.
2024-10-23 16:40:31 +03:00
Andrei Pavel
8195f702e7 [#3605] Remove extra semis 2024-10-23 16:40:30 +03:00
Andrei Pavel
58d4caa865 [#3605] Prepare existing code for fuzzing
- Separate ENABLE_AFL into ENABLE_FUZZING and HAVE_AFL.
- Add the --disable-unicode flag required in the oss-fuzz container.
- Add checking of support for C++17.
- Make Kea compile with afl++.
- Rotate ports in `getServerPort()` functions under an env var.
- Fix some destruction issues that would result in crashes when fuzzing.
- Add some checks in the UnixControlClient that prevent some crashes when fuzzing.
- Add `isc::util::isSocket()` function.
- Change `isc::util::file::Path` to not append a trailing slash to allow
  chained calls of `parentPath()`.
- Add `isc::util::file::TemporaryDirectory` useful when fuzzing.
2024-10-23 16:37:31 +03:00
Marcin Godzina
978f0f87ab [#3630] forge db init fix 2024-10-23 11:48:30 +00:00
Tomek Mrugalski
5fd6a79eeb [#3582] Tab fix in changelog 2024-10-23 10:29:32 +00:00
Tomek Mrugalski
2aadfb072a [#3582] ChangeLog added 2024-10-23 10:29:32 +00:00
Francis Dupont
19a592b1f7 [#3582] Extended option-data toElement 2024-10-23 10:29:32 +00:00
Razvan Becheriu
f08c5d642b [#3619] destroy maangers before hook unload 2024-10-22 15:58:11 +00:00
Razvan Becheriu
0f298df150 [#3351] use execve to silence valgrind on child exit 2024-10-17 22:01:29 +03:00
Razvan Becheriu
924b256c43 [#3351] fixed memory leaks 2024-10-16 14:17:55 +03:00
Francis Dupont
59278bdf4b [#3351] Fixed leak in signal test 2024-10-16 14:16:51 +03:00
Thomas Markwalder
099172da6c [#3583] Added UTs
/src/bin/dhcp4/tests/classify_unittest.cc
    TEST_F(ClassifyTest, classTaggingAndAlwaysSend)
    TEST_F(ClassifyTest, classTaggingAndNeverSend)

/src/bin/dhcp6/tests/classify_unittest.cc
    TEST_F(ClassifyTest, classTaggingAndAlwaysSend)
    TEST_F(ClassifyTest, classTaggingAndNeverSend)
2024-10-15 13:51:57 -04:00
Francis Dupont
d959d41d27 [#3583] Added syntax UTs 2024-10-15 13:51:57 -04:00
Thomas Markwalder
64c15b1131 [#3583] Addressred review comments
modified:
    doc/sphinx/arm/classify.rst
    src/bin/dhcp4/dhcp4_srv.cc
    src/bin/dhcp4/tests/config_parser_unittest.cc
    src/bin/dhcp6/tests/config_parser_unittest.cc
    src/hooks/dhcp/mysql/mysql_cb_dhcp4.cc
    src/lib/dhcp/classify.cc
    src/lib/dhcp/classify.h
    src/lib/dhcp/tests/classify_unittest.cc
    src/lib/dhcpsrv/cfg_option.cc
    src/lib/dhcpsrv/cfg_option.h
    src/lib/dhcpsrv/parsers/option_data_parser.cc
    src/lib/dhcpsrv/parsers/simple_parser4.cc
    src/lib/dhcpsrv/parsers/simple_parser6.cc
    src/lib/dhcpsrv/tests/dhcp_parsers_unittest.cc
    src/lib/dhcpsrv/testutils/generic_backend_unittest.cc
2024-10-15 13:51:57 -04:00
Thomas Markwalder
c109b65a36 [#3583] Fix lexers after rebase
modified:   src/bin/dhcp4/dhcp4_lexer.cc
modified:   src/bin/dhcp6/dhcp6_lexer.cc
2024-10-15 13:51:57 -04:00
Thomas Markwalder
107072d84c [#3583] Fixed JSON error in ARM
modified:   arm/classify.rst
2024-10-15 13:51:57 -04:00
Thomas Markwalder
c53eef5201 [#3583] Updated doc
/doc/examples/kea4/all-keys.json
/doc/examples/kea6/all-keys.json
    Added client-classes to option-data

/doc/sphinx/arm/classify.rst
    Added new section "Option Class-Tagging"

/doc/sphinx/arm/dhcp4-srv.rst
/doc/sphinx/arm/dhcp6-srv.rst
    Added notes with pointers to new section
2024-10-15 13:51:57 -04:00
Thomas Markwalder
1f402f4374 [#3583] Amended ChangeLog for #3536 2024-10-15 13:51:57 -04:00
Thomas Markwalder
02e59abd64 [#3583] Minor refactoring
Added ClientClasses::fromElement()

/src/hooks/dhcp/mysql_cb/mysql_cb_impl.cc
/src/hooks/dhcp/pgsql_cb/pgsql_cb_impl.cc

/src/lib/dhcp/classify.cc
/src/lib/dhcp/classify.h

/src/lib/dhcp/tests/classify_unittest.cc
    TEST(ClassifyTest, ClientClassesFromElement) - new test
2024-10-15 13:51:57 -04:00
Thomas Markwalder
146eaaeb1d [#3583] PgSQL CB V4 and V6 support option class tagging
/src/hooks/dhcp/pgsql_cb/pgsql_cb_dhcp4.cc
/src/hooks/dhcp/pgsql_cb/pgsql_cb_dhcp6.cc
/src/hooks/dhcp/pgsql_cb/pgsql_cb_impl.cc
/src/hooks/dhcp/pgsql_cb/pgsql_cb_impl.h
/src/hooks/dhcp/pgsql_cb/pgsql_query_macros_dhcp.h
2024-10-15 13:51:57 -04:00
Thomas Markwalder
42145c4468 [#3583] MySQL CB V6 supports option class tagging
/src/hooks/dhcp/mysql_cb/mysql_cb_dhcp6.cc
/src/hooks/dhcp/mysql_cb/mysql_query_macros_dhcp.h

/src/lib/dhcpsrv/testutils/generic_cb_dhcp4_unittest.cc
/src/lib/dhcpsrv/testutils/generic_cb_dhcp6_unittest.cc
    Add classes to test options, change how test options are
    added to preserve client_classes and user_context
2024-10-15 13:51:57 -04:00
Thomas Markwalder
e47064a165 [#3583] MySQL CB V4 supports option class tagging
/src/hooks/dhcp/mysql_cb/mysql_cb_dhcp4.cc
/src/hooks/dhcp/mysql_cb/mysql_cb_impl.cc
/src/hooks/dhcp/mysql_cb/mysql_cb_impl.h
/src/hooks/dhcp/mysql_cb/mysql_query_macros_dhcp.h
/src/lib/config_backend/constants.h
/src/lib/dhcpsrv/testutils/generic_cb_dhcp4_unittest.cc
2024-10-15 13:51:57 -04:00
Thomas Markwalder
e332d8baca [#3583] add client_classes to option tables
/src/share/database/scripts/mysql/upgrade_025_to_026.sh.in
/src/share/database/scripts/pgsql/upgrade_025_to_026.sh.in
    - new files

/src/share/database/scripts/mysql/dhcpdb_create.mysql
/src/share/database/scripts/pgsql/dhcpdb_create.pgsql
    - adds client_classes to option tables

/configure.ac
/src/share/database/scripts/mysql/.gitignore
/src/share/database/scripts/mysql/Makefile.am
/src/share/database/scripts/pgsql/.gitignore
/src/share/database/scripts/pgsql/Makefile.am
    - added new upgrade files

/src/bin/admin/tests/pgsql_tests.sh.in
/src/bin/admin/tests/mysql_tests.sh.in
    - Updated for new schema 26

/src/lib/mysql/mysql_constants.h
/src/lib/pgsql/pgsql_connection.h
     Updated schema version
2024-10-15 13:51:57 -04:00
Thomas Markwalder
4f41d70e34 [#3583] kea-dhcp6 now supports option class tagging
/src/bin/dhcp4/tests/classify_unittest.cc
    Clean up of new tests.

/src/bin/dhcp6/dhcp6_srv.cc
    Dhcpv6Srv::appendRequestedOptions()
    Dhcpv6Srv::appendRequestedVendorOptions()
    - check OptionDescriptor::allowedForClientClasses()

/src/bin/dhcp6/tests/classify_unittests.cc
    TEST_F(ClassifyTest, requestedOptionClassTag)
    TEST_F(ClassifyTest, vendorClassOptionClassTag)
    TEST_F(ClassifyTest, persistedVendorOptsOptionClassTag)
    TEST_F(ClassifyTest, requestedVendorOptionsClassTag)
2024-10-15 13:51:57 -04:00