summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--user/rdesktop/APKBUILD52
-rw-r--r--user/rdesktop/gssapi.patch82
-rw-r--r--user/rdesktop/signed-int.patch11
3 files changed, 145 insertions, 0 deletions
diff --git a/user/rdesktop/APKBUILD b/user/rdesktop/APKBUILD
new file mode 100644
index 000000000..06ed9d766
--- /dev/null
+++ b/user/rdesktop/APKBUILD
@@ -0,0 +1,52 @@
+# Contributor: A. Wilcox <awilfox@adelielinux.org>
+# Maintainer: A. Wilcox <awilfox@adelielinux.org>
+pkgname=rdesktop
+pkgver=1.8.4
+pkgrel=0
+pkgdesc="Remote Desktop Protocol client"
+url="https://www.rdesktop.org/"
+arch="all"
+options="!check" # No test suite.
+license="GPL-3.0-only"
+depends=""
+makedepends="alsa-lib-dev krb5-dev libice-dev libsamplerate-dev libx11-dev
+ libxrandr-dev openssl-dev pcsc-lite-dev"
+subpackages="$pkgname-doc"
+source="https://github.com/rdesktop/rdesktop/releases/download/v$pkgver/rdesktop-$pkgver.tar.gz
+ gssapi.patch
+ signed-int.patch
+ "
+
+prepare() {
+ cd "$builddir"
+ default_prepare
+ update_config_sub
+ ./bootstrap
+}
+
+build() {
+ cd "$builddir"
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var \
+ --enable-smartcard
+ make
+}
+
+check() {
+ cd "$builddir"
+ make check
+}
+
+package() {
+ cd "$builddir"
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="9e4f6723eb0baab31ad11f1c5c29a4753c655386c2381d01646b7834c959ffc2ec1e0c2f3f73626255aa018889709758d97387c7563da98bb1b7f269610929ae rdesktop-1.8.4.tar.gz
+ae91f4e0eb1e2c3141aedef660eb89628b334155c8c0559805cc4ac75274fff94101daf665052b27fe5074ce7468ff854fab865e7efd377d08d525319c7aa150 gssapi.patch
+e8b4af70a54944d83b7c899aa680042f559e75af3e9a3deb2c7395f8b4a56e50d1c2f26bd10b2377ff577115d635c2aa0fdbddf995588f1d492badfc3e72456e signed-int.patch"
diff --git a/user/rdesktop/gssapi.patch b/user/rdesktop/gssapi.patch
new file mode 100644
index 000000000..5befcf02e
--- /dev/null
+++ b/user/rdesktop/gssapi.patch
@@ -0,0 +1,82 @@
+From 71f1cfb909c0a955632001cf9fad80a321a43372 Mon Sep 17 00:00:00 2001
+From: Pierre Ossman <ossman@cendio.se>
+Date: Mon, 10 Jul 2017 15:12:26 +0200
+Subject: [PATCH 1/2] Fix pointer types for gss_wrap()/gss_unrap()
+
+We were using the incorrect type for the context for these two calls.
+No practical effects, but some noise from the compiler about the wrong
+pointer type.
+---
+ cssp.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/cssp.c b/cssp.c
+index 9f4c0829..6ac37746 100644
+--- a/cssp.c
++++ b/cssp.c
+@@ -173,7 +173,7 @@ cssp_gss_get_service_name(char *server, gss_name_t * name)
+ }
+
+ static RD_BOOL
+-cssp_gss_wrap(gss_ctx_id_t * ctx, STREAM in, STREAM out)
++cssp_gss_wrap(gss_ctx_id_t ctx, STREAM in, STREAM out)
+ {
+ int conf_state;
+ OM_uint32 major_status;
+@@ -212,7 +212,7 @@ cssp_gss_wrap(gss_ctx_id_t * ctx, STREAM in, STREAM out)
+ }
+
+ static RD_BOOL
+-cssp_gss_unwrap(gss_ctx_id_t * ctx, STREAM in, STREAM out)
++cssp_gss_unwrap(gss_ctx_id_t ctx, STREAM in, STREAM out)
+ {
+ OM_uint32 major_status;
+ OM_uint32 minor_status;
+
+From b556651fe109c8802a0c798b8a680e5ff883bf4e Mon Sep 17 00:00:00 2001
+From: Pierre Ossman <ossman@cendio.se>
+Date: Mon, 10 Jul 2017 15:14:01 +0200
+Subject: [PATCH 2/2] Use standard GSSAPI rather than libgssglue
+
+That project is abandoned and the distributions aren't including
+it anymore.
+---
+ configure.ac | 15 ++++-----------
+ 1 file changed, 4 insertions(+), 11 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index e045c409..a969ad5d 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -122,27 +122,20 @@ fi
+
+ dnl CredSSP feature
+ AC_ARG_ENABLE([credssp], AS_HELP_STRING([--disable-credssp], [disable support for CredSSP]))
+-AC_ARG_ENABLE([static-gssglue], AS_HELP_STRING([--enable-static-gssglue]),
+- [static_gssglue=yes], [static_gssglue=no])
+ AS_IF([test "x$enable_credssp" != "xno"], [
+ if test -n "$PKG_CONFIG"; then
+- PKG_CHECK_MODULES(GSSGLUE, libgssglue, [WITH_CREDSSP=1], [WITH_CREDSSP=0])
++ PKG_CHECK_MODULES(GSSAPI, krb5-gssapi, [WITH_CREDSSP=1], [WITH_CREDSSP=0])
+ fi
+
+ if test x"$WITH_CREDSSP" = "x1"; then
+ CREDSSPOBJ="cssp.o"
+- CFLAGS="$CFLAGS $GSSGLUE_CFLAGS"
+-
+- AS_IF([test "x$static_gssglue" != "xno"], [
+- LIBS="$LIBS -Wl,-Bstatic -lgssglue -Wl,-Bdynamic"
+- ], [
+- LIBS="$LIBS -lgssglue"
+- ])
++ CFLAGS="$CFLAGS $GSSAPI_CFLAGS"
++ LIBS="$LIBS $GSSAPI_LIBS"
+
+ AC_DEFINE(WITH_CREDSSP)
+ else
+ echo
+- echo "CredSSP support requires libgssglue, install the dependency"
++ echo "CredSSP support requires GSSAPI, install the dependency"
+ echo "or disable the feature using --disable-credssp."
+ echo
+ exit 1
diff --git a/user/rdesktop/signed-int.patch b/user/rdesktop/signed-int.patch
new file mode 100644
index 000000000..405a4dd3e
--- /dev/null
+++ b/user/rdesktop/signed-int.patch
@@ -0,0 +1,11 @@
+--- rdesktop-1.8.4/orders.c.old 2019-01-02 14:03:25.000000000 +0000
++++ rdesktop-1.8.4/orders.c 2019-01-09 17:13:26.170000000 +0000
+@@ -1266,7 +1266,7 @@
+ in_uint16_le(s, flags); /* used by bmpcache2 */
+ in_uint8(s, type);
+
+- if (!s_check_rem(s, length + 7))
++ if (!s_check_rem(s, (sint16) length + 7))
+ {
+ rdp_protocol_error("process_secondary_order(), next order pointer would overrun stream", &packet);
+ }