1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-10-22 20:41:26 +00:00

XFree86 4.2.0 Stage 3: XFree86-4's evolution to a metaport

[1] Upgrade to 4.2.0.
	[2] Convert to metaport format and depend on most of XFree86-4-*.

Approved by:    jmz, in principle
This commit is contained in:
Will Andrews 2002-03-16 23:43:44 +00:00
parent 92becb4baf
commit 6f02907dd5
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=56230
23 changed files with 23 additions and 22889 deletions

View File

@ -1,54 +0,0 @@
--- 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 @@
display=:0
whoseargs="client"
+listen_tcp="-nolisten tcp"
while [ "x$1" != "x" ]; do
case "$1" in
+ -listen_tcp)
+ listen_tcp=""
+ ;;
--)
whoseargs="server"
;;
@@ -134,7 +138,7 @@
done
#endif
-xinit $clientargs -- $serverargs
+xinit $clientargs -- $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 @@
somewhat nicer user interface for running a single session of the X
Window System. It is often run with no arguments.
.PP
-Arguments immediately following the
+Except for the
+.RB '-listen_tcp'
+option, arguments immediately following the
.I startx
command are used to start a client in the same manner as
.IR xinit (1).
+The
+.RB '-listen_tcp'
+option of startx enables the TCP/IP transport type which is needed for remote X
+displays. This is disabled by default for security reasons.
+.PP
The special argument
.RB '--'
marks the end of client arguments and the beginning of server options.
@@ -66,6 +73,8 @@
startx -- -dpi 100
.PP
startx -- -layout Multihead
+.PP
+startx -listen_tcp -- -depth 16
.RE
.PP
To determine the client to run,

View File

