mirror of
https://git.libssh.org/projects/libssh.git
synced 2026-02-11 10:40:27 +09: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()
|
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
|
find_program(SSHD_EXECUTABLE
|
||||||
NAME
|
NAME
|
||||||
sshd
|
sshd
|
||||||
|
|||||||
@@ -61,7 +61,7 @@
|
|||||||
|
|
||||||
/* Dropbear */
|
/* Dropbear */
|
||||||
|
|
||||||
#define DROPBEAR_BINARY "dbclient"
|
#define DROPBEAR_BINARY DROPBEAR_EXECUTABLE
|
||||||
#define DROPBEAR_KEYGEN "dropbearkey"
|
#define DROPBEAR_KEYGEN "dropbearkey"
|
||||||
|
|
||||||
#define DROPBEAR_CMD_START \
|
#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)
|
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_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_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, 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)
|
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
|
#define PKDTESTS_MAC_FIPS_SHA1(f, client, maccmd) \
|
||||||
does not support these MACs.
|
|
||||||
|
|
||||||
f(client, ecdsa_256_hmac_sha1, maccmd("hmac-sha1"), setup_ecdsa_256, 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_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, ecdsa_521_hmac_sha1, maccmd("hmac-sha1"), setup_ecdsa_521, teardown) \
|
||||||
f(client, rsa_hmac_sha1, maccmd("hmac-sha1"), setup_rsa, 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) \
|
#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) \
|
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 SSHD_EXECUTABLE "${SSHD_EXECUTABLE}"
|
||||||
#cmakedefine SSH_EXECUTABLE "${SSH_EXECUTABLE}"
|
#cmakedefine SSH_EXECUTABLE "${SSH_EXECUTABLE}"
|
||||||
#cmakedefine SSH_KEYGEN_EXECUTABLE "${SSH_KEYGEN_EXECUTABLE}"
|
#cmakedefine SSH_KEYGEN_EXECUTABLE "${SSH_KEYGEN_EXECUTABLE}"
|
||||||
|
#cmakedefine DROPBEAR_EXECUTABLE "${DROPBEAR_EXECUTABLE}"
|
||||||
#cmakedefine WITH_TIMEOUT ${WITH_TIMEOUT}
|
#cmakedefine WITH_TIMEOUT ${WITH_TIMEOUT}
|
||||||
#cmakedefine TIMEOUT_EXECUTABLE "${TIMEOUT_EXECUTABLE}"
|
#cmakedefine TIMEOUT_EXECUTABLE "${TIMEOUT_EXECUTABLE}"
|
||||||
#cmakedefine SOFTHSM2_LIBRARY "${SOFTHSM2_LIBRARY}"
|
#cmakedefine SOFTHSM2_LIBRARY "${SOFTHSM2_LIBRARY}"
|
||||||
|
|||||||
Reference in New Issue
Block a user