![Anderson Toshiyuki Sasaki](/assets/img/avatar_default.png)
This makes unnecessary to call ssh_init() when the library is dynamically loaded. Also removes the threads shared library. The used threads implementation is chosen in configuration time, changing the ssh_threads_get_default() depending on the available threads library. Internally, it is expected a threads implementation providing: - void ssh_mutex_lock(void **mutex); - void ssh_mutex_unlock(void **mutex); - struct ssh_threads_callbacks_struct *ssh_threads_get_default(void); and a crypto implementation providing: - int crypto_thread_init(struct ssh_threads_callbacks_struct *user_callbacks); - void crypto_thread_finalize(void); This adds internal threads implementation for pthreads and noop. Signed-off-by: Anderson Toshiyuki Sasaki <ansasaki@redhat.com> Reviewed-by: Andreas Schneider <asn@cryptomilk.org>
55 строки
1.4 KiB
CMake
55 строки
1.4 KiB
CMake
project(pkd C)
|
|
|
|
if (WITH_SERVER AND UNIX AND NOT WIN32)
|
|
|
|
include_directories(
|
|
${LIBSSH_PUBLIC_INCLUDE_DIRS}
|
|
${CMOCKA_INCLUDE_DIR}
|
|
${OPENSSL_INCLUDE_DIR}
|
|
${GCRYPT_INCLUDE_DIR}
|
|
${ZLIB_INCLUDE_DIR}
|
|
${CMAKE_BINARY_DIR}
|
|
${CMAKE_SOURCE_DIR}/src
|
|
${CMAKE_CURRENT_SOURCE_DIR}
|
|
)
|
|
|
|
set(pkd_hello_src
|
|
pkd_daemon.c
|
|
pkd_hello.c
|
|
pkd_keyutil.c
|
|
pkd_util.c
|
|
)
|
|
|
|
set(pkd_libs
|
|
${CMOCKA_LIBRARY}
|
|
${LIBSSH_STATIC_LIBRARY}
|
|
${LIBSSH_LINK_LIBRARIES}
|
|
${ARGP_LIBRARIES}
|
|
pthread
|
|
)
|
|
|
|
add_executable(pkd_hello ${pkd_hello_src})
|
|
target_link_libraries(pkd_hello ${pkd_libs})
|
|
|
|
#
|
|
# pkd_hello_i1 runs only one iteration per algorithm combination for
|
|
# sake of speeding up overall test run time. More iterations can be
|
|
# specified with `-i` and may be helpful for chasing down bugs that
|
|
# are not 100% reproducible.
|
|
#
|
|
add_test(pkd_hello_i1 ${CMAKE_CURRENT_BINARY_DIR}/pkd_hello -i1 -w /tmp/pkd_socket_wrapper_XXXXXX)
|
|
|
|
#
|
|
# Configure environment for cwrap socket wrapper.
|
|
#
|
|
find_package(socket_wrapper 1.1.5 REQUIRED)
|
|
if (OSX)
|
|
set(PKD_ENVIRONMENT "DYLD_FORCE_FLAT_NAMESPACE=1;DYLD_INSERT_LIBRARIES=${SOCKET_WRAPPER_LIBRARY}")
|
|
else ()
|
|
set(PKD_ENVIRONMENT "LD_PRELOAD=${SOCKET_WRAPPER_LIBRARY}")
|
|
endif ()
|
|
message(STATUS "PKD_ENVIRONMENT=${PKD_ENVIRONMENT}")
|
|
set_property(TEST pkd_hello_i1 PROPERTY ENVIRONMENT ${PKD_ENVIRONMENT})
|
|
|
|
endif (WITH_SERVER AND UNIX AND NOT WIN32)
|