rdesktop: upgrade to 1.8.0, with additional patch from Arch

This commit is contained in:
Bruce 2013-11-10 13:34:07 +00:00
parent 39915df88e
commit d9021adb0b
8 changed files with 194 additions and 39 deletions

View File

@ -2,7 +2,7 @@
pkgname=libmad
pkgver=0.15.1b
pkgrel=5
pkgrel=6
pkgdesc="A high-quality MPEG audio decoder"
url="http://www.underbit.com/products/mad/"
arch=('x86_64')

View File

@ -1,30 +1,63 @@
# Maintainer: abveritas@chakra-project.org
#
# Platform Packages for Chakra, part of chakra-project.org
#
# Arch Maintainer:
# Contributor: Andrea Scarpino <andrea@archlinux.org>
# Contributor: Dan McGee <dan@archlinux.org>
#
# Contributor: abveritas@chakra-project.org
# Maintainer: BrLi <rainman59118[at]gmail.com>
pkgname=rdesktop
pkgver=1.7.1
pkgrel=9
depends=('libx11' 'openssl' 'libao' 'libsamplerate')
pkgdesc="Is used to connect to windows terminal servers"
pkgver=1.8.0
pkgrel=1
depends=('libx11' 'openssl' 'libao' 'libsamplerate' 'libxrandr' 'pcsclite')
pkgdesc="An open source client for Windows Remote Desktop Services"
url="http://www.rdesktop.org/"
license=('GPL')
license=('GPLv3')
arch=('x86_64')
source=("http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz"
'rdesktop-send_physical_buttons.diff' 'rdesktop-libao.patch')
md5sums=('c4b39115951c4a6d74f511c99b18fcf9'
'880d3aeac67b901e6bf44d1323374768'
'bd2c9bc68bddcc2652c668753d787df7')
source=("http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.gz"
'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}
# FS#15113
patch -i "${srcdir}/rdesktop-send_physical_buttons.diff"
# Fix libao segfault, from Fedora
patch -i "${srcdir}/rdesktop-libao.patch"
# 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() {
cd ${srcdir}/${pkgname}-${pkgver}
patch -i ${srcdir}/rdesktop-send_physical_buttons.diff
patch -i ${srcdir}/rdesktop-libao.patch
./configure --prefix=/usr
cd ${pkgname}-${pkgver}
./configure --prefix=/usr \
--enable-smartcard \
--with-ipv6
make
}
package() {
cd ${srcdir}/${pkgname}-${pkgver}
make DESTDIR=${pkgdir} install
cd ${pkgname}-${pkgver}
make DESTDIR="${pkgdir}" install
}

View File

@ -1,20 +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,7 +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);

View File

@ -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);

View File

@ -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;

View File

@ -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)

View File

@ -26,8 +26,8 @@ diff -u -r1.163 rdesktop.c
#endif
while ((c = getopt(argc, argv,
- VNCOPT "Au:L:d:s:c:p:n:k:g:fbBeEmzCDKS:T:NX:a:x:Pr:045h?")) != -1)
+ VNCOPT "Au:L:d:s:c:p:n:k:g:fbBeEMmzCDKS:T:NX:a:x:Pr:045h?")) != -1)
- VNCOPT "A:u:L:d:s:c:p:n:k:g:o:fbBeEitmzCDKS:T:NX:a:x:Pr:045h?")) != -1)
+ VNCOPT "A:u:L:d:s:c:p:n:k:g:o:fbBeEitMmzCDKS:T:NX:a:x:Pr:045h?")) != -1)
{
switch (c)
{

View File

@ -0,0 +1,11 @@
--- a/rdesktop/trunk/tcp.c
+++ b/rdesktop/trunk/tcp.c
@@ -193,7 +193,7 @@
int rcvd = 0, ssl_err;
if (g_network_error == True)
- return;
+ return NULL;
if (s == NULL)
{