From 1ab0ecc8fd5e74e9f09a21c28e6b32e3871d837f Mon Sep 17 00:00:00 2001 From: "A. Wilcox" Date: Wed, 9 Jan 2019 17:16:54 +0000 Subject: user/rdesktop: new package --- user/rdesktop/APKBUILD | 52 +++++++++++++++++++++++++++ user/rdesktop/gssapi.patch | 82 ++++++++++++++++++++++++++++++++++++++++++ user/rdesktop/signed-int.patch | 11 ++++++ 3 files changed, 145 insertions(+) create mode 100644 user/rdesktop/APKBUILD create mode 100644 user/rdesktop/gssapi.patch create mode 100644 user/rdesktop/signed-int.patch 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 +# Maintainer: A. Wilcox +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 +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 +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); + } -- cgit v1.2.3-70-g09d2