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 <felixonm...@archlinux.org> # Contributor: Andrea Scarpino <and...@archlinux.org> # Contributor: Tobias Powalowski <tp...@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 <b...@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 <b...@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))