1
0
mirror of https://git.libssh.org/projects/libssh.git synced 2025-08-01 11:26:52 +03:00

Fix libsofthsm.so path detection

libsofthsm detection is broken in i686 architecture. The approach is to export
the path found by cmake to `tests_config.h` and the script
setup-softhsm-tokens.sh gets that value through cli parameters.

Signed-off-by: Norbert Pocs <npocs@redhat.com>
Reviewed-by: Jakub Jelen <jjelen@redhat.com>
(cherry picked from commit 50713d8ab1)
This commit is contained in:
Norbert Pocs
2022-10-04 16:54:24 +02:00
committed by Andreas Schneider
parent 13363975d8
commit 8c17a79797
4 changed files with 13 additions and 5 deletions

View File

@ -6,7 +6,8 @@ TESTDIR=$1
PRIVKEY=$2
OBJNAME=$3
LOADPUBLIC=$4
shift 4
LIBSOFTHSM_PATH=$5
shift 5
PUBKEY="$PRIVKEY.pub"
@ -42,7 +43,7 @@ if [ $ret -ne 0 ]; then
fi
#load private key
cmd='p11tool --provider /usr/lib64/pkcs11/libsofthsm2.so --write --load-privkey "$PRIVKEY" --label "$OBJNAME" --login --set-pin=1234 "pkcs11:token="$OBJNAME""'
cmd='p11tool --provider $LIBSOFTHSM_PATH --write --load-privkey "$PRIVKEY" --label "$OBJNAME" --login --set-pin=1234 "pkcs11:token="$OBJNAME""'
eval echo "$cmd"
out=$(eval $cmd)
ret=$?
@ -58,7 +59,7 @@ ls -l $TESTDIR
if [ $LOADPUBLIC -ne 0 ]; then
#load public key
cmd='p11tool --provider /usr/lib64/pkcs11/libsofthsm2.so --write --load-pubkey "$PUBKEY" --label "$OBJNAME" --login --set-pin=1234 "pkcs11:token="$OBJNAME""'
cmd='p11tool --provider $LIBSOFTHSM_PATH --write --load-pubkey "$PUBKEY" --label "$OBJNAME" --login --set-pin=1234 "pkcs11:token="$OBJNAME""'
eval echo "$cmd"
out=$(eval $cmd)
ret=$?

View File

@ -69,3 +69,4 @@
#cmakedefine SSH_EXECUTABLE "${SSH_EXECUTABLE}"
#cmakedefine WITH_TIMEOUT ${WITH_TIMEOUT}
#cmakedefine TIMEOUT_EXECUTABLE "${TIMEOUT_EXECUTABLE}"
#cmakedefine SOFTHSM2_LIBRARY "${SOFTHSM2_LIBRARY}"

View File

@ -1231,6 +1231,7 @@ void torture_teardown_sshd_server(void **state)
}
#endif /* SSHD_EXECUTABLE */
#ifdef WITH_PKCS11_URI
void torture_setup_tokens(const char *temp_dir,
const char *filename,
const char object_name[],
@ -1240,15 +1241,18 @@ void torture_setup_tokens(const char *temp_dir,
int rc;
snprintf(token_setup_start_cmd, sizeof(token_setup_start_cmd),
"%s/tests/pkcs11/setup-softhsm-tokens.sh %s %s %s %s",
"%s/tests/pkcs11/setup-softhsm-tokens.sh %s %s %s %s %s",
BINARYDIR,
temp_dir,
filename,
object_name, load_public);
object_name,
load_public,
SOFTHSM2_LIBRARY);
rc = system(token_setup_start_cmd);
assert_return_code(rc, errno);
}
#endif /* WITH_PKCS11_URI */
char *torture_make_temp_dir(const char *template)
{

View File

@ -130,10 +130,12 @@ void torture_teardown_sshd_server(void **state);
int torture_update_sshd_config(void **state, const char *config);
#endif /* SSHD_EXECUTABLE */
#ifdef WITH_PKCS11_URI
void torture_setup_tokens(const char *temp_dir,
const char *filename,
const char object_name[],
const char *load_public);
#endif /* WITH_PKCS11_URI */
void torture_reset_config(ssh_session session);