summaryrefslogtreecommitdiff
path: root/extra/rdesktop
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2013-08-17 01:48:49 -0700
committerroot <root@rshg054.dnsready.net>2013-08-17 01:48:49 -0700
commit74952c750361d72d7b2d14179d4e88b6ce0a0c7e (patch)
tree881e3676cf3b53e4c90d21b37b94a008eda1832f /extra/rdesktop
parent6a3f02abeeecab3efb4442e39e28e05897f25316 (diff)
Sat Aug 17 01:47:45 PDT 2013
Diffstat (limited to 'extra/rdesktop')
-rw-r--r--extra/rdesktop/PKGBUILD23
-rw-r--r--extra/rdesktop/rdesktop-libao.patch25
-rw-r--r--extra/rdesktop/rdesktop-r1729.patch33
-rw-r--r--extra/rdesktop/rdesktop-r1731.patch13
-rw-r--r--extra/rdesktop/rdesktop-r1732.patch73
5 files changed, 144 insertions, 23 deletions
diff --git a/extra/rdesktop/PKGBUILD b/extra/rdesktop/PKGBUILD
index f3cb15605..7558c06e5 100644
--- a/extra/rdesktop/PKGBUILD
+++ b/extra/rdesktop/PKGBUILD
@@ -1,22 +1,26 @@
-# $Id: PKGBUILD 192435 2013-08-11 19:09:27Z eric $
+# $Id: PKGBUILD 193090 2013-08-15 23:15:47Z eric $
# Maintainer:
# Contributor: Andrea Scarpino <andrea@archlinux.org>
# Contributor: Dan McGee <dan@archlinux.org>
pkgname=rdesktop
pkgver=1.8.0
-pkgrel=2
+pkgrel=3
pkgdesc="An open source client for Windows Remote Desktop Services"
arch=('i686' 'x86_64')
url="http://www.rdesktop.org/"
license=('GPL3')
depends=('libao' 'libsamplerate' 'xorg-xrandr' 'pcsclite')
source=("http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.gz"
- 'rdesktop-send_physical_buttons.diff' 'rdesktop-libao.patch' 'rdesktop-tcp.patch')
-md5sums=('203d662ac20b22250bbbd525a9f29f3a'
- 'cbfb12729e7f28e497afb883cc42022b'
- '6514f31dc879a0a66c955e4e3348c143'
- 'f204fd8a40b16ca10d4962d4eaeca4db')
+ 'rdesktop-send_physical_buttons.diff' 'rdesktop-libao.patch' 'rdesktop-tcp.patch'
+ rdesktop-r1729.patch rdesktop-r1731.patch rdesktop-r1732.patch)
+sha1sums=('2d39a41d29ad1ad2509d1e343a2817a3c7d666de'
+ '809a9dc11ad4f704f79fc4bc2a70b76a4f42596d'
+ '68a48061e5ed76150c1444891a192f7884fd056e'
+ 'a14793c72194bed74725bcf75fdb8b93c7577399'
+ '972d6ec59cf140383880464e3ef43e03969f3bfe'
+ '9a417aba27ded0ab595cbb07fccd452bdc0af20c'
+ '1bc92e04058a2f5c02f42a5c97da7ee672a71698')
prepare() {
cd ${pkgname}-${pkgver}
@@ -29,6 +33,11 @@ prepare() {
# FS#36488
patch -i "${srcdir}/rdesktop-tcp.patch"
+ patch -i "${srcdir}/rdesktop-r1731.patch"
+ patch -i "${srcdir}/rdesktop-r1732.patch"
+
+ # FS#36505
+ patch -i "${srcdir}/rdesktop-r1729.patch"
}
build() {
diff --git a/extra/rdesktop/rdesktop-libao.patch b/extra/rdesktop/rdesktop-libao.patch
index 1dcbdddce..9def24443 100644
--- a/extra/rdesktop/rdesktop-libao.patch
+++ b/extra/rdesktop/rdesktop-libao.patch
@@ -1,19 +1,12 @@
-diff -up rdesktop-1.6.0/rdpsnd_libao.c.ao rdesktop-1.6.0/rdpsnd_libao.c
---- rdesktop-1.6.0/rdpsnd_libao.c.ao 2007-10-30 14:57:30.000000000 +0100
-+++ rdesktop-1.6.0/rdpsnd_libao.c 2010-12-02 21:22:39.000000000 +0100
-@@ -76,6 +76,7 @@ libao_open(void)
- format.channels = 2;
- format.rate = 44100;
- format.byte_format = AO_FMT_NATIVE;
-+ format.matrix = NULL;
+Index: rdpsnd_libao.c
+===================================================================
+--- rdpsnd_libao.c (revision 1729)
++++ rdpsnd_libao.c (revision 1730)
+@@ -111,6 +111,7 @@
+ {
+ ao_sample_format format;
- o_device = ao_open_live(default_driver, &format, NULL);
- if (o_device == NULL)
-@@ -115,6 +115,7 @@ libao_set_format(RD_WAVEFORMATEX * pwfx)
++ memset(&format, 0, sizeof(format));
+ format.bits = pwfx->wBitsPerSample;
format.channels = pwfx->nChannels;
format.rate = 44100;
- format.byte_format = AO_FMT_NATIVE;
-+ format.matrix = NULL;
-
- if (o_device != NULL)
- ao_close(o_device);
diff --git a/extra/rdesktop/rdesktop-r1729.patch b/extra/rdesktop/rdesktop-r1729.patch
new file mode 100644
index 000000000..3f38a692c
--- /dev/null
+++ b/extra/rdesktop/rdesktop-r1729.patch
@@ -0,0 +1,33 @@
+Index: scard.c
+===================================================================
+--- scard.c (revision 1728)
++++ scard.c (revision 1729)
+@@ -2,8 +2,8 @@
+ rdesktop: A Remote Desktop Protocol client.
+ Smart Card support
+ Copyright (C) Alexi Volkov <alexi@myrealbox.com> 2006
+- Copyright 2010 Pierre Ossman <ossman@cendio.se> for Cendio AB
+- Copyright 2011 Henrik Andersson <hean01@cendio.se> for Cendio AB
++ Copyright 2010-2013 Pierre Ossman <ossman@cendio.se> for Cendio AB
++ Copyright 2011-2013 Henrik Andersson <hean01@cendio.se> for Cendio AB
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+@@ -1109,6 +1109,7 @@
+ MYPCSC_SCARDCONTEXT myHContext;
+ SERVER_DWORD dwTimeout;
+ SERVER_DWORD dwCount;
++ SERVER_DWORD dwPointerId;
+ SERVER_LPSCARD_READERSTATE_A rsArray, cur;
+ MYPCSC_LPSCARD_READERSTATE_A myRsArray;
+ long i;
+@@ -1133,7 +1134,8 @@
+ memset(rsArray, 0, dwCount * sizeof(SERVER_SCARD_READERSTATE_A));
+ for (i = 0, cur = rsArray; i < dwCount; i++, cur++)
+ {
+- in_uint32_le(in, cur->szReader);
++ in_uint32_le(in, dwPointerId);
++ cur->szReader = (char *)(intptr_t)dwPointerId;
+ in_uint32_le(in, cur->dwCurrentState);
+ in_uint32_le(in, cur->dwEventState);
+ in_uint32_le(in, cur->cbAtr);
diff --git a/extra/rdesktop/rdesktop-r1731.patch b/extra/rdesktop/rdesktop-r1731.patch
new file mode 100644
index 000000000..f72728191
--- /dev/null
+++ b/extra/rdesktop/rdesktop-r1731.patch
@@ -0,0 +1,13 @@
+Index: rdesktop.c
+===================================================================
+--- rdesktop.c (revision 1730)
++++ rdesktop.c (revision 1731)
+@@ -87,7 +87,7 @@
+ RD_BOOL g_sendmotion = True;
+ RD_BOOL g_bitmap_cache = True;
+ RD_BOOL g_bitmap_cache_persist_enable = False;
+-RD_BOOL g_bitmap_cache_precache = True;
++RD_BOOL g_bitmap_cache_precache = False;
+ RD_BOOL g_use_ctrl = True;
+ RD_BOOL g_encryption = True;
+ RD_BOOL g_encryption_initial = True;
diff --git a/extra/rdesktop/rdesktop-r1732.patch b/extra/rdesktop/rdesktop-r1732.patch
new file mode 100644
index 000000000..a4260d0d0
--- /dev/null
+++ b/extra/rdesktop/rdesktop-r1732.patch
@@ -0,0 +1,73 @@
+Index: proto.h
+===================================================================
+--- proto.h (revision 1731)
++++ proto.h (revision 1732)
+@@ -144,6 +144,7 @@
+ char *l_to_a(long N, int base);
+ int load_licence(unsigned char **data);
+ void save_licence(unsigned char *data, int length);
++void rd_create_ui(void);
+ RD_BOOL rd_pstcache_mkdir(void);
+ int rd_open_file(char *filename);
+ void rd_close_file(int fd);
+Index: rdp.c
+===================================================================
+--- rdp.c (revision 1731)
++++ rdp.c (revision 1732)
+@@ -1044,6 +1044,9 @@
+ uint8 type;
+ uint16 len_src_descriptor, len_combined_caps;
+
++ /* at this point we need to ensure that we have ui created */
++ rd_create_ui();
++
+ in_uint32_le(s, g_rdp_shareid);
+ in_uint16_le(s, len_src_descriptor);
+ in_uint16_le(s, len_combined_caps);
+Index: rdesktop.c
+===================================================================
+--- rdesktop.c (revision 1731)
++++ rdesktop.c (revision 1732)
+@@ -87,7 +87,7 @@
+ RD_BOOL g_sendmotion = True;
+ RD_BOOL g_bitmap_cache = True;
+ RD_BOOL g_bitmap_cache_persist_enable = False;
+-RD_BOOL g_bitmap_cache_precache = False;
++RD_BOOL g_bitmap_cache_precache = True;
+ RD_BOOL g_use_ctrl = True;
+ RD_BOOL g_encryption = True;
+ RD_BOOL g_encryption_initial = True;
+@@ -1132,13 +1132,7 @@
+ DEBUG(("Connection successful.\n"));
+ memset(password, 0, sizeof(password));
+
+- /* only create a window if we dont have one intialized */
+- if (!ui_have_window())
+- {
+- if (!ui_create_window())
+- return EX_OSERR;
+- }
+-
++ rd_create_ui();
+ tcp_run_ui(True);
+
+ g_redirect = False;
+@@ -1732,6 +1726,18 @@
+ close(fd);
+ }
+
++/* create rdesktop ui */
++void
++rd_create_ui()
++{
++ /* only create a window if we dont have one intialized */
++ if (!ui_have_window())
++ {
++ if (!ui_create_window())
++ return EX_OSERR;
++ }
++}
++
+ /* Create the bitmap cache directory */
+ RD_BOOL
+ rd_pstcache_mkdir(void)