Working, have some UTs that still need to be fixed
/doc/examples/kea4/advanced.json
/doc/examples/kea4/all-keys-netconf.json
/doc/examples/kea4/all-keys-netconf.json
/doc/examples/kea4/all-keys.json
/doc/examples/kea4/comments.json
/doc/examples/kea4/config-backend.json
/doc/examples/kea4/ha-load-balancing-server1-mt-with-tls.json
/doc/examples/kea4/ha-load-balancing-server2-mt.json
/doc/examples/kea6/advanced.json
/doc/examples/kea6/all-keys-netconf.json
/doc/examples/kea6/all-keys.json
/doc/examples/kea6/comments.json
/doc/examples/kea6/config-backend.json
/doc/examples/kea6/ha-hot-standby-server1-with-tls.json
/doc/examples/kea6/ha-hot-standby-server2.json
removed /tmp path from socket-name
/src/bin/dhcp4/tests/config_parser_unittest.cc
/src/bin/dhcp4/tests/ctrl_dhcp4_srv_unittest.cc
/src/bin/dhcp4/tests/dhcp4_srv_unittest.cc
/src/bin/dhcp4/tests/dhcp4_test_utils.cc
/src/bin/dhcp4/tests/dhcp4_test_utils.h
/src/bin/dhcp6/tests/config_parser_unittest.cc
/src/bin/dhcp6/tests/ctrl_dhcp6_srv_unittest.cc
/src/bin/dhcp6/tests/dhcp6_srv_unittest.cc
/src/bin/dhcp6/tests/dhcp6_test_utils.cc
/src/bin/dhcp6/tests/dhcp6_test_utils.h
updated tests
/src/lib/config/Makefile.am
/src/lib/config/meson.build
defined CONTROL_SOCKET_DIR
/src/lib/config/tests/unix_command_config_unittests.cc
/src/lib/config/tests/unix_command_mgr_unittests.cc
updated tests
/src/lib/config/unix_command_config.*
UnixCommandConfig - added PathChecker singleton and methods
to set and validate socket path/permissions
/src/lib/util/filesystem.*
Added getPermsissions() and hasPermsission()
/src/lib/util/tests/filesystem_unittests.cc
new permissions tests
/src/lib/dhcpsrv/Makefile.am
Changed LEGAL_LOG_DIR to use log vs lib
/src/lib/dhcpsrv/legal_log_mgr.*
LegalLogMgr - added PathChecker singleton and funcs
/src/lib/dhcpsrv/meson.build
Defined LEGAL_LOG_DIR
/src/lib/util/filesystem.*
PathChecker::validateDirectory() - new func
/src/lib/util/tests/filesystem_unittests.cc
TEST(PathChecker, validateDirectoryEnforcePath)
TEST(PathChecker, validateDirectoryEnforcePathFalse) - new tests
Refactored to internally support env variable and explicit paths
modified:
src/lib/hooks/hooks_parser.cc
src/lib/hooks/hooks_parser.h
src/lib/util/filesystem.cc
src/lib/util/filesystem.h
src/lib/util/tests/filesystem_unittests.cc
/src/lib/util/filesystem.*
FileManager::validatePath() - new class and function
/src/lib/hooks/hooks_parser.*
HooksLibrariesParser::validatePath() - new wrapper around FileManager::validatePath()
HooksLibrariesParser::parse() - now uses validatePath()
/src/lib/hooks/tests/hooks_manager_unittest.cc
TEST(HooksParser, validatePathEnforcePath)
TEST(HooksParser, validatePathEnforcePathFalse) - new tests
/src/lib/util/tests/filesystem_unittests.cc
TEST(FileManager, validatePathEnforcePath)
TEST(FileManager, validatePathEnforcePathFalse) - new tests
- 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.
- Unify filename.h and file_utilities.h under filesystem.h.
- Rename Filename class to Path since it more accurately represents
it.
- Make its interface as close as possible to that of std::filesystem::path.
- Remove unused method expandWithDefault.
- Rename useAsDefault to replaceExtension since it was only used in the
purpose of replacing extension.
- Unroll the split method in the constructor.