diff options
author | jmz <jmz@FreeBSD.org> | 2001-04-06 00:21:35 +0800 |
---|---|---|
committer | jmz <jmz@FreeBSD.org> | 2001-04-06 00:21:35 +0800 |
commit | fed7c2b4f6937fffba7672feb1941ad0f267f16c (patch) | |
tree | 7ef761fc355fe8a6b63ed0ca296b33e9c02190c2 /x11 | |
parent | 080a749bbaa7abcbbdc5e91feaef7751af8fcc95 (diff) | |
download | freebsd-ports-gnome-fed7c2b4f6937fffba7672feb1941ad0f267f16c.tar.gz freebsd-ports-gnome-fed7c2b4f6937fffba7672feb1941ad0f267f16c.tar.zst freebsd-ports-gnome-fed7c2b4f6937fffba7672feb1941ad0f267f16c.zip |
Bring in the most recent bits from the XFree86 cvs repository (security
fixes mainly). This corresponds more or less to a pre-3.3.7 version.
Diffstat (limited to 'x11')
-rw-r--r-- | x11/XFree86/Makefile | 12 | ||||
-rw-r--r-- | x11/XFree86/distinfo | 8 | ||||
-rw-r--r-- | x11/XFree86/files/patch-01 | 12 | ||||
-rw-r--r-- | x11/XFree86/files/patch-8 | 13 | ||||
-rw-r--r-- | x11/XFree86/files/patch-9 | 12 | ||||
-rw-r--r-- | x11/XFree86/files/patch-aa | 11 | ||||
-rw-r--r-- | x11/XFree86/files/patch-d | 10 | ||||
-rw-r--r-- | x11/XFree86/files/patch-h | 558 | ||||
-rw-r--r-- | x11/XFree86/pkg-plist | 18 | ||||
-rw-r--r-- | x11/XFree86/pkg-plist.alpha | 2 | ||||
-rw-r--r-- | x11/XFree86/pkg-plist.pc98 | 2 |
11 files changed, 18 insertions, 640 deletions
diff --git a/x11/XFree86/Makefile b/x11/XFree86/Makefile index e1bb146bb003..ca8c38eb0d91 100644 --- a/x11/XFree86/Makefile +++ b/x11/XFree86/Makefile @@ -7,7 +7,7 @@ PORTNAME= XFree86 PORTVERSION= 3.3.6 -PORTREVISION= 7 +PORTREVISION= 8 CATEGORIES= x11 MASTER_SITES= ${MASTER_SITE_XFREE} MASTER_SITE_SUBDIR= ${PORTVERSION} @@ -16,13 +16,8 @@ DISTFILES= X336src-1.tgz X336src-2.tgz DISTFILES+= X336src-3.tgz .endif -PATCH_SITES= ftp://ftp.xfree.org/pub/XFree86/3.3.6/fixes/ \ - ftp://ftp.freesoftware.com/pub/XFree86/3.3.6/fixes/ \ - ftp://ftp.lip6.fr/pub/X11/XFree86/XFree86-3.3.6/fixes/ \ - ftp://ftp.cs.tu-berlin.de/pub/X/XFree86/3.3.6/fixes/ \ - ftp://sunsite.doc.ic.ac.uk/packages/XFree86/3.3.6/fixes/ -PATCHFILES= fix-01-r128 fix-04-s3trio3d2x fix-05-s3trio3d fix-06-s3trio3d2x\ - fix-07-s3trio64v2gx+netfinity fix-08-s3savage_ix+mx +PATCH_SITES= ${MASTER_SITE_LOCAL:S,%SUBDIR%,jmz,g} +PATCHFILES= 3.3.6-3.3.6a.diffs.gz MAINTAINER= jmz@FreeBSD.org @@ -35,7 +30,6 @@ INSTALL_TARGET= install install.man INSTALL_TARGET+= install.linkkit .endif DIST_SUBDIR= xc -PATCH_DIST_ARGS=-p2 -E -d ${WRKDIR}/xc/programs --quiet SCRIPTS_ENV= OSVERSION=${OSVERSION} MACHINE=${MACHINE} \ MACHINE_ARCH=${MACHINE_ARCH} # can't use USE_X_PREFIX here -- it will cause a circular dependency diff --git a/x11/XFree86/distinfo b/x11/XFree86/distinfo index 76df313a8264..2662e20dc4fe 100644 --- a/x11/XFree86/distinfo +++ b/x11/XFree86/distinfo @@ -1,10 +1,4 @@ MD5 (xc/X336src-1.tgz) = bbfa360d10ce91ab37f24f197a31b485 MD5 (xc/X336src-2.tgz) = 897daa223b5b67b8314ed8835cc17539 -MD5 (xc/X336src-3.tgz) = 4b1d9d353f8b4cba678f7c156b872330 -MD5 (xc/fix-01-r128) = a62387e13b970c5a83e9a0822c30344f -MD5 (xc/fix-04-s3trio3d2x) = 75569a9d49bb45b8ecb311ab3f8c2469 -MD5 (xc/fix-05-s3trio3d) = eb8fd33328c8b5fbd0410472339dee44 -MD5 (xc/fix-06-s3trio3d2x) = 79c4e3f340f1df5786649559d09c2378 -MD5 (xc/fix-07-s3trio64v2gx+netfinity) = 6b09cc9b7b3d89f18ea5e9591969b99c -MD5 (xc/fix-08-s3savage_ix+mx) = 8df8d4b013de9e5f87d028b1bf2415a5 +MD5 (xc/3.3.6-3.3.6a.diffs.gz) = 6268d7e4b4ed5c189dbcb8af2c560615 MD5 (xc/Wraphelp.c) = IGNORE diff --git a/x11/XFree86/files/patch-01 b/x11/XFree86/files/patch-01 deleted file mode 100644 index 677d184b5c89..000000000000 --- a/x11/XFree86/files/patch-01 +++ /dev/null @@ -1,12 +0,0 @@ -diff -ur /usr/ports/x11/XFree86/work/xc/config/cf/xfree86.cf config/cf/xfree86.cf ---- /usr/ports/x11/XFree86/work/xc/config/cf/xfree86.cf Sun Nov 8 11:19:11 1998 -+++ config/cf/xfree86.cf Tue Dec 8 10:05:55 1998 -@@ -853,7 +853,7 @@ - #endif - - #ifndef XFree86ConsoleDefines --#ifdef i386BsdArchitecture -+#if defined(i386BsdArchitecture) || defined(AlphaBsdArchitecture) - #define XFree86ConsoleDefines -DPCCONS_SUPPORT -DSYSCONS_SUPPORT -DPCVT_SUPPORT - #else - #define XFree86ConsoleDefines /**/ diff --git a/x11/XFree86/files/patch-8 b/x11/XFree86/files/patch-8 deleted file mode 100644 index 58f16f2ed4de..000000000000 --- a/x11/XFree86/files/patch-8 +++ /dev/null @@ -1,13 +0,0 @@ ---- nls/Imakefile.orig Sun Jan 23 02:22:04 2000 -+++ nls/Imakefile Sun Jan 23 02:38:08 2000 -@@ -8,7 +8,9 @@ - #define PassCDebugFlags - - SUBDIRS = XLC_LOCALE Compose -- -+#if defined(FreeBSDArchitecture) -+STD_CPP_DEFINES+= -DINCLUDE_ru_SU -+#endif - MakeSubdirs($(SUBDIRS)) - DependSubdirs($(SUBDIRS)) - diff --git a/x11/XFree86/files/patch-9 b/x11/XFree86/files/patch-9 deleted file mode 100644 index 985d7dddac3d..000000000000 --- a/x11/XFree86/files/patch-9 +++ /dev/null @@ -1,12 +0,0 @@ ---- programs/xdm/sessreg.c~ Sun Jan 16 18:33:06 2000 -+++ programs/xdm/sessreg.c Sun Jan 23 03:31:15 2000 -@@ -79,7 +79,9 @@ - - #ifdef CSRG_BASED - /* *BSD doesn't like a ':0' type entry in utmp */ -+#ifndef __FreeBSD__ - #define NO_UTMP -+#endif - #endif - - #ifndef WTMP_FILE diff --git a/x11/XFree86/files/patch-aa b/x11/XFree86/files/patch-aa deleted file mode 100644 index def1d4dd3fb6..000000000000 --- a/x11/XFree86/files/patch-aa +++ /dev/null @@ -1,11 +0,0 @@ ---- programs/Xserver/Imakefile.ORIG Sun Nov 14 18:16:17 1999 -+++ programs/Xserver/Imakefile Sun Nov 14 18:17:24 1999 -@@ -161,7 +161,7 @@ - SYSLIBS = $(ZLIB) MathLibrary Krb5Libraries DBMLibrary $(EXTRASYSLIBS) - #endif - #if HasPam -- PAMLIBS = -lpam -lpam_misc -ldl -+ PAMLIBS = -lpam - #endif - CBRT = mi/LibraryTargetName(cbrt) - STDDIRS = include dix os mi $(XPDDXDIR) $(EXTDIRS) diff --git a/x11/XFree86/files/patch-d b/x11/XFree86/files/patch-d deleted file mode 100644 index 70cb0a30c77f..000000000000 --- a/x11/XFree86/files/patch-d +++ /dev/null @@ -1,10 +0,0 @@ ---- programs/Xserver/hw/xfree86/xf86Version.h.orig Sat Jan 8 19:24:57 2000 -+++ programs/Xserver/hw/xfree86/xf86Version.h Wed Feb 9 16:44:53 2000 -@@ -19,6 +19,6 @@ - XF86_VERSION_BETA, \ - XF86_VERSION_ALPHA) - --#define XF86_DATE "January 8 1999" -+#define XF86_DATE "January 8 2000" - - /* $XConsortium: xf86Version.h /main/78 1996/10/28 05:42:10 kaleb $ */ diff --git a/x11/XFree86/files/patch-h b/x11/XFree86/files/patch-h deleted file mode 100644 index 3ff2fafc0adf..000000000000 --- a/x11/XFree86/files/patch-h +++ /dev/null @@ -1,558 +0,0 @@ -diff -u lib/ICE/ICElibint.h:1.1 X11/xc/lib/ICE/ICElibint.h:1.2 ---- lib/ICE/ICElibint.h:1.1 Fri Sep 5 02:58:32 1997 -+++ lib/ICE/ICElibint.h Mon Jul 10 15:17:09 2000 -@@ -288,20 +288,21 @@ - } - - --#define SKIP_STRING(_pBuf, _swap) \ -+#define SKIP_STRING(_pBuf, _swap, _end, _bail) \ - { \ - CARD16 _len; \ - EXTRACT_CARD16 (_pBuf, _swap, _len); \ -- _pBuf += _len; \ -- if (PAD32 (2 + _len)) \ -- _pBuf += PAD32 (2 + _len); \ --} -+ _pBuf += _len + PAD32(2+_len); \ -+ if (_pBuf > _end) { \ -+ _bail; \ -+ } \ -+} - --#define SKIP_LISTOF_STRING(_pBuf, _swap, _count) \ -+#define SKIP_LISTOF_STRING(_pBuf, _swap, _count, _end, _bail) \ - { \ - int _i; \ - for (_i = 0; _i < _count; _i++) \ -- SKIP_STRING (_pBuf, _swap); \ -+ SKIP_STRING (_pBuf, _swap, _end, _bail); \ - } - - -Index: lib/ICE/process.c -diff -u lib/ICE/process.c:1.1 X11/xc/lib/ICE/process.c:1.2 ---- lib/ICE/process.c:1.1 Fri Sep 5 02:58:32 1997 -+++ lib/ICE/process.c Mon Jul 10 15:17:10 2000 -@@ -63,7 +63,11 @@ - return (0); \ - } - -- -+#define BAIL_STRING(_iceConn, _opcode, _pStart) {\ -+ _IceErrorBadLength (_iceConn, 0, _opcode, IceFatalToConnection);\ -+ IceDisposeCompleteMessage (_iceConn, _pStart);\ -+ return (0);\ -+} - - /* - * IceProcessMessages: -@@ -819,7 +823,7 @@ - int myAuthCount, hisAuthCount; - int found, i, j; - char *myAuthName, **hisAuthNames; -- char *pData, *pStart; -+ char *pData, *pStart, *pEnd; - char *vendor = NULL; - char *release = NULL; - int myAuthIndex = 0; -@@ -843,10 +847,18 @@ - } - - pData = pStart; -- -- SKIP_STRING (pData, swap); /* vendor */ -- SKIP_STRING (pData, swap); /* release */ -- SKIP_LISTOF_STRING (pData, swap, (int) message->authCount);/* auth names */ -+ pEnd = pStart + (length << 3); -+ -+ SKIP_STRING (pData, swap, pEnd, -+ BAIL_STRING(iceConn, ICE_ConnectionSetup, -+ pStart)); /* vendor */ -+ SKIP_STRING (pData, swap, pEnd, -+ BAIL_STRING(iceConn, ICE_ConnectionSetup, -+ pStart)); /* release */ -+ SKIP_LISTOF_STRING (pData, swap, (int) message->authCount, pEnd, -+ BAIL_STRING(iceConn, ICE_ConnectionSetup, -+ pStart)); /* auth names */ -+ - pData += (message->versionCount * 4); /* versions */ - - CHECK_COMPLETE_SIZE (iceConn, ICE_ConnectionSetup, -@@ -1685,7 +1697,7 @@ - - { - iceConnectionReplyMsg *message; -- char *pData, *pStart; -+ char *pData, *pStart, *pEnd; - Bool replyReady; - - CHECK_AT_LEAST_SIZE (iceConn, ICE_ConnectionReply, -@@ -1701,9 +1713,14 @@ - } - - pData = pStart; -+ pEnd = pStart + (length << 3); - -- SKIP_STRING (pData, swap); /* vendor */ -- SKIP_STRING (pData, swap); /* release */ -+ SKIP_STRING (pData, swap, pEnd, -+ BAIL_STRING (iceConn, ICE_ConnectionReply, -+ pStart)); /* vendor */ -+ SKIP_STRING (pData, swap, pEnd, -+ BAIL_STRING (iceConn, ICE_ConnectionReply, -+ pStart)); /* release */ - - CHECK_COMPLETE_SIZE (iceConn, ICE_ConnectionReply, - length, pData - pStart + SIZEOF (iceConnectionReplyMsg), -@@ -1789,7 +1806,7 @@ - int found, i, j; - char *myAuthName, **hisAuthNames; - char *protocolName; -- char *pData, *pStart; -+ char *pData, *pStart, *pEnd; - char *vendor = NULL; - char *release = NULL; - int accept_setup_now = 0; -@@ -1824,11 +1841,20 @@ - } - - pData = pStart; -+ pEnd = pStart + (length << 3); - -- SKIP_STRING (pData, swap); /* proto name */ -- SKIP_STRING (pData, swap); /* vendor */ -- SKIP_STRING (pData, swap); /* release */ -- SKIP_LISTOF_STRING (pData, swap, (int) message->authCount);/* auth names */ -+ SKIP_STRING (pData, swap, pEnd, -+ BAIL_STRING(iceConn, ICE_ProtocolSetup, -+ pStart)); /* proto name */ -+ SKIP_STRING (pData, swap, pEnd, -+ BAIL_STRING(iceConn, ICE_ProtocolSetup, -+ pStart)); /* vendor */ -+ SKIP_STRING (pData, swap, pEnd, -+ BAIL_STRING(iceConn, ICE_ProtocolSetup, -+ pStart)); /* release */ -+ SKIP_LISTOF_STRING (pData, swap, (int) message->authCount, pEnd, -+ BAIL_STRING(iceConn, ICE_ProtocolSetup, -+ pStart)); /* auth names */ - pData += (message->versionCount * 4); /* versions */ - - CHECK_COMPLETE_SIZE (iceConn, ICE_ProtocolSetup, -@@ -2170,7 +2196,7 @@ - - { - iceProtocolReplyMsg *message; -- char *pData, *pStart; -+ char *pData, *pStart, *pEnd; - Bool replyReady; - - CHECK_AT_LEAST_SIZE (iceConn, ICE_ProtocolReply, -@@ -2186,9 +2212,14 @@ - } - - pData = pStart; -+ pEnd = pStart + (length << 3); - -- SKIP_STRING (pData, swap); /* vendor */ -- SKIP_STRING (pData, swap); /* release */ -+ SKIP_STRING (pData, swap, pEnd, -+ BAIL_STRING(iceConn, ICE_ProtocolReply, -+ pStart)); /* vendor */ -+ SKIP_STRING (pData, swap, pEnd, -+ BAIL_STRING(iceConn, ICE_ProtocolReply, -+ pStart)); /* release */ - - CHECK_COMPLETE_SIZE (iceConn, ICE_ProtocolReply, - length, pData - pStart + SIZEOF (iceProtocolReplyMsg), -Index: lib/X11/GetProp.c -diff -u lib/X11/GetProp.c:1.1 X11/xc/lib/X11/GetProp.c:1.2 ---- lib/X11/GetProp.c:1.1 Fri Sep 5 02:58:44 1997 -+++ lib/X11/GetProp.c Mon Jul 10 15:20:35 2000 -@@ -76,21 +76,24 @@ - */ - case 8: - nbytes = netbytes = reply.nItems; -- if (*prop = (unsigned char *) Xmalloc ((unsigned)nbytes + 1)) -+ if (nbytes + 1 > 0 && -+ (*prop = (unsigned char *) Xmalloc ((unsigned)nbytes + 1))) - _XReadPad (dpy, (char *) *prop, netbytes); - break; - - case 16: - nbytes = reply.nItems * sizeof (short); - netbytes = reply.nItems << 1; -- if (*prop = (unsigned char *) Xmalloc ((unsigned)nbytes + 1)) -+ if (nbytes + 1 > 0 && -+ (*prop = (unsigned char *) Xmalloc ((unsigned)nbytes + 1))) - _XRead16Pad (dpy, (short *) *prop, netbytes); - break; - - case 32: - nbytes = reply.nItems * sizeof (long); - netbytes = reply.nItems << 2; -- if (*prop = (unsigned char *) Xmalloc ((unsigned)nbytes + 1)) -+ if (nbytes + 1 > 0 && -+ (*prop = (unsigned char *) Xmalloc ((unsigned)nbytes + 1))) - _XRead32 (dpy, (long *) *prop, netbytes); - break; - -Index: lib/X11/OpenDis.c -diff -u lib/X11/OpenDis.c:1.1 X11/xc/lib/X11/OpenDis.c:1.2 ---- lib/X11/OpenDis.c:1.1 Fri Sep 5 02:58:48 1997 -+++ lib/X11/OpenDis.c Mon Jul 10 15:20:35 2000 -@@ -371,6 +371,14 @@ - dpy->max_request_size = u.setup->maxRequestSize; - mask = dpy->resource_mask; - dpy->resource_shift = 0; -+ if (!mask) -+ { -+ fprintf (stderr, "Xlib: connection to \"%s\" invalid setup\n", -+ fullname); -+ OutOfMemory(dpy, setup); -+ return (NULL); -+ } -+ - while (!(mask & 1)) { - dpy->resource_shift++; - mask = mask >> 1; -@@ -390,6 +398,13 @@ - (void) strncpy(dpy->vendor, u.vendor, vendorlen); - dpy->vendor[vendorlen] = '\0'; - vendorlen = (vendorlen + 3) & ~3; /* round up */ -+/* -+ * validate setup length -+ */ -+ if ((int) setuplength - sz_xConnSetup - vendorlen < 0) { -+ OutOfMemory(dpy, setup); -+ return (NULL); -+ } - memmove (setup, u.vendor + vendorlen, - (int) setuplength - sz_xConnSetup - vendorlen); - u.vendor = setup; -@@ -568,6 +583,8 @@ - - if (_XReply (dpy, (xReply *) &reply, 0, xFalse)) { - if (reply.format == 8 && reply.propertyType == XA_STRING && -+ (reply.nItems + 1 > 0) && -+ (reply.nItems <= req->longLength * 4) && - (dpy->xdefaults = Xmalloc (reply.nItems + 1))) { - _XReadPad (dpy, dpy->xdefaults, reply.nItems); - dpy->xdefaults[reply.nItems] = '\0'; -Index: lib/X11/XlibInt.c -diff -u lib/X11/XlibInt.c:1.3 X11/xc/lib/X11/XlibInt.c:1.4 ---- lib/X11/XlibInt.c:1.3 Tue Aug 24 12:11:19 1999 -+++ lib/X11/XlibInt.c Mon Jul 10 15:20:35 2000 -@@ -38,6 +38,8 @@ - #define NEED_EVENTS - #define NEED_REPLIES - -+#define GENERIC_LENGTH_LIMIT (1 << 29) -+ - #include "Xlibint.h" - #include <X11/Xpoll.h> - #include <X11/Xtrans.h> -@@ -1689,6 +1691,17 @@ - != (char *)rep) - continue; - } -+ /* -+ * Don't accept ridiculously large values for -+ * generic.length; doing so could cause stack-scribbling -+ * problems elsewhere. -+ */ -+ if (rep->generic.length > GENERIC_LENGTH_LIMIT) { -+ rep->generic.length = GENERIC_LENGTH_LIMIT; -+ (void) fprintf(stderr, -+ "Xlib: suspiciously long reply length %d set to %d", -+ rep->generic.length, GENERIC_LENGTH_LIMIT); -+ } - if (extra <= rep->generic.length) { - if (extra > 0) - /* -@@ -1827,6 +1840,13 @@ - #endif - if (len > *lenp) - _XEatData(dpy, len - *lenp); -+ } -+ if (len < SIZEOF(xReply)) -+ { -+ _XIOError (dpy); -+ buf += *lenp; -+ *lenp = 0; -+ return buf; - } - if (len >= *lenp) { - buf += *lenp; -Index: programs/Xserver/os/secauth.c -diff -u programs/Xserver/os/secauth.c:1.1 X11/xc/programs/Xserver/os/secauth.c:1.3 ---- programs/Xserver/os/secauth.c:1.1 Fri Sep 5 03:15:14 1997 -+++ programs/Xserver/os/secauth.c Mon Jul 10 15:23:26 2000 -@@ -47,7 +47,7 @@ - ClientPtr client; - char **reason; - { -- char *policy = *dataP; -+ CARD8 *policy = *(CARD8 **)dataP; - int length; - Bool permit; - int nPolicies; -@@ -61,13 +61,13 @@ - } - - permit = (*policy++ == 0); -- nPolicies = *policy++; -+ nPolicies = (CARD8) *policy++; - - length -= 2; - - sitePolicies = SecurityGetSitePolicyStrings(&nSitePolicies); - -- while (nPolicies) { -+ while (nPolicies > 0) { - int strLen, sitePolicy; - - if (length == 0) { -@@ -75,7 +75,7 @@ - return FALSE; - } - -- strLen = *policy++; -+ strLen = (CARD8) *policy++; - if (--length < strLen) { - *reason = InvalidPolicyReason; - return FALSE; -@@ -87,7 +87,7 @@ - { - char *testPolicy = sitePolicies[sitePolicy]; - if ((strLen == strlen(testPolicy)) && -- (strncmp(policy, testPolicy, strLen) == 0)) -+ (strncmp((char *)policy, testPolicy, strLen) == 0)) - { - found = TRUE; /* need to continue parsing the policy... */ - break; -@@ -107,7 +107,7 @@ - } - - *data_lengthP = length; -- *dataP = policy; -+ *dataP = (char *)policy; - return TRUE; - } - -Index: programs/Xserver/os/xdmcp.c -diff -u programs/Xserver/os/xdmcp.c:1.1.1.2 X11/xc/programs/Xserver/os/xdmcp.c:1.2 ---- programs/Xserver/os/xdmcp.c:1.1.1.2 Fri Jan 8 10:56:48 1999 -+++ programs/Xserver/os/xdmcp.c Mon Jul 10 15:26:07 2000 -@@ -1,5 +1,5 @@ - /* $XConsortium: xdmcp.c /main/34 1996/12/02 10:23:29 lehors $ */ --/* $XFree86: xc/programs/Xserver/os/xdmcp.c,v 3.9.2.1 1998/12/18 11:56:34 dawes Exp $ */ -+/* $XFree86: xc/programs/Xserver/os/xdmcp.c,v 3.9.2.2 2000/02/08 20:32:12 dawes Exp $ */ - /* - * Copyright 1989 Network Computing Devices, Inc., Mountain View, California. - * -@@ -290,7 +290,10 @@ - return (i + 1); - } - if (strcmp(argv[i], "-port") == 0) { -- ++i; -+ if (++i == argc) { -+ ErrorF("Xserver: missing port number in command line\n"); -+ exit(1); -+ } - xdm_udp_port = atoi(argv[i]); - return (i + 1); - } -@@ -300,18 +303,28 @@ - } - if (strcmp(argv[i], "-class") == 0) { - ++i; -+ if (++i == argc) { -+ ErrorF("Xserver: missing class name in command line\n"); -+ exit(1); -+ } - defaultDisplayClass = argv[i]; - return (i + 1); - } - #ifdef HASXDMAUTH - if (strcmp(argv[i], "-cookie") == 0) { -- ++i; -+ if (++i == argc) { -+ ErrorF("Xserver: missing cookie data in command line\n"); -+ exit(1); -+ } - xdmAuthCookie = argv[i]; - return (i + 1); - } - #endif - if (strcmp(argv[i], "-displayID") == 0) { -- ++i; -+ if (++i == argc) { -+ ErrorF("Xserver: missing displayID in command line\n"); -+ exit(1); -+ } - XdmcpRegisterManufacturerDisplayID (argv[i], strlen (argv[i])); - return (i + 1); - } -Index: programs/Xserver/xkb/ddxLoad.c -diff -u programs/Xserver/xkb/ddxLoad.c:1.1.1.3 X11/xc/programs/Xserver/xkb/ddxLoad.c:1.2 ---- programs/Xserver/xkb/ddxLoad.c:1.1.1.3 Sat Nov 28 01:49:13 1998 -+++ programs/Xserver/xkb/ddxLoad.c Mon Jul 10 15:28:10 2000 -@@ -24,7 +24,7 @@ - THE USE OR PERFORMANCE OF THIS SOFTWARE. - - ********************************************************/ --/* $XFree86: xc/programs/Xserver/xkb/ddxLoad.c,v 3.19.2.3 1998/09/27 12:59:29 hohndel Exp $ */ -+/* $XFree86: xc/programs/Xserver/xkb/ddxLoad.c,v 3.19.2.4 2000/06/15 23:24:07 dawes Exp $ */ - - #include <stdio.h> - #include <ctype.h> -@@ -139,10 +139,8 @@ - +strlen(file)+strlen(xkm_output_dir) - +strlen(outFile)+53 > PATH_MAX) - { --#ifdef DEBUG - ErrorF("compiler command for keymap (%s) exceeds max length\n", - names->keymap); --#endif - return False; - } - #ifndef __EMX__ -@@ -169,10 +167,8 @@ - +strlen(file)+strlen(xkm_output_dir) - +strlen(outFile)+49 > PATH_MAX) - { --#ifdef DEBUG - ErrorF("compiler command for keymap (%s) exceeds max length\n", - names->keymap); --#endif - return False; - } - sprintf(cmd,"xkbcomp -w %d -xkm %s%s -em1 %s -emp %s -eml %s keymap/%s %s%s.xkm", -@@ -236,6 +232,10 @@ - sprintf(keymap,"server-%s",display); - } - else { -+ if (strlen(names->keymap) > PATH_MAX - 1) { -+ ErrorF("name of keymap (%s) exceeds max length\n", names->keymap); -+ return False; -+ } - strcpy(keymap,names->keymap); - } - -@@ -254,10 +254,8 @@ - +strlen(POST_ERROR_MSG1)+strlen(xkm_output_dir) - +strlen(keymap)+48 > PATH_MAX) - { --#ifdef DEBUG - ErrorF("compiler command for keymap (%s) exceeds max length\n", - names->keymap); --#endif - return False; - } - #ifndef WIN32 -@@ -294,10 +292,8 @@ - +strlen(ERROR_PREFIX)+strlen(POST_ERROR_MSG1) - +strlen(xkm_output_dir)+strlen(keymap)+44 > PATH_MAX) - { --#ifdef DEBUG - ErrorF("compiler command for keymap (%s) exceeds max length\n", - names->keymap); --#endif - return False; - } - #ifndef WIN32 -Index: programs/Xserver/xkb/xkbInit.c -diff -u programs/Xserver/xkb/xkbInit.c:1.1.1.2 X11/xc/programs/Xserver/xkb/xkbInit.c:1.3 ---- programs/Xserver/xkb/xkbInit.c:1.1.1.2 Sat Mar 7 09:21:55 1998 -+++ programs/Xserver/xkb/xkbInit.c Mon Jul 10 15:28:10 2000 -@@ -24,7 +24,7 @@ - THE USE OR PERFORMANCE OF THIS SOFTWARE. - - ********************************************************/ --/* $XFree86: xc/programs/Xserver/xkb/xkbInit.c,v 3.12.2.2 1998/02/24 13:20:07 dawes Exp $ */ -+/* $XFree86: xc/programs/Xserver/xkb/xkbInit.c,v 3.12.2.3 2000/06/15 21:58:34 dawes Exp $ */ - - #include <stdio.h> - #include <stdlib.h> -@@ -915,8 +915,13 @@ - #endif - else if (strncmp(argv[i], "-xkbmap", 7) == 0) { - if(++i < argc) { -- XkbInitialMap= argv[i]; -- return 2; -+ if (strlen(argv[i]) < PATH_MAX) { -+ XkbInitialMap= argv[i]; -+ return 2; -+ } else { -+ ErrorF("-xkbmap pathname too long\n"); -+ return -1; -+ } - } - else { - return -1; -@@ -924,8 +929,13 @@ - } - else if (strncmp(argv[i], "-xkbdb", 7) == 0) { - if(++i < argc) { -- XkbDB= argv[i]; -- return 2; -+ if (strlen(argv[i]) < PATH_MAX) { -+ XkbDB= argv[i]; -+ return 2; -+ } else { -+ ErrorF("-xkbdb pathname too long\n"); -+ return -1; -+ } - } - else { - return -1; -Index: programs/xfs/os/waitfor.c -diff -u programs/xfs/os/waitfor.c:1.1 X11/xc/programs/xfs/os/waitfor.c:1.2 ---- programs/xfs/os/waitfor.c:1.1 Fri Sep 5 03:16:07 1997 -+++ programs/xfs/os/waitfor.c Mon Jul 10 15:32:38 2000 -@@ -1,5 +1,5 @@ - /* $XConsortium: waitfor.c /main/15 1996/08/30 14:22:34 kaleb $ */ --/* $XFree86: xc/programs/xfs/os/waitfor.c,v 3.5 1997/01/18 07:02:48 dawes Exp $ */ -+/* $XFree86: xc/programs/xfs/os/waitfor.c,v 3.5.2.1 2000/06/15 21:58:35 dawes Exp $ */ - /* - * waits for input - */ -@@ -212,7 +212,7 @@ - while (clientsReadable.fds_bits[i]) { - curclient = ffs(clientsReadable.fds_bits[i]) - 1; - conn = ConnectionTranslation[curclient + (i << 5)]; -- FD_CLR (curclient, &clientsReadable); -+ clientsReadable.fds_bits[i] &= ~(((fd_mask)1L) << curclient); - client = clients[conn]; - if (!client) - continue; ---- programs/xauth/process.c.orig Fri Jul 23 15:50:50 1999 -+++ programs/xauth/process.c Mon Sep 25 20:48:02 2000 -@@ -769,21 +769,18 @@ - static int write_auth_file (tmp_nam) - char *tmp_nam; - { -- FILE *fp; -+ FILE *fp = NULL; - AuthList *list; -- -+ int fd; - /* - * xdm and auth spec assumes auth file is 12 or fewer characters - */ - strcpy (tmp_nam, xauth_filename); - strcat (tmp_nam, "-n"); /* for new */ - (void) unlink (tmp_nam); -- fp = fopen (tmp_nam, "wb"); /* umask is still set to 0077 */ -- if (!fp) { -- fprintf (stderr, "%s: unable to open tmp file \"%s\"\n", -- ProgramName, tmp_nam); -- return -1; -- } -+ /* CPhipps 2000/02/12 - fix file unlink/fopen race */ -+ fd = open(tmp_nam, O_WRONLY|O_CREAT|O_EXCL, 0600); -+ if (fd != -1) fp = fdopen(fd, "wb"); - - /* - * Write MIT-MAGIC-COOKIE-1 first, because R4 Xlib knows diff --git a/x11/XFree86/pkg-plist b/x11/XFree86/pkg-plist index 33c14b79934a..cbc1ced1810e 100644 --- a/x11/XFree86/pkg-plist +++ b/x11/XFree86/pkg-plist @@ -1442,9 +1442,11 @@ lib/X11/xkb/symbols/pc104 lib/X11/xkb/symbols/pl lib/X11/xkb/symbols/pt lib/X11/xkb/symbols/ralt +lib/X11/xkb/symbols/ro lib/X11/xkb/symbols/ru lib/X11/xkb/symbols/se lib/X11/xkb/symbols/sgi/jp +lib/X11/xkb/symbols/si lib/X11/xkb/symbols/sony/us lib/X11/xkb/symbols/sun/se lib/X11/xkb/symbols/sun/us @@ -1466,7 +1468,7 @@ lib/X11/xsm/system.xsm lib/libFS.a lib/libICE.a lib/libICE.so -lib/libICE.so.6.3 +lib/libICE.so.6 lib/libPEX5.a lib/libPEX5.so lib/libPEX5.so.6 @@ -1475,19 +1477,21 @@ lib/libSM.so lib/libSM.so.6 lib/libX11.a lib/libX11.so -lib/libX11.so.6.1 +lib/libX11.so.6 lib/libXIE.a lib/libXIE.so lib/libXIE.so.6 +lib/libXThrStub.so +lib/libXThrStub.so.6 lib/libXau.a lib/libXaw.a lib/libXaw.so -lib/libXaw.so.6.1 +lib/libXaw.so.6 lib/libXdmcp.a lib/libXdpms.a lib/libXext.a lib/libXext.so -lib/libXext.so.6.3 +lib/libXext.so.6 lib/libXi.a lib/libXi.so lib/libXi.so.6 @@ -1496,16 +1500,14 @@ lib/libXmu.so lib/libXmu.so.6 lib/libXp.a lib/libXp.so -lib/libXp.so.6.2 +lib/libXp.so.6 lib/libXss.a -lib/libXThrStub.so -lib/libXThrStub.so.6 lib/libXt.a lib/libXt.so lib/libXt.so.6 lib/libXtst.a lib/libXtst.so -lib/libXtst.so.6.1 +lib/libXtst.so.6 lib/libXxf86dga.a lib/libXxf86misc.a lib/libXxf86vm.a diff --git a/x11/XFree86/pkg-plist.alpha b/x11/XFree86/pkg-plist.alpha index 15c68e4d4ac2..e57d0c7e6bd7 100644 --- a/x11/XFree86/pkg-plist.alpha +++ b/x11/XFree86/pkg-plist.alpha @@ -1432,9 +1432,11 @@ lib/X11/xkb/symbols/pc104 lib/X11/xkb/symbols/pl lib/X11/xkb/symbols/pt lib/X11/xkb/symbols/ralt +lib/X11/xkb/symbols/ro lib/X11/xkb/symbols/ru lib/X11/xkb/symbols/se lib/X11/xkb/symbols/sgi/jp +lib/X11/xkb/symbols/si lib/X11/xkb/symbols/sony/us lib/X11/xkb/symbols/sun/se lib/X11/xkb/symbols/sun/us diff --git a/x11/XFree86/pkg-plist.pc98 b/x11/XFree86/pkg-plist.pc98 index 6fbf70da710e..399ce008783e 100644 --- a/x11/XFree86/pkg-plist.pc98 +++ b/x11/XFree86/pkg-plist.pc98 @@ -1449,9 +1449,11 @@ lib/X11/xkb/symbols/pc104 lib/X11/xkb/symbols/pl lib/X11/xkb/symbols/pt lib/X11/xkb/symbols/ralt +lib/X11/xkb/symbols/ro lib/X11/xkb/symbols/ru lib/X11/xkb/symbols/se lib/X11/xkb/symbols/sgi/jp +lib/X11/xkb/symbols/si lib/X11/xkb/symbols/sony/us lib/X11/xkb/symbols/sun/se lib/X11/xkb/symbols/sun/us |