[arch-commits] Commit in libvncserver/trunk (PKGBUILD initialize-libgcrypt.patch)

Felix Yan fyan at archlinux.org
Tue Apr 21 03:01:08 UTC 2015


    Date: Tuesday, April 21, 2015 @ 05:01:08
  Author: fyan
Revision: 237842

upgpkg: libvncserver 0.9.10-3

add a patch to fix crashing when connecting to Mac hosts

Added:
  libvncserver/trunk/initialize-libgcrypt.patch
Modified:
  libvncserver/trunk/PKGBUILD

----------------------------+
 PKGBUILD                   |   17 +++++++++++++----
 initialize-libgcrypt.patch |   39 +++++++++++++++++++++++++++++++++++++++
 2 files changed, 52 insertions(+), 4 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2015-04-21 02:48:09 UTC (rev 237841)
+++ PKGBUILD	2015-04-21 03:01:08 UTC (rev 237842)
@@ -1,11 +1,11 @@
 # $Id$
-# Maintainer:
+# Maintainer: Felix Yan <felixonmars at archlinux.org>
 # Contributor: Andrea Scarpino <andrea at archlinux.org>
 # Contributor: Tobias Powalowski <tpowa at archlinux.org>
 
 pkgname=libvncserver
 pkgver=0.9.10
-pkgrel=2
+pkgrel=3
 pkgdesc="A cross-platform C libraries that allow you to easily implement VNC server"
 arch=('i686' 'x86_64')
 url="https://libvnc.github.io/"
@@ -12,9 +12,18 @@
 license=('GPL')
 depends=('libpng' 'libjpeg' 'gnutls' 'libgcrypt' 'openssl')
 makedepends=('sdl')
-source=("https://github.com/LibVNC/libvncserver/archive/LibVNCServer-${pkgver}.tar.gz")
-md5sums=('e1b888fae717b06896f8aec100163d27')
+source=("https://github.com/LibVNC/libvncserver/archive/LibVNCServer-${pkgver}.tar.gz"
+        initialize-libgcrypt.patch)
+md5sums=('e1b888fae717b06896f8aec100163d27'
+         'e22024d3a81c45129411e39e7d143835')
 
+prepare() {
+  cd ${pkgname}-LibVNCServer-${pkgver}
+  # Fix crashing when connecting to Mac hosts
+  # Suggested by upstream: https://github.com/LibVNC/libvncserver/pull/51#issuecomment-68884516
+  patch -p1 -i ../initialize-libgcrypt.patch
+}
+
 build() {
   cd ${pkgname}-LibVNCServer-${pkgver}
   ./autogen.sh

Added: initialize-libgcrypt.patch
===================================================================
--- initialize-libgcrypt.patch	                        (rev 0)
+++ initialize-libgcrypt.patch	2015-04-21 03:01:08 UTC (rev 237842)
@@ -0,0 +1,39 @@
+From 4674d4632b9ffc6779d9c9f79b8ebb53c12e29b2 Mon Sep 17 00:00:00 2001
+From: Floris Bos <bos at 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 at 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))



More information about the arch-commits mailing list