@ -6,163 +6,31 @@
#
PORTNAME= XFree86
PORTVERSION= 4.1.0
PORTREVISION= 13
PORTEPOCH= 1
PORTVERSION= 4.2.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_SITES= # none
DISTFILES= # none
EXTRACT_ONLY= # none
LIB_DEPENDS= Xft.1:${PORTSDIR}/x11/XFree86-4-libraries
RUN_DEPENDS= xvinfo:${PORTSDIR}/x11/XFree86-4-clients \
${X11BASE}/lib/X11/doc/ddx.TXT:${PORTSDIR}/x11/XFree86-4-documents \
${FONT100DPI}:${PORTSDIR}/x11-fonts/XFree86-4-font100dpi \
${FONT75DPI}:${PORTSDIR}/x11-fonts/XFree86-4-font75dpi \
${FONTDEFAULT}:${PORTSDIR}/x11-fonts/XFree86-4-fontDefaultBitmaps \
${FONTSCALE}:${PORTSDIR}/x11-fonts/XFree86-4-fontScalable \
${X11BASE}/bin/xfs:${PORTSDIR}/x11-servers/XFree86-4-FontServer \
${X11BASE}/bin/xf86cfg:${PORTSDIR}/x11-servers/XFree86-4-Server
MAINTAINER= jmz@FreeBSD.org
NO_BUILD= yes
LATEST_LINK= XFree86-4
FONT100DPI= ${X11BASE}/lib/X11/fonts/100dpi/UBTI__10-ISO8859-1.pcf.gz
FONT75DPI= ${X11BASE}/lib/X11/fonts/75dpi/UBTI__10-ISO8859-1.pcf.gz
FONTDEFAULT= ${X11BASE}/lib/X11/fonts/misc/cursor.pcf.gz
FONTSCALE= ${X11BASE}/lib/X11/fonts/PEX/Roman.phont
WRKSRC= ${WRKDIR}/${DIST_SUBDIR}
.if (${MACHINE} != "alpha")
#NO_PACKAGE= package available from XFree86
.endif
ALL_TARGET= World
INSTALL_TARGET= install install.man
DIST_SUBDIR= xc
PATCH_DIST_ARGS=-p0 -E -d ${WRKDIR} --quiet
SCRIPTS_ENV= OSVERSION=${OSVERSION}
MTREE_FILE= /etc/mtree/BSD.x11-4.dist
MAKE_ARGS= WORLDOPTS=
.ifdef DISTRIB
DESTDIR= ${WRKDIR}/distrib
MAKE_ENV+= DESTDIR=${DESTDIR}
NO_PKG_REGISTER=yes
SCRIPTS_ENV+= NO_INPUT=yes
.endif
# can't use USE_X_PREFIX here -- it will cause a circular dependency
PREFIX= ${X11BASE}
.if defined(DISTRIB) || defined(PACKAGE_BUILDING)
#IS_INTERACTIVE is boolean -- "no" is the same as defining it "yes"!
#IS_INTERACTIVE= no
.else
IS_INTERACTIVE= yes # configure script asks questions
.endif
MTREE_FILE= /etc/mtree/BSD.x11-4.dist
.if (${MACHINE} == "pc98")
SCRIPTS_ENV+= MACHINE=pc98
PLIST= ${PKGDIR}/pkg-plist.pc98
.endif
.if (${MACHINE} == "alpha")
SCRIPTS_ENV+= MACHINE=alpha
PLIST= ${PKGDIR}/pkg-plist.alpha
.endif
do-install: # empty
pre-configure:
@if ${ECHO_CMD} "$(CFLAGS)" |${GREP} -q O[3456789]; then \
${ECHO} "XFree86-4 with thread support does not build with optimization"; \
${ECHO} "flags different from O or -O2"; \
${FALSE}; fi
.if defined(XDM_DES) && (${USA_RESIDENT} != YES && ${USA_RESIDENT} != NO)
pre-fetch:
@${ECHO}
@${ECHO} You must set variable USA_RESIDENT to YES or NO.
@${FALSE}
.elif defined(USA_RESIDENT)
.if ${USA_RESIDENT} == NO
pre-fetch:
.ifndef WITH_MATROX_GXX_DRIVER
@${ECHO} Define WITH_MATROX_GXX_DRIVER if you want to enable Matrox driver for
@${ECHO} G200, G400, G450 and G550 graphic adapters
.endif
MASTER_SITES+= ftp://psych.psy.uq.oz.au/pub/X11R5/ \
ftp://ftp.internat.freebsd.org/pub/FreeBSD/X11-Crypto/ \
ftp://ftp3.za.freebsd.org/pub/FreeBSD/X11-Crypto/
DISTFILES+= Wraphelp.c
IGNOREFILES= Wraphelp.c
.else # ${USA_RESIDENT} == YES
pre-fetch:
@${ECHO}
@${ECHO} Assuming that you have fetched a USA-Legal Wraphelp.c.
.ifndef WITH_MATROX_GXX_DRIVER
@${ECHO} Define WITH_MATROX_GXX_DRIVER if you want to enable Matrox driver for
@${ECHO} G200, G400, G450 and G550 graphic adapters
.endif
.endif # ${USA_RESIDENT}
.endif
.include "Makefile.man"
.include <bsd.port.pre.mk>
.if ${OSVERSION} < 410000
BROKEN= "can't be compiled on this system (missing headers)"
.endif
.if defined(WITH_MATROX_GXX_DRIVER)
MGA_DRIVER_VERSION= 133_143
MGA_DRIVER_DIR= 1.4.3
MASTER_SITES+= ftp://ftp.matrox.com/pub/mga/archive/linux/2001/beta_${MGA_DRIVER_VERSION}/
DISTFILES+= mga-${MGA_DRIVER_VERSION}-source.tgz
PLIST_SUB+= MATROX_GXX=""
.else
PLIST_SUB+= MATROX_GXX="@comment "
.endif # WITH_MATROX_GXX_DRIVER
.if ${OSVERSION} > 500012
post-patch:
@if [ ! -e ${WRKSRC}/include/Xarch.h.orig ]; then\
mv ${WRKSRC}/include/Xarch.h ${WRKSRC}/include/Xarch.h.orig;\
${SED} -e 52d -e 54d < ${WRKSRC}/include/Xarch.h.orig > \
${WRKSRC}/include/Xarch.h; fi
.endif # ${OSVERSION} > 500012
.if defined(WITH_MATROX_GXX_DRIVER)
.if !target(post-patch)
post-patch:
.endif # !target(post-patch)
@${MV} ${WRKSRC}/programs/Xserver/hw/xfree86/drivers/mga \
${WRKSRC}/programs/Xserver/hw/xfree86/drivers/mga.old
@${TAR} -xzf ${DISTDIR}/${DIST_SUBDIR}/mga-${MGA_DRIVER_VERSION}-source.tgz \
-C ${WRKDIR}
@${MV} ${WRKDIR}/mgasource/mga-${MGA_DRIVER_DIR}/mga \
${WRKSRC}/programs/Xserver/hw/xfree86/drivers
@${CP} ${WRKSRC}/config/cf/xf86site.def ${WRKSRC}/config/cf/host.def
@${ECHO_CMD} "#define HaveMatroxHal YES" >> ${WRKSRC}/config/cf/host.def
@${PERL} -pi.orig -ne 's!(#define PCI_CHIP_MGAG400\s+0x0525)!\1\n#define PCI_CHIP_MGAG550 0x2527\n!; \
s!({PCI_CHIP_MGAG400,\s+"MGA G400 AGP",0},)!\1\n{PCI_CHIP_MGAG550, "MGA G550 AGP", 0},\n!' \
${WRKSRC}/programs/Xserver/hw/xfree86/common/xf86PciInfo.h
.endif # WITH_MATROX_GXX_DRIVER
pre-install:
${MKDIR} ${PREFIX}
post-install:
.ifndef DISTRIB
${SETENV} OBJFORMAT=${PORTOBJFORMAT} ${LDCONFIG} -m ${PREFIX}/lib
.endif
@${CAT} ${PKGMESSAGE}
.ifdef DISTRIB
distrib: all install
@cd ../XFree86-contrib && \
${MAKE} NO_PKG_REGISTER=yes WRKDIR=${WRKDIR}/contrib-work \
PREFIX=${X11BASE} PREFIX=${DESTDIR}/${PREFIX} all install
@${MKDIR} ${WRKDIR}/bindist
@${CP} ${WRKSRC}/programs/Xserver/hw/xfree86/etc/bindist/FreeBSD-ELF/* \
${WRKDIR}/bindist
@${SED} -e 's:TAR="gnu-tar":TAR="${TAR}":g' \
-e 's/EXTRACTLOPTS="-t -v"/TARLOPTS="-t -v -z"/g' \
-e 's/\(#\)\( echo $$i >> $$LISTFILE\)/\2/g' \
-e 's/\(#\)\( echo "------------" >> $$LISTFILE\)/\2/g' \
-e 's/\(#\)\( $$TAR $$TARLOPTS -f $$i >> $$LISTFILE\)/\2/g' \
-e 's/\(#\)\( echo "" >> $$LISTFILE\)/\2/g' \
-e 's/\( $$EXTRACT $$EXTRACTLOPTS $$i >> $$LISTFILE\)/#\1/g' \
< ${WRKSRC}/programs/Xserver/hw/xfree86/etc/bindist/build-bindist \
> ${WRKDIR}/build-bindist
@${CHMOD} 0555 ${WRKDIR}/build-bindist
@${WRKDIR}/build-bindist X ${WRKDIR}/distrib ${WRKDIR}/bindist
.else
distrib:
@${ECHO_MSG} '>> The DISTRIB variable must be set when building ' \
'"distrib".'
@exit 1
.endif
.include <bsd.port.post.mk>
.include <bsd.port.mk>

File diff suppressed because it is too large Load Diff

View File

@ -1,10 +0,0 @@
--- programs/Xserver/hw/xfree86/os-support/bsd/bsd_jstk.c~ Sun Aug 2 08:43:34 1998
+++ programs/Xserver/hw/xfree86/os-support/bsd/bsd_jstk.c Mon Oct 11 02:27:32 1999
@@ -97,7 +97,6 @@
*centerY = js.y;
xf86Msg(X_PROBED, "Joystick: CenterY set to %d\n", *centerY);
}
- }
return status;
}

View File

@ -1,20 +0,0 @@
--- 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 @@
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 @@
*/
ALLINCLUDES = $(INCLUDES) $(EXTRA_INCLUDES) $(TOP_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)
LINTFLAGS = $(LINTOPTS) -DLINT $(ALLDEFINES) $(DEPEND_DEFINES)
LDPRELIB = LdPreLib
LDPOSTLIB = LdPostLib

