1
0
mirror of https://git.FreeBSD.org/ports.git synced 2025-01-15 07:56:36 +00:00

Upgrade to 4.2.0

This commit is contained in:
Jean-Marc Zucconi 2002-01-19 23:37:54 +00:00
parent b6181f89f3
commit b92cc254b8
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=53364
18 changed files with 1825 additions and 1377 deletions

View File

@ -1,30 +1,30 @@
--- programs/xinit/startx.cpp.orig Fri Apr 27 13:04:53 2001
+++ programs/xinit/startx.cpp Sat Oct 27 03:50:41 2001
@@ -82,8 +82,12 @@
--- programs/xinit/startx.cpp.orig Fri Nov 30 21:57:48 2001
+++ programs/xinit/startx.cpp Fri Jan 18 23:59:42 2002
@@ -80,8 +80,12 @@
fi
display=:0
whoseargs="client"
+listen_tcp="-nolisten tcp"
while [ "x$1" != "x" ]; do
while [ x"$1" != x ]; do
case "$1" in
+ -listen_tcp)
+ listen_tcp=""
+ ;;
--)
whoseargs="server"
;;
@@ -134,7 +138,7 @@
+ listen_tcp=""
+ ;;
# '' required to prevent cpp from treating "/*" as a C comment.
/''*|\./''*)
if [ "$whoseargs" = "client" ]; then
@@ -164,7 +168,7 @@
done
#endif
-xinit $clientargs -- $serverargs
+xinit $clientargs -- $serverargs $listen_tcp
-xinit $client $clientargs -- $server $display $serverargs
+xinit $client $clientargs -- $server $display $serverargs $listen_tcp
if [ x"$removelist" != x ]; then
xauth remove $removelist
--- programs/xinit/startx.man.orig Thu Apr 19 17:08:32 2001
+++ programs/xinit/startx.man Sat Oct 27 03:40:01 2001
@@ -42,10 +42,17 @@
--- programs/xinit/startx.man.orig Fri Dec 14 21:01:56 2001
+++ programs/xinit/startx.man Fri Jan 18 23:56:03 2002
@@ -46,10 +46,17 @@
somewhat nicer user interface for running a single session of the X
Window System. It is often run with no arguments.
.PP
@ -43,7 +43,7 @@
The special argument
.RB '--'
marks the end of client arguments and the beginning of server options.
@@ -66,6 +73,8 @@
@@ -70,6 +77,8 @@
startx -- -dpi 100
.PP
startx -- -layout Multihead

View File

@ -6,13 +6,13 @@
#
PORTNAME= XFree86
PORTVERSION= 4.1.0
PORTREVISION= 12
PORTVERSION= 4.2.0
PORTREVISION= 0
CATEGORIES= x11
MASTER_SITES= ${MASTER_SITE_XFREE}
MASTER_SITE_SUBDIR= 4.1.0
DISTFILES= X410src-1.tgz X410src-2.tgz
EXTRACT_ONLY= X410src-1.tgz X410src-2.tgz
MASTER_SITE_SUBDIR= 4.2.0
DISTFILES= X420src-1.tgz X420src-2.tgz
EXTRACT_ONLY= X420src-1.tgz X420src-2.tgz
MAINTAINER= jmz@FreeBSD.org
LATEST_LINK= XFree86-4

File diff suppressed because it is too large Load Diff

View File

@ -1,4 +1,4 @@
MD5 (xc/X410src-1.tgz) = 2d4709f7106a1d65c175be445a3d3c32
MD5 (xc/X410src-2.tgz) = beaffed1cbdb700e5fed6a5490a7f222
MD5 (xc/X420src-1.tgz) = ad43a8e9e39703322005cd6f7145b77f
MD5 (xc/X420src-2.tgz) = dae33268a9f2735b9678a81fb23e8d3e
MD5 (xc/mga-133_143-source.tgz) = 849bf57f23f1684fea970459f919d1f2
MD5 (xc/Wraphelp.c) = IGNORE

View File

