summaryrefslogtreecommitdiff
path: root/net
diff options
context:
space:
mode:
authortron <tron@pkgsrc.org>2008-06-08 16:29:28 +0000
committertron <tron@pkgsrc.org>2008-06-08 16:29:28 +0000
commit1ea29d5cf4723cc3cb5d28c4d95c8ef5c5293847 (patch)
tree967b6ad303a87d646a6931b3953bdaf87bd928eb /net
parenta6277f890889f12087647fd1d35c90910e9c51e5 (diff)
downloadpkgsrc-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.
Diffstat (limited to 'net')
-rw-r--r--net/rdesktop/Makefile12
-rw-r--r--net/rdesktop/distinfo16
-rw-r--r--net/rdesktop/options.mk14
-rw-r--r--net/rdesktop/patches/patch-ab15
-rw-r--r--net/rdesktop/patches/patch-ac16
-rw-r--r--net/rdesktop/patches/patch-ad133
-rw-r--r--net/rdesktop/patches/patch-ae13
-rw-r--r--net/rdesktop/patches/patch-af22
-rw-r--r--net/rdesktop/patches/patch-ag33
-rw-r--r--net/rdesktop/patches/patch-ah13
-rw-r--r--net/rdesktop/patches/patch-ai19
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;