diff options
author | tron <tron@pkgsrc.org> | 2008-06-08 16:29:28 +0000 |
---|---|---|
committer | tron <tron@pkgsrc.org> | 2008-06-08 16:29:28 +0000 |
commit | 1ea29d5cf4723cc3cb5d28c4d95c8ef5c5293847 (patch) | |
tree | 967b6ad303a87d646a6931b3953bdaf87bd928eb | |
parent | a6277f890889f12087647fd1d35c90910e9c51e5 (diff) | |
download | pkgsrc-1ea29d5cf4723cc3cb5d28c4d95c8ef5c5293847.tar.gz |
Update "rdesktop" package to version 1.6.0. Changes since 1.5.0:
* Fix for potential vulnerability against compromised/malicious
servers (reported by iDefense)
* Fix for crash with recent versions of X.Org
* Fix for connection to Windows 2008 Server
* ALSA driver added
* Sound drivers can now be selected at runtime
* Smartcard support (Alexi Volkov <alexi@my...>)
* Send physical mouse buttons rather than logical ones
The security fixes had already been integrated into "pkgsrc" as patches.
-rw-r--r-- | net/rdesktop/Makefile | 12 | ||||
-rw-r--r-- | net/rdesktop/distinfo | 16 | ||||
-rw-r--r-- | net/rdesktop/options.mk | 14 | ||||
-rw-r--r-- | net/rdesktop/patches/patch-ab | 15 | ||||
-rw-r--r-- | net/rdesktop/patches/patch-ac | 16 | ||||
-rw-r--r-- | net/rdesktop/patches/patch-ad | 133 | ||||
-rw-r--r-- | net/rdesktop/patches/patch-ae | 13 | ||||
-rw-r--r-- | net/rdesktop/patches/patch-af | 22 | ||||
-rw-r--r-- | net/rdesktop/patches/patch-ag | 33 | ||||
-rw-r--r-- | net/rdesktop/patches/patch-ah | 13 | ||||
-rw-r--r-- | net/rdesktop/patches/patch-ai | 19 |
11 files changed, 26 insertions, 280 deletions
diff --git a/net/rdesktop/Makefile b/net/rdesktop/Makefile index e351bc8ca1e..5d751494f22 100644 --- a/net/rdesktop/Makefile +++ b/net/rdesktop/Makefile @@ -1,8 +1,6 @@ -# $NetBSD: Makefile,v 1.34 2008/05/10 15:28:04 tonnerre Exp $ -# +# $NetBSD: Makefile,v 1.35 2008/06/08 16:29:28 tron Exp $ -DISTNAME= rdesktop-1.5.0 -PKGREVISION= 4 +DISTNAME= rdesktop-1.6.0 CATEGORIES= net MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=rdesktop/} @@ -24,6 +22,12 @@ SUBST_FILES.audio= rdpsnd_oss.c SUBST_SED.audio= -e "s,/dev/dsp,${DEVOSSAUDIO},g" SUBST_MESSAGE.audio= Fixing hardcoded audio device. +.include "options.mk" + +.if ${OPSYS} == "NetBSD" +CONFIGURE_ARGS+= --with-sound=oss +.endif + .include "../../security/openssl/buildlink3.mk" .include "../../mk/oss.buildlink3.mk" .include "../../x11/libX11/buildlink3.mk" diff --git a/net/rdesktop/distinfo b/net/rdesktop/distinfo index 644983df3d0..cdda724b1a4 100644 --- a/net/rdesktop/distinfo +++ b/net/rdesktop/distinfo @@ -1,14 +1,6 @@ -$NetBSD: distinfo,v 1.18 2008/05/10 15:28:04 tonnerre Exp $ +$NetBSD: distinfo,v 1.19 2008/06/08 16:29:28 tron Exp $ -SHA1 (rdesktop-1.5.0.tar.gz) = e3086bf865191eed41631813125f482e279c7f3d -RMD160 (rdesktop-1.5.0.tar.gz) = 350e08166d0b7620b4ed9c6594addae7ec53d15a -Size (rdesktop-1.5.0.tar.gz) = 245137 bytes +SHA1 (rdesktop-1.6.0.tar.gz) = b8bfd03d4640d285a0aee5b3fb199a47cb4225f2 +RMD160 (rdesktop-1.6.0.tar.gz) = cf604cd1bc0707b485deb653efa3e47e21fabc4c +Size (rdesktop-1.6.0.tar.gz) = 284728 bytes SHA1 (patch-aa) = dda84f70792828c97aa02567b97d2ae9647b6fcb -SHA1 (patch-ab) = 396a37a4f6f0751e014bd548f9c44f6c462812e1 -SHA1 (patch-ac) = 075ac18148124e5aaa88ee7e5bbd03059d054703 -SHA1 (patch-ad) = 7d439f5dd9f297b6408c60da9d1838c47cc1a90f -SHA1 (patch-ae) = 556ddf2c44f873c5af99d5e85c51d3097e46eb8b -SHA1 (patch-af) = 666ca22f3429722cf277af07bbbef2aadfe08281 -SHA1 (patch-ag) = f36405b112a586b0558f52975d3a7c7e3a0ff933 -SHA1 (patch-ah) = 3ab85738b7e2b62e45e4b1e4f4de3714c00a9fe7 -SHA1 (patch-ai) = c167000000e7cea29fcf33be2c9ca60bc472f4da diff --git a/net/rdesktop/options.mk b/net/rdesktop/options.mk new file mode 100644 index 00000000000..d6397d9ab6b --- /dev/null +++ b/net/rdesktop/options.mk @@ -0,0 +1,14 @@ +# $NetBSD: options.mk,v 1.1 2008/06/08 16:29:28 tron Exp $ + +PKG_OPTIONS_VAR= PKG_OPTIONS.rdesktop +PKG_SUPPORTED_OPTIONS+= inet6 +PKG_SUGGESTED_OPTIONS+= inet6 + +.include "../../mk/bsd.options.mk" + +### +### Support both IPv6 and IPv4 connections. +### +.if !empty(PKG_OPTIONS:Minet6) +CONFIGURE_ARGE+= --with-ipv6 +.endif diff --git a/net/rdesktop/patches/patch-ab b/net/rdesktop/patches/patch-ab deleted file mode 100644 index 6e3e7e1ae52..00000000000 --- a/net/rdesktop/patches/patch-ab +++ /dev/null @@ -1,15 +0,0 @@ -$NetBSD: patch-ab,v 1.7 2007/06/06 00:16:35 tnn Exp $ - -http://rdesktop.cvs.sourceforge.net/rdesktop/rdesktop/xwin.c?r1=1.222&r2=1.223&view=patch - ---- xwin.c 2007/01/17 07:39:31 1.222 -+++ xwin.c 2007/04/12 16:04:25 1.223 -@@ -3218,7 +3218,7 @@ - return; - - image = XCreateImage(g_display, g_visual, g_depth, ZPixmap, 0, -- (char *) data, cx, cy, BitmapPad(g_display), cx * g_bpp / 8); -+ (char *) data, cx, cy, g_bpp, 0); - - if (g_ownbackstore) - { diff --git a/net/rdesktop/patches/patch-ac b/net/rdesktop/patches/patch-ac deleted file mode 100644 index d61015d0b43..00000000000 --- a/net/rdesktop/patches/patch-ac +++ /dev/null @@ -1,16 +0,0 @@ -$NetBSD: patch-ac,v 1.5 2008/05/10 15:28:04 tonnerre Exp $ - ---- iso.c.orig 2006-08-07 13:45:43.000000000 +0200 -+++ iso.c -@@ -98,6 +98,11 @@ iso_recv_msg(uint8 * code, uint8 * rdpve - next_be(s, length); - } - } -+ if (length < 4) -+ { -+ error("Bad packet header\n"); -+ return NULL; -+ } - s = tcp_recv(s, length - 4); - if (s == NULL) - return NULL; diff --git a/net/rdesktop/patches/patch-ad b/net/rdesktop/patches/patch-ad deleted file mode 100644 index 92099f9d6f4..00000000000 --- a/net/rdesktop/patches/patch-ad +++ /dev/null @@ -1,133 +0,0 @@ -$NetBSD: patch-ad,v 1.1 2008/05/10 15:28:04 tonnerre Exp $ - ---- rdp.c.orig 2006-08-07 13:45:43.000000000 +0200 -+++ rdp.c -@@ -241,10 +241,10 @@ rdp_out_unistr(STREAM s, char *string, i - * Returns str_len of string - */ - int --rdp_in_unistr(STREAM s, char *string, int uni_len) -+rdp_in_unistr(STREAM s, char *string, int str_size, int in_len) - { - #ifdef HAVE_ICONV -- size_t ibl = uni_len, obl = uni_len; -+ size_t ibl = in_len, obl = str_size-1; - char *pin = (char *) s->p, *pout = string; - static iconv_t iconv_h = (iconv_t) - 1; - -@@ -258,37 +258,56 @@ rdp_in_unistr(STREAM s, char *string, in - WINDOWS_CODEPAGE, g_codepage, (int) iconv_h); - - g_iconv_works = False; -- return rdp_in_unistr(s, string, uni_len); -+ return rdp_in_unistr(s, string, str_size, in_len); - } - } - - if (iconv(iconv_h, (ICONV_CONST char **) &pin, &ibl, &pout, &obl) == (size_t) - 1) - { -- iconv_close(iconv_h); -- iconv_h = (iconv_t) - 1; -- warning("rdp_in_unistr: iconv fail, errno %d\n", errno); -+ if (errno == E2BIG) -+ { -+ warning("server sent an unexpectedly long string, truncating\n"); -+ } -+ else -+ { -+ iconv_close(iconv_h); -+ iconv_h = (iconv_t) - 1; -+ warning("rdp_in_unistr: iconv fail, errno %d\n", errno); - -- g_iconv_works = False; -- return rdp_in_unistr(s, string, uni_len); -+ g_iconv_works = False; -+ return rdp_in_unistr(s, string, str_size, in_len); -+ } - } - - /* we must update the location of the current STREAM for future reads of s->p */ -- s->p += uni_len; -+ s->p += in_len; - -+ *pout = 0; - return pout - string; - } - else - #endif - { - int i = 0; -+ int len = in_len / 2; -+ int rem = 0; -+ -+ if (len > str_size - 1) -+ { -+ warning("server sent an unexpectedly long string, truncating\n"); -+ len = str_size - 1; -+ rem = in_len - 2 * len; -+ } - -- while (i < uni_len / 2) -+ while (i < len) - { - in_uint8a(s, &string[i++], 1); - in_uint8s(s, 1); - } - -- return i - 1; -+ in_uint8s(s, rem); -+ string[len] = 0; -+ return len; - } - } - -@@ -1323,32 +1342,44 @@ process_redirect_pdu(STREAM s /*, uint32 - in_uint32_le(s, len); - - /* read ip string */ -- rdp_in_unistr(s, g_redirect_server, len); -+ rdp_in_unistr(s, g_redirect_server, sizeof(g_redirect_server), len); - - /* read length of cookie string */ - in_uint32_le(s, len); - - /* read cookie string (plain ASCII) */ -- in_uint8a(s, g_redirect_cookie, len); -+ if (len > sizeof(g_redirect_cookie)-1) -+ { -+ uint32 rem = len - (sizeof(g_redirect_cookie)-1); -+ len = sizeof(g_redirect_cookie)-1; -+ -+ warning("Unexpectedly large redirection cookie\n"); -+ in_uint8a(s, g_redirect_cookie, len); -+ in_uint8s(s, rem); -+ } -+ else -+ { -+ in_uint8a(s, g_redirect_cookie, len); -+ } - g_redirect_cookie[len] = 0; - - /* read length of username string */ - in_uint32_le(s, len); - - /* read username string */ -- rdp_in_unistr(s, g_redirect_username, len); -+ rdp_in_unistr(s, g_redirect_username, sizeof(g_redirect_username), len); - - /* read length of domain string */ - in_uint32_le(s, len); - - /* read domain string */ -- rdp_in_unistr(s, g_redirect_domain, len); -+ rdp_in_unistr(s, g_redirect_domain, sizeof(g_redirect_domain), len); - - /* read length of password string */ - in_uint32_le(s, len); - - /* read password string */ -- rdp_in_unistr(s, g_redirect_password, len); -+ rdp_in_unistr(s, g_redirect_password, sizeof(g_redirect_password), len); - - g_redirect = True; - diff --git a/net/rdesktop/patches/patch-ae b/net/rdesktop/patches/patch-ae deleted file mode 100644 index 25d658e9af5..00000000000 --- a/net/rdesktop/patches/patch-ae +++ /dev/null @@ -1,13 +0,0 @@ -$NetBSD: patch-ae,v 1.1 2008/05/10 15:28:04 tonnerre Exp $ - ---- proto.h.orig 2006-08-07 13:45:43.000000000 +0200 -+++ proto.h -@@ -135,7 +135,7 @@ BOOL rd_lock_file(int fd, int start, int - void rdp5_process(STREAM s); - /* rdp.c */ - void rdp_out_unistr(STREAM s, char *string, int len); --int rdp_in_unistr(STREAM s, char *string, int uni_len); -+int rdp_in_unistr(STREAM s, char *string, int str_size, int in_len); - void rdp_send_input(uint32 time, uint16 message_type, uint16 device_flags, uint16 param1, - uint16 param2); - void rdp_send_client_window_status(int status); diff --git a/net/rdesktop/patches/patch-af b/net/rdesktop/patches/patch-af deleted file mode 100644 index d88dd318031..00000000000 --- a/net/rdesktop/patches/patch-af +++ /dev/null @@ -1,22 +0,0 @@ -$NetBSD: patch-af,v 1.1 2008/05/10 15:28:04 tonnerre Exp $ - ---- rdpdr.c.orig 2006-08-07 13:45:43.000000000 +0200 -+++ rdpdr.c -@@ -415,7 +415,7 @@ rdpdr_process_irp(STREAM s) - - if (length && (length / 2) < 256) - { -- rdp_in_unistr(s, filename, length); -+ rdp_in_unistr(s, filename, sizeof(filename), length); - convert_to_unix_filename(filename); - } - else -@@ -608,7 +608,7 @@ rdpdr_process_irp(STREAM s) - in_uint8s(s, 0x17); - if (length && length < 2 * 255) - { -- rdp_in_unistr(s, filename, length); -+ rdp_in_unistr(s, filename, sizeof(filename), length); - convert_to_unix_filename(filename); - } - else diff --git a/net/rdesktop/patches/patch-ag b/net/rdesktop/patches/patch-ag deleted file mode 100644 index 4c4ec179a79..00000000000 --- a/net/rdesktop/patches/patch-ag +++ /dev/null @@ -1,33 +0,0 @@ -$NetBSD: patch-ag,v 1.1 2008/05/10 15:28:04 tonnerre Exp $ - ---- printercache.c.orig 2006-08-07 13:45:43.000000000 +0200 -+++ printercache.c -@@ -245,8 +245,8 @@ printercache_process(STREAM s) - - /* NOTE - 'driver' doesn't contain driver, it contains the new printer name */ - -- rdp_in_unistr(s, printer, printer_length); -- rdp_in_unistr(s, driver, driver_length); -+ rdp_in_unistr(s, printer, sizeof(printer), printer_length); -+ rdp_in_unistr(s, driver, sizeof(printer), driver_length); - - printercache_rename_blob(printer, driver); - break; -@@ -254,7 +254,7 @@ printercache_process(STREAM s) - case 3: /* delete item */ - in_uint8(s, printer_unicode_length); - in_uint8s(s, 0x3); /* padding */ -- printer_length = rdp_in_unistr(s, printer, printer_unicode_length); -+ printer_length = rdp_in_unistr(s, printer, sizeof(printer), printer_unicode_length); - printercache_unlink_blob(printer); - break; - -@@ -264,7 +264,7 @@ printercache_process(STREAM s) - - if (printer_unicode_length < 2 * 255) - { -- rdp_in_unistr(s, printer, printer_unicode_length); -+ rdp_in_unistr(s, printer, sizeof(printer), printer_unicode_length); - printercache_save_blob(printer, s->p, blob_length); - } - break; diff --git a/net/rdesktop/patches/patch-ah b/net/rdesktop/patches/patch-ah deleted file mode 100644 index c831a48d93b..00000000000 --- a/net/rdesktop/patches/patch-ah +++ /dev/null @@ -1,13 +0,0 @@ -$NetBSD: patch-ah,v 1.1 2008/05/10 15:28:04 tonnerre Exp $ - ---- disk.c.orig 2006-08-07 13:45:43.000000000 +0200 -+++ disk.c -@@ -799,7 +799,7 @@ disk_set_information(NTHANDLE handle, ui - - if (length && (length / 2) < 256) - { -- rdp_in_unistr(in, newname, length); -+ rdp_in_unistr(in, newname, sizeof(newname), length); - convert_to_unix_filename(newname); - } - else diff --git a/net/rdesktop/patches/patch-ai b/net/rdesktop/patches/patch-ai deleted file mode 100644 index a02f00aff53..00000000000 --- a/net/rdesktop/patches/patch-ai +++ /dev/null @@ -1,19 +0,0 @@ -$NetBSD: patch-ai,v 1.1 2008/05/10 15:28:04 tonnerre Exp $ - ---- rdesktop.c.orig 2006-08-07 13:45:43.000000000 +0200 -+++ rdesktop.c -@@ -1082,12 +1082,12 @@ xrealloc(void *oldmem, int size) - { - void *mem; - -- if (size < 1) -+ if (size == 0) - size = 1; - mem = realloc(oldmem, size); - if (mem == NULL) - { -- error("xrealloc %d\n", size); -+ error("xrealloc %ld\n", size); - exit(1); - } - return mem; |