@ -1,17 +1,17 @@
--- config/cf/Imake.tmpl~ Thu Apr 26 23:09:38 2001
+++ config/cf/Imake.tmpl Fri May 25 23:42:07 2001
@@ -1487,7 +1487,7 @@
--- config/cf/Imake.tmpl.orig Tue Jan 15 22:22:33 2002
+++ config/cf/Imake.tmpl Fri Jan 18 22:47:30 2002
@@ -1536,7 +1536,7 @@
CXXOPTIONS = CplusplusOptions
CXXINCLUDES = $(INCLUDES) $(TOP_INCLUDES) $(CXXEXTRA_INCLUDES)
CXXDEFINES = $(CXXINCLUDES) $(CXXSTD_DEFINES) $(THREADS_CXXDEFINES) $(DEFINES) $(CXXEXTRA_DEFINES)
- CXXFLAGS = $(CXXDEBUGFLAGS) $(CXXOPTIONS) $(THREADS_CXXFLAGS) $(CXXDEFINES)
+ CXXFLAGS += $(CXXDEBUGFLAGS) $(CXXOPTIONS) $(THREADS_CXXFLAGS) $(CXXDEFINES)
#endif
COMPRESS = CompressCmd
GZIPCMD = GzipCmd
@@ -1682,7 +1682,7 @@
#if !BuildLibraries && AlternateIncRoot
@@ -1736,7 +1736,7 @@
*/
ALLINCLUDES = $(INCLUDES) $(EXTRA_INCLUDES) $(TOP_INCLUDES) $(STD_INCLUDES)
ALLINCLUDES = $(INCLUDES) $(EXTRA_INCLUDES) $(TOP_INCLUDES) $(INSTALLED_INCLUDES) $(STD_INCLUDES)
ALLDEFINES = $(ALLINCLUDES) $(STD_DEFINES) $(PROTO_DEFINES) $(THREADS_DEFINES) $(MODULE_DEFINES) $(DEFINES) $(EXTRA_DEFINES)
- CFLAGS = $(CDEBUGFLAGS) $(CCOPTIONS) $(THREADS_CFLAGS) $(MODULE_CFLAGS) $(ALLDEFINES)
+ CFLAGS += $(CDEBUGFLAGS) $(CCOPTIONS) $(THREADS_CFLAGS) $(MODULE_CFLAGS) $(ALLDEFINES)

View File

