diff options
Diffstat (limited to 'libssh')
-rw-r--r-- | libssh/dh.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/libssh/dh.c b/libssh/dh.c index 8ad80a0e..d6166a0e 100644 --- a/libssh/dh.c +++ b/libssh/dh.c @@ -104,6 +104,12 @@ int ssh_get_random(void *where, int len, int strong){ return 1; } +#ifdef HAVE_LIBGCRYPT +#include <errno.h> +#include <pthread.h> +GCRY_THREAD_OPTION_PTHREAD_IMPL; +#endif + /* * This inits the values g and p which are used for DH key agreement @@ -113,6 +119,7 @@ int ssh_crypto_init(void) { if (ssh_crypto_initialized == 0) { #ifdef HAVE_LIBGCRYPT gcry_check_version(NULL); + gcry_control(GCRYCTL_SET_THREAD_CBS, &gcry_threads_pthread); if (!gcry_control(GCRYCTL_INITIALIZATION_FINISHED_P,0)) { gcry_control(GCRYCTL_INIT_SECMEM, 4096); |