[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