@ -1,183 +0,0 @@
--- nls/compose.dir~ Tue Dec 12 03:52:39 2000
+++ nls/compose.dir Tue Dec 12 03:53:04 2000
@@ -209,7 +209,7 @@
zh/Compose zh_CN.eucCN
zh/Compose zh_CN.GB2312
zh_TW.big5/Compose zh_TW.big5
-zh_TW.big5/Compose zh_TW.Big5
+zh_TW.Big5/Compose zh_TW.Big5
zh_TW/Compose zh_TW.eucTW
#endif /* R63_COMPAT */
@@ -415,5 +415,5 @@
zh/Compose: zh_CN.GB2312
microsoft-cp1255/Compose: yi_US.CP1256
zh_TW.big5/Compose: zh_TW.big5
-zh_TW.big5/Compose: zh_TW.Big5
+zh_TW.Big5/Compose: zh_TW.Big5
zh_TW/Compose: zh_TW.eucTW
--- nls/locale.alias~ Wed May 23 20:32:14 2001
+++ nls/locale.alias Sat May 26 02:37:21 2001
@@ -493,12 +493,12 @@
zh zh_CN.eucCN
zh_CN zh_CN.eucCN
zh_CN.big5 zh_TW.big5
-zh_CN.Big5 zh_TW.big5
+zh_CN.Big5 zh_TW.Big5
zh_CN.EUC zh_CN.eucCN
zh_CN.euc zh_CN.eucCN
zh_CN.gb2312 zh_CN.eucCN
zh_CN.gbk zh_CN.GBK
-zh_TW zh_TW.big5
+zh_TW zh_TW.Big5
zh_TW.EUC zh_TW.eucTW
zh_TW.euc zh_TW.eucTW
@@ -1182,13 +1182,13 @@
yi_US.MICROSOFT-CP1255: yi_US.CP1255
zh: zh_CN.eucCN
zh_CN: zh_CN.eucCN
-zh_CN.big5: zh_TW.big5
-zh_CN.Big5: zh_TW.big5
+zh_CN.big5: zh_TW.Big5
+zh_CN.Big5: zh_TW.Big5
zh_CN.EUC: zh_CN.eucCN
zh_CN.euc: zh_CN.eucCN
zh_CN.gb2312: zh_CN.eucCN
zh_CN.gbk: zh_CN.GBK
-zh_TW: zh_TW.big5
+zh_TW: zh_TW.Big5
zh_TW.EUC: zh_TW.eucTW
zh_TW.euc: zh_TW.eucTW
zh_TW.big5: zh_TW.big5
--- nls/locale.dir~ Tue Dec 12 03:18:29 2000
+++ nls/locale.dir Tue Dec 12 04:01:54 2000
@@ -199,7 +199,7 @@
zh/XLC_LOCALE zh_CN.eucCN
zh/XLC_LOCALE zh_CN.GB2312
zh_TW.big5/XLC_LOCALE zh_TW.big5
-zh_TW.big5/XLC_LOCALE zh_TW.Big5
+zh_TW.Big5/XLC_LOCALE zh_TW.Big5
zh_TW/XLC_LOCALE zh_TW.eucTW
XCOMM Note: The UTF-8 locales don't work correctly yet. Work in progress.
en_US.UTF-8/XLC_LOCALE af_ZA.UTF-8
@@ -533,7 +533,7 @@
zh/XLC_LOCALE: zh_CN.eucCN
zh/XLC_LOCALE: zh_CN.GB2312
zh_TW.big5/XLC_LOCALE: zh_TW.big5
-zh_TW.big5/XLC_LOCALE: zh_TW.Big5
+zh_TW.Big5/XLC_LOCALE: zh_TW.Big5
zh_TW/XLC_LOCALE: zh_TW.eucTW
XCOMM Note: The UTF-8 locales don't work correctly yet. Work in progress.
en_US.UTF-8/XLC_LOCALE: af_ZA.UTF-8
--- nls/Compose/Imakefile.orig Fri Dec 8 02:52:48 2000
+++ nls/Compose/Imakefile Tue Dec 12 03:18:29 2000
@@ -58,5 +58,5 @@
ComposeTarget(vi_VN.viscii)
ComposeTarget(zh)
ComposeTarget(zh_TW)
-ComposeTarget(zh_TW.big5)
+ComposeTarget(zh_TW.Big5)
--- nls/Compose/zh_TW.Big5.orig Sun Jul 16 04:33:35 2000
+++ nls/Compose/zh_TW.Big5 Sun Jul 16 04:33:35 2000
@@ -0,0 +1,15 @@
+#
+# zh_TW.big5 Compose Sequence
+#
+# Sequence Definition
+#
+# $XFree86: xc/nls/Compose/zh_TW.big5,v 1.1 1999/08/28 09:00:40 dawes Exp $
+#
+# This file currently has no entries. It appears that a compose file (even
+# just an empty one) is required for the appropriate keysyms to work for
+# this encoding.
+#
+# <Multi_key> Means <Compose>
+# Special Character
+
+# End of Sequence Definition
--- nls/XLC_LOCALE/Imakefile~ Tue Mar 6 19:54:45 2001
+++ nls/XLC_LOCALE/Imakefile Sat May 26 02:38:44 2001
@@ -88,7 +88,7 @@
LTarget(zh_CN.gbk)
LTarget(zh_HK.big5hkscs)
LTarget(zh_TW)
-LTarget(zh_TW.big5)
+LTarget(zh_TW.Big5)
LTarget(th_TH)
LTarget(en_US.UTF-8)
#ifdef UXPArchitecture
--- nls/XLC_LOCALE/zh_TW.Big5.orig Sun Jul 16 04:33:35 2000
+++ nls/XLC_LOCALE/zh_TW.Big5 Sun Jul 16 04:36:58 2000
@@ -0,0 +1,70 @@
+XCOMM
+XCOMM (c) 1996, X11R6 L10N for Taiwan and Big5 Encoding Project
+XCOMM
+XCOMM modified for X11R6.3 by Hung-Chi Chu <hcchu@r350.ee.ntu.edu.tw> 1998/01/10
+XCOMM
+XCOMM $XFree86: xc/nls/XLC_LOCALE/zh_TW.big5,v 1.1 1999/08/28 09:00:41 dawes Exp $
+XCOMM
+XCOMM XLC_FONTSET category
+XCOMM
+XLC_FONTSET
+XCOMM fs0 class (7 bit ASCII)
+fs0 {
+ charset {
+ name ISO8859-1:GL
+ }
+ font {
+ primary ISO8859-1:GL
+ vertical_rotate all
+ }
+}
+XCOMM fs1 class
+fs1 {
+ charset {
+ name BIG5-0:GLGR
+ }
+ font {
+ primary BIG5-0:GLGR
+ substitute BIG5-0:GLGR
+ }
+}
+END XLC_FONTSET
+
+XCOMM
+XCOMM XLC_XLOCALE category
+XCOMM
+XLC_XLOCALE
+
+encoding_name zh_TW.Big5
+mb_cur_max 2
+state_depend_encoding False
+
+wc_encoding_mask \x00008000
+wc_shift_bits 8
+
+use_stdc_env True
+force_convert_to_mb True
+
+XCOMM cs0 class
+cs0 {
+ side GL:Default
+ length 1
+ wc_encoding \x00000000
+ ct_encoding ISO8859-1:GL
+}
+
+XCOMM cs1 class
+cs1 {
+ side none
+ length 2
+ byte1 \xa1,\xf9
+ byte2 \x40,\x7e;\xa1,\xfe
+
+ wc_encoding \x00008000
+ ct_encoding BIG5-0:GLGR:\x1b\x25\x2f\x32\x80\x89\x42\x49\x47\x35\x2d\x30\x02
+
+ mb_conversion [\xa140,\xf9fe]->\x2140
+ ct_conversion [\x2140,\x79fe]->\xa140
+}
+
+END XLC_XLOCALE

View File

