From e34da1b94dc707e9074b0958ebcd24706442bc81 Mon Sep 17 00:00:00 2001 From: Aris Adamantiadis Date: Mon, 30 Aug 2010 14:39:35 +0200 Subject: [PATCH] Added "fix" for libgcrypt threading, ... ... but it doesn't seem to work. This is however the recommanded way of initializing threading : http://lists.gnupg.org/pipermail/gcrypt-devel/2009-February/001452.html --- libssh/dh.c | 7 +++++++ 1 file changed, 7 insertions(+) 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 +#include +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);