diff options
Diffstat (limited to 'cmake')
| -rw-r--r-- | cmake/dependencies/openssl.cmake | 21 | ||||
| -rw-r--r-- | cmake/ipcp/eth.cmake | 4 | ||||
| -rw-r--r-- | cmake/irmd.cmake | 12 | ||||
| -rw-r--r-- | cmake/tests.cmake | 3 | ||||
| -rw-r--r-- | cmake/utils/TestUtils.cmake | 6 |
5 files changed, 40 insertions, 6 deletions
diff --git a/cmake/dependencies/openssl.cmake b/cmake/dependencies/openssl.cmake index 604d5d99..19edfa2b 100644 --- a/cmake/dependencies/openssl.cmake +++ b/cmake/dependencies/openssl.cmake @@ -1,21 +1,36 @@ find_package(OpenSSL QUIET) if (OPENSSL_FOUND) set(HAVE_OPENSSL_RNG TRUE) - if (OPENSSL_VERSION VERSION_LESS "1.1.0") - message(STATUS "Install version >= \"1.1.0\" to enable OpenSSL support " + if (OPENSSL_VERSION VERSION_LESS "3.0.0") + message(STATUS "Install version >= 3.0.0 to enable OpenSSL support " "(found version \"${OPENSSL_VERSION}\")") else () set(DISABLE_OPENSSL FALSE CACHE BOOL "Disable OpenSSL support") if (NOT DISABLE_OPENSSL) message(STATUS "OpenSSL support enabled") set(HAVE_OPENSSL TRUE CACHE INTERNAL "") + set(IRMD_SECMEM_MAX 1048576 CACHE STRING "IRMd secure heap size") + set(PROC_SECMEM_MAX 1048576 CACHE STRING "Process secure heap size") + set(SECMEM_GUARD 32 CACHE STRING "Secure heap min size") + set(DISABLE_PQC FALSE CACHE BOOL "Disable post-quantum cryptography support") + if (OPENSSL_VERSION VERSION_GREATER_EQUAL "3.4.0") + if (NOT DISABLE_PQC) + set(HAVE_OPENSSL_PQC TRUE CACHE INTERNAL "") + message(STATUS "OpenSSL PQC support enabled") + else() + message(STATUS "OpenSSL PQC support disabled by user") + unset(HAVE_OPENSSL_PQC CACHE) + endif() + else() + message(STATUS "Install OpenSSL >= 3.4.0 for PQC support") + endif() else() message(STATUS "OpenSSL support disabled") unset(HAVE_OPENSSL CACHE) endif() endif () else() - message(STATUS "Install openSSL version >= \"1.1.0\" to enable OpenSSL support") + message(STATUS "Install OpenSSL version >= 3.0.0 to enable OpenSSL support") unset(HAVE_OPENSSL_RNG) unset(HAVE_OPENSSL CACHE) set(OPENSSL_INCLUDE_DIR "") diff --git a/cmake/ipcp/eth.cmake b/cmake/ipcp/eth.cmake index 0d37bf9b..c14a1d6e 100644 --- a/cmake/ipcp/eth.cmake +++ b/cmake/ipcp/eth.cmake @@ -9,8 +9,10 @@ set(IPCP_ETH_WR_THR 1 CACHE STRING "Number of writer threads in Ethernet IPCP") set(IPCP_ETH_QDISC_BYPASS false CACHE BOOL "Bypass the Qdisc in the kernel when using raw sockets") -set(IPCP_ETH_LO_MTU 1500 CACHE STRING +set(IPCP_ETH_LO_MTU 9000 CACHE STRING "Restrict Ethernet MTU over loopback interfaces") +set(IPCP_ETH_MGMT_FRAME_SIZE 9000 CACHE STRING + "Management frame buffer size for Ethernet IPCPs") set(IPCP_ETH_MPL 100 CACHE STRING "Default maximum packet lifetime for the Ethernet IPCPs, in ms") diff --git a/cmake/irmd.cmake b/cmake/irmd.cmake index d4b4808c..f02f37d6 100644 --- a/cmake/irmd.cmake +++ b/cmake/irmd.cmake @@ -31,6 +31,8 @@ set(CONNECT_TIMEOUT 20000 CACHE STRING "Timeout to connect an IPCP to another IPCP (ms)") set(FLOW_ALLOC_TIMEOUT 20000 CACHE STRING "Timeout for a flow allocation response (ms)") +set(OAP_REPLAY_TIMER 20 CACHE STRING + "OAP replay protection window (s)") set(IRMD_MIN_THREADS 8 CACHE STRING "Minimum number of worker threads in the IRMd") set(IRMD_ADD_THREADS 8 CACHE STRING @@ -55,8 +57,12 @@ if (LIBTOML_LIBRARIES) set(INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_BINDIR}") configure_file("${CMAKE_SOURCE_DIR}/irmd.conf.in" "${CMAKE_BINARY_DIR}/${OUROBOROS_CONFIG_FILE}.example" @ONLY) + configure_file("${CMAKE_SOURCE_DIR}/enc.conf.in" + "${CMAKE_BINARY_DIR}/enc.conf.example" @ONLY) install(FILES "${CMAKE_BINARY_DIR}/${OUROBOROS_CONFIG_FILE}.example" DESTINATION "${OUROBOROS_CONFIG_DIR}") + install(FILES "${CMAKE_BINARY_DIR}/enc.conf.example" + DESTINATION "${OUROBOROS_CONFIG_DIR}") install(CODE " if (NOT EXISTS \"${OUROBOROS_CONFIG_DIR}/${OUROBOROS_CONFIG_FILE}\") file(WRITE \"${OUROBOROS_CONFIG_DIR}/${OUROBOROS_CONFIG_FILE}\" \"\") @@ -81,7 +87,11 @@ set(IRMD_SOURCES "${IRMD_SOURCE_DIR}/ipcp.c" "${IRMD_SOURCE_DIR}/configfile.c" "${IRMD_SOURCE_DIR}/main.c" - "${IRMD_SOURCE_DIR}/oap.c" + "${IRMD_SOURCE_DIR}/oap/io.c" + "${IRMD_SOURCE_DIR}/oap/hdr.c" + "${IRMD_SOURCE_DIR}/oap/auth.c" + "${IRMD_SOURCE_DIR}/oap/srv.c" + "${IRMD_SOURCE_DIR}/oap/cli.c" "${IRMD_SOURCE_DIR}/reg/flow.c" "${IRMD_SOURCE_DIR}/reg/ipcp.c" "${IRMD_SOURCE_DIR}/reg/proc.c" diff --git a/cmake/tests.cmake b/cmake/tests.cmake index 4c16171c..456ad120 100644 --- a/cmake/tests.cmake +++ b/cmake/tests.cmake @@ -1,4 +1,5 @@ include(CTest) # Sets BUILD_TESTING by default to on. +include(utils/TestUtils) include(utils/DisableTestLogging) @@ -16,7 +17,7 @@ if (BUILD_TESTS) # Add test subdirectories add_subdirectory(src/lib/tests) - add_subdirectory(src/irmd/tests) + add_subdirectory(src/irmd/oap/tests) add_subdirectory(src/ipcpd/unicast/pff/tests) add_subdirectory(src/ipcpd/unicast/routing/tests) add_subdirectory(src/ipcpd/unicast/dir/tests) diff --git a/cmake/utils/TestUtils.cmake b/cmake/utils/TestUtils.cmake new file mode 100644 index 00000000..e40bdda1 --- /dev/null +++ b/cmake/utils/TestUtils.cmake @@ -0,0 +1,6 @@ +# Compute test name prefix from directory structure +function(compute_test_prefix) + file(RELATIVE_PATH _prefix "${CMAKE_SOURCE_DIR}/src" "${CMAKE_CURRENT_SOURCE_DIR}") + string(REGEX REPLACE "/tests$" "" _prefix "${_prefix}") + set(TEST_PREFIX "${_prefix}" PARENT_SCOPE) +endfunction(compute_test_prefix) |