@ -1,22 +1,6 @@
--- programs/Xserver/hw/xfree86/drivers/i810/i810_driver.c.orig Wed May 30 06:51:29 2001
+++ programs/Xserver/hw/xfree86/drivers/i810/i810_driver.c Thu Jan 3 11:11:42 2002
@@ -1019,10 +1019,15 @@
{
vgaHWPtr hwp;
I810Ptr pI810;
+ unsigned temp;
hwp = VGAHWPTR(pScrn);
pI810 = I810PTR(pScrn);
DoSave(pScrn, &hwp->SavedReg, &pI810->SavedReg, TRUE);
+
+ temp = INREG(MEMMODE);
+ temp |= 4;
+ OUTREG(MEMMODE, temp);
}
@@ -2006,9 +2011,10 @@
--- programs/Xserver/hw/xfree86/drivers/i810/i810_driver.c.orig Fri Jan 18 22:58:50 2002
+++ programs/Xserver/hw/xfree86/drivers/i810/i810_driver.c Fri Jan 18 23:10:36 2002
@@ -2098,9 +2098,10 @@
if (I810_DEBUG & DEBUG_VERBOSE_DRI)
ErrorF("\n\nENTER VT\n");
@ -28,7 +12,7 @@
#ifdef XF86DRI
if (pI810->directRenderingEnabled) {
if (I810_DEBUG & DEBUG_VERBOSE_DRI)
@@ -2047,9 +2053,10 @@
@@ -2139,9 +2140,10 @@
}
I810Restore(pScrn);

View File

@ -1,11 +1,11 @@
--- programs/xdm/config/xdm-conf.cpp.orig Wed Sep 6 17:05:53 2000
+++ programs/xdm/config/xdm-conf.cpp Wed Sep 6 17:06:03 2000
@@ -5,7 +5,7 @@
DisplayManager.keyFile: XDMDIR/xdm-keys
DisplayManager.servers: XDMDIR/Xservers
DisplayManager.accessFile: XDMDIR/Xaccess
-DisplayManager.willing: su nobody -c XDMDIR/Xwilling
+DisplayManager.willing: su -fm nobody -c XDMDIR/Xwilling
! All displays should use authorization, but we cannot be sure
! X terminals will be configured that way, so by default
! use authorization only for local displays :0, :1, etc.
--- programs/xdm/config/Imakefile~ Sun Nov 25 13:49:19 2001
+++ programs/xdm/config/Imakefile Fri Jan 18 23:15:10 2002
@@ -28,7 +28,7 @@
XDMPIDDIR = $(XDMDIR)
#endif
-#if defined(OpenBSDArchitecture) || defined(NetBSDArchitecture)
+#if defined(OpenBSDArchitecture) || defined(NetBSDArchitecture) || defined(FreeBSDArchitecture)
SU = "su -m"
#else
SU = su

View File

@ -1,11 +0,0 @@
--- include/Xos_r.h.orig Tue Sep 18 10:46:06 2001
+++ include/Xos_r.h Tue Sep 18 10:46:26 2001
@@ -249,7 +249,7 @@
*/
#if defined(__NetBSD__) || defined(__FreeBSD__) || defined(__OpenBSD__)
-__inline__ void _Xpw_copyPasswd(_Xgetpwparams p)
+static __inline__ void _Xpw_copyPasswd(_Xgetpwparams p)
{
memcpy(&(p).pws, (p).pwp, sizeof(struct passwd));

View File

@ -1,22 +0,0 @@
--- programs/Xserver/hw/xfree86/input/mouse/mouse.c.orig Sat Aug 18 22:47:30 2001
+++ programs/Xserver/hw/xfree86/input/mouse/mouse.c Thu Aug 23 17:13:44 2001
@@ -1837,8 +1837,6 @@
if ((id = stateTab[pMse->emulateState][4][0]) != 0) {
xf86PostButtonEvent(pInfo->dev, 0, abs(id), (id >= 0), 0, 0);
pMse->emulateState = stateTab[pMse->emulateState][4][2];
- } else {
- ErrorF("Got unexpected buttonTimer in state %d\n", pMse->emulateState);
}
xf86UnblockSIGIO (sigstate);
@@ -1892,11 +1890,6 @@
if (stateTab[pMse->emulateState][4][0] != 0) {
timer = TimerSet(timer, 0, pMse->emulate3Timeout, buttonTimer,
pInfo);
- } else {
- if (timer) {
- TimerFree(timer);
- timer = NULL;
- }
}
}

View File