View File

@ -1,9 +0,0 @@
--- config/cf/Library.tmpl Wed Oct 13 00:20:41 1999
+++ config/cf/Library.tmpl Thu Dec 21 09:22:14 2000
@@ -69,3 +69,3 @@
CLIBDEBUGFLAGS = LibraryDebugOpt
- CFLAGS = $(CDEBUGFLAGS) $(CLIBDEBUGFLAGS) $(CCOPTIONS) $(THREADS_CFLAGS) $(ALLDEFINES)
+ CFLAGS += $(CDEBUGFLAGS) $(CLIBDEBUGFLAGS) $(CCOPTIONS) $(THREADS_CFLAGS) $(ALLDEFINES)
# if defined(LargePICTable) && LargePICTable && defined(LargePositionIndependentCFlags)

View File

@ -1,19 +0,0 @@
--- config/cf/FreeBSD.cf~ Thu May 3 22:12:35 2001
+++ config/cf/FreeBSD.cf Fri May 25 23:45:58 2001
@@ -444,14 +444,14 @@
/* The GCC strength-reduce bug is fixed for FreeBSD 2.1.5 and later */
#ifndef DefaultGcc2i386Opt
#if OSMajorVersion > 2 || (OSMajorVersion == 2 && OSMinorVersion > 1) || (OSMajorVersion == 2 && OSMinorVersion == 1 && OSTeenyVersion >= 5)
-#define DefaultGcc2i386Opt -O2
+#define DefaultGcc2i386Opt
#endif
#endif
#ifdef i386Architecture
# define OptimizedCDebugFlags DefaultGcc2i386Opt
#else
-# define OptimizedCDebugFlags -O
+# define OptimizedCDebugFlags
#endif
#ifndef PreIncDir

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,42 +0,0 @@
--- 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 @@
if (I810_DEBUG & DEBUG_VERBOSE_DRI)
ErrorF("\n\nENTER VT\n");
+/*********BUGGY*********************
if (! I810BindGARTMemory(pScrn))
return FALSE;
-
+***********************************/
#ifdef XF86DRI
if (pI810->directRenderingEnabled) {
if (I810_DEBUG & DEBUG_VERBOSE_DRI)
@@ -2047,9 +2053,10 @@
}
I810Restore(pScrn);
+/*********BUGGY***********************
if (! I810UnbindGARTMemory(pScrn))
return;
-
+*************************************/
vgaHWLock(hwp);
}

