-diff -urN XFree86-4.0.1.orig/xc/Makefile XFree86-4.0.1/xc/Makefile
---- XFree86-4.0.1.orig/xc/Makefile Wed Mar 22 22:23:30 2000
-+++ XFree86-4.0.1/xc/Makefile Sun Oct 29 23:41:32 2000
+diff -Nur XFree86-4.0.2.org/xc/Makefile XFree86-4.0.2/xc/Makefile
+--- XFree86-4.0.2.org/xc/Makefile Wed Mar 22 22:23:30 2000
++++ XFree86-4.0.2/xc/Makefile Wed Dec 20 13:41:02 2000
@@ -5,10 +5,10 @@
# or add "MAKE = make" to this file.
WIN32WORLDOPTS = -i
TOP = .
CURRENT_DIR = .
-diff -urN XFree86-4.0.1.orig/xc/config/cf/Imake.cf XFree86-4.0.1/xc/config/cf/Imake.cf
---- XFree86-4.0.1.orig/xc/config/cf/Imake.cf Sat Jul 1 01:34:20 2000
-+++ XFree86-4.0.1/xc/config/cf/Imake.cf Sun Oct 29 23:21:35 2000
-@@ -583,6 +583,10 @@
- # endif
- # undef __i386__
- # endif /* __i386__ */
+diff -Nur XFree86-4.0.2.org/xc/config/cf/Imake.cf XFree86-4.0.2/xc/config/cf/Imake.cf
+--- XFree86-4.0.2.org/xc/config/cf/Imake.cf Mon Nov 6 23:53:47 2000
++++ XFree86-4.0.2/xc/config/cf/Imake.cf Wed Dec 20 13:41:02 2000
+@@ -689,6 +689,10 @@
+ # define s390Architecture
+ # undef __s390__
+ # endif /* s390 */
+# ifdef alpha
+# define AlphaArchitecture
+# undef alpha
-+# endif /* __alpha */
++# endif /* alpha */
# ifdef __alpha
# define AlphaArchitecture
# undef __alpha
-diff -urN XFree86-4.0.1.orig/xc/config/cf/Imake.tmpl XFree86-4.0.1/xc/config/cf/Imake.tmpl
---- XFree86-4.0.1.orig/xc/config/cf/Imake.tmpl Tue Jun 27 02:55:44 2000
-+++ XFree86-4.0.1/xc/config/cf/Imake.tmpl Sun Oct 29 23:21:34 2000
-@@ -208,7 +208,7 @@
+diff -Nur XFree86-4.0.2.org/xc/config/cf/Imake.tmpl XFree86-4.0.2/xc/config/cf/Imake.tmpl
+--- XFree86-4.0.2.org/xc/config/cf/Imake.tmpl Tue Dec 5 01:45:28 2000
++++ XFree86-4.0.2/xc/config/cf/Imake.tmpl Wed Dec 20 13:41:02 2000
+@@ -220,7 +220,7 @@
#ifndef BuildHtmlManPages
#ifdef RmanCmd
#else
#define BuildHtmlManPages NO
#endif
-@@ -653,11 +653,7 @@
+@@ -686,11 +686,7 @@
#define LintlibDir $(USRLIBDIR)/lint
#endif
#ifndef SystemManDirectory
#endif
#ifndef ManDirectoryRoot
#ifdef ProjectRoot
-@@ -784,7 +780,7 @@
+@@ -817,7 +813,7 @@
#define NoRConst NO /* YES if const for structs of funcs is bad */
#endif
#ifndef InstPgmFlags
#endif
#ifndef InstBinFlags
#define InstBinFlags -m 0755
-@@ -918,7 +918,7 @@
+@@ -958,7 +954,7 @@
#define CppCmd /lib/cpp
#endif
#ifndef RawCppCmd
#endif
#ifndef CppNoLineInfoOption
#define CppNoLineInfoOption /**/
-diff -urN XFree86-4.0.1.orig/xc/config/cf/X11.tmpl XFree86-4.0.1/xc/config/cf/X11.tmpl
---- XFree86-4.0.1.orig/xc/config/cf/X11.tmpl Tue Jun 27 02:55:45 2000
-+++ XFree86-4.0.1/xc/config/cf/X11.tmpl Sun Oct 29 23:37:03 2000
-@@ -833,8 +833,11 @@
- #define PexCCOptions DefaultCCOptions
+diff -Nur XFree86-4.0.2.org/xc/config/cf/X11.tmpl XFree86-4.0.2/xc/config/cf/X11.tmpl
+--- XFree86-4.0.2.org/xc/config/cf/X11.tmpl Sat Dec 16 07:39:25 2000
++++ XFree86-4.0.2/xc/config/cf/X11.tmpl Wed Dec 20 13:41:02 2000
+@@ -882,8 +882,12 @@
#endif
#endif
+
+#ifndef EtcX11Directory
+#define EtcX11Directory /etc/X11
+#endif
++
#ifndef DefaultFSConfigFile
-#define DefaultFSConfigFile $(LIBDIR)/fs/config
+#define DefaultFSConfigFile $(ETCX11DIR)/fs/config
#endif
/* X-TrueType settings */
-@@ -950,10 +953,10 @@
- #endif
- #endif
- #ifndef ConfigDir
--#define ConfigDir $(LIBDIR)/config
-+#define ConfigDir $(LIBDIR)/config
+@@ -1002,7 +1006,7 @@
+ #define ConfigDir $(LIBDIR)/config
#endif
#ifndef DocDir
-#define DocDir $(LIBDIR)/doc
#endif
#ifndef DocHtmlDir
#define DocHtmlDir $(DOCDIR)/html
-@@ -962,31 +965,31 @@
+@@ -1011,31 +1015,31 @@
#define DocPsDir $(DOCDIR)/PostScript
#endif
#ifndef FontDir
#endif
#ifndef NlsDir
#define NlsDir $(LIBDIR)/nls
-@@ -998,16 +1001,16 @@
+@@ -1047,23 +1051,20 @@
#define PexApiDir $(LIBDIR)/PEX
#endif
#ifndef LbxproxyDir
#endif
#ifndef XPrintDir
#define XPrintDir ServerConfigDir
-@@ -1015,9 +1018,6 @@
- #ifndef VarDirectory
- #define VarDirectory /var/X11
#endif
-#ifndef EtcX11Directory
-#define EtcX11Directory /etc/X11
#ifndef InstallSecurityConfig
#define InstallSecurityConfig YES /* Install sample security policy */
#endif
-@@ -1049,10 +1049,10 @@
+@@ -1095,10 +1096,10 @@
#define OsNameDefines /* as nothing */
#endif
#ifndef DefaultUserPath /* for xdm */
#endif
#ifndef DefaultSystemShell /* for xdm to set in SHELL */
#define DefaultSystemShell BourneShell
-@@ -1162,7 +1162,7 @@
+@@ -1211,7 +1212,7 @@
HTMLINDEXCMD = HtmlIndexCmd
CLIENTSRC = $(TOP)/clients
DEMOSRC = $(TOP)/demos
XDOCMACROS = $(DOCUTILSRC)/macros.t
-@@ -1176,7 +1176,7 @@
+@@ -1225,7 +1226,7 @@
SERVERSRC = $(XTOP)/programs/Xserver
CONTRIBSRC = ContribDir
UNSUPPORTEDSRC = UnsupportedDir
RGBSRC = $(XTOP)/programs/rgb
BDFTOPCFSRC = $(PROGRAMSRC)/bdftopcf
MKFONTDIRSRC = $(PROGRAMSRC)/mkfontdir
-diff -urN XFree86-4.0.1.orig/xc/config/cf/linux.cf XFree86-4.0.1/xc/config/cf/linux.cf
---- XFree86-4.0.1.orig/xc/config/cf/linux.cf Sat Jun 24 20:15:54 2000
-+++ XFree86-4.0.1/xc/config/cf/linux.cf Sun Oct 29 23:21:35 2000
-@@ -180,6 +180,8 @@
- # endif
- # elif defined(SparcArchitecture)
- # define BuildXF86DRI YES
-+# elif defined(AlphaArchitecture)
-+# define BuildXF86DRI YES
- # else
- # define BuildXF86DRI NO
- # endif
-@@ -194,7 +196,7 @@
- # ifdef i386Architecture
+diff -Nur XFree86-4.0.2.org/xc/config/cf/linux.cf XFree86-4.0.2/xc/config/cf/linux.cf
+--- XFree86-4.0.2.org/xc/config/cf/linux.cf Thu Dec 14 20:24:08 2000
++++ XFree86-4.0.2/xc/config/cf/linux.cf Wed Dec 20 13:45:03 2000
+@@ -276,7 +276,7 @@
+ # if defined(i386Architecture) || defined(ia64Architecture)
# if OSMajorVersion == 2
/* Only tested for Linux 2.2.0 through 2.2.12 */
-# if OSMinorVersion == 2 && OSTeenyVersion <= 12
+# if OSMinorVersion == 2
- # define BuildXF86DRM YES
+ # define BuildXF86DRM YES
# else
/* Only tested for Linux 2.3.0 through 2.3.18 */
-@@ -424,7 +426,7 @@
+@@ -565,7 +565,7 @@
#define StandardCppDefines StandardDefines
#define HasVarRun YES
--#define VarDbDirectory /var/state
+-#define VarDbDirectory $(VARDIR)/lib
+#define VarDbDirectory /var/lib
#ifndef XF86OSCardDrivers
- #define XF86OSCardDrivers v4l
-@@ -537,10 +539,10 @@
+ # define XF86OSCardDrivers v4l
+@@ -704,10 +704,10 @@
#endif
#ifndef LinkGLToUsrLib
--#define LinkGLToUsrLib YES
-+#define LinkGLToUsrLib NO
+-# define LinkGLToUsrLib YES
++# define LinkGLToUsrLib NO
#endif
- #ifndef LinkGLToUsrInclude
--#define LinkGLToUsrInclude YES
-+#define LinkGLToUsrInclude NO
+ # ifndef LinkGLToUsrInclude
+-# define LinkGLToUsrInclude YES
++# define LinkGLToUsrInclude NO
#endif
-diff -urN XFree86-4.0.1.orig/xc/config/cf/site.def XFree86-4.0.1/xc/config/cf/site.def
---- XFree86-4.0.1.orig/xc/config/cf/site.def Tue Jun 27 02:55:45 2000
-+++ XFree86-4.0.1/xc/config/cf/site.def Sun Oct 29 23:21:35 2000
+diff -Nur XFree86-4.0.2.org/xc/config/cf/site.def XFree86-4.0.2/xc/config/cf/site.def
+--- XFree86-4.0.2.org/xc/config/cf/site.def Tue Jun 27 02:55:45 2000
++++ XFree86-4.0.2/xc/config/cf/site.def Wed Dec 20 13:41:02 2000
@@ -131,10 +131,13 @@
#define HasSentinel YES
*/
/* You do NOT need SetUID if you only run the server under xdm */
-diff -urN XFree86-4.0.1.orig/xc/config/cf/xf86site.def XFree86-4.0.1/xc/config/cf/xf86site.def
---- XFree86-4.0.1.orig/xc/config/cf/xf86site.def Wed Jun 14 21:36:16 2000
-+++ XFree86-4.0.1/xc/config/cf/xf86site.def Sun Oct 29 23:21:35 2000
+diff -Nur XFree86-4.0.2.org/xc/config/cf/xf86site.def XFree86-4.0.2/xc/config/cf/xf86site.def
+--- XFree86-4.0.2.org/xc/config/cf/xf86site.def Thu Dec 14 20:24:16 2000
++++ XFree86-4.0.2/xc/config/cf/xf86site.def Wed Dec 20 13:41:03 2000
@@ -134,16 +134,16 @@
* Some Linux releases don't have a libtermcap. In this case you may need
* to uncomment the following
/*
* Build a server that dynamically loads the modules by setting
-@@ -386,8 +386,8 @@
+@@ -436,8 +436,8 @@
/*
* To not build/install the Cyrillic fonts, uncomment the following
*
/*
* To not build/install the Latin2 fonts, uncomment the following
-@@ -576,8 +576,8 @@
+@@ -626,8 +626,8 @@
* To forceably build static libraries in addition to shared libraries,
* uncomment this.
*
/*
* Uncomment this if your default tools (eg, gcc, ld, as, etc) are
-@@ -663,26 +663,26 @@
+@@ -713,26 +713,26 @@
* HasGlide2 to YES and set the Glide2IncDir variable.
* HasGlide2 is per default NO.
*
/*
* Undefine the following if you don't want to have config files and
-diff -urN XFree86-4.0.1.orig/xc/config/cf/xfree86.cf XFree86-4.0.1/xc/config/cf/xfree86.cf
---- XFree86-4.0.1.orig/xc/config/cf/xfree86.cf Sat Jul 1 01:34:21 2000
-+++ XFree86-4.0.1/xc/config/cf/xfree86.cf Sun Oct 29 23:21:46 2000
-@@ -24,7 +24,7 @@
+diff -Nur XFree86-4.0.2.org/xc/config/cf/xfree86.cf XFree86-4.0.2/xc/config/cf/xfree86.cf
+--- XFree86-4.0.2.org/xc/config/cf/xfree86.cf Thu Dec 14 20:24:17 2000
++++ XFree86-4.0.2/xc/config/cf/xfree86.cf Wed Dec 20 13:52:03 2000
+@@ -28,7 +28,7 @@
#define XConfigFile XF86Config
#endif
#ifndef XConfigDir
-#define XConfigDir $(LIBDIR)
+#define XConfigDir $(ETCX11DIR)
#endif
-
- /*
-@@ -416,8 +416,11 @@
+ #ifndef XLogFile
+ #define XLogFile XFree86
+@@ -520,9 +520,10 @@
/* Pure PCI drivers should go first */
# ifndef XF86CardDrivers
--# define XF86CardDrivers mga tdfx glint s3virge rendition tga \
-- r128 vga XF86OSCardDrivers XF86ExtraCardDrivers
-+# define XF86CardDrivers mga glint nv tga s3virge sis rendition \
-+ neomagic i740 tdfx \
-+ cirrus tseng trident chips apm \
-+ fbdev \
-+ ati r128 v4l vga XF86OSCardDrivers XF86ExtraCardDrivers
+-# define XF86CardDrivers mga glint s3virge sis savage\
+- trident chips fbdev \
+- DevelDrivers vga \
++# define XF86CardDrivers mga glint nv tga s3virge sis savage\
++ neomagic i740 tdfx trident chips fbdev \
++ DevelDrivers vga cirrus tseng apm ati\
++ r128 ati v4l vga\
+ XF86OSCardDrivers XF86ExtraCardDrivers
# endif
#endif
-
-@@ -563,7 +566,7 @@
- * The server-side of PEX is not 64-bit clean.
- */
- #if !defined(BuildPexExt)
--# if XF86Server && !defined(AlphaArchitecture)
-+# if XF86Server
- # define BuildPexExt YES
- # else
- # define BuildPexExt NO
-diff -urN XFree86-4.0.1.orig/xc/config/imake/imake.c XFree86-4.0.1/xc/config/imake/imake.c
---- XFree86-4.0.1.orig/xc/config/imake/imake.c Wed Jun 14 21:36:17 2000
-+++ XFree86-4.0.1/xc/config/imake/imake.c Sun Oct 29 23:21:35 2000
-@@ -951,6 +951,7 @@
+diff -Nur XFree86-4.0.2.org/xc/config/imake/imake.c XFree86-4.0.2/xc/config/imake/imake.c
+--- XFree86-4.0.2.org/xc/config/imake/imake.c Wed Nov 29 17:33:50 2000
++++ XFree86-4.0.2/xc/config/imake/imake.c Wed Dec 20 13:41:03 2000
+@@ -952,6 +952,7 @@
static char* yast = "/sbin/YaST";
static char* redhat = "/etc/redhat-release";
static char* debian = "/etc/debian_version";
fprintf (inFile, "%s\n", "#define LinuxUnknown 0");
fprintf (inFile, "%s\n", "#define LinuxSuSE 1");
-@@ -965,6 +966,7 @@
+@@ -966,6 +967,7 @@
fprintf (inFile, "%s\n", "#define LinuxTurbo 10");
fprintf (inFile, "%s\n", "#define LinuxWare 11");
fprintf (inFile, "%s\n", "#define LinuxYggdrasil 12");
if (lstat (yast, &sb) == 0) {
fprintf (inFile, "%s\n", "#define DefaultLinuxDistribution LinuxSuSE");
-@@ -981,6 +983,11 @@
+@@ -982,6 +984,11 @@
fprintf (inFile, "%s\n", "#define DefaultLinuxDistName Debian");
/* You could also try to get the version of the Debian distrib by looking
* at the content of /etc/debian_version */
return;
}
/* what's the definitive way to tell what any particular distribution is? */
-diff -urN XFree86-4.0.1.orig/xc/programs/Xserver/hw/xfree86/XF86Setup/Imakefile XFree86-4.0.1/xc/programs/Xserver/hw/xfree86/XF86Setup/Imakefile
---- XFree86-4.0.1.orig/xc/programs/Xserver/hw/xfree86/XF86Setup/Imakefile Sat Sep 4 15:04:28 1999
-+++ XFree86-4.0.1/xc/programs/Xserver/hw/xfree86/XF86Setup/Imakefile Sun Oct 29 23:21:35 2000
+diff -Nur XFree86-4.0.2.org/xc/programs/Xserver/hw/xfree86/XF86Setup/Imakefile XFree86-4.0.2/xc/programs/Xserver/hw/xfree86/XF86Setup/Imakefile
+--- XFree86-4.0.2.org/xc/programs/Xserver/hw/xfree86/XF86Setup/Imakefile Sat Sep 4 15:04:28 1999
++++ XFree86-4.0.2/xc/programs/Xserver/hw/xfree86/XF86Setup/Imakefile Wed Dec 20 13:41:03 2000
@@ -118,7 +118,7 @@
XCONFIG_DEFINES = $(EXT_DEFINES) -DXF86SETUP \
$(SITE_FONT_PATH) $(SITE_RGB_DB) \
-DNO_WRAPPERS
-diff -urN XFree86-4.0.1.orig/xc/programs/Xserver/hw/xfree86/XF86Setup/phase5.tcl XFree86-4.0.1/xc/programs/Xserver/hw/xfree86/XF86Setup/phase5.tcl
---- XFree86-4.0.1.orig/xc/programs/Xserver/hw/xfree86/XF86Setup/phase5.tcl Sun Apr 5 18:15:52 1998
-+++ XFree86-4.0.1/xc/programs/Xserver/hw/xfree86/XF86Setup/phase5.tcl Sun Oct 29 23:21:35 2000
+diff -Nur XFree86-4.0.2.org/xc/programs/Xserver/hw/xfree86/XF86Setup/phase5.tcl XFree86-4.0.2/xc/programs/Xserver/hw/xfree86/XF86Setup/phase5.tcl
+--- XFree86-4.0.2.org/xc/programs/Xserver/hw/xfree86/XF86Setup/phase5.tcl Sun Apr 5 18:15:52 1998
++++ XFree86-4.0.2/xc/programs/Xserver/hw/xfree86/XF86Setup/phase5.tcl Wed Dec 20 13:41:03 2000
@@ -38,7 +38,7 @@
set devid [lindex $DeviceIDs $idx]
global Device_$devid
mesg $messages(phase5.4) okay
} else {
mesg $messages(phase5.5) okay
-diff -urN XFree86-4.0.1.orig/xc/programs/xdm/config/Xres.cpp XFree86-4.0.1/xc/programs/xdm/config/Xres.cpp
---- XFree86-4.0.1.orig/xc/programs/xdm/config/Xres.cpp Sun Mar 14 04:22:24 1999
-+++ XFree86-4.0.1/xc/programs/xdm/config/Xres.cpp Sun Oct 29 23:28:00 2000
-@@ -59,9 +59,9 @@
+diff -Nur XFree86-4.0.2.org/xc/programs/xdm/config/Xres.cpp XFree86-4.0.2/xc/programs/xdm/config/Xres.cpp
+--- XFree86-4.0.2.org/xc/programs/xdm/config/Xres.cpp Wed Nov 29 17:46:09 2000
++++ XFree86-4.0.2/xc/programs/xdm/config/Xres.cpp Wed Dec 20 13:41:03 2000
+@@ -66,9 +66,9 @@
/**/#endif
#ifdef XPM
/**/#if PLANES >= 8
/**/#endif
xlogin*useShape: true
xlogin*logoPadding: 10
-diff -urN XFree86-4.0.1.orig/xc/programs/xdm/resource.c XFree86-4.0.1/xc/programs/xdm/resource.c
---- XFree86-4.0.1.orig/xc/programs/xdm/resource.c Sun Dec 6 07:08:49 1998
-+++ XFree86-4.0.1/xc/programs/xdm/resource.c Sun Oct 29 23:35:50 2000
+diff -Nur XFree86-4.0.2.org/xc/programs/xdm/resource.c XFree86-4.0.2/xc/programs/xdm/resource.c
+--- XFree86-4.0.2.org/xc/programs/xdm/resource.c Sun Dec 6 07:08:49 1998
++++ XFree86-4.0.2/xc/programs/xdm/resource.c Wed Dec 20 13:41:03 2000
@@ -70,31 +70,31 @@
*/
#ifndef __EMX__
#endif
#ifndef DEF_USER_AUTH_DIR
#define DEF_USER_AUTH_DIR "/tmp"
-diff -urN XFree86-4.0.1.orig/xc/programs/xinit/Imakefile XFree86-4.0.1/xc/programs/xinit/Imakefile
---- XFree86-4.0.1.orig/xc/programs/xinit/Imakefile Mon Jan 31 20:33:44 2000
-+++ XFree86-4.0.1/xc/programs/xinit/Imakefile Sun Oct 29 23:21:35 2000
-@@ -39,11 +39,13 @@
+diff -Nur XFree86-4.0.2.org/xc/programs/xinit/Imakefile XFree86-4.0.2/xc/programs/xinit/Imakefile
+--- XFree86-4.0.2.org/xc/programs/xinit/Imakefile Tue Dec 5 01:59:44 2000
++++ XFree86-4.0.2/xc/programs/xinit/Imakefile Wed Dec 20 13:41:03 2000
+@@ -41,11 +41,13 @@
InstallNamedProg(startx,startx,$(BINDIR))
InstallManPage(startx,$(MANDIR))
#endif
LinkConfDirectory(xinit,.,xinit,.)
-diff -urN XFree86-4.0.1.orig/xc/programs/xterm/Imakefile XFree86-4.0.1/xc/programs/xterm/Imakefile
---- XFree86-4.0.1.orig/xc/programs/xterm/Imakefile Fri Mar 3 21:02:27 2000
-+++ XFree86-4.0.1/xc/programs/xterm/Imakefile Sun Oct 29 23:21:35 2000
+diff -Nur XFree86-4.0.2.org/xc/programs/xterm/Imakefile XFree86-4.0.2/xc/programs/xterm/Imakefile
+--- XFree86-4.0.2.org/xc/programs/xterm/Imakefile Tue Dec 5 02:00:14 2000
++++ XFree86-4.0.2/xc/programs/xterm/Imakefile Wed Dec 20 13:43:30 2000
@@ -36,6 +36,10 @@
#define XkbClientLibs /**/
#endif
#if ((LinuxCLibMajorVersion == 6) && (LinuxCLibMinorVersion < 1))
PTYLIB = -lutil
#endif
-@@ -101,7 +107,7 @@
+@@ -109,7 +115,7 @@
-DOSMINORVERSION=$(OSMINORVERSION)
MISC_DEFINES = /* -DALLOWLOGGING -DALLOWLOGFILEEXEC */
XKB_DEFINES = XkbClientDefines
-- DEFINES = -I. $(XKB_DEFINES) $(TERMCAPDEFINES) $(FEATURE_DEFINES) $(SCROLLBAR_RIGHT) $(UTF8_OPTION)
-+ DEFINES = -I. -I/usr/include/ncurses $(XKB_DEFINES) $(TERMCAPDEFINES) $(FEATURE_DEFINES) $(SCROLLBAR_RIGHT) $(UTF8_OPTION)
+- DEFINES = -I. $(XKB_DEFINES) $(TERMCAPDEFINES) $(FEATURE_DEFINES) $(SCROLLBAR_RIGHT) $(UTF8_OPTION) $(XRFDEF)
++ DEFINES = -I. -I/usr/include/ncurses $(XKB_DEFINES) $(TERMCAPDEFINES) $(FEATURE_DEFINES) $(SCROLLBAR_RIGHT) $(UTF8_OPTION) $(XRFDEF)
#ifdef OS2Architecture
MAINSRC = os2main.c
-diff -urN XFree86-4.0.1.orig/xc/programs/xterm/xterm.h XFree86-4.0.1/xc/programs/xterm/xterm.h
---- XFree86-4.0.1.orig/xc/programs/xterm/xterm.h Wed Jun 14 21:44:04 2000
-+++ XFree86-4.0.1/xc/programs/xterm/xterm.h Sun Oct 29 23:21:35 2000
+diff -Nur XFree86-4.0.2.org/xc/programs/xterm/xterm.h XFree86-4.0.2/xc/programs/xterm/xterm.h
+--- XFree86-4.0.2.org/xc/programs/xterm/xterm.h Sat Dec 9 05:02:44 2000
++++ XFree86-4.0.2/xc/programs/xterm/xterm.h Wed Dec 20 13:41:03 2000
@@ -62,7 +62,7 @@
#endif
-diff -urN XFree86-4.0.1.orig/xc/config/cf/Server.tmpl XFree86-4.0.1/xc/config/cf/Server.tmpl
---- XFree86-4.0.1.orig/xc/config/cf/Server.tmpl Fri Feb 18 17:23:07 2000
-+++ XFree86-4.0.1/xc/config/cf/Server.tmpl Mon Jul 10 04:01:04 2000
+diff -Nur XFree86-4.0.2.org/xc/config/cf/Server.tmpl XFree86-4.0.2/xc/config/cf/Server.tmpl
+--- XFree86-4.0.2.org/xc/config/cf/Server.tmpl Fri Feb 18 17:23:07 2000
++++ XFree86-4.0.2/xc/config/cf/Server.tmpl Thu Dec 21 08:47:33 2000
@@ -31,8 +31,14 @@
#ifndef MakeDllModules
#define MakeDllModules NO
#endif
/*
-diff -urN XFree86-4.0.1.orig/xc/config/cf/xf86site.def XFree86-4.0.1/xc/config/cf/xf86site.def
---- XFree86-4.0.1.orig/xc/config/cf/xf86site.def Mon Jul 10 03:59:05 2000
-+++ XFree86-4.0.1/xc/config/cf/xf86site.def Mon Jul 10 04:01:04 2000
-@@ -305,13 +305,15 @@
+diff -Nur XFree86-4.0.2.org/xc/config/cf/xf86site.def XFree86-4.0.2/xc/config/cf/xf86site.def
+--- XFree86-4.0.2.org/xc/config/cf/xf86site.def Thu Dec 21 09:01:05 2000
++++ XFree86-4.0.2/xc/config/cf/xf86site.def Thu Dec 21 08:47:33 2000
+@@ -348,13 +348,15 @@
*/
/*
*/
/*
-diff -urN XFree86-4.0.1.orig/xc/config/cf/xfree86.cf XFree86-4.0.1/xc/config/cf/xfree86.cf
---- XFree86-4.0.1.orig/xc/config/cf/xfree86.cf Mon Jul 10 03:59:05 2000
-+++ XFree86-4.0.1/xc/config/cf/xfree86.cf Mon Jul 10 04:01:04 2000
-@@ -550,12 +550,15 @@
+diff -Nur XFree86-4.0.2.org/xc/config/cf/xfree86.cf XFree86-4.0.2/xc/config/cf/xfree86.cf
+--- XFree86-4.0.2.org/xc/config/cf/xfree86.cf Thu Dec 21 09:01:06 2000
++++ XFree86-4.0.2/xc/config/cf/xfree86.cf Thu Dec 21 08:47:33 2000
+@@ -585,12 +585,15 @@
#endif
/*
# endif
#endif
-diff -urN XFree86-4.0.1.orig/xc/programs/Xserver/Imakefile XFree86-4.0.1/xc/programs/Xserver/Imakefile
---- XFree86-4.0.1.orig/xc/programs/Xserver/Imakefile Sat Jun 17 20:42:16 2000
-+++ XFree86-4.0.1/xc/programs/Xserver/Imakefile Mon Jul 10 04:01:33 2000
+diff -Nur XFree86-4.0.2.org/xc/programs/Xserver/Imakefile XFree86-4.0.2/xc/programs/Xserver/Imakefile
+--- XFree86-4.0.2.org/xc/programs/Xserver/Imakefile Wed Dec 13 00:58:58 2000
++++ XFree86-4.0.2/xc/programs/Xserver/Imakefile Thu Dec 21 08:54:16 2000
@@ -4,11 +4,6 @@
*/
- XCOMM $XFree86: xc/programs/Xserver/Imakefile,v 3.184 2000/06/17 00:03:10 martin Exp $
+ XCOMM $XFree86: xc/programs/Xserver/Imakefile,v 3.205 2000/12/11 20:29:31 dawes Exp $
-#ifndef InstallXserverSetUID
-#define InstallXserverSetUID NO
#include <Server.tmpl>
#ifdef XFree86Version
-@@ -257,6 +252,7 @@
- SYSLIBS = $(ZLIB) MathLibrary Krb5Libraries DBMLibrary $(USB) \
- $(EXTRASYSLIBS)
+@@ -264,7 +259,7 @@
+ EXTRASYSLIBS = ServerExtraSysLibs
#endif
-+ PAMLIBS = -lpam -lpam_misc -ldl
- CBRT = mi/LibraryTargetName(cbrt)
- STDDIRS = include dix os mi $(XPDDXDIR) $(EXTDIRS)
-
-@@ -1012,6 +1008,11 @@
- $(XVFBLIBS) $(LOADABLEEXTS) $(LIBCWRAPPER),$(XVFBSYSLIBS))
- #endif /* XVirtualFramebufferServer */
+ #if HasPam && HasPamMisc
+- PAMLIBS = PamLibraries PamMiscLibraries
++ PAMLIBS = -lpam -lpam_misc -ldl PamLibraries PamMiscLibraries
+ #endif
+ #if !(SystemV4 || defined(SGIArchitecture) || UseRgbTxt)
+ DBMLIBS = DBMLibrary
+@@ -1017,6 +1012,11 @@
+ $(XNESTLIBS) $(LOADABLEEXTS) $(LIBCWRAPPER),$(XNESTSYSLIBS))
+ #endif /* XnestServer */
+
+#if UseXserverWrapper
+InstallProgramWithFlags(Xwrapper,$(BINDIR),$(INSTUIDFLAGS))
+#endif
- CFBDIRS = $(CFB8DIR) $(CFB16DIR) $(CFB24DIR) $(CFB32DIR)
- IPLANDIRS = $(IPLAN2P2DIR) $(IPLAN2P4DIR) $(IPLAN2P8DIR)
-diff -urN XFree86-4.0.1.orig/xc/programs/Xserver/hw/xfree86/os-support/linux/lnx_init.c XFree86-4.0.1/xc/programs/Xserver/hw/xfree86/os-support/linux/lnx_init.c
---- XFree86-4.0.1.orig/xc/programs/Xserver/hw/xfree86/os-support/linux/lnx_init.c Fri Feb 25 19:28:11 2000
-+++ XFree86-4.0.1/xc/programs/Xserver/hw/xfree86/os-support/linux/lnx_init.c Mon Jul 10 04:01:04 2000
-@@ -65,7 +65,10 @@
+ #if XnonServer
+ XCOMM
+diff -Nur XFree86-4.0.2.org/xc/programs/Xserver/hw/xfree86/os-support/linux/lnx_init.c XFree86-4.0.2/xc/programs/Xserver/hw/xfree86/os-support/linux/lnx_init.c
+--- XFree86-4.0.2.org/xc/programs/Xserver/hw/xfree86/os-support/linux/lnx_init.c Wed Nov 29 17:43:28 2000
++++ XFree86-4.0.2/xc/programs/Xserver/hw/xfree86/os-support/linux/lnx_init.c Thu Dec 21 08:47:33 2000
+@@ -66,7 +66,10 @@
/* check if we're run with euid==0 */
if (geteuid() != 0)
{
}
/*
-diff -urN XFree86-4.0.1.orig/xc/programs/Xserver/os/Imakefile XFree86-4.0.1/xc/programs/Xserver/os/Imakefile
---- XFree86-4.0.1.orig/xc/programs/Xserver/os/Imakefile Fri May 5 19:47:29 2000
-+++ XFree86-4.0.1/xc/programs/Xserver/os/Imakefile Mon Jul 10 04:01:33 2000
-@@ -110,6 +110,7 @@
- ERROR_DEFINES = ServerErrorDefines
+diff -Nur XFree86-4.0.2.org/xc/programs/Xserver/os/Imakefile XFree86-4.0.2/xc/programs/Xserver/os/Imakefile
+--- XFree86-4.0.2.org/xc/programs/Xserver/os/Imakefile Tue Dec 5 01:59:14 2000
++++ XFree86-4.0.2/xc/programs/Xserver/os/Imakefile Thu Dec 21 08:47:33 2000
+@@ -113,6 +113,7 @@
+ #endif
DEFINES = -DXSERV_t -DTRANS_SERVER $(CONNECTION_FLAGS) $(MEM_DEFINES) $(XDMAUTHDEFS) $(RPCDEFS) $(SIGNAL_DEFINES) $(OS_DEFINES) $(KRB5_DEFINES) $(RGB_DEFINES)
INCLUDES = -I. -I../include -I$(XINCLUDESRC) -I$(EXTINCSRC) -I$(TOP)/lib/Xau -I../lbx Krb5Includes
+ EXTRA_DEFINES = -DUSE_PAM
DEPEND_DEFINES = $(DBM_DEFINES) $(XDMCP_DEFINES) $(EXT_DEFINES) $(TRANS_INCLUDES) $(CONNECTION_FLAGS)
LINTLIBS = ../dix/llib-ldix.ln
-@@ -153,6 +154,14 @@
+@@ -156,6 +157,14 @@
cc -c $(DBM_DEFINES) $(CDEBUGFLAGS) $(ALLDEFINES) $*.c
#else
SpecialCObjectRule(oscolor,$(ICONFIGFILES),$(DBM_DEFINES))
#endif
#if HasKrb5
-diff -urN XFree86-4.0.1.orig/xc/programs/Xserver/os/wrapper.c XFree86-4.0.1/xc/programs/Xserver/os/wrapper.c
---- XFree86-4.0.1.orig/xc/programs/Xserver/os/wrapper.c Thu Jan 1 01:00:00 1970
-+++ XFree86-4.0.1/xc/programs/Xserver/os/wrapper.c Mon Jul 10 04:01:33 2000
+diff -Nur XFree86-4.0.2.org/xc/programs/Xserver/os/wrapper.c XFree86-4.0.2/xc/programs/Xserver/os/wrapper.c
+--- XFree86-4.0.2.org/xc/programs/Xserver/os/wrapper.c Thu Jan 1 01:00:00 1970
++++ XFree86-4.0.2/xc/programs/Xserver/os/wrapper.c Thu Dec 21 08:47:33 2000
@@ -0,0 +1,304 @@
+/*
+ * X server wrapper.
+ exit(1);
+}
+
-diff -urN XFree86-4.0.1.orig/xc/programs/xinit/xinit.c XFree86-4.0.1/xc/programs/xinit/xinit.c
---- XFree86-4.0.1.orig/xc/programs/xinit/xinit.c Wed Apr 5 20:14:08 2000
-+++ XFree86-4.0.1/xc/programs/xinit/xinit.c Mon Jul 10 04:01:04 2000
-@@ -143,6 +143,7 @@
+diff -Nur XFree86-4.0.2.org/xc/programs/xinit/xinit.c XFree86-4.0.2/xc/programs/xinit/xinit.c
+--- XFree86-4.0.2.org/xc/programs/xinit/xinit.c Tue Nov 7 00:06:04 2000
++++ XFree86-4.0.2/xc/programs/xinit/xinit.c Thu Dec 21 08:47:33 2000
+@@ -147,6 +147,7 @@
#define OK_EXIT 0
#define ERR_EXIT 1
char *default_server = "X";
char *default_display = ":0"; /* choose most efficient */
#ifndef __EMX__
-@@ -312,7 +313,10 @@
+@@ -316,7 +317,10 @@
if (argc == 0 ||
#ifndef __EMX__
(**argv != '/' && **argv != '.')) {
--- /dev/null
+--- xc/programs/Xserver/hw/xfree86/os-support/bus/Pci.c.lemming Mon Jul 3 02:10:01 2000
++++ xc/programs/Xserver/hw/xfree86/os-support/bus/Pci.c Mon Jul 3 02:10:29 2000
+@@ -289,7 +289,7 @@
+ if (!pciInitialized)
+ pciInit();
+
+- if ((bus < pciNumBuses || inProbe) && pciBusInfo[bus] &&
++ if ((bus < pciNumBuses) && pciBusInfo[bus] &&
+ pciBusInfo[bus]->funcs.pciReadLong) {
+ CARD32 rv = (*pciBusInfo[bus]->funcs.pciReadLong)(tag, offset);
+
-diff -urN xc/programs/xdm~/Imakefile xc/programs/xdm/Imakefile
---- xc/programs/xdm~/Imakefile Sat Jun 17 13:48:22 2000
-+++ xc/programs/xdm/Imakefile Thu Sep 7 18:17:08 2000
-@@ -224,9 +224,9 @@
+diff -Nur XFree86-4.0.2.org/xc/programs/xdm/Imakefile XFree86-4.0.2/xc/programs/xdm/Imakefile
+--- XFree86-4.0.2.org/xc/programs/xdm/Imakefile Wed Nov 29 17:46:07 2000
++++ XFree86-4.0.2/xc/programs/xdm/Imakefile Thu Dec 21 13:10:37 2000
+@@ -225,9 +225,9 @@
'-DDEF_SYSTEM_SHELL="$(BOURNE_SHELL)"' \
'-DDEF_FAILSAFE_CLIENT="$(BINDIR)/xterm"' \
'-DDEF_XDM_CONFIG="$(XDMDIR)/xdm-config"' \
- '-DDEF_CHOOSER="$(XDMDIR)/chooser"' \
- '-DDEF_AUTH_DIR="$(XDMDIR)"' \
- '-DDEF_GREETER_LIB="$(XDMDIR)/libXdmGreet.so"'
-+ '-DDEF_CHOOSER="$(BIN)/chooser"' \
++ '-DDEF_CHOOSER="$(DIR)/chooser"' \
+ '-DDEF_AUTH_DIR="$(XDMVARDIR)"' \
+ '-DDEF_GREETER_LIB="$(USRLIBDIR)/libXdmGreet.so"'
#endif
ComplexProgramTarget_1(xdm,$(LOCAL_LIBRARIES),NullParameter)
-@@ -246,7 +246,7 @@
+@@ -247,7 +247,7 @@
#if BuildChooser
SpecialCObjectRule(chooser, $(ICONFIGFILES), $(SOCK_DEFINES))
NormalProgramTarget(chooser,$(OBJS3),$(DEPLIBS3),$(LIBS3),NullParameter)
InstallAppDefaults(Chooser)
#endif
#if BuildBoth
-diff -urN xc/programs/xdm~/config/Imakefile xc/programs/xdm/config/Imakefile
---- xc/programs/xdm~/config/Imakefile Mon Jan 31 14:33:43 2000
-+++ xc/programs/xdm/config/Imakefile Thu Sep 7 18:17:08 2000
-@@ -25,7 +25,11 @@
+diff -Nur XFree86-4.0.2.org/xc/programs/xdm/config/Imakefile XFree86-4.0.2/xc/programs/xdm/config/Imakefile
+--- XFree86-4.0.2.org/xc/programs/xdm/config/Imakefile Mon Jan 31 20:33:43 2000
++++ XFree86-4.0.2/xc/programs/xdm/config/Imakefile Thu Dec 21 13:20:54 2000
+@@ -5,9 +5,7 @@
+
+ all:: Xservers.ws xdm-config Xservers Xresources
+
+-#if defined(i386Architecture) && (defined(NetBSDArchitecture) || defined(OpenBSDArchitecture))
+-DEFAULTVT=vt05
+-#endif
++DEFAULTVT=vt9
+
+ #ifndef XdmPixmap
+ # define XdmPixmap XFree86.xpm
+@@ -25,7 +23,11 @@
#endif
CppFileTarget(Xservers.ws,Xserv.ws.cpp,-DBINDIR=$(BINDIR) -DDEFAULTVT=$(DEFAULTVT),NullParameter)
CppFileTarget(Xresources,Xres.cpp,$(XPM_DEFINES),NullParameter)
LinkFile(Xservers,Xservers.$(SERVERSTYPE))
-diff -urN xc/programs/xdm~/config/Xres.cpp xc/programs/xdm/config/Xres.cpp
---- xc/programs/xdm~/config/Xres.cpp Sat Mar 13 22:22:24 1999
-+++ xc/programs/xdm/config/Xres.cpp Thu Sep 7 18:23:11 2000
-@@ -5,6 +5,13 @@
- xlogin*login.translations: #override BS
- Ctrl<Key>R: abort-display()NLBS
- <Key>F1: set-session-argument(failsafe) finish-field()NLBS
-+ <Key>Delete: delete-character()NLBS
-+ <Key>Left: move-backward-character()NLBS
-+ <Key>Right: move-forward-character()NLBS
-+ <Key>Home: move-to-begining()NLBS
-+ <Key>End: move-to-end()NLBS
-+ Ctrl<Key>KP_Enter: set-session-argument(failsafe) finish-field()NLBS
-+ <Key>KP_Enter: set-session-argument() finish-field()NLBS
- Ctrl<Key>Return: set-session-argument(failsafe) finish-field()NLBS
- <Key>Return: set-session-argument() finish-field()
- #ifndef XPM
-@@ -29,9 +36,7 @@
+diff -Nur XFree86-4.0.2.org/xc/programs/xdm/config/Xres.cpp XFree86-4.0.2/xc/programs/xdm/config/Xres.cpp
+--- XFree86-4.0.2.org/xc/programs/xdm/config/Xres.cpp Thu Dec 21 13:06:17 2000
++++ XFree86-4.0.2/xc/programs/xdm/config/Xres.cpp Thu Dec 21 13:19:25 2000
+@@ -36,9 +36,7 @@
/**/#endif
#endif /* XPM */
/**/#ifdef COLOR
xlogin*borderWidth: 1
xlogin*frameWidth: 5
xlogin*innerFramesWidth: 2
-@@ -40,6 +45,8 @@
+@@ -47,6 +45,8 @@
xlogin*background: grey
!xlogin*foreground: darkgreen
xlogin*greetColor: Blue3
+#else
-+xlogin*greetColor: CadetBlue
++login*greetColor: CadetBlue
#endif /* XPM */
xlogin*failColor: red
*Foreground: black
-@@ -76,6 +83,6 @@
- Chooser*allowShellResize: false
- Chooser*viewport.forceBars: true
- Chooser*label.font: *-new century schoolbook-bold-i-normal-*-240-*
--Chooser*label.label: XDMCP Host Menu from CLIENTHOST
-+Chooser*label.label: XDMCP Host Menu from CLIENTHOST
- Chooser*list.font: -*-*-medium-r-normal-*-*-230-*-*-c-*-iso8859-1
- Chooser*Command.font: *-new century schoolbook-bold-r-normal-*-180-*
-diff -urN xc/programs/xdm~/greeter/Imakefile xc/programs/xdm/greeter/Imakefile
---- xc/programs/xdm~/greeter/Imakefile Wed Jun 14 14:43:32 2000
-+++ xc/programs/xdm/greeter/Imakefile Thu Sep 7 18:17:08 2000
-@@ -76,8 +76,6 @@
- INCLUDES = -I.. $(KRBIV_INCLUDES) $(KRB5_INCLUDE)
+diff -Nur XFree86-4.0.2.org/xc/programs/xdm/greeter/Imakefile XFree86-4.0.2/xc/programs/xdm/greeter/Imakefile
+--- XFree86-4.0.2.org/xc/programs/xdm/greeter/Imakefile Wed Jun 14 21:43:32 2000
++++ XFree86-4.0.2/xc/programs/xdm/greeter/Imakefile Thu Dec 21 13:20:13 2000
+@@ -77,8 +77,6 @@
DEFINES = $(GREETER_DEFINES) $(XDMAUTH_DEFINES) $(RPC_DEFINES) \
$(KRBIV_DEFINES) $(KRB5_DEFINES) $(PWD_DEFINES) $(PAM_DEFINES)
--
--SHLIBDIR = $(XDMDIR)
+-SHLIBDIR = $(XDMDIR)
+-
SRCS = greet.c verify.c Login.c
OBJS = greet.o verify.o Login.o
---- xc/programs/xdm/config/Imakefile~ Thu Nov 9 23:37:34 2000
-+++ xc/programs/xdm/config/Imakefile Thu Nov 9 23:38:18 2000
-@@ -5,9 +5,7 @@
-
- all:: Xservers.ws xdm-config Xservers Xresources
-
--#if defined(i386Architecture) && (defined(NetBSDArchitecture) || defined(OpenBSDArchitecture))
--DEFAULTVT=vt05
--#endif
-+DEFAULTVT=vt9
- #ifndef XdmPixmap
- # define XdmPixmap XFree86.xpm
-diff -urN XFree86-4.0.1.orig/xc/programs/xdm/greeter/greet.c XFree86-4.0.1/xc/programs/xdm/greeter/greet.c
---- XFree86-4.0.1.orig/xc/programs/xdm/greeter/greet.c Wed Jun 14 21:43:33 2000
-+++ XFree86-4.0.1/xc/programs/xdm/greeter/greet.c Sat Oct 21 02:00:56 2000
-@@ -180,7 +180,7 @@
- int opcode, evbase, errbase, majret, minret;
- unsigned int value = XkbPCF_GrabsUseXKBStateMask;
- if (XkbQueryExtension (dpy, &opcode, &evbase, &errbase, &majret, &minret)) {
-- if (XkbSetPerClientControls (dpy, XkbPCF_GrabsUseXKBStateMask, &value))
-+ if (!XkbSetPerClientControls (dpy, XkbPCF_GrabsUseXKBStateMask, &value))
- LogError ("%s\n", "SetPerClientControls failed");
- }
- }
-diff -urN XFree86-4.0.1.orig/xc/programs/xdm/greeter/verify.c XFree86-4.0.1/xc/programs/xdm/greeter/verify.c
---- XFree86-4.0.1.orig/xc/programs/xdm/greeter/verify.c Wed Jun 14 21:43:33 2000
-+++ XFree86-4.0.1/xc/programs/xdm/greeter/verify.c Sat Oct 21 02:00:56 2000
+diff -Nur XFree86-4.0.2.org/xc/programs/xdm/greeter/verify.c XFree86-4.0.2/xc/programs/xdm/greeter/verify.c
+--- XFree86-4.0.2.org/xc/programs/xdm/greeter/verify.c Wed Nov 29 17:46:09 2000
++++ XFree86-4.0.2/xc/programs/xdm/greeter/verify.c Thu Dec 21 12:02:33 2000
@@ -114,6 +114,7 @@
#ifdef USE_PAM
{
struct passwd *p;
-#ifdef USE_PAM
-- pam_handle_t *pamh = thepamh();
+- pam_handle_t **pamhp = thepamhp();
-#else
#ifdef USESHADOW
struct spwd *sp;
#endif
#ifdef __OpenBSD__
char *s;
-diff -urN XFree86-4.0.1.orig/xc/programs/xdm/session.c XFree86-4.0.1/xc/programs/xdm/session.c
---- XFree86-4.0.1.orig/xc/programs/xdm/session.c Sat Jun 17 20:48:23 2000
-+++ XFree86-4.0.1/xc/programs/xdm/session.c Sat Oct 21 02:02:15 2000
+diff -Nur XFree86-4.0.2.org/xc/programs/xdm/session.c XFree86-4.0.2/xc/programs/xdm/session.c
+--- XFree86-4.0.2.org/xc/programs/xdm/session.c Tue Dec 5 01:59:35 2000
++++ XFree86-4.0.2/xc/programs/xdm/session.c Thu Dec 21 12:06:41 2000
@@ -97,9 +97,9 @@
extern char *crypt(CRYPT_ARGS);
#endif
#ifdef USE_PAM
+pam_handle_t *pamh;
- pam_handle_t *thepamh()
+ pam_handle_t **thepamhp()
{
- static pam_handle_t *pamh = NULL;
- return pamh;
+ return &pamh;
}
- #endif
-@@ -467,9 +467,6 @@
- ResetServer (d);
- if (removeAuth)
- {
--#ifdef USE_PAM
+
+@@ -472,9 +472,6 @@
+ SessionExit (struct display *d, int status, int removeAuth)
+ {
+ #ifdef USE_PAM
- pam_handle_t *pamh = thepamh();
-#endif
- setgid (verify.gid);
- setuid (verify.uid);
- RemoveUserAuthorization (d, &verify);
-@@ -523,9 +520,6 @@
+-#ifdef USE_PAM
+ if (pamh) {
+ /* shutdown PAM session */
+ pam_close_session(pamh, 0);
+@@ -535,9 +532,6 @@
int pid;
#ifdef HAS_SETUSERCONTEXT
struct passwd* pwd;
---- XFree86-4.0/xc/programs/xdm/xdmcp.c.xdmsecurity.patch Sat Oct 10 11:25:40 1998
-+++ XFree86-4.0/xc/programs/xdm/xdmcp.c Wed Jun 28 18:30:13 2000
+--- XFree86-4.0.2/xc/programs/xdm/xdmcp.c~ Thu Dec 21 19:46:57 2000
++++ XFree86-4.0.2/xc/programs/xdm/xdmcp.c Thu Dec 21 19:47:25 2000
@@ -1128,7 +1128,7 @@
XdmcpHeader header;
ARRAY8 status;
-- sprintf (buf, "Session %ld failed for display %s: %s",
-+ snprintf (buf, sizeof(buf), "Session %ld failed for display %s: %s",
+- sprintf (buf, "Session %ld failed for display %.100s: %.100s",
++ snprintf (buf, sizeof(buf), "Session %ld failed for display %.100s: %.100s",
(long) sessionID, name, reason);
Debug ("Send failed %ld %s\n", (long) sessionID, buf);
status.length = strlen (buf);
--- /dev/null
+diff -Nur XFree86-4.0.2.org/xc/programs/xfs/difs/fonts.c XFree86-4.0.2/xc/programs/xfs/difs/fonts.c
+--- XFree86-4.0.2.org/xc/programs/xfs/difs/fonts.c Thu Dec 14 20:54:53 2000
++++ XFree86-4.0.2/xc/programs/xfs/difs/fonts.c Thu Dec 21 09:26:42 2000
+@@ -108,6 +108,113 @@
+ }
+
+ /*
++ * xf86GetPathElem --
++ * Extract a single element from the font path string starting at
++ * pnt. The font path element will be returned, and pnt will be
++ * updated to point to the start of the next element, or set to
++ * NULL if there are no more.
++ */
++char *
++xf86GetPathElem(pnt)
++ char **pnt;
++{
++ char *p1;
++
++ p1 = *pnt;
++ *pnt = index(*pnt, ',');
++ if (*pnt != NULL) {
++ **pnt = '\0';
++ *pnt += 1;
++ }
++ return(p1);
++}
++
++/*
++ * xf86ValidateFontPath --
++ * Validates the user-specified font path. Each element that
++ * begins with a '/' is checked to make sure the directory exists.
++ * If the directory exists, the existence of a file named 'fonts.dir'
++ * is checked. If either check fails, an error is printed and the
++ * element is removed from the font path.
++ */
++#define DIR_FILE "/fonts.dir"
++#define CHECK_TYPE(mode, type) ((S_IFMT & (mode)) == (type))
++static char *
++xf86ValidateFontPath(path)
++ char *path;
++{
++ char *tmp_path, *out_pnt, *path_elem, *next, *p1, *dir_elem;
++ struct stat stat_buf;
++ int flag;
++ int dirlen;
++
++ tmp_path = (char *)calloc(1,strlen(path)+1);
++ out_pnt = tmp_path;
++ path_elem = NULL;
++ next = path;
++ while (next != NULL) {
++ path_elem = xf86GetPathElem(&next);
++#ifndef __EMX__
++ if (*path_elem == '/') {
++ dir_elem = (char *)calloc(1, strlen(path_elem) + 1);
++ if ((p1 = strchr(path_elem, ':')) != 0)
++#else
++ /* OS/2 must prepend X11ROOT */
++ if (*path_elem == '/') {
++ path_elem = (char*)__XOS2RedirRoot(path_elem);
++ dir_elem = (char*)calloc(1, strlen(path_elem) + 1);
++ if (p1 = strchr(path_elem+2, ':'))
++#endif
++ dirlen = p1 - path_elem;
++ else
++ dirlen = strlen(path_elem);
++ strncpy(dir_elem, path_elem, dirlen);
++ dir_elem[dirlen] = '\0';
++ flag = stat(dir_elem, &stat_buf);
++ if (flag == 0)
++ if (!CHECK_TYPE(stat_buf.st_mode, S_IFDIR))
++ flag = -1;
++ if (flag != 0) {
++ printf("warning!\n");
++ ErrorF("Warning: The directory \"%s\" does not exist.\n", dir_elem);
++ ErrorF(" Entry deleted from font path.\n");
++ continue;
++ }
++ else {
++ p1 = (char *)malloc(strlen(dir_elem)+strlen(DIR_FILE)+1);
++ strcpy(p1, dir_elem);
++ strcat(p1, DIR_FILE);
++ flag = stat(p1, &stat_buf);
++ if (flag == 0)
++ if (!CHECK_TYPE(stat_buf.st_mode, S_IFREG))
++ flag = -1;
++#ifndef __EMX__
++ free(p1);
++#endif
++ if (flag != 0) {
++ ErrorF("Warning: 'fonts.dir' not found (or not valid) in \"%s\".\n",
++ dir_elem);
++ ErrorF(" Entry deleted from font path.\n");
++ ErrorF(" (Run 'mkfontdir' on \"%s\").\n", dir_elem);
++ continue;
++ }
++ }
++ free(dir_elem);
++ }
++
++ /*
++ * Either an OK directory, or a font server name. So add it to
++ * the path.
++ */
++ if (out_pnt != tmp_path)
++ *out_pnt++ = ',';
++ strcat(out_pnt, path_elem);
++ out_pnt += strlen(path_elem);
++ }
++ return(tmp_path);
++}
++
++/*
+ * note that the font wakeup queue is not refcounted. this is because
+ * an fpe needs to be added when it's inited, and removed when it's finally
+ * freed, in order to handle any data that isn't requested, like FS events.
+@@ -744,8 +851,12 @@
+ *end,
+ *p;
+ int err;
++ char *fixedpath;
++
++ fixedpath = xf86ValidateFontPath(str);
+
+- len = strlen(str) + 1;
++ len = strlen(fixedpath) + 1;
++ str = fixedpath;
+ paths = p = (char *) ALLOCATE_LOCAL(len);
+ npaths = 0;
+
+@@ -765,6 +876,7 @@
+
+ err = set_font_path_elements(npaths, paths, badpath);
+
++ free(fixedpath);
+ DEALLOCATE_LOCAL(paths);
+
+ return err;
+diff -Nur XFree86-4.0.2.org/xc/programs/xfs/difs/main.c XFree86-4.0.2/xc/programs/xfs/difs/main.c
+--- XFree86-4.0.2.org/xc/programs/xfs/difs/main.c Sat Dec 9 05:02:14 2000
++++ XFree86-4.0.2/xc/programs/xfs/difs/main.c Thu Dec 21 09:40:53 2000
+@@ -56,12 +56,18 @@
+ #include "dispatch.h"
+ #include "extentst.h"
+ #include "difs.h"
++#include <unistd.h>
++#include <pwd.h>
++#include <sys/types.h>
+
+ char *ConnectionInfo;
+ int ConnInfoLen;
+
+ Cache serverCache;
+
++int droppriv; /* whether or not to drop root privileges at startup */
++int becomeDaemon; /* whether or not to become a daemon */
++
+ #ifndef DEFAULT_CONFIG_FILE
+ #define DEFAULT_CONFIG_FILE "/usr/lib/X11/fs/config"
+ #endif
+@@ -84,13 +90,39 @@
+
+ argcGlobal = argc;
+ argvGlobal = argv;
+-
++ droppriv = 0;
++ becomeDaemon =0;
++
+ configfilename = DEFAULT_CONFIG_FILE;
+
+ /* init stuff */
+ ProcessCmdLine(argc, argv);
+ InitErrors();
+
++ /* become xfs user, if possible */
++ if ((geteuid() == 0) && droppriv) {
++ pwent = getpwnam("xfs");
++ if (pwent) {
++ if (setgid(pwent->pw_gid)) {
++ ErrorF("fatal: couldn't set groupid to xfs user's group\n");
++ exit(1);
++ }
++
++ if (setgroups(0, 0)) {
++ ErrorF("fatal: couldn't drop supplementary groups\n");
++ exit(1);
++ }
++
++ if (setuid(pwent->pw_uid)) {
++ ErrorF("fatal: couldn't set userid to xfs user\n");
++ exit(1);
++ }
++ }
++ } else if (droppriv) {
++ ErrorF("fatal: droppriv flag specified, but xfs not run as root\n");
++ exit(1);
++ }
++
+ /*
+ * do this first thing, to get any options that only take effect at
+ * startup time. it is read again each time the server resets
+@@ -99,6 +131,10 @@
+ ErrorF("fatal: couldn't read config file\n");
+ exit(1);
+ }
++
++ /* become a daemon if explicitly requested to do so. */
++ if (becomeDaemon)
++ daemon(0, 0);
+
+ /* make sure at least world write access is disabled */
+ if (((oldumask = umask(022)) & 002) == 002)
+diff -Nur XFree86-4.0.2.org/xc/programs/xfs/os/error.c XFree86-4.0.2/xc/programs/xfs/os/error.c
+--- XFree86-4.0.2.org/xc/programs/xfs/os/error.c Tue Dec 5 01:59:41 2000
++++ XFree86-4.0.2/xc/programs/xfs/os/error.c Thu Dec 21 09:26:42 2000
+@@ -81,6 +81,7 @@
+ Bool log_open = FALSE;
+ #endif
+ char ErrorFile[PATH_MAX];
++int log_open = 0;
+
+ static void
+ abort_server(void)
+diff -Nur XFree86-4.0.2.org/xc/programs/xfs/os/utils.c XFree86-4.0.2/xc/programs/xfs/os/utils.c
+--- XFree86-4.0.2.org/xc/programs/xfs/os/utils.c Tue Dec 5 01:59:41 2000
++++ XFree86-4.0.2/xc/programs/xfs/os/utils.c Thu Dec 21 09:26:42 2000
+@@ -317,6 +317,10 @@
+ userId = argv[++i];
+ else
+ usage();
++ } else if (!strcmp(argv[i], "-droppriv")) {
++ droppriv = 1;
++ } else if (!strcmp(argv[i], "-daemon")) {
++ becomeDaemon = 1;
+ } else if (!strcmp(argv[i], "-cf") || !strcmp(argv[i], "-config")) {
+ if (argv[i + 1])
+ configfilename = argv[++i];
--- XFree86-4.0.1/xc/programs/xman/vendor.h.foo Mon Aug 14 15:13:05 2000
+++ XFree86-4.0.1/xc/programs/xman/vendor.h Mon Aug 14 15:13:38 2000
-@@ -60,7 +60,7 @@
+@@ -63,7 +63,7 @@
+ # define MANCONF "/etc/manpath.config"
+ #else
+ # if (defined(BSD) && (BSD >= 199103)) || defined(linux)
+-# define MANCONF "/etc/man.conf"
++# define MANCONF "/etc/man.config"
+ # endif
#endif
- #if (defined(BSD) && (BSD >= 199103)) || defined(linux)
--# define MANCONF "/etc/man.conf"
-+# define MANCONF "/etc/man.config"
- #endif
-
- /*
--- XFree86-4.0.1/xc/programs/xman/xman.man.foo Mon Aug 14 15:13:11 2000
+++ XFree86-4.0.1/xc/programs/xman/xman.man Mon Aug 14 15:13:24 2000
@@ -90,8 +90,8 @@