1
0
mirror of https://git.libssh.org/projects/libssh.git synced 2025-08-08 19:02:06 +03:00

Move digest functions into separate file

The external ed25519 requires also the sha512 functions to work.

Signed-off-by: Jakub Jelen <jjelen@redhat.com>
Reviewed-by: Andreas Schneider <asn@cryptomilk.org>
(cherry picked from commit c09b02c573)
This commit is contained in:
Jakub Jelen
2022-07-13 12:16:05 +02:00
parent cee5c9f404
commit 17e9cd70a5
8 changed files with 742 additions and 571 deletions

View File

@@ -22,54 +22,58 @@ add_library(poly1305_override SHARED
set(POLY1305_OVERRIDE_LIBRARY
${libssh_BINARY_DIR}/lib/${CMAKE_SHARED_LIBRARY_PREFIX}poly1305_override${CMAKE_SHARED_LIBRARY_SUFFIX})
if (WITH_GCRYPT)
set (override_src
${libssh_SOURCE_DIR}/src/getrandom_gcrypt.c
${libssh_SOURCE_DIR}/src/md_gcrypt.c
)
set(override_libs
${GCRYPT_LIBRARIES}
)
elseif (WITH_MBEDTLS)
set (override_src
${libssh_SOURCE_DIR}/src/getrandom_mbedcrypto.c
${libssh_SOURCE_DIR}/src/md_mbedcrypto.c
)
set(override_libs
${MBEDTLS_CRYPTO_LIBRARY}
)
else ()
set (override_src
${libssh_SOURCE_DIR}/src/getrandom_crypto.c
${libssh_SOURCE_DIR}/src/md_crypto.c
)
set(override_libs
${OPENSSL_CRYPTO_LIBRARIES}
)
endif (WITH_GCRYPT)
# ed25519_override
add_library(ed25519_override SHARED
ed25519_override.c
${libssh_SOURCE_DIR}/src/external/fe25519.c
${libssh_SOURCE_DIR}/src/external/ge25519.c
${libssh_SOURCE_DIR}/src/external/sc25519.c
${libssh_SOURCE_DIR}/src/external/ed25519.c
)
ed25519_override.c
${libssh_SOURCE_DIR}/src/external/fe25519.c
${libssh_SOURCE_DIR}/src/external/ge25519.c
${libssh_SOURCE_DIR}/src/external/sc25519.c
${libssh_SOURCE_DIR}/src/external/ed25519.c
${override_src}
)
target_link_libraries(ed25519_override
PRIVATE ${override_libs})
set(ED25519_OVERRIDE_LIBRARY
${libssh_BINARY_DIR}/lib/${CMAKE_SHARED_LIBRARY_PREFIX}ed25519_override${CMAKE_SHARED_LIBRARY_SUFFIX})
# curve25519_override
set (curve25519_override_src
add_library(curve25519_override SHARED
curve25519_override.c
${libssh_SOURCE_DIR}/src/external/curve25519_ref.c
${libssh_SOURCE_DIR}/src/external/fe25519.c
${libssh_SOURCE_DIR}/src/external/ge25519.c
${libssh_SOURCE_DIR}/src/external/sc25519.c
${libssh_SOURCE_DIR}/src/external/ed25519.c
${override_src}
)
if (WITH_GCRYPT)
set (curve25519_override_src
${curve25519_override_src}
${libssh_SOURCE_DIR}/src/getrandom_gcrypt.c
)
set(curve25519_override_libs
${GCRYPT_LIBRARIES}
)
elseif (WITH_MBEDTLS)
set (curve25519_override_src
${curve25519_override_src}
${libssh_SOURCE_DIR}/src/getrandom_mbedcrypto.c
)
set(curve25519_override_libs
${MBEDTLS_CRYPTO_LIBRARY}
)
else ()
set (curve25519_override_src
${curve25519_override_src}
${libssh_SOURCE_DIR}/src/getrandom_crypto.c
)
set(curve25519_override_libs
${OPENSSL_CRYPTO_LIBRARIES}
)
endif (WITH_GCRYPT)
add_library(curve25519_override SHARED ${curve25519_override_src})
target_link_libraries(curve25519_override
PRIVATE ${curve25519_override_libs})
PRIVATE ${override_libs})
set(CURVE25519_OVERRIDE_LIBRARY
${libssh_BINARY_DIR}/lib/${CMAKE_SHARED_LIBRARY_PREFIX}curve25519_override${CMAKE_SHARED_LIBRARY_SUFFIX})