@ -1,56 +0,0 @@
--- programs/Xserver/hw/xfree86/common/xf86PciInfo.h.orig Fri May 11 09:56:10 2001
+++ programs/Xserver/hw/xfree86/common/xf86PciInfo.h Wed Dec 26 19:23:28 2001
@@ -234,6 +234,7 @@
#define PCI_CHIP_RAGE128ML 0x4D4C
#define PCI_CHIP_RAGE128PD 0x5044
#define PCI_CHIP_RAGE128PF 0x5046
+#define PCI_CHIP_RAGE128PE 0x5050
#define PCI_CHIP_RAGE128PR 0x5052
#define PCI_CHIP_RADEON_QD 0x5144
#define PCI_CHIP_RADEON_QE 0x5145
@@ -826,6 +827,7 @@
{PCI_CHIP_RAGE128MF, "Rage 128 Mobility MF",0},
{PCI_CHIP_RAGE128ML, "Rage 128 Mobility ML",0},
{PCI_CHIP_RAGE128PD, "Rage 128 Pro PD",0},
+ {PCI_CHIP_RAGE128PE, "Rage 128 Xpert 128",0},
{PCI_CHIP_RAGE128PF, "Rage 128 Pro PF",0},
{PCI_CHIP_RAGE128PR, "Rage 128 Pro PR",0},
{PCI_CHIP_RADEON_QD, "Radeon QD",0},
--- programs/Xserver/hw/xfree86/drivers/ati/r128_probe.c.orig Fri May 4 21:05:33 2001
+++ programs/Xserver/hw/xfree86/drivers/ati/r128_probe.c Wed Dec 26 19:24:14 2001
@@ -81,6 +81,7 @@
{ PCI_CHIP_RAGE128RK, "ATI Rage 128 RK (PCI)" },
{ PCI_CHIP_RAGE128RL, "ATI Rage 128 RL (AGP)" },
{ PCI_CHIP_RAGE128PD, "ATI Rage 128 Pro PD (PCI)" },
+ { PCI_CHIP_RAGE128PE, "ATI Rage 128 Xpert 128 (PCI)" },
{ PCI_CHIP_RAGE128PF, "ATI Rage 128 Pro PF (AGP)" },
{ PCI_CHIP_RAGE128LE, "ATI Rage 128 Mobility LE (PCI)" },
{ PCI_CHIP_RAGE128LF, "ATI Rage 128 Mobility LF (AGP)" },
@@ -96,6 +97,7 @@
{ PCI_CHIP_RAGE128RK, PCI_CHIP_RAGE128RK, RES_SHARED_VGA },
{ PCI_CHIP_RAGE128RL, PCI_CHIP_RAGE128RL, RES_SHARED_VGA },
{ PCI_CHIP_RAGE128PD, PCI_CHIP_RAGE128PD, RES_SHARED_VGA },
+ { PCI_CHIP_RAGE128PE, PCI_CHIP_RAGE128PE, RES_SHARED_VGA },
{ PCI_CHIP_RAGE128PF, PCI_CHIP_RAGE128PF, RES_SHARED_VGA },
{ PCI_CHIP_RAGE128LE, PCI_CHIP_RAGE128LE, RES_SHARED_VGA },
{ PCI_CHIP_RAGE128LF, PCI_CHIP_RAGE128LF, RES_SHARED_VGA },
--- programs/Xserver/hw/xfree86/drivers/ati/r128_driver.c.orig Wed May 30 00:51:08 2001
+++ programs/Xserver/hw/xfree86/drivers/ati/r128_driver.c Wed Dec 26 19:24:14 2001
@@ -895,6 +895,7 @@
case PCI_CHIP_RAGE128RK:
case PCI_CHIP_RAGE128RL:
case PCI_CHIP_RAGE128PD:
+ case PCI_CHIP_RAGE128PE:
case PCI_CHIP_RAGE128PF:
default: info->HasPanelRegs = FALSE; break;
}
@@ -1025,7 +1026,8 @@
case PCI_CHIP_RAGE128LE:
case PCI_CHIP_RAGE128RE:
case PCI_CHIP_RAGE128RK:
- case PCI_CHIP_RAGE128PD: info->IsPCI = TRUE; break;
+ case PCI_CHIP_RAGE128PD:
+ case PCI_CHIP_RAGE128PE: info->IsPCI = TRUE; break;
case PCI_CHIP_RAGE128LF:
case PCI_CHIP_RAGE128MF:
case PCI_CHIP_RAGE128ML:

View File

