40 lines
1.3 KiB
Diff
40 lines
1.3 KiB
Diff
From 4674d4632b9ffc6779d9c9f79b8ebb53c12e29b2 Mon Sep 17 00:00:00 2001
|
|
From: Floris Bos <bos@je-eigen-domein.nl>
|
|
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 <bos@je-eigen-domein.nl>
|
|
---
|
|
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))
|