View File

@ -1,11 +0,0 @@
--- 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.

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,23 +0,0 @@
--- programs/Xserver/hw/xfree86/os-support/shared/libc_wrapper.c.orig Mon Mar 4 05:03:27 2002
+++ programs/Xserver/hw/xfree86/os-support/shared/libc_wrapper.c Mon Mar 4 05:03:40 2002
@@ -1871,7 +1871,9 @@
if (xf86shmflg & XF86SHM_RDONLY) shmflg |= SHM_RDONLY;
if (xf86shmflg & XF86SHM_RND) shmflg |= SHM_RND;
+#ifdef SHM_REMAP
if (xf86shmflg & XF86SHM_REMAP) shmflg |= SHM_REMAP;
+#endif
return shmat(id,addr,shmflg);
}
--- programs/Xserver/hw/xfree86/os-support/bsd/Imakefile.orig Mon Mar 4 05:02:06 2002
+++ programs/Xserver/hw/xfree86/os-support/bsd/Imakefile Mon Mar 4 05:03:11 2002
@@ -130,7 +130,7 @@
#endif
DEFINES = $(CONSDEFINES) $(APDEFINES) $(IOPERMDEFINES) $(RESDEFINES) \
- $(MTRRDEFINES) $(USBMOUSEDEFINES)
+ $(MTRRDEFINES) $(USBMOUSEDEFINES) -DHAVE_SYSV_IPC
#if defined(AlphaArchitecture)
SpecialObjectRule(bsd_ev56.o, bsd_ev56.c, -mcpu=ev56)

View File

@ -1,54 +0,0 @@
--- 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 @@
display=:0
whoseargs="client"
+listen_tcp="-nolisten tcp"
while [ "x$1" != "x" ]; do
case "$1" in
+ -listen_tcp)
+ listen_tcp=""
+ ;;
--)
whoseargs="server"
;;
@@ -134,7 +138,7 @@
done
#endif
-xinit $clientargs -- $serverargs
+xinit $clientargs -- $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 @@
somewhat nicer user interface for running a single session of the X
Window System. It is often run with no arguments.
.PP
-Arguments immediately following the
+Except for the
+.RB '-listen_tcp'
+option, arguments immediately following the
.I startx
command are used to start a client in the same manner as
.IR xinit (1).
+The
+.RB '-listen_tcp'
+option of startx enables the TCP/IP transport type which is needed for remote X
+displays. This is disabled by default for security reasons.
+.PP
The special argument
.RB '--'
marks the end of client arguments and the beginning of server options.
@@ -66,6 +73,8 @@
startx -- -dpi 100
.PP
startx -- -layout Multihead
+.PP
+startx -listen_tcp -- -depth 16
.RE
.PP
To determine the client to run,

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,37 +0,0 @@
--- programs/xdm/session.c.orig Tue Feb 19 23:36:19 2002
+++ programs/xdm/session.c Tue Feb 19 23:51:21 2002
@@ -573,11 +573,13 @@
#ifdef USE_PAM
/* pass in environment variables set by libpam and modules it called */
if (pamh) {
- long i;
+ int i;
char **pam_env = pam_getenvlist(pamh);
for(i = 0; pam_env && pam_env[i]; i++) {
verify->userEnviron = putEnv(pam_env[i], verify->userEnviron);
+ free(pam_env[i]);
}
+ free(pam_env);
}
#endif
@@ -623,12 +625,19 @@
pwd = getpwnam(name);
if (pwd)
{
+ extern char **environ;
+ char **saved_environ = environ;
+
+ environ = verify->userEnviron;
if (setusercontext(NULL, pwd, pwd->pw_uid, LOGIN_SETALL) < 0)
{
+ environ = saved_environ;
LogError("setusercontext for \"%s\" failed, errno=%d\n", name,
errno);
return (0);
}
+ verify->userEnviron = environ;
+ environ = saved_environ;
endpwent();
}
else

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

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff