39 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			39 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))
 |