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:
parent
92becb4baf
commit
6f02907dd5
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=56230
@ -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,
|
@ -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
@ -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;
|
||||
}
|
@ -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
|
@ -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)
|
||||
|
@ -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
|
@ -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
|
@ -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);
|
||||
}
|
||||
|
@ -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.
|
@ -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));
|
||||
|
@ -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;
|
||||
- }
|
||||
}
|
||||
}
|
@ -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:
|
@ -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,
|
@ -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 );
|
@ -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)
|
@ -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,
|
@ -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;
|
||||
}
|
@ -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
|
@ -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
Loading…
Reference in New Issue
Block a user