@ -1,26 +0,0 @@
--- programs/Xserver/hw/xfree86/drivers/ati/r128_dri.c.orig Sat Oct 6 05:29:25 2001
+++ programs/Xserver/hw/xfree86/drivers/ati/r128_dri.c Fri Oct 5 17:28:40 2001
@@ -705,6 +705,7 @@
case PCI_CHIP_RAGE128LE:
case PCI_CHIP_RAGE128RE:
case PCI_CHIP_RAGE128RK:
+ case PCI_CHIP_RAGE128PE:
/* This is a PCI card, do nothing */
break;
@@ -985,12 +985,12 @@
/* Check the r128 DRM version */
version = drmGetVersion(info->drmFD);
if (version) {
- if (version->version_major != 2 ||
- version->version_minor < 1) {
+ if (version->version_major != 3 ||
+ version->version_minor < 0) {
/* incompatible drm version */
xf86DrvMsg(pScreen->myNum, X_ERROR,
"[dri] R128DRIScreenInit failed because of a version mismatch.\n"
- "[dri] r128.o kernel module version is %d.%d.%d but version 2.1.x is needed.\n"
+ "[dri] r128.o kernel module version is %d.%d.%d but version 3.0 or greater is needed.\n"
"[dri] Disabling the DRI.\n",
version->version_major,
version->version_minor,

View File

@ -1,13 +0,0 @@
--- lib/GL/mesa/src/drv/r128/r128_xmesa.c.orig Fri Oct 5 17:21:31 2001
+++ lib/GL/mesa/src/drv/r128/r128_xmesa.c Fri Oct 5 17:22:59 2001
@@ -80,8 +80,8 @@
}
/* Check that the DRM driver version is compatible */
- if ( sPriv->drmMajor != 2 ||
- sPriv->drmMinor < 1 ) {
+ if ( sPriv->drmMajor != 3 /*||
+ sPriv->drmMinor < 1*/ ) {
char msg[1000];
sprintf( msg, "R128 DRI driver expected DRM driver version 2.1.x but got version %d.%d.%d", sPriv->drmMajor, sPriv->drmMinor, sPriv->drmPatch );
__driMesaMessage( msg );

View File

@ -1,30 +1,30 @@
--- programs/xinit/startx.cpp.orig Fri Apr 27 13:04:53 2001
+++ programs/xinit/startx.cpp Sat Oct 27 03:50:41 2001
@@ -82,8 +82,12 @@
--- programs/xinit/startx.cpp.orig Fri Nov 30 21:57:48 2001
+++ programs/xinit/startx.cpp Fri Jan 18 23:59:42 2002
@@ -80,8 +80,12 @@
fi
display=:0
whoseargs="client"
+listen_tcp="-nolisten tcp"
while [ "x$1" != "x" ]; do
while [ x"$1" != x ]; do
case "$1" in
+ -listen_tcp)
+ listen_tcp=""
+ ;;
--)
whoseargs="server"
;;
@@ -134,7 +138,7 @@
+ listen_tcp=""
+ ;;
# '' required to prevent cpp from treating "/*" as a C comment.
/''*|\./''*)
if [ "$whoseargs" = "client" ]; then
@@ -164,7 +168,7 @@
done
#endif
-xinit $clientargs -- $serverargs
+xinit $clientargs -- $serverargs $listen_tcp
-xinit $client $clientargs -- $server $display $serverargs
+xinit $client $clientargs -- $server $display $serverargs $listen_tcp
if [ x"$removelist" != x ]; then
xauth remove $removelist
--- programs/xinit/startx.man.orig Thu Apr 19 17:08:32 2001
+++ programs/xinit/startx.man Sat Oct 27 03:40:01 2001
@@ -42,10 +42,17 @@
--- programs/xinit/startx.man.orig Fri Dec 14 21:01:56 2001
+++ programs/xinit/startx.man Fri Jan 18 23:56:03 2002
@@ -46,10 +46,17 @@
somewhat nicer user interface for running a single session of the X
Window System. It is often run with no arguments.
.PP
@ -43,7 +43,7 @@
The special argument
.RB '--'
marks the end of client arguments and the beginning of server options.
@@ -66,6 +73,8 @@
@@ -70,6 +77,8 @@
startx -- -dpi 100
.PP
startx -- -layout Multihead

View File

@ -1,11 +0,0 @@
--- programs/Xserver/hw/xfree86/drivers/tga/tga_driver.c.orig Wed Aug 29 11:38:09 2001
+++ programs/Xserver/hw/xfree86/drivers/tga/tga_driver.c Wed Aug 29 11:39:09 2001
@@ -758,7 +758,7 @@
pTga->FbMapSize = pScrn->videoRam * 1024;
- if (mod && xf86LoadSubModule(pScrn, "fb") == NULL) {
+ if (xf86LoadSubModule(pScrn, "fb") == NULL) {
TGAFreeRec(pScrn);
return FALSE;
}

View File

@ -1,6 +1,6 @@
--- programs/xdm/session.c.orig Wed May 30 00:56:22 2001
+++ programs/xdm/session.c Fri Sep 28 23:25:16 2001
@@ -541,6 +541,7 @@
--- programs/xdm/session.c.orig Fri Dec 14 21:01:23 2001
+++ programs/xdm/session.c Sat Jan 19 00:07:09 2002
@@ -534,6 +534,7 @@
int pid;
#ifdef HAS_SETUSERCONTEXT
struct passwd* pwd;
@ -8,7 +8,7 @@
#endif
#ifdef USE_PAM
pam_handle_t *pamh = thepamh();
@@ -623,6 +624,8 @@
@@ -613,6 +614,8 @@
* Set the user's credentials: uid, gid, groups,
* environment variables, resource limits, and umask.
*/
@ -17,7 +17,7 @@
pwd = getpwnam(name);
if (pwd)
{
@@ -632,6 +635,7 @@
@@ -622,6 +625,7 @@
errno);
return (0);
}

View File

@ -1,292 +0,0 @@
--- programs/xfs/difs/dispatch.c 2001/04/01 14:00:20 3.9
+++ programs/xfs/difs/dispatch.c 2001/06/21 01:15:44
@@ -141,8 +141,10 @@
op = MAJOROP;
if (op >= NUM_PROC_VECTORS)
result = ProcBadRequest (client);
- else
+ else if (*client->requestVector[op] != NULL)
result = (*client->requestVector[op]) (client);
+ else
+ result = FSBadRequest;
}
if (result != FSSuccess) {
if (client->noClientException != FSSuccess)
@@ -202,8 +204,12 @@
return (client->noClientException = -2);
if (((*(char *) &whichbyte) && (prefix->byteOrder == 'B')) ||
(!(*(char *) &whichbyte) && (prefix->byteOrder == 'l'))) {
+ int status;
+
client->swapped = TRUE;
- SwapConnClientPrefix(prefix);
+ status = SwapConnClientPrefix(client, prefix);
+ if (status != FSSuccess)
+ return (status);
}
client->major_version = prefix->major_version;
client->minor_version = prefix->minor_version;
@@ -257,7 +263,16 @@
client_auth[i].name = (char *) ad;
ad += client_auth[i].namelen;
client_auth[i].data = (char *) ad;
+
ad += client_auth[i].datalen;
+
+ if (ad - (char *)auth_data > stuff->length -
+ (i < (int)prefix->num_auths) ? 8 : 0) {
+ int lengthword = stuff->length;
+
+ SendErrToClient(client, FSBadLength, (pointer)&lengthword);
+ return (FSBadLength);
+ }
}
num_alts = ListAlternateServers(&altservers);
for (i = 0, altlen = 0; i < num_alts; i++) {
@@ -585,6 +600,13 @@
ad += acp[i].namelen;
acp[i].data = (char *) ad;
ad += acp[i].datalen;
+ if (ad - (char *)stuff + SIZEOF(fsCreateACReq) > stuff->length -
+ (i < (int)stuff->num_auths ? 8 : 0)) {
+ int lengthword = stuff->length;
+
+ SendErrToClient(client, FSBadLength, (pointer)&lengthword);
+ return (FSBadLength);
+ }
}
/* XXX needs work for AuthContinue */
@@ -702,6 +724,13 @@
REQUEST(fsSetResolutionReq);
REQUEST_AT_LEAST_SIZE(fsSetResolutionReq);
+ if (stuff->length - SIZEOF(fsResolution) != stuff->num_resolutions *
+ sizeof(fsResolution)) {
+ int lengthword = stuff->length;
+
+ SendErrToClient(client, FSBadAlloc, &lengthword);
+ return FSBadLength;
+ }
new_res = (fsResolution *)
fsalloc(SIZEOF(fsResolution) * stuff->num_resolutions);
if (!new_res) {
@@ -725,6 +754,13 @@
REQUEST(fsReq);
REQUEST_AT_LEAST_SIZE(fsReq);
+ if (stuff->length - SIZEOF(fsResolution) != client->num_resolutions *
+ sizeof(fsResolution)) {
+ int lengthword = stuff->length;
+
+ SendErrToClient(client, FSBadAlloc, &lengthword);
+ return FSBadLength;
+ }
reply.type = FS_Reply;
reply.num_resolutions = client->num_resolutions;
reply.sequenceNumber = client->sequence;
--- programs/xfs/difs/fonts.c 2001/04/01 14:00:20 3.9
+++ programs/xfs/difs/fonts.c 2001/06/21 01:15:45
@@ -709,8 +709,12 @@
}
}
if (validpaths < npaths) {
- fplist = (FontPathElementPtr *)
+ FontPathElementPtr *ftmp = (FontPathElementPtr *)
fsrealloc(fplist, sizeof(FontPathElementPtr) * validpaths);
+
+ if (!ftmp)
+ goto bail;
+ fplist = ftmp;
npaths = validpaths;
}
if (validpaths == 0) {
--- programs/xfs/difs/main.c 2001/04/01 14:00:20 3.7
+++ programs/xfs/difs/main.c 2001/06/21 01:15:45
@@ -171,11 +171,14 @@
exit(0);
}
-void
+int
NotImplemented(void)
{
NoopDDA(); /* dummy to get difsutils.o to link */
- FatalError("Not implemented\n");
+ /* Getting here can become the next xfs exploit... so don't exit */
+ ErrorF("Not implemented\n");
+
+ return (FSBadImplementation);
}
static Bool
--- programs/xfs/difs/swapreq.c 2001/01/17 23:45:29 1.5
+++ programs/xfs/difs/swapreq.c 2001/06/21 01:15:46
@@ -135,8 +135,8 @@
return ((*ProcVector[stuff->reqType]) (client));
}
-static void
-swap_auth(pointer data, int num)
+static int
+swap_auth(ClientPtr client, pointer data, int num, int length)
{
unsigned char *p;
unsigned char t;
@@ -158,16 +158,29 @@
p += 2;
p += (namelen + 3) & ~3;
p += (datalen + 3) & ~3;
+ if (p - (unsigned char *)data > length - (i < num ? 8 : 0)) {
+ int lengthword = length;
+
+ SendErrToClient(client, FSBadLength, (pointer)&lengthword);
+ return (FSBadLength);
+ }
}
+
+ return (FSSuccess);
}
int
SProcCreateAC(ClientPtr client)
{
+ int status;
+
REQUEST(fsCreateACReq);
stuff->length = lswaps(stuff->length);
stuff->acid = lswapl(stuff->acid);
- swap_auth((pointer) &stuff[1], stuff->num_auths);
+ status = swap_auth(client, (pointer) &stuff[1],
+ stuff->num_auths, stuff->length);
+ if (status != FSSuccess)
+ return (status);
return ((*ProcVector[stuff->reqType]) (client));
}
@@ -177,6 +190,8 @@
REQUEST(fsSetResolutionReq);
stuff->length = lswaps(stuff->length);
stuff->num_resolutions = lswaps(stuff->num_resolutions);
+ if ((int)stuff->length - (&stuff[1] - &stuff[0]) < stuff->num_resolutions)
+ return (FSBadLength);
SwapShorts((short *) &stuff[1], stuff->num_resolutions);
return ((*ProcVector[stuff->reqType]) (client));
@@ -255,11 +270,14 @@
return ((*ProcVector[stuff->reqType]) (client));
}
-void
-SwapConnClientPrefix(fsConnClientPrefix *pCCP)
+int
+SwapConnClientPrefix(ClientPtr client, fsConnClientPrefix *pCCP)
{
+ REQUEST(fsFakeReq);
+
pCCP->major_version = lswaps(pCCP->major_version);
pCCP->minor_version = lswaps(pCCP->minor_version);
pCCP->auth_len = lswaps(pCCP->auth_len);
- swap_auth((pointer) &pCCP[1], pCCP->num_auths);
+ return (swap_auth(client, (pointer) &pCCP[1],
+ pCCP->num_auths, stuff->length));
}
--- programs/xfs/include/difs.h 1999/08/21 13:48:50 1.2
+++ programs/xfs/include/difs.h 2001/06/21 01:15:46
@@ -83,6 +83,6 @@
#endif
/* difs/main.c */
-extern void NotImplemented(void);
+extern int NotImplemented(void);
#endif
--- programs/xfs/include/osstruct.h 2001/01/16 22:52:04 1.1.1.4
+++ programs/xfs/include/osstruct.h 2001/06/21 01:15:46
@@ -49,16 +49,16 @@
#include "os.h"
typedef struct _alt_server {
- char subset;
- short namelen;
- char *name;
+ char subset;
+ unsigned short namelen;
+ char *name;
} AlternateServerRec;
typedef struct _auth {
- short namelen;
- short datalen;
- char *name;
- char *data;
+ unsigned short namelen;
+ unsigned short datalen;
+ char *name;
+ char *data;
} AuthRec;
#endif /* _OSSTRUCT_H_ */
--- programs/xfs/include/swapreq.h 1998/10/25 07:12:32 1.1
+++ programs/xfs/include/swapreq.h 2001/06/21 01:15:47
@@ -48,7 +48,7 @@
extern int SProcResourceRequest(ClientPtr client);
extern int SProcSetResolution(ClientPtr client);
extern int SProcSimpleRequest(ClientPtr client);
-extern void SwapConnClientPrefix(fsConnClientPrefix *pCCP);
+extern int SwapConnClientPrefix(ClientPtr client, fsConnClientPrefix *pCCP);
extern void SwapLongs(long *list, unsigned long count);
extern void SwapShorts(short *list, unsigned long count);
cvs server: Diffing xc/programs/xfs/os
--- programs/xfs/os/io.c 2001/01/17 23:45:32 3.12
+++ programs/xfs/os/io.c 2001/06/21 01:15:47
@@ -127,14 +127,24 @@
int
ReadRequest(ClientPtr client)
{
- OsCommPtr oc = (OsCommPtr) client->osPrivate;
- ConnectionInputPtr oci = oc->input;
+ OsCommPtr oc;
+ ConnectionInputPtr oci;
fsReq *request;
- int fd = oc->fd;
- int result,
+ int fd,
+ result,
gotnow,
needed = 0;
+ if (client == NULL)
+ return -1;
+ oc = (OsCommPtr) client->osPrivate;
+ if (oc == NULL)
+ return -1;
+ oci = oc->input;
+ fd = oc->fd;
+ if (oci == NULL || fd < 0)
+ return -1;
+
if (AvailableInput) {
if (AvailableInput != oc) {
ConnectionInputPtr aci = AvailableInput->input;
@@ -207,6 +217,8 @@
oci->bufcnt = gotnow;
}
/* fill 'er up */
+ if (oc->trans_conn == NULL)
+ return -1;
result = _FontTransRead(oc->trans_conn, oci->buffer + oci->bufcnt,
oci->size - oci->bufcnt);
if (result <= 0) {
@@ -230,7 +242,7 @@
(oci->bufcnt < BUFSIZE) && (needed < BUFSIZE)) {
char *ibuf;
- ibuf = (char *) fsrealloc(oci, BUFSIZE);
+ ibuf = (char *) fsrealloc(oci->buffer, BUFSIZE);
if (ibuf) {
oci->size = BUFSIZE;
oci->buffer = ibuf;

File diff suppressed because it is too large Load Diff