From 4674d4632b9ffc6779d9c9f79b8ebb53c12e29b2 Mon Sep 17 00:00:00 2001 From: Floris Bos Date: Fri, 2 Jan 2015 16:36:05 +0100 Subject: [PATCH] Initialize libgcrypt before use https://www.gnupg.org/documentation/manuals/gcrypt/Initializing-the-library.html "Before the library can be used, it must initialize itself. This is achieved by invoking the function gcry_check_version" Closes issue #45 Tested with krdc + libgcrypt 1.6.1 (libgcrypt20-dev Ubunutu package) connecting to a Mac Mini. Signed-off-by: Floris Bos --- libvncclient/rfbproto.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/libvncclient/rfbproto.c b/libvncclient/rfbproto.c index f653850..aa74c23 100644 --- a/libvncclient/rfbproto.c +++ b/libvncclient/rfbproto.c @@ -857,6 +857,16 @@ HandleARDAuth(rfbClient *client) rfbCredential *cred = NULL; rfbBool result = FALSE; + if (!gcry_control(GCRYCTL_INITIALIZATION_FINISHED_P)) + { + /* Application did not initialize gcrypt, so we should */ + if (!gcry_check_version(GCRYPT_VERSION)) + { + /* Older version of libgcrypt is installed on system than compiled against */ + rfbClientLog("libgcrypt version mismatch.\n"); + } + } + while (1) { if (!ReadFromRFBServer(client, (char *)gen, 2))