mirror of
https://git.libssh.org/projects/libssh.git
synced 2025-08-05 20:55:46 +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:
committed by
Andreas Schneider
parent
13363975d8
commit
8c17a79797
@@ -6,7 +6,8 @@ TESTDIR=$1
|
|||||||
PRIVKEY=$2
|
PRIVKEY=$2
|
||||||
OBJNAME=$3
|
OBJNAME=$3
|
||||||
LOADPUBLIC=$4
|
LOADPUBLIC=$4
|
||||||
shift 4
|
LIBSOFTHSM_PATH=$5
|
||||||
|
shift 5
|
||||||
|
|
||||||
PUBKEY="$PRIVKEY.pub"
|
PUBKEY="$PRIVKEY.pub"
|
||||||
|
|
||||||
@@ -42,7 +43,7 @@ if [ $ret -ne 0 ]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
#load private key
|
#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"
|
eval echo "$cmd"
|
||||||
out=$(eval $cmd)
|
out=$(eval $cmd)
|
||||||
ret=$?
|
ret=$?
|
||||||
@@ -58,7 +59,7 @@ ls -l $TESTDIR
|
|||||||
|
|
||||||
if [ $LOADPUBLIC -ne 0 ]; then
|
if [ $LOADPUBLIC -ne 0 ]; then
|
||||||
#load public key
|
#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"
|
eval echo "$cmd"
|
||||||
out=$(eval $cmd)
|
out=$(eval $cmd)
|
||||||
ret=$?
|
ret=$?
|
||||||
|
@@ -69,3 +69,4 @@
|
|||||||
#cmakedefine SSH_EXECUTABLE "${SSH_EXECUTABLE}"
|
#cmakedefine SSH_EXECUTABLE "${SSH_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}"
|
||||||
|
@@ -1231,6 +1231,7 @@ void torture_teardown_sshd_server(void **state)
|
|||||||
}
|
}
|
||||||
#endif /* SSHD_EXECUTABLE */
|
#endif /* SSHD_EXECUTABLE */
|
||||||
|
|
||||||
|
#ifdef WITH_PKCS11_URI
|
||||||
void torture_setup_tokens(const char *temp_dir,
|
void torture_setup_tokens(const char *temp_dir,
|
||||||
const char *filename,
|
const char *filename,
|
||||||
const char object_name[],
|
const char object_name[],
|
||||||
@@ -1240,15 +1241,18 @@ void torture_setup_tokens(const char *temp_dir,
|
|||||||
int rc;
|
int rc;
|
||||||
|
|
||||||
snprintf(token_setup_start_cmd, sizeof(token_setup_start_cmd),
|
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,
|
BINARYDIR,
|
||||||
temp_dir,
|
temp_dir,
|
||||||
filename,
|
filename,
|
||||||
object_name, load_public);
|
object_name,
|
||||||
|
load_public,
|
||||||
|
SOFTHSM2_LIBRARY);
|
||||||
|
|
||||||
rc = system(token_setup_start_cmd);
|
rc = system(token_setup_start_cmd);
|
||||||
assert_return_code(rc, errno);
|
assert_return_code(rc, errno);
|
||||||
}
|
}
|
||||||
|
#endif /* WITH_PKCS11_URI */
|
||||||
|
|
||||||
char *torture_make_temp_dir(const char *template)
|
char *torture_make_temp_dir(const char *template)
|
||||||
{
|
{
|
||||||
|
@@ -130,10 +130,12 @@ void torture_teardown_sshd_server(void **state);
|
|||||||
int torture_update_sshd_config(void **state, const char *config);
|
int torture_update_sshd_config(void **state, const char *config);
|
||||||
#endif /* SSHD_EXECUTABLE */
|
#endif /* SSHD_EXECUTABLE */
|
||||||
|
|
||||||
|
#ifdef WITH_PKCS11_URI
|
||||||
void torture_setup_tokens(const char *temp_dir,
|
void torture_setup_tokens(const char *temp_dir,
|
||||||
const char *filename,
|
const char *filename,
|
||||||
const char object_name[],
|
const char object_name[],
|
||||||
const char *load_public);
|
const char *load_public);
|
||||||
|
#endif /* WITH_PKCS11_URI */
|
||||||
|
|
||||||
void torture_reset_config(ssh_session session);
|
void torture_reset_config(ssh_session session);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user