mirror of
https://git.libssh.org/projects/libssh.git
synced 2025-12-24 19:37:48 +03:00
Enable HMAC SHA1 tests for dropbear <2025.87
Signed-off-by: abdallah elhdad <abdallahselhdad@gmail.com> Reviewed-by: Jakub Jelen <jjelen@redhat.com>
This commit is contained in:
committed by
Jakub Jelen
parent
28c0056bca
commit
c17112f070
@@ -176,6 +176,22 @@ if (SSH_EXECUTABLE)
|
||||
|
||||
endif()
|
||||
|
||||
find_program(DROPBEAR_EXECUTABLE NAMES dbclient)
|
||||
if (DROPBEAR_EXECUTABLE)
|
||||
execute_process(COMMAND ${DROPBEAR_EXECUTABLE} -V ERROR_VARIABLE DROPBEAR_VERSION_STR)
|
||||
string(REGEX REPLACE "^.*Dropbear v([0-9]+)\\.([0-9]+).*$" "\\1.\\2" DROPBEAR_VERSION "${DROPBEAR_VERSION_STR}")
|
||||
set(DROPBEAR_VERSION "${DROPBEAR_VERSION}")
|
||||
|
||||
# HMAC-SHA1 support was removed in version 2025.87
|
||||
if("${DROPBEAR_VERSION}" VERSION_LESS "2025.87")
|
||||
message("Dropbear Version less than 2025.87, enabling dropbear HMAC-SHA1 tests")
|
||||
add_definitions(-DDROPBEAR_SUPPORTS_HMAC_SHA1)
|
||||
endif()
|
||||
else()
|
||||
message(STATUS "Could NOT find Dropbear (missing: dbclient executable)")
|
||||
set(DROPBEAR_EXECUTABLE "/bin/false")
|
||||
endif()
|
||||
|
||||
find_program(SSHD_EXECUTABLE
|
||||
NAME
|
||||
sshd
|
||||
|
||||
@@ -61,7 +61,7 @@
|
||||
|
||||
/* Dropbear */
|
||||
|
||||
#define DROPBEAR_BINARY "dbclient"
|
||||
#define DROPBEAR_BINARY DROPBEAR_EXECUTABLE
|
||||
#define DROPBEAR_KEYGEN "dropbearkey"
|
||||
|
||||
#define DROPBEAR_CMD_START \
|
||||
|
||||
@@ -429,20 +429,26 @@ static int torture_pkd_setup_ecdsa_521(void **state) {
|
||||
f(client, ecdsa_521_aes192_ctr, ciphercmd("aes192-ctr"), setup_ecdsa_521, teardown)
|
||||
|
||||
|
||||
#define PKDTESTS_MAC_FIPS(f, client, maccmd) \
|
||||
#define PKDTESTS_MAC_FIPS_BASE(f, client, maccmd) \
|
||||
f(client, ecdsa_256_hmac_sha2_256, maccmd("hmac-sha2-256"), setup_ecdsa_256, teardown) \
|
||||
f(client, ecdsa_384_hmac_sha2_256, maccmd("hmac-sha2-256"), setup_ecdsa_384, teardown) \
|
||||
f(client, ecdsa_521_hmac_sha2_256, maccmd("hmac-sha2-256"), setup_ecdsa_521, teardown) \
|
||||
f(client, rsa_hmac_sha2_256, maccmd("hmac-sha2-256"), setup_rsa, teardown)
|
||||
|
||||
/* TODO: Include these tests when an older version of dropbear is used. Currently, they have been removed as the latest dropbear version
|
||||
does not support these MACs.
|
||||
#define PKDTESTS_MAC_FIPS_SHA1(f, client, maccmd) \
|
||||
f(client, ecdsa_256_hmac_sha1, maccmd("hmac-sha1"), setup_ecdsa_256, teardown) \
|
||||
f(client, ecdsa_384_hmac_sha1, maccmd("hmac-sha1"), setup_ecdsa_384, teardown) \
|
||||
f(client, ecdsa_521_hmac_sha1, maccmd("hmac-sha1"), setup_ecdsa_521, teardown) \
|
||||
f(client, rsa_hmac_sha1, maccmd("hmac-sha1"), setup_rsa, teardown)
|
||||
|
||||
f(client, ecdsa_256_hmac_sha1, maccmd("hmac-sha1"), setup_ecdsa_256, teardown) \
|
||||
f(client, ecdsa_384_hmac_sha1, maccmd("hmac-sha1"), setup_ecdsa_384, teardown) \
|
||||
f(client, ecdsa_521_hmac_sha1, maccmd("hmac-sha1"), setup_ecdsa_521, teardown) \
|
||||
f(client, rsa_hmac_sha1, maccmd("hmac-sha1"), setup_rsa, teardown) \
|
||||
*/
|
||||
#ifdef DROPBEAR_SUPPORTS_HMAC_SHA1
|
||||
#define PKDTESTS_MAC_FIPS(f, client, maccmd) \
|
||||
PKDTESTS_MAC_FIPS_BASE(f, client, maccmd) \
|
||||
PKDTESTS_MAC_FIPS_SHA1(f, client, maccmd)
|
||||
#else
|
||||
#define PKDTESTS_MAC_FIPS(f, client, maccmd) \
|
||||
PKDTESTS_MAC_FIPS_BASE(f, client, maccmd)
|
||||
#endif
|
||||
|
||||
#define PKDTESTS_MAC_OPENSSHONLY_FIPS(f, client, maccmd) \
|
||||
f(client, ecdsa_256_hmac_sha1_etm, maccmd("hmac-sha1-etm@openssh.com"), setup_ecdsa_256, teardown) \
|
||||
|
||||
@@ -68,6 +68,7 @@
|
||||
#cmakedefine SSHD_EXECUTABLE "${SSHD_EXECUTABLE}"
|
||||
#cmakedefine SSH_EXECUTABLE "${SSH_EXECUTABLE}"
|
||||
#cmakedefine SSH_KEYGEN_EXECUTABLE "${SSH_KEYGEN_EXECUTABLE}"
|
||||
#cmakedefine DROPBEAR_EXECUTABLE "${DROPBEAR_EXECUTABLE}"
|
||||
#cmakedefine WITH_TIMEOUT ${WITH_TIMEOUT}
|
||||
#cmakedefine TIMEOUT_EXECUTABLE "${TIMEOUT_EXECUTABLE}"
|
||||
#cmakedefine SOFTHSM2_LIBRARY "${SOFTHSM2_LIBRARY}"
|
||||
|
||||
Reference in New Issue
Block a user