summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'net-libs/libvncserver')
-rw-r--r--net-libs/libvncserver/Manifest2
-rw-r--r--net-libs/libvncserver/files/libvncserver-0.9.13-test-fix-includetest.patch54
-rw-r--r--net-libs/libvncserver/files/libvncserver-0.9.13-test-fix-tjunittest.patch29
-rw-r--r--net-libs/libvncserver/files/libvncserver-0.9.14-crypto-openssl-fix.patch56
-rw-r--r--net-libs/libvncserver/libvncserver-0.9.14-r2.ebuild (renamed from net-libs/libvncserver/libvncserver-0.9.13.ebuild)24
-rw-r--r--net-libs/libvncserver/metadata.xml2
6 files changed, 69 insertions, 98 deletions
diff --git a/net-libs/libvncserver/Manifest b/net-libs/libvncserver/Manifest
index c7569e5d4778..779ce1c48b7d 100644
--- a/net-libs/libvncserver/Manifest
+++ b/net-libs/libvncserver/Manifest
@@ -1 +1 @@
-DIST LibVNCServer-0.9.13.tar.gz 567491 BLAKE2B 138c7ca63f8cd30a21dc1b58aafa744e12a1a9eca503ffec18a63d18791d7a5df4eef176d7e4e797a2aadda1dd04d1b051abfd76bf5c6806d558c09ffee78cce SHA512 18b0a1698d32bbdbfe6f65f76130b2a95860e3cc76e8adb904269663698c7c0ae982f451fda1f25e5461f096045d40a89d9014258f439366d5b4feaa4999d643
+DIST LibVNCServer-0.9.14.tar.gz 593516 BLAKE2B 6585e15e2ade08211ace0ae40deb07eca04b96dcfe38fb4d2e7d7a7192ca22dda546cb69fc4be6c6b7eb83c8afb0ea14d7cee3779a9e64c138ec861efeb540b8 SHA512 8a0a58e355154cbe1e5807864dc874b063c5e5f5e20d64ae541d49d51b654a35ca9c625adc5c303b6570fa79c19f82d87a37612f9801b453ccf862bd77c06fcc
diff --git a/net-libs/libvncserver/files/libvncserver-0.9.13-test-fix-includetest.patch b/net-libs/libvncserver/files/libvncserver-0.9.13-test-fix-includetest.patch
deleted file mode 100644
index 767708288830..000000000000
--- a/net-libs/libvncserver/files/libvncserver-0.9.13-test-fix-includetest.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-From 39cff3dd6b5d9ebcf86f01e2c7e0bef62abd9d6f Mon Sep 17 00:00:00 2001
-From: Alexander Tsoy <alexander@tsoy.me>
-Date: Thu, 25 Jun 2020 11:35:04 +0300
-Subject: [PATCH 1/2] test: fix includetest to use CMAKE_MAKE_PROGRAM (#431)
-
-includetest currently fais if, for example, ninja is used as a CMake
-generator. Fix it by using CMAKE_MAKE_PROGRAM in the test.
----
- CMakeLists.txt | 2 +-
- test/includetest.sh | 7 ++++---
- 2 files changed, 5 insertions(+), 4 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 0b6228a2..290deb38 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -680,7 +680,7 @@ endif(LIBVNCSERVER_WITH_WEBSOCKETS)
-
- add_test(NAME cargs COMMAND test_cargstest)
- if(UNIX)
-- add_test(NAME includetest COMMAND ${TESTS_DIR}/includetest.sh ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR})
-+ add_test(NAME includetest COMMAND ${TESTS_DIR}/includetest.sh ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR} ${CMAKE_MAKE_PROGRAM})
- endif(UNIX)
- if(FOUND_LIBJPEG_TURBO)
- add_test(NAME turbojpeg COMMAND test_tjunittest)
-diff --git a/test/includetest.sh b/test/includetest.sh
-index 23d602e6..6b064208 100755
---- a/test/includetest.sh
-+++ b/test/includetest.sh
-@@ -5,10 +5,11 @@
-
- # expects install prefix like /usr as an argument
- PREFIX=$1
-+CMAKE_MAKE_PROGRAM=$2
-
- TMPDIR=$(mktemp -d)
-
--make install DESTDIR=$TMPDIR
-+DESTDIR="$TMPDIR" $CMAKE_MAKE_PROGRAM install
-
- echo \
- "
-@@ -19,6 +20,6 @@ int main()
- {
- return 0;
- }
--" > $TMPDIR/includetest.c
-+" > "$TMPDIR"/includetest.c
-
--cc -I $TMPDIR/$PREFIX $TMPDIR/includetest.c
-+cc -I "$TMPDIR/$PREFIX" "$TMPDIR"/includetest.c
---
-2.26.2
-
diff --git a/net-libs/libvncserver/files/libvncserver-0.9.13-test-fix-tjunittest.patch b/net-libs/libvncserver/files/libvncserver-0.9.13-test-fix-tjunittest.patch
deleted file mode 100644
index 98e3a654b471..000000000000
--- a/net-libs/libvncserver/files/libvncserver-0.9.13-test-fix-tjunittest.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 8244fab5421fd14d4c75ce488ad18d38b7a6edb4 Mon Sep 17 00:00:00 2001
-From: Christian Beier <info@christianbeier.net>
-Date: Thu, 25 Jun 2020 12:21:50 +0200
-Subject: [PATCH 2/2] CMake: only add turbojpeg test if configured WITH_JPEG
-
-Closes #430
----
- CMakeLists.txt | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 290deb38..fdca4d81 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -682,9 +682,9 @@ add_test(NAME cargs COMMAND test_cargstest)
- if(UNIX)
- add_test(NAME includetest COMMAND ${TESTS_DIR}/includetest.sh ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR} ${CMAKE_MAKE_PROGRAM})
- endif(UNIX)
--if(FOUND_LIBJPEG_TURBO)
-+if(WITH_JPEG AND FOUND_LIBJPEG_TURBO)
- add_test(NAME turbojpeg COMMAND test_tjunittest)
--endif(FOUND_LIBJPEG_TURBO)
-+endif(WITH_JPEG AND FOUND_LIBJPEG_TURBO)
- if(LIBVNCSERVER_WITH_WEBSOCKETS)
- add_test(NAME wstest COMMAND test_wstest)
- endif(LIBVNCSERVER_WITH_WEBSOCKETS)
---
-2.26.2
-
diff --git a/net-libs/libvncserver/files/libvncserver-0.9.14-crypto-openssl-fix.patch b/net-libs/libvncserver/files/libvncserver-0.9.14-crypto-openssl-fix.patch
new file mode 100644
index 000000000000..85179ee5ae61
--- /dev/null
+++ b/net-libs/libvncserver/files/libvncserver-0.9.14-crypto-openssl-fix.patch
@@ -0,0 +1,56 @@
+https://github.com/LibVNC/libvncserver/commit/b686f379c34114cf938fe88291f58014337558f6
+https://bugs.gentoo.org/893608
+
+From b686f379c34114cf938fe88291f58014337558f6 Mon Sep 17 00:00:00 2001
+From: Gaurav Ujjwal <gujjwal00@gmail.com>
+Date: Mon, 23 Jan 2023 00:03:03 +0530
+Subject: [PATCH] common/crypto_openssl: pad DH key buffers with leading zeros
+ for smaller keys
+
+Re: https://github.com/LibVNC/libvncserver/issues/493
+Re: https://github.com/bk138/multivnc/issues/202
+--- a/common/crypto_openssl.c
++++ b/common/crypto_openssl.c
+@@ -156,6 +156,15 @@ int encrypt_aes128ecb(void *out, int *out_len, const unsigned char key[16], cons
+ return result;
+ }
+
++static void pad_leading_zeros(uint8_t *out, const size_t current_len, const size_t expected_len) {
++ if (current_len >= expected_len || expected_len < 1)
++ return;
++
++ size_t diff = expected_len - current_len;
++ memmove(out + diff, out, current_len);
++ memset(out, 0, diff);
++}
++
+ int dh_generate_keypair(uint8_t *priv_out, uint8_t *pub_out, const uint8_t *gen, const size_t gen_len, const uint8_t *prime, const size_t keylen)
+ {
+ int result = 0;
+@@ -184,6 +193,9 @@ int dh_generate_keypair(uint8_t *priv_out, uint8_t *pub_out, const uint8_t *gen,
+ goto out;
+ if(BN_bn2bin(dh->pub_key, pub_out) == 0)
+ goto out;
++
++ pad_leading_zeros(priv_out, BN_num_bytes(dh->priv_key), keylen);
++ pad_leading_zeros(pub_out, BN_num_bytes(dh->pub_key), keylen);
+ #else
+ DH_get0_key(dh, &pub_key, &priv_key);
+ if(BN_bn2binpad(priv_key, priv_out, keylen) == -1)
+@@ -216,9 +228,11 @@ int dh_compute_shared_key(uint8_t *shared_out, const uint8_t *priv, const uint8_
+ if(!DH_set0_key(dh, NULL, BN_bin2bn(priv, keylen, NULL)))
+ goto out;
+ #endif
+- if(DH_compute_key(shared_out, BN_bin2bn(pub, keylen, NULL), dh) == -1)
+- goto out;
++ int shared_len = DH_compute_key(shared_out, BN_bin2bn(pub, keylen, NULL), dh);
++ if(shared_len == -1)
++ goto out;
+
++ pad_leading_zeros(shared_out, shared_len, keylen);
+ result = 1;
+
+ out:
+--
+2.39.2
+
diff --git a/net-libs/libvncserver/libvncserver-0.9.13.ebuild b/net-libs/libvncserver/libvncserver-0.9.14-r2.ebuild
index c046ad17bcf2..02c596ac0d4b 100644
--- a/net-libs/libvncserver/libvncserver-0.9.13.ebuild
+++ b/net-libs/libvncserver/libvncserver-0.9.14-r2.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit cmake
@@ -16,8 +16,8 @@ S="${WORKDIR}/${PN}-${MY_P}"
LICENSE="GPL-2 GPL-2+ LGPL-2.1+ BSD MIT"
# no sub slot wanted (yet), see #578958
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
-IUSE="+24bpp +filetransfer gcrypt gnutls ipv6 +jpeg lzo +png sasl ssl systemd +threads +zlib"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
+IUSE="+24bpp +filetransfer gnutls ipv6 +jpeg lzo +png sasl ssl systemd +threads +zlib"
# https://bugs.gentoo.org/690202
# https://bugs.gentoo.org/435326
# https://bugs.gentoo.org/550916
@@ -29,14 +29,12 @@ REQUIRED_USE="
"
DEPEND="
- gcrypt? ( >=dev-libs/libgcrypt-1.5.3:0= )
+ >=dev-libs/libgcrypt-1.5.3:0=
ssl? (
- !gnutls? (
- >=dev-libs/openssl-1.0.2:0=
- )
+ !gnutls? ( >=dev-libs/openssl-1.0.2:0= )
gnutls? ( >=net-libs/gnutls-2.12.23-r6:0= )
)
- jpeg? ( >=virtual/jpeg-0-r2:0 )
+ jpeg? ( media-libs/libjpeg-turbo:= )
lzo? ( dev-libs/lzo )
png? ( >=media-libs/libpng-1.6.10:0= )
sasl? ( dev-libs/cyrus-sasl )
@@ -45,21 +43,21 @@ DEPEND="
"
RDEPEND="${DEPEND}"
-DOCS=( AUTHORS ChangeLog NEWS.md README.md TODO.md )
+DOCS=( AUTHORS ChangeLog NEWS.md README.md )
PATCHES=(
- "${FILESDIR}"/${P}-test-fix-includetest.patch
- "${FILESDIR}"/${P}-test-fix-tjunittest.patch
+ "${FILESDIR}"/${P}-crypto-openssl-fix.patch
)
src_configure() {
local mycmakeargs=(
+ -DWITH_EXAMPLES=OFF
-DWITH_FFMPEG=OFF
-DWITH_GTK=OFF
-DWITH_SDL=OFF
+ -DWITH_GCRYPT=ON
-DWITH_24BPP=$(usex 24bpp ON OFF)
-DWITH_TIGHTVNC_FILETRANSFER=$(usex filetransfer ON OFF)
- -DWITH_GCRYPT=$(usex gcrypt ON OFF)
-DWITH_GNUTLS=$(usex gnutls $(usex ssl ON OFF) OFF)
-DWITH_IPv6=$(usex ipv6 ON OFF)
-DWITH_JPEG=$(usex jpeg ON OFF)
diff --git a/net-libs/libvncserver/metadata.xml b/net-libs/libvncserver/metadata.xml
index 09a7b348775b..74e3157eae46 100644
--- a/net-libs/libvncserver/metadata.xml
+++ b/net-libs/libvncserver/metadata.xml
@@ -16,11 +16,11 @@
<use>
<flag name="24bpp">Enable 24bpp support</flag>
<flag name="filetransfer">Enable support for TightVNC's file transfer protocol</flag>
- <flag name="gcrypt">Use <pkg>dev-libs/libgcrypt</pkg> as crypto backend</flag>
<flag name="lzo">Enable LZO support via <pkg>dev-libs/lzo</pkg> instead of using internal miniLZO implementation</flag>
</use>
<upstream>
<remote-id type="github">LibVNC/libvncserver</remote-id>
<remote-id type="sourceforge">libvncserver</remote-id>
+ <remote-id type="cpe">cpe:/a:libvnc_project:libvncserver</remote-id>
</upstream>
</pkgmetadata>