Author: branden Date: 2004-02-16 00:15:44 -0500 (Mon, 16 Feb 2004) New Revision: 1030
Added: trunk/debian/patches/000_post421.diff Removed: trunk/debian/patches/000_post421-2003.02.18.diff Modified: trunk/debian/changelog Log: Rename debian/patches/000_post421-2003.02.18.diff to omit the date of the resync, since the file is now under version control. Modified: trunk/debian/changelog =================================================================== --- trunk/debian/changelog 2004-02-15 19:51:57 UTC (rev 1029) +++ trunk/debian/changelog 2004-02-16 05:15:44 UTC (rev 1030) @@ -1,3 +1,10 @@ +xfree86 (4.2.1-17) unstable; urgency=low + + * Rename debian/patches/000_post421-2003.02.18.diff to omit the date of the + resync, since the file is now under version control. + + -- Branden Robinson <[EMAIL PROTECTED]> Mon, 16 Feb 2004 00:14:37 -0500 + xfree86 (4.2.1-16) unstable; urgency=low * Neutralize the workaround for the Linux kernel kbd_rate structure change Deleted: trunk/debian/patches/000_post421-2003.02.18.diff =================================================================== --- trunk/debian/patches/000_post421-2003.02.18.diff 2004-02-15 19:51:57 UTC (rev 1029) +++ trunk/debian/patches/000_post421-2003.02.18.diff 2004-02-16 05:15:44 UTC (rev 1030) @@ -1,1905 +0,0 @@ -$Id$ - -Index: xc/RELNOTES -=================================================================== -RCS file: /home/branden/packages/xfree86/cvsup/xc/RELNOTES,v -retrieving revision 1.6 -retrieving revision 1.6.2.1 -diff -u -r1.6 -r1.6.2.1 ---- xc/RELNOTES 17 Jan 2002 23:27:41 -0000 1.6 -+++ xc/RELNOTES 18 Oct 2002 21:37:19 -0000 1.6.2.1 -@@ -1,23 +1,23 @@ -- Release Notes for XFree86[tm] 4.2.0 -+ Release Notes for XFree86[tm] 4.2.1 - - The XFree86 Project, Inc - -- 17 January 2002 -+ 3 September 2002 - - Abstract - - This document contains some information about features present in -- XFree86 4.2.0 and their status. -+ XFree86 4.2.1 and their status. - - 1. Introduction to the 4.x Release Series - --XFree86 4.0 was the first official release of the new XFree86 4 series. The --current release (4.2.0) is the latest in that series. XFree86 4 represents a --significant redesign of the XFree86 X server. Not all of the hardware --drivers from 3.3.x have been ported to 4.x yet, but conversely, 4.x has some --hardware support not present in 3.3.x. Our Driver Status document summarizes --how the hardware driver support compares between 3.3.6 and 4.2.0. Please --check there first before downloading 4.2.0. -+XFree86 4.0 was the first official release of the new XFree86 4 series. -+XFree86 4.2.1 is the first update to 4.2.0, which is the latest full release -+in that series. XFree86 4 represents a significant redesign of the XFree86 X -+server. Not all of the hardware drivers from 3.3.x have been ported to 4.x -+yet, but conversely, 4.x has some hardware support not present in 3.3.x. Our -+Driver Status document summarizes how the hardware driver support compares -+between 3.3.6 and 4.2.1. Please check there first before downloading 4.2.1. - - The 4.0.1 release introduced a new graphical configuration tool, "xf86cfg", - and a text mode interface was added to it for the 4.0.2 release. It is work -@@ -28,7 +28,7 @@ - for some hardware. To try it out, just run (as root) "XFree86 -configure". - Each of these configuration options will give you a reasonable starting point - for a suitable configuration file. We've put some effort into documenting --the 4.2.0 config file format, and you can find that information in the -+the 4.2.1 config file format, and you can find that information in the - XF86Config manual page. Check that, the driver manual pages and the related - documentation for further information. - -@@ -37,15 +37,47 @@ - save you some time and help you figure out which of the binary releases you - need. - --The next section describes what is new in the latest version (4.2.0) compared --with the previous full release (4.1.0). The other sections below describe --some of the new features and changes between 3.3.x and 4.0. There are lot's --of new features, and we definitely don't have enough space to cover them all --here. -+The next sections describe what has changed in the update release(s) as well -+as what is new in the latest full release (4.2.0). The other sections below -+describe some of the new features and changes between 3.3.x and 4.0. There -+are lot's of new features, and we definitely don't have enough space to cover -+them all here. - --2. Summary of new features in 4.2.0. -+2. Summary of updates in 4.2.1. - --2.1 Video Driver Enhancements -+2.1 Security -+ -+ o Fix a zlib bug that may have security implications on some platforms. -+ -+ o MIT-SHM update to not access SHM segments that the client doesn't have -+ sufficient privileges to access. -+ -+ o Fix an Xlib problem that made it possible to load (and execute) arbi- -+ trary code in privileged clients. -+ -+2.2 Other -+ -+ o Revert the ATI driver's composite sync default to a safer value. -+ -+ o Fix Xlib's modular i18n support on Solaris. -+ -+ o Fix an X server crash when printing some types of modes. -+ -+ o Startx and xon script fixes. -+ -+ o Fix a colormap bug with 24+8 overlay mode. -+ -+ o Update XDarwin support for the Jaguar release. -+ -+ o Xaw bug fix. -+ -+ o Fix a vesa driver floating point exception. -+ -+ o Fix Emulate3Buttons for wsmouse protocol on NetBSD and OpenBSD. -+ -+3. Summary of new features in 4.2.0. -+ -+3.1 Video Driver Enhancements - - o An s3 driver is added, which provides support for many of the older - non-ViRGE and non-Savage S3 chipsets. -@@ -95,7 +127,7 @@ - newport, s3virge, siliconmotion, sis, tdfx, tseng, vesa, and vga - drivers. - --2.2 Input Driver Enhancements -+3.2 Input Driver Enhancements - - o The mouse driver now has support for mouse wheel emulation. - -@@ -113,7 +145,7 @@ - - o Added hyperpen input driver. - --2.3 X Server and Extension Updates -+3.3 X Server and Extension Updates - - o Resynced with X.Org's X11R6.6. - -@@ -135,7 +167,7 @@ - - o A fatal bug XVideo Xineramification bug is fixed. - --2.4 Client and Library Updates -+3.4 Client and Library Updates - - o FreeType2 updated to version 2.0.6. - -@@ -149,11 +181,11 @@ - - o Sample xtrap clients added. - --2.5 I18N and Font Updates -+3.5 I18N and Font Updates - - o New Luxi scalable fonts (TrueType and Type 1) from Bigelow & Holmes. - These fonts are original designs by Kris Holmes and Charles Bigelow. -- See below (section 4.22, page 1) for further information. -+ See below (section 5.22, page 1) for further information. - - o More locale/international keyboards supported. - -@@ -174,7 +206,7 @@ - support to any Unicode terminal, notably xterm. Use of luit is still - experimental in this release. - --2.6 OS Support Updates -+3.6 OS Support Updates - - o Build problems on both QNX4 and QNX6 are fixed. - -@@ -223,11 +255,11 @@ - <URL:http://cvsweb.xfree86.org/cvsweb/xc/pro- - grams/Xserver/hw/xfree86/CHANGELOG?rev=HEAD>. - --3. Drivers -+4. Drivers - --3.1 Video Drivers -+4.1 Video Drivers - --XFree86 4.2.0 includes the following video drivers: -+XFree86 4.2.1 includes the following video drivers: - - +--------------+--------------------------+----------------------------------+ - |Driver Name | Description | Further Information | -@@ -281,9 +313,9 @@ - Darwin/Mac OS X uses IOKit drivers and does not use the module loader drivers - listed above. Further information can be found in README.Darwin. - --XFree86 4.2.0 includes the following input drivers: -+XFree86 4.2.1 includes the following input drivers: - --3.2 Input Drivers -+4.2 Input Drivers - - +------------+--------------------+---------------------+ - |Driver Name | Description | Further Information | -@@ -306,21 +338,21 @@ - |wacom | Wacom tablets | wacom(4) | - +------------+--------------------+---------------------+ - --4. Overview of XFree86 4.x. -+5. Overview of XFree86 4.x. - - Unlike XFree86 3.3.x where there are multiple X server binaries, each of --which drive different hardware, XFree86 4.2.0 has a single X server binary -+which drive different hardware, XFree86 4.2.1 has a single X server binary - called XFree86. This binary can either have one or more video drivers linked - in statically, or, more usually, dynamically load the video drivers and other - modules that are needed. - --XFree86 4.2.0 has X server support for most UNIX(R) and UNIX-like operating -+XFree86 4.2.1 has X server support for most UNIX(R) and UNIX-like operating - systems on Intel/x86 platforms, plus support for Linux on Alpha, PowerPC, - IA-64, Sparc, and Mips platforms, and for Darwin on PowerPC. Work on support - for additional architectures and operating systems is in progress, and is - planned for future releases. - --4.1 Loader and Modules -+5.1 Loader and Modules - - The XFree86 X server has a built-in run-time loader, donated by Metro Link - <URL:http://www.metrolink.com>. This loader can load normal object files and -@@ -336,7 +368,7 @@ - the future we plan to take advantage of this to provide more frequent driver - module updates in between major releases. - --The loader in version 4.2.0 has support for Intel (x86), Alpha and PowerPC -+The loader in version 4.2.1 has support for Intel (x86), Alpha and PowerPC - platforms. It also has preliminary support for Sparc platforms. - - The X server makes use of modules for video drivers, X server extensions, -@@ -358,7 +390,7 @@ - hope to have a mechanism for signing/verifying the modules that we - provide available in a future release. - --4.2 Configuration File -+5.2 Configuration File - - The X server configuration file format has been extended to handle some of - the new functionality. The xf86config utility can be used to generate a -@@ -524,7 +556,7 @@ - and /usr/X11R6/etc/X11 being added. The full search path details are docu- - mented in the XF86Config manual page. - --4.3 Command Line Options -+5.3 Command Line Options - - The following new X server command line options have been added: - -@@ -638,13 +670,13 @@ - A more complete list of XFree86 X server command line options can be found in - the XFree86(1) manual page. - --4.4 XAA -+5.4 XAA - - The XFree86 Acceleration Architecture (XAA) has been completely rewritten - from scratch for XFree86 4.x. Most drivers implement acceleration by making - use of the XAA module. - --4.5 Multi-head -+5.5 Multi-head - - Some multi-head configurations are supported in XFree86 4.x, primarily with - multiple PCI/AGP cards. However, this is an area that is still being worked -@@ -660,7 +692,7 @@ - which card is the primary card (either by using a different PCI slot, or by - changing the system BIOS's preference for the primary card). - --4.6 Xinerama -+5.6 Xinerama - - Xinerama is an X server extension that allows multiple physical screens to - behave as a single screen. With traditional multi-head in X11, windows can- -@@ -682,14 +714,14 @@ - an issue that needs to be dealt with in the individual window managers, - and isn't specifically an XFree86 problem. - --4.7 DGA version 2 -+5.7 DGA version 2 - --DGA 2.0 is included in 4.2.0, but is not implemented by all drivers. Prelim- -+DGA 2.0 is included in 4.2.1, but is not implemented by all drivers. Prelim- - inary documentation for the client libraries can be found in the README.DGA - document. A good degree of backwards compatibility with version 1.0 is pro- - vided. - --4.8 DDC -+5.8 DDC - - The VESA(R) Display Data Channel (DDC[tm]) standard allows the monitor to - tell the video card (or on some cases the computer directly) about itself; -@@ -705,7 +737,7 @@ - lines yet). For some drivers, the X server's new -configure option uses the - DDC information when generating the config file. - --4.8.1 Changed behavior caused by DDC. -+5.8.1 Changed behavior caused by DDC. - - Several drivers uses DDC information to set the screen size and pitch. This - can be overridden by explicitly resetting it to the and non-DDC default value -@@ -713,7 +745,7 @@ - appropriate screen dimensions with the "DisplaySize" keyword in the "Monitor" - section of the config file. - --4.9 GLX and the Direct Rendering Infrastructure (DRI) -+5.9 GLX and the Direct Rendering Infrastructure (DRI) - - Precision Insight <URL:http://www.precisioninsight.com> was provided with - funding and support from Red Hat <URL:http://www.redhat.com>, SGI -@@ -733,7 +765,7 @@ - drivers can be found at the DRI Project <URL:http://dri.sourceforge.net> on - SourceForge <URL:http://www.sourceforge.net>. - --4.10 XVideo Extension (Xv) -+5.10 XVideo Extension (Xv) - - The XVideo extension is supported in XFree86 4.x. An XvQueryPortAttributes - function has been added as well as support for XvImages. XvImages are XIm- -@@ -741,7 +773,7 @@ - through shared memory segments. This allows clients to display YUV data with - high quality hardware scaling and filtering. - --4.11 X Rendering Extension (Render) -+5.11 X Rendering Extension (Render) - - The X Rendering extension provides a 2D rendering model that more closely - matches application demands and hardware capabilities. It provides a render- -@@ -753,7 +785,7 @@ - overlays and other image operations not possible with the core X rendering - system. - --XFree86 4.2.0 provides a partial implementation of Render sufficient for -+XFree86 4.2.1 provides a partial implementation of Render sufficient for - drawing anti-aliased text and image composition. Still to be implemented are - geometric primitives and affine transformation of images. - -@@ -763,7 +795,7 @@ - access to the available font information while still providing hardware - acceleration. The Xft library provides font access for Render applications. - --4.11.1 The Xft Library -+5.11.1 The Xft Library - - On the client side, the Xft library provides access to fonts for applications - using the FreeType library, version 2. FreeType currently supports Type1 and -@@ -786,12 +818,12 @@ - cated font aliasing mechanism. Documentation for that file is included in - the Xft man page. - --4.11.2 FreeType support in Xft -+5.11.2 FreeType support in Xft - --XFree86 4.2.0 includes sources for FreeType version 2.0.1, and, by default, -+XFree86 4.2.1 includes sources for FreeType version 2.0.6, and, by default, - they are built and installed automatically. - --If you prefer, you can configure XFree86 4.2.0 to use an existing Freetype2 -+If you prefer, you can configure XFree86 4.2.1 to use an existing Freetype2 - installation by telling XFree86 not to build the internal copy and indicating - where that external version has been installed. Edit (or create) con- - fig/cf/host.def to include: -@@ -806,28 +838,25 @@ - ing and installing FreeType can be found in the INSTALL file included with - the FreeType release. - --4.11.3 Application Support For Anti-Aliased Text -+5.11.3 Application Support For Anti-Aliased Text - --Only three applications have been modified in XFree86 4.2.0 to work with the -+Only three applications have been modified in XFree86 4.2.1 to work with the - Render extension and the Xft and FreeType libraries to provide anti-aliased - text. Xterm, xditview and x11perf. Migration of other applications may - occur in future releases. - --By default, xterm uses core fonts through the standard core API. It has two --command line options and associated resources to direct it to use Xft --instead: -+By default, xterm uses core fonts through the standard core API. It has a -+command line option and associated resource to direct it to use Xft instead: - - o -fa family / .VT100.faceName: family. Selects the font family to use. - -- o -fs pointsize / .VT100.faceSize: pointsize. Selects the pointsize. -- - Xditview will use Xft instead of the core API by default. X11perf includes - tests to measure the performance of text rendered in three ways, anti- - aliased, anti-aliased with sub-pixel sampling and regular chunky text, but - through the Render extension, a path which is currently somewhat slower than - core text. - --4.12 Other extensions -+5.12 Other extensions - - The XFree86-Misc extension has not been fully ported to the new server archi- - tecture yet. This should be completed in a future release. -@@ -840,7 +869,7 @@ - version of the extension is provided. The missing parts of this extension - and some new features should be completed in a future release. - --4.13 Xaw -+5.13 Xaw - - Two versions of the Xaw library are provided with XFree86 4.x. A version with - bug fixes and a few binary compatible improvements and a new version with -@@ -899,11 +928,11 @@ - o Several bugs were fixed in the text code, while some code was rewritten - from scratch. - --4.14 Xpm -+5.14 Xpm - - Version 3.4k of the Xpm (X pixmap) library is now integrated into XFree86. - --4.15 xedit -+5.15 xedit - - Xedit have been changed to use most of the new features added to the new ver- - sion of the Xaw library, and some xedit only features were added. Emacs users -@@ -942,18 +971,18 @@ - - o C-mode: this mode is expected to be stable, and fully usable. - --4.16 Font support -+5.16 Font support - - Details about the font support in XFree86 4.x can be found in the - README.fonts document. - --4.17 TrueType support -+5.17 TrueType support - - XFree86 4.x comes with two TrueType backends, known as `xfsft' (the - "freetype" module) and `X-TrueType' (the "xtt" module). Both of these back- - ends are based on the FreeType library. - --4.18 CID font support -+5.18 CID font support - - Support for CID-keyed fonts is included in XFree86 4.x. The CID-keyed font - format was designed by Adobe Systems <URL:http://www.adobe.com> for fonts -@@ -961,7 +990,7 @@ - by SGI <URL:http://www.sgi.com>. See the LICENSE document for a copy of the - CID Font Code Public License. - --4.19 Internationalisation of the scalable font backends -+5.19 Internationalisation of the scalable font backends - - XFree86 4.x has a ``fontenc'' layer to allow the scalable font backends to - use a common method of font re-encoding. This re-encoding makes it possible -@@ -970,14 +999,14 @@ - TrueType backend. The `X-TrueType' version of the TrueType backend uses a - different re-encoding method based on loadable encoding modules. - --4.20 Large font optimisation -+5.20 Large font optimisation - - The glyph metrics array, which all the X clients using a particular font have - access to, is placed in shared memory, so as to reduce redundant memory con- - sumption. For non-local clients, the glyph metrics array is transmitted in a - compressed format. - --4.21 Unicode/ISO 10646 support -+5.21 Unicode/ISO 10646 support - - What is included in 4.x: - -@@ -1010,7 +1039,7 @@ - o Both the xfsft (the "freetype" module) and the X-TrueType (the "xtt" - module) TrueType font backends support Unicode-encoded fonts. - --4.22 Luxi fonts from Bigelow and Holmes -+5.22 Luxi fonts from Bigelow and Holmes - - XFree86 now includes the ``Luxi'' family of Type 1 fonts and TrueType fonts. - This family consists of the fonts ``Luxi Serif'', ``Luxi Sans'' and -@@ -1035,7 +1064,7 @@ - <[EMAIL PROTECTED]> or <[EMAIL PROTECTED]>, or consult the URW++ web - site <URL:http://www.urwpp.de>. - --4.23 Directory rearrangements -+5.23 Directory rearrangements - - Some changes to the installed XFree86 directory structure have been imple- - mented for 4.x. One important change is a modified search path for the X -@@ -1046,7 +1075,7 @@ - located under the appropriate subdirectories of /var, again with the relevant - symbolic links in the old location. - -- Generated from XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/RELNOTES.sgml,v 1.70 2002/01/17 18:14:59 dawes Exp $ -+ Generated from XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/RELNOTES.sgml,v 1.70.2.2 2002/09/04 03:01:48 dawes Exp $ - - --$XFree86: xc/RELNOTES,v 1.6 2002/01/17 23:27:41 dawes Exp $ -+$XFree86: xc/RELNOTES,v 1.6.2.1 2002/10/18 21:37:19 dawes Exp $ -Index: xc/config/cf/FreeBSD.cf -=================================================================== -RCS file: /home/branden/packages/xfree86/cvsup/xc/config/cf/FreeBSD.cf,v -retrieving revision 3.112.2.1 -retrieving revision 3.112.2.2 -diff -u -r3.112.2.1 -r3.112.2.2 ---- xc/config/cf/FreeBSD.cf 4 Sep 2002 02:38:08 -0000 3.112.2.1 -+++ xc/config/cf/FreeBSD.cf 12 Sep 2002 21:04:12 -0000 3.112.2.2 -@@ -2,7 +2,7 @@ - XCOMM - XCOMM - XCOMM --XCOMM platform: $XFree86: xc/config/cf/FreeBSD.cf,v 3.112.2.1 2002/09/04 02:38:08 dawes Exp $ -+XCOMM platform: $XFree86: xc/config/cf/FreeBSD.cf,v 3.112.2.2 2002/09/12 21:04:12 herrb Exp $ - - #ifndef UseElfFormat - #define UseElfFormat DefaultToElfFormat -@@ -189,6 +189,10 @@ - #if OSMajorVersion > 2 || (OSMajorVersion == 2 && OSMinorVersion > 2) || \ - (OSMajorVersion == 2 && OSMinorVersion == 2 && OSTeenyVersion >= 2) - #define HasSetUserContext YES -+#endif -+ -+#if OSMajorVersion >= 5 || (OSMajorVersion == 4 && OSMinorVersion >= 6) -+#define HasGetpeereid YES - #endif - - /* 3.3(?) and later has support for setting MTRRs */ -Index: xc/config/cf/Imake.tmpl -=================================================================== -RCS file: /home/branden/packages/xfree86/cvsup/xc/config/cf/Imake.tmpl,v -retrieving revision 3.116.2.1 -retrieving revision 3.116.2.2 -diff -u -r3.116.2.1 -r3.116.2.2 ---- xc/config/cf/Imake.tmpl 4 Sep 2002 02:38:08 -0000 3.116.2.1 -+++ xc/config/cf/Imake.tmpl 12 Sep 2002 21:04:13 -0000 3.116.2.2 -@@ -5,7 +5,7 @@ - XCOMM - XCOMM - XCOMM --XCOMM $XFree86: xc/config/cf/Imake.tmpl,v 3.116.2.1 2002/09/04 02:38:08 dawes Exp $ -+XCOMM $XFree86: xc/config/cf/Imake.tmpl,v 3.116.2.2 2002/09/12 21:04:13 herrb Exp $ - XCOMM ---------------------------------------------------------------------- - - /* -@@ -394,6 +394,9 @@ - #endif - #ifndef HasPamMisc - #define HasPamMisc NO -+#endif -+#ifndef HasGetpeereid -+#define HasGetpeereid NO - #endif - /* byte-order defaults */ - #ifndef ByteOrder -Index: xc/config/cf/OpenBSD.cf -=================================================================== -RCS file: /home/branden/packages/xfree86/cvsup/xc/config/cf/OpenBSD.cf,v -retrieving revision 3.66.2.1 -retrieving revision 3.66.2.3 -diff -u -r3.66.2.1 -r3.66.2.3 ---- xc/config/cf/OpenBSD.cf 4 Sep 2002 02:38:08 -0000 3.66.2.1 -+++ xc/config/cf/OpenBSD.cf 12 Sep 2002 21:04:13 -0000 3.66.2.3 -@@ -1,4 +1,4 @@ --XCOMM platform: $XFree86: xc/config/cf/OpenBSD.cf,v 3.66.2.1 2002/09/04 02:38:08 dawes Exp $ -+XCOMM platform: $XFree86: xc/config/cf/OpenBSD.cf,v 3.66.2.3 2002/09/12 21:04:13 herrb Exp $ - XCOMM - - #ifndef OSName -@@ -97,6 +97,11 @@ - # define HasBSDAuth YES - #endif - -+/* OpenBSD 3.0 and later has getpeereid() */ -+#if OSMajorVersion >= 3 -+# define HasGetpeereid YES -+#endif -+ - /* OpenBSD 3.0 has APM with kqueue interface */ - #if OSMajorVersion >= 3 - # define HasApmKqueue YES -@@ -106,7 +111,7 @@ - #if OSMajorVersion >= 3 - # define HasLibUsb YES - # ifndef HasLibUsbHid --# if OSMajorVersion == 3 && OsMinorVersion > 0 || OSMajorVersion > 3 -+# if OSMajorVersion == 3 && OSMinorVersion > 0 || OSMajorVersion > 3 - # define HasLibUsbHid YES - # define UsbHidLib -lusbhid - # else -Index: xc/doc/hardcopy/Xext/mit-shm.PS.gz -=================================================================== -RCS file: /home/branden/packages/xfree86/cvsup/xc/doc/hardcopy/Xext/mit-shm.PS.gz,v -retrieving revision 1.1.1.1 -retrieving revision 1.1.1.1.12.1 -diff -u -r1.1.1.1 -r1.1.1.1.12.1 -Binary files /tmp/branden/cvsJgPUDx and /tmp/branden/cvsyFnhXf differ -Index: xc/doc/specs/Xext/mit-shm.ms -=================================================================== -RCS file: /home/branden/packages/xfree86/cvsup/xc/doc/specs/Xext/mit-shm.ms,v -retrieving revision 1.1.1.1 -retrieving revision 1.1.1.1.28.1 -diff -u -r1.1.1.1 -r1.1.1.1.28.1 ---- xc/doc/specs/Xext/mit-shm.ms 27 Apr 1994 07:25:28 -0000 1.1.1.1 -+++ xc/doc/specs/Xext/mit-shm.ms 12 Sep 2002 21:04:14 -0000 1.1.1.1.28.1 -@@ -213,6 +213,13 @@ - shminfo structure. The server will need that ID to attach itself to the - segment. - .LP -+Also note that, on many systems for security reasons, the X server -+will only accept to attach to the shared memory segment if it's -+readable and writeable by ``other''. On systems where the X server is -+able to determine the uid of the X client over a local transport, the -+shared memory segment can be readable and writeable only by the uid of -+the client. -+.LP - Next, attach this shared memory segment to your process: - .Cs - shminfo.shmaddr = image->data = shmat (shminfo.shmid, 0, 0); -Index: xc/lib/Xaw/AsciiSink.c -=================================================================== -RCS file: /home/branden/packages/xfree86/cvsup/xc/lib/Xaw/AsciiSink.c,v -retrieving revision 1.27 -retrieving revision 1.27.2.1 -diff -u -r1.27 -r1.27.2.1 ---- xc/lib/Xaw/AsciiSink.c 4 Jan 2002 23:04:17 -0000 1.27 -+++ xc/lib/Xaw/AsciiSink.c 6 Oct 2002 15:53:16 -0000 1.27.2.1 -@@ -46,7 +46,7 @@ - SOFTWARE. - - ******************************************************************/ --/* $XFree86: xc/lib/Xaw/AsciiSink.c,v 1.27 2002/01/04 23:04:17 paulo Exp $ */ -+/* $XFree86: xc/lib/Xaw/AsciiSink.c,v 1.27.2.1 2002/10/06 15:53:16 paulo Exp $ */ - - #include <stdio.h> - #include <stdlib.h> -@@ -532,6 +532,7 @@ - while (pos < to) { - paint = XtNew(XawTextPaintStruct); - paint->next = sink->text_sink.paint->paint; -+ sink->text_sink.paint->paint = paint; - paint->x = x; - paint->y = y + ascent; - paint->property = NULL; -@@ -623,22 +624,21 @@ - } - } - -+ paint->width = segment.x2 - segment.x1; - x = segment.x1 = segment.x2; -- paint->width = x - segment.x1; - - if (paint->length == 0) { - paint->x = x; - continue; - } - paint->text = XtRealloc(paint->text, paint->length); -- -- sink->text_sink.paint->paint = paint; -- -+ property = paint->property; - paint = XtNew(XawTextPaintStruct); - paint->next = sink->text_sink.paint->paint; -+ sink->text_sink.paint->paint = paint; - paint->x = x; - paint->y = y + ascent; -- paint->property = sink->text_sink.paint->paint->property; -+ paint->property = property; - paint->max_ascent = ascent; - paint->max_descent = descent; - paint->backtabs = NULL; -@@ -694,7 +694,6 @@ - } - - paint->width = x - segment.x1; -- sink->text_sink.paint->paint = paint; - } - - xr = x; -Index: xc/lib/Xaw/AsciiSrc.c -=================================================================== -RCS file: /home/branden/packages/xfree86/cvsup/xc/lib/Xaw/AsciiSrc.c,v -retrieving revision 1.30.2.1 -retrieving revision 1.30.2.2 -diff -u -r1.30.2.1 -r1.30.2.2 ---- xc/lib/Xaw/AsciiSrc.c 4 Jul 2002 17:07:09 -0000 1.30.2.1 -+++ xc/lib/Xaw/AsciiSrc.c 6 Oct 2002 15:53:16 -0000 1.30.2.2 -@@ -26,7 +26,7 @@ - - */ - --/* $XFree86: xc/lib/Xaw/AsciiSrc.c,v 1.30.2.1 2002/07/04 17:07:09 paulo Exp $ */ -+/* $XFree86: xc/lib/Xaw/AsciiSrc.c,v 1.30.2.2 2002/10/06 15:53:16 paulo Exp $ */ - - /* - * AsciiSrc.c - AsciiSrc object. (For use with the text widget). -@@ -1405,7 +1405,6 @@ - const char *fdopen_mode = NULL; - int fd; - FILE *file; -- char fileName[TMPSIZ]; - - if (src->ascii_src.type == XawAsciiString) { - if (src->ascii_src.string == NULL) -@@ -1449,11 +1448,8 @@ - case XawtextAppend: - case XawtextEdit: - if (src->ascii_src.string == NULL) { -- src->ascii_src.string = fileName; -- (void)tmpnam(src->ascii_src.string); -+ src->ascii_src.string = "*ascii-src*"; - src->ascii_src.is_tempfile = True; -- open_mode = O_WRONLY | O_CREAT | O_EXCL; -- fdopen_mode = "w"; - } - else { - /* O_NOFOLLOW is a FreeBSD & Linux extension */ -@@ -1472,11 +1468,8 @@ - NULL, NULL); - } - -- /* Allocate new memory for the temp filename, because it is held in -- * a stack variable, not static memory. This widget does not need -- * to keep the private state field is_tempfile -- it is only accessed -- * in this routine, and its former setting is unused -- */ -+ /* If is_tempfile, allocate a private copy of the text -+ * Unlikely to be changed, just to set allocated_string */ - if (newString || src->ascii_src.is_tempfile) { - src->ascii_src.string = XtNewString(src->ascii_src.string); - src->ascii_src.allocated_string = True; -Index: xc/lib/Xaw/Command.c -=================================================================== -RCS file: /home/branden/packages/xfree86/cvsup/xc/lib/Xaw/Command.c,v -retrieving revision 1.14 -retrieving revision 1.14.2.1 -diff -u -r1.14 -r1.14.2.1 ---- xc/lib/Xaw/Command.c 27 Dec 2001 21:17:54 -0000 1.14 -+++ xc/lib/Xaw/Command.c 6 Oct 2002 15:53:16 -0000 1.14.2.1 -@@ -46,7 +46,7 @@ - SOFTWARE. - - ******************************************************************/ --/* $XFree86: xc/lib/Xaw/Command.c,v 1.14 2001/12/27 21:17:54 paulo Exp $ */ -+/* $XFree86: xc/lib/Xaw/Command.c,v 1.14.2.1 2002/10/06 15:53:16 paulo Exp $ */ - - /* - * Command.c - Command button widget -@@ -65,6 +65,7 @@ - - #define DEFAULT_HIGHLIGHT_THICKNESS 2 - #define DEFAULT_SHAPE_HIGHLIGHT 32767 -+#define STR_EQUAL(str1, str2) (str1 == str2 || strcmp(str1, str2) == 0) - - /* - * Class Methods -@@ -76,6 +77,7 @@ - static void XawCommandResize(Widget); - static void XawCommandRedisplay(Widget, XEvent*, Region); - static Boolean XawCommandSetValues(Widget, Widget, Widget, ArgList, Cardinal*); -+static void XawCommandGetValuesHook(Widget, ArgList, Cardinal*); - static Bool ChangeSensitive(Widget); - - /* -@@ -186,7 +188,7 @@ - XawCommandSetValues, /* set_values */ - NULL, /* set_values_hook */ - XtInheritSetValuesAlmost, /* set_values_almost */ -- NULL, /* get_values_hook */ -+ XawCommandGetValuesHook, /* get_values_hook */ - NULL, /* accept_focus */ - XtVersion, /* version */ - NULL, /* callback_private */ -@@ -327,8 +329,8 @@ - if (cbw->command.set) - return; - -- cbw->command.set= True; - XawCommandToggle(w); -+ cbw->command.set= True; - } - - /*ARGSUSED*/ -@@ -515,7 +517,23 @@ - cbw->command.highlighted = HighlightNone; - redisplay = True; - } -- -+ -+ if (cbw->command.set) { -+ unsigned int i; -+ Pixel foreground, background; -+ -+ foreground = oldcbw->label.foreground; -+ background = oldcbw->core.background_pixel; -+ for (i = 0; i < *num_args; i++) { -+ if (STR_EQUAL(args[i].name, XtNforeground)) -+ background = cbw->label.foreground; -+ else if (STR_EQUAL(args[i].name, XtNbackground)) -+ foreground = cbw->core.background_pixel; -+ } -+ cbw->label.foreground = foreground; -+ cbw->core.background_pixel = background; -+ } -+ - if (oldcbw->label.foreground != cbw->label.foreground - || oldcbw->core.background_pixel != cbw->core.background_pixel - || oldcbw->command.highlight_thickness -@@ -539,6 +557,22 @@ - cbw->command.shape_style = oldcbw->command.shape_style; - - return (redisplay); -+} -+ -+static void -+XawCommandGetValuesHook(Widget w, ArgList args, Cardinal *num_args) -+{ -+ CommandWidget cbw = (CommandWidget)w; -+ unsigned int i; -+ -+ for (i = 0; i < *num_args; i++) { -+ if (STR_EQUAL(args[i].name, XtNforeground)) -+ *((String*)args[i].value) = cbw->command.set ? -+ (String)cbw->core.background_pixel : (String)cbw->label.foreground; -+ else if (STR_EQUAL(args[i].name, XtNbackground)) -+ *((String*)args[i].value) = cbw->command.set ? -+ (String)cbw->label.foreground : (String)cbw->core.background_pixel; -+ } - } - - static void -Index: xc/lib/Xaw/MultiSrc.c -=================================================================== -RCS file: /home/branden/packages/xfree86/cvsup/xc/lib/Xaw/MultiSrc.c,v -retrieving revision 1.24.2.1 -retrieving revision 1.24.2.2 -diff -u -r1.24.2.1 -r1.24.2.2 ---- xc/lib/Xaw/MultiSrc.c 4 Jul 2002 17:07:09 -0000 1.24.2.1 -+++ xc/lib/Xaw/MultiSrc.c 6 Oct 2002 15:53:16 -0000 1.24.2.2 -@@ -27,7 +27,7 @@ - * - * Much code taken from X11R3 String and Disk Sources. - */ --/* $XFree86: xc/lib/Xaw/MultiSrc.c,v 1.24.2.1 2002/07/04 17:07:09 paulo Exp $ */ -+/* $XFree86: xc/lib/Xaw/MultiSrc.c,v 1.24.2.2 2002/10/06 15:53:16 paulo Exp $ */ - - /* - -@@ -1167,7 +1167,6 @@ - const char *fdopen_mode = NULL; - int fd; - FILE *file; -- char fileName[TMPSIZ]; - Display *d = XtDisplayOfObject((Widget)src); - - if (src->multi_src.type == XawAsciiString) { -@@ -1221,13 +1220,8 @@ - case XawtextAppend: - case XawtextEdit: - if (src->multi_src.string == NULL) { -- src->multi_src.allocated_string = False; -- src->multi_src.string = fileName; -- -- (void)tmpnam((char *)src->multi_src.string); -+ src->multi_src.string = "*multi-src*"; - src->multi_src.is_tempfile = True; -- open_mode = O_WRONLY | O_CREAT | O_EXCL; -- fdopen_mode = "w"; - } - else { - /* O_NOFOLLOW is a BSD & Linux extension */ -@@ -1245,10 +1239,8 @@ - "Read, Append or Edit.", NULL, NULL); - } - -- /* Allocate new memory for the temp filename, because it is held in -- * a stack memory buffer. We must verify that all routines that set -- * .string first check .allocated_string and free it - plumbing Sheeran. -- */ -+ /* If is_tempfile, allocate a private copy of the text -+ * Unlikely to be changed, just to set allocated_string */ - if (newString || src->multi_src.is_tempfile) { - String temp = XtNewString((char *)src->multi_src.string); - -Index: xc/lib/Xaw/Text.c -=================================================================== -RCS file: /home/branden/packages/xfree86/cvsup/xc/lib/Xaw/Text.c,v -retrieving revision 3.50 -retrieving revision 3.50.2.1 -diff -u -r3.50 -r3.50.2.1 ---- xc/lib/Xaw/Text.c 17 Dec 2001 20:29:18 -0000 3.50 -+++ xc/lib/Xaw/Text.c 6 Oct 2002 15:53:17 -0000 3.50.2.1 -@@ -74,7 +74,7 @@ - * XFree86 Project. - */ - --/* $XFree86: xc/lib/Xaw/Text.c,v 3.50 2001/12/17 20:29:18 paulo Exp $ */ -+/* $XFree86: xc/lib/Xaw/Text.c,v 3.50.2.1 2002/10/06 15:53:17 paulo Exp $ */ - - #include <stdio.h> - #include <X11/IntrinsicP.h> -@@ -1372,8 +1372,8 @@ - _XawTextNeedsUpdating(ctx, position, - end <= position ? position + 1 : end); - ctx->text.clear_to_eol = True; -+ lt->position = position; - } -- - if (lt->y != y) { - if (update_from < 0) - update_from = line == 0 ? -@@ -1382,8 +1382,11 @@ - lt->y = y; - ctx->text.clear_to_eol = True; - } -- lt->position = position; -- lt->textWidth = width; -+ if (lt->textWidth != width) { -+ if (lt->textWidth < width) -+ ctx->text.clear_to_eol = True; -+ lt->textWidth = width; -+ } - y += height; - - if (end > ctx->text.lastPos) { -@@ -1425,6 +1428,7 @@ - XtRealloc((char *)ctx->text.lt.info, - sizeof(XawTextLineTableEntry) * (line + 1)); - lt = ctx->text.lt.info + line; -+ bzero(lt, sizeof(XawTextLineTableEntry)); - ++ctx->text.lt.lines; - } - else -Index: xc/lib/Xaw/TextAction.c -=================================================================== -RCS file: /home/branden/packages/xfree86/cvsup/xc/lib/Xaw/TextAction.c,v -retrieving revision 3.44 -retrieving revision 3.44.2.1 -diff -u -r3.44 -r3.44.2.1 ---- xc/lib/Xaw/TextAction.c 4 Jan 2002 23:04:17 -0000 3.44 -+++ xc/lib/Xaw/TextAction.c 6 Oct 2002 15:53:17 -0000 3.44.2.1 -@@ -25,7 +25,7 @@ - in this Software without prior written authorization from The Open Group. - - */ --/* $XFree86: xc/lib/Xaw/TextAction.c,v 3.44 2002/01/04 23:04:17 paulo Exp $ */ -+/* $XFree86: xc/lib/Xaw/TextAction.c,v 3.44.2.1 2002/10/06 15:53:17 paulo Exp $ */ - - #include <stdio.h> - #include <stdlib.h> -@@ -2911,8 +2911,11 @@ - Widget old = focus[i].widget; - - focus[i].widget = w; -- if (old != NULL) -+ if (old != NULL) { - TextFocusOut(old, event, p, n); -+ /* TextFocusOut may set it to NULL */ -+ focus[i].widget = w; -+ } - XtAddCallback(w, XtNdestroyCallback, - DestroyFocusCallback, (XtPointer)&focus[i]); - } -@@ -2944,9 +2947,11 @@ - || event->xfocus.detail == NotifyPointer) - return; - -- if (i < num_focus && focus[i].widget) -+ if (i < num_focus && focus[i].widget) { - XtRemoveCallback(focus[i].widget, XtNdestroyCallback, - DestroyFocusCallback, (XtPointer)&focus[i]); -+ focus[i].widget = NULL; -+ } - - /* Let the input method know focus has left.*/ - _XawImUnsetFocus(w); -Index: xc/lib/Xaw/TextSrc.c -=================================================================== -RCS file: /home/branden/packages/xfree86/cvsup/xc/lib/Xaw/TextSrc.c,v -retrieving revision 1.30.2.1 -retrieving revision 1.30.2.2 -diff -u -r1.30.2.1 -r1.30.2.2 ---- xc/lib/Xaw/TextSrc.c 4 Jul 2002 17:07:10 -0000 1.30.2.1 -+++ xc/lib/Xaw/TextSrc.c 6 Oct 2002 15:53:17 -0000 1.30.2.2 -@@ -25,7 +25,7 @@ - - */ - --/* $XFree86: xc/lib/Xaw/TextSrc.c,v 1.30.2.1 2002/07/04 17:07:10 paulo Exp $ */ -+/* $XFree86: xc/lib/Xaw/TextSrc.c,v 1.30.2.2 2002/10/06 15:53:17 paulo Exp $ */ - - /* - * Author: Chris Peterson, MIT X Consortium. -@@ -1770,6 +1770,10 @@ - XawTextAnchor *next, *anchor = _XawTextSourceFindAnchor(w, position); - XawTextEntity *entity, *eprev; - -+ /* There is no support for zero length entities for now */ -+ if (length == 0) -+ return (NULL); -+ - if (anchor->cache && anchor->position + anchor->cache->offset + - anchor->cache->length <= position) - eprev = entity = anchor->cache; -@@ -1819,6 +1823,15 @@ - length, property)); - } - } -+ } -+ -+ /* Automatically join sequential entities if possible */ -+ if (eprev && -+ anchor->position + eprev->offset + eprev->length == position && -+ eprev->property == property && eprev->type == type && -+ eprev->flags == flags && eprev->data == data) { -+ eprev->length += length; -+ return (eprev); - } - - entity = XtNew(XawTextEntity); -Index: xc/programs/Xserver/Xext/shm.c -=================================================================== -RCS file: /home/branden/packages/xfree86/cvsup/xc/programs/Xserver/Xext/shm.c,v -retrieving revision 3.33.2.2 -retrieving revision 3.33.2.3 -diff -u -r3.33.2.2 -r3.33.2.3 ---- xc/programs/Xserver/Xext/shm.c 29 May 2002 23:03:19 -0000 3.33.2.2 -+++ xc/programs/Xserver/Xext/shm.c 12 Sep 2002 21:04:15 -0000 3.33.2.3 -@@ -1,4 +1,4 @@ --/* $XFree86: xc/programs/Xserver/Xext/shm.c,v 3.33.2.2 2002/05/29 23:03:19 torrey Exp $ */ -+/* $XFree86: xc/programs/Xserver/Xext/shm.c,v 3.33.2.3 2002/09/12 21:04:15 herrb Exp $ */ - /************************************************************ - - Copyright 1989, 1998 The Open Group -@@ -38,6 +38,7 @@ - #include <shm.h> - #endif - #include <unistd.h> -+#include <sys/stat.h> - #define NEED_REPLIES - #define NEED_EVENTS - #include "X.h" -@@ -64,12 +65,6 @@ - #include "panoramiXsrv.h" - #endif - --#if defined(SVR4) || defined(__linux__) || defined(CSRG_BASED) --#define HAS_SAVED_IDS_AND_SETEUID --#else --#include <sys/stat.h> --#endif -- - typedef struct _ShmDesc { - struct _ShmDesc *next; - int shmid; -@@ -361,35 +356,38 @@ - return (client->noClientException); - } - --#ifndef HAS_SAVED_IDS_AND_SETEUID - /* - * Simulate the access() system call for a shared memory segement, -- * using the real user and group id of the process -+ * using the credentials from the client if available - */ - static int --shm_access(uid_t uid, gid_t gid, struct ipc_perm *perm, int readonly) -+shm_access(ClientPtr client, struct ipc_perm *perm, int readonly) - { -+ int uid, gid; - mode_t mask; - -- /* User id 0 always gets access */ -- if (uid == 0) { -- return 0; -- } -- /* Check the owner */ -- if (perm->uid == uid || perm->cuid == uid) { -- mask = S_IRUSR; -- if (!readonly) { -- mask |= S_IWUSR; -+ if (LocalClientCred(client, &uid, &gid) != -1) { -+ -+ /* User id 0 always gets access */ -+ if (uid == 0) { -+ return 0; - } -- return (perm->mode & mask) == mask ? 0 : -1; -- } -- /* Check the group */ -- if (perm->gid == gid || perm->cgid == gid) { -- mask = S_IRGRP; -- if (!readonly) { -- mask |= S_IWGRP; -+ /* Check the owner */ -+ if (perm->uid == uid || perm->cuid == uid) { -+ mask = S_IRUSR; -+ if (!readonly) { -+ mask |= S_IWUSR; -+ } -+ return (perm->mode & mask) == mask ? 0 : -1; -+ } -+ /* Check the group */ -+ if (perm->gid == gid || perm->cgid == gid) { -+ mask = S_IRGRP; -+ if (!readonly) { -+ mask |= S_IWGRP; -+ } -+ return (perm->mode & mask) == mask ? 0 : -1; - } -- return (perm->mode & mask) == mask ? 0 : -1; - } - /* Otherwise, check everyone else */ - mask = S_IROTH; -@@ -398,7 +396,6 @@ - } - return (perm->mode & mask) == mask ? 0 : -1; - } --#endif - - static int - ProcShmAttach(client) -@@ -407,12 +404,6 @@ - struct shmid_ds buf; - ShmDescPtr shmdesc; - REQUEST(xShmAttachReq); -- uid_t ruid; -- gid_t rgid; --#ifdef HAS_SAVED_IDS_AND_SETEUID -- uid_t euid; -- gid_t egid; --#endif - - REQUEST_SIZE_MATCH(xShmAttachReq); - LEGAL_NEW_RESOURCE(stuff->shmseg, client); -@@ -436,44 +427,25 @@ - shmdesc = (ShmDescPtr) xalloc(sizeof(ShmDescRec)); - if (!shmdesc) - return BadAlloc; -- ruid = getuid(); -- rgid = getgid(); --#ifdef HAS_SAVED_IDS_AND_SETEUID -- euid = geteuid(); -- egid = getegid(); -- -- if (euid != ruid || egid != rgid) { -- /* Temporarly switch back to real ids */ -- if (seteuid(ruid) == -1 || setegid(rgid) == -1) { -- return BadAccess; -- } -- } --#endif - shmdesc->addr = shmat(stuff->shmid, 0, - stuff->readOnly ? SHM_RDONLY : 0); --#ifdef HAS_SAVED_IDS_AND_SETEUID -- if (euid != ruid || egid != rgid) { -- /* Switch back to root privs */ -- if (seteuid(euid) == -1 || setegid(egid) == -1) { -- return BadAccess; -- } -- } --#endif - if ((shmdesc->addr == ((char *)-1)) || - shmctl(stuff->shmid, IPC_STAT, &buf)) - { - xfree(shmdesc); - return BadAccess; - } --#ifndef HAS_SAVED_IDS_AND_SETEUID -+ - /* The attach was performed with root privs. We must -- * do manual checking of access rights for the real uid/gid */ -- if (shm_access(ruid, rgid, &(buf.shm_perm), stuff->readOnly) == -1) { -+ * do manual checking of access rights for the credentials -+ * of the client */ -+ -+ if (shm_access(client, &(buf.shm_perm), stuff->readOnly) == -1) { - shmdt(shmdesc->addr); - xfree(shmdesc); - return BadAccess; - } --#endif -+ - shmdesc->shmid = stuff->shmid; - shmdesc->refcnt = 1; - shmdesc->writable = !stuff->readOnly; -Index: xc/programs/Xserver/hw/darwin/bundle/Xserver.h -=================================================================== -RCS file: /home/branden/packages/xfree86/cvsup/xc/programs/Xserver/hw/darwin/bundle/Attic/Xserver.h,v -retrieving revision 1.13 -retrieving revision 1.13.2.1 -diff -u -r1.13 -r1.13.2.1 ---- xc/programs/Xserver/hw/darwin/bundle/Xserver.h 1 Jan 2002 23:09:00 -0000 1.13 -+++ xc/programs/Xserver/hw/darwin/bundle/Xserver.h 17 Dec 2002 19:11:10 -0000 1.13.2.1 -@@ -3,7 +3,7 @@ - // - // Created by Andreas Monitzer on January 6, 2001. - // --/* $XFree86: xc/programs/Xserver/hw/darwin/bundle/Xserver.h,v 1.13 2002/01/01 23:09:00 torrey Exp $ */ -+/* $XFree86: xc/programs/Xserver/hw/darwin/bundle/Xserver.h,v 1.13.2.1 2002/12/17 19:11:10 torrey Exp $ */ - - #import <Cocoa/Cocoa.h> - -@@ -49,6 +49,7 @@ - - (void)writePasteboard; - - (void)sendNXEvent:(NXEvent*)ev; - - (void)sendShowHide:(BOOL)show; -+- (void)clientProcessDone:(int)clientStatus; - - // Aqua interface actions - - (IBAction)startFullScreen:(id)sender; -Index: xc/programs/Xserver/hw/darwin/bundle/Xserver.m -=================================================================== -RCS file: /home/branden/packages/xfree86/cvsup/xc/programs/Xserver/hw/darwin/bundle/Attic/Xserver.m,v -retrieving revision 1.37.2.1 -retrieving revision 1.37.2.2 -diff -u -r1.37.2.1 -r1.37.2.2 ---- xc/programs/Xserver/hw/darwin/bundle/Xserver.m 20 Aug 2002 21:56:15 -0000 1.37.2.1 -+++ xc/programs/Xserver/hw/darwin/bundle/Xserver.m 17 Dec 2002 19:11:10 -0000 1.37.2.2 -@@ -6,7 +6,7 @@ - // - // Created by Andreas Monitzer on January 6, 2001. - // --/* $XFree86: xc/programs/Xserver/hw/darwin/bundle/Xserver.m,v 1.37.2.1 2002/08/20 21:56:15 torrey Exp $ */ -+/* $XFree86: xc/programs/Xserver/hw/darwin/bundle/Xserver.m,v 1.37.2.2 2002/12/17 19:11:10 torrey Exp $ */ - - #import "Xserver.h" - #import "Preferences.h" -@@ -474,7 +474,7 @@ - if (chdir(passwdUser->pw_dir)) // Change to user's home dir - NSLog(@"Could not change to user's home directory."); - -- execv(shellPathStr, newargv); // Start user's shell -+ execv(shellPathStr, (char * const *)newargv); // Start user's shell - - NSLog(@"Could not start X client process with errno = %i.", errno); - _exit(127); -@@ -622,9 +622,6 @@ - - (void)killServer - { - NXEvent ev; -- -- if (serverVisible) -- [self hide]; - - ev.type = NX_APPDEFINED; - ev.data.compound.subType = kXDarwinQuit; -Index: xc/programs/Xserver/hw/darwin/bundle/quartz.c -=================================================================== -RCS file: /home/branden/packages/xfree86/cvsup/xc/programs/Xserver/hw/darwin/bundle/Attic/quartz.c,v -retrieving revision 1.24 -retrieving revision 1.24.2.1 -diff -u -r1.24 -r1.24.2.1 ---- xc/programs/Xserver/hw/darwin/bundle/quartz.c 17 Jan 2002 02:44:26 -0000 1.24 -+++ xc/programs/Xserver/hw/darwin/bundle/quartz.c 17 Dec 2002 19:11:10 -0000 1.24.2.1 -@@ -5,7 +5,7 @@ - * By Gregory Robert Parker - * - **************************************************************/ --/* $XFree86: xc/programs/Xserver/hw/darwin/bundle/quartz.c,v 1.24 2002/01/17 02:44:26 torrey Exp $ */ -+/* $XFree86: xc/programs/Xserver/hw/darwin/bundle/quartz.c,v 1.24.2.1 2002/12/17 19:11:10 torrey Exp $ */ - - #include "quartzCommon.h" - #include "quartz.h" -@@ -502,6 +502,8 @@ - */ - void QuartzGiveUp(void) - { -+#if 0 -+// Switching cursors when quitting causes deadlock - int i; - - for (i = 0; i < screenInfo.numScreens; i++) { -@@ -509,5 +511,6 @@ - QuartzSuspendXCursor(screenInfo.screens[i]); - } - } -+#endif - QuartzRelease(); - } -Index: xc/programs/Xserver/hw/darwin/bundle/quartzCursor.c -=================================================================== -RCS file: /home/branden/packages/xfree86/cvsup/xc/programs/Xserver/hw/darwin/bundle/Attic/quartzCursor.c,v -retrieving revision 1.15.2.1 -retrieving revision 1.15.2.3 -diff -u -r1.15.2.1 -r1.15.2.3 ---- xc/programs/Xserver/hw/darwin/bundle/quartzCursor.c 20 Aug 2002 21:56:15 -0000 1.15.2.1 -+++ xc/programs/Xserver/hw/darwin/bundle/quartzCursor.c 17 Dec 2002 19:11:10 -0000 1.15.2.3 -@@ -3,7 +3,7 @@ - * Support for using the Quartz Window Manager cursor - * - **************************************************************/ --/* $XFree86: xc/programs/Xserver/hw/darwin/bundle/quartzCursor.c,v 1.15.2.1 2002/08/20 21:56:15 torrey Exp $ */ -+/* $XFree86: xc/programs/Xserver/hw/darwin/bundle/quartzCursor.c,v 1.15.2.3 2002/12/17 19:11:10 torrey Exp $ */ - - #include "quartzCommon.h" - #include "quartzCursor.h" -@@ -33,7 +33,9 @@ - static QD_Cursor gQDArrow; // QuickDraw arrow cursor - - // Cursor for the main thread to set (NULL = arrow cursor). --static volatile CCrsrHandle currentCursor = NULL; -+static CCrsrHandle currentCursor = NULL; -+static pthread_mutex_t cursorMutex; -+static pthread_cond_t cursorCondition; - - #define CURSOR_PRIV(pScreen) \ - ((QuartzCursorScreenPtr)pScreen->devPrivates[darwinCursorScreenIndex].ptr) -@@ -56,15 +58,27 @@ - visible = TRUE; \ - } ((void)0) - -+#define CHANGE_QD_CURSOR(cursorH) \ -+ { \ -+ /* Acquire lock and tell the main thread to change cursor */ \ -+ pthread_mutex_lock(&cursorMutex); \ -+ currentCursor = (CCrsrHandle) (cursorH); \ -+ QuartzMessageMainThread(kQuartzCursorUpdate); \ -+ \ -+ /* Wait for the main thread to change the cursor */ \ -+ pthread_cond_wait(&cursorCondition, &cursorMutex); \ -+ pthread_mutex_unlock(&cursorMutex); \ -+ } ((void)0) - - /* - * MakeQDCursor helpers: CTAB_ENTER, interleave - */ - - // Add a color entry to a ctab --#define CTAB_ENTER(ctab, index, r, g, b) \ -- ctab->ctTable[index].rgb.red = r; \ -- ctab->ctTable[index].rgb.green = g; \ -+#define CTAB_ENTER(ctab, index, r, g, b) \ -+ ctab->ctTable[index].value = index; \ -+ ctab->ctTable[index].rgb.red = r; \ -+ ctab->ctTable[index].rgb.green = g; \ - ctab->ctTable[index].rgb.blue = b - - // Make an unsigned short by interleaving the bits of bytes c1 and c2. -@@ -344,19 +358,16 @@ - (pCursor->bits->width <= CURSORWIDTH) && ScreenPriv->useQDCursor) - { - // Cursor is small enough to use QuickDraw directly. -- - if (! ScreenPriv->qdCursorMode) // remove the X cursor - (*ScreenPriv->spriteFuncs->SetCursor)(pScreen, 0, x, y); - ScreenPriv->qdCursorMode = TRUE; - -- currentCursor = (CCrsrHandle) pCursor->devPriv[pScreen->myNum]; -- QuartzMessageMainThread(kQuartzCursorUpdate); -+ CHANGE_QD_CURSOR(pCursor->devPriv[pScreen->myNum]); - SHOW_QD_CURSOR(pScreen, ScreenPriv->qdCursorVisible); - } - else if (quartzRootless) { - // Rootless can't use a software cursor, so we just use Mac OS arrow. -- currentCursor = NULL; -- QuartzMessageMainThread(kQuartzCursorUpdate); -+ CHANGE_QD_CURSOR(NULL); - SHOW_QD_CURSOR(pScreen, ScreenPriv->qdCursorVisible); - } - else { -@@ -376,13 +387,16 @@ - void - QuartzReallySetCursor() - { -- CCrsrHandle newCursor = currentCursor; -+ pthread_mutex_lock(&cursorMutex); - -- if (newCursor) { -- SetCCursor(newCursor); -+ if (currentCursor) { -+ SetCCursor(currentCursor); - } else { - SetCursor(&gQDArrow); - } -+ -+ pthread_cond_signal(&cursorCondition); -+ pthread_mutex_unlock(&cursorMutex); - } - - -@@ -573,6 +587,13 @@ - ScreenPriv->useQDCursor = TRUE; - ScreenPriv->qdCursorMode = TRUE; - ScreenPriv->qdCursorVisible = TRUE; -+ -+ // initialize cursor mutex lock -+ pthread_mutex_init(&cursorMutex, NULL); -+ -+ // initialize condition for waiting -+ pthread_cond_init(&cursorCondition, NULL); -+ - return TRUE; - } - -@@ -583,8 +604,7 @@ - { - QuartzCursorScreenPtr ScreenPriv = CURSOR_PRIV(pScreen); - -- currentCursor = NULL; -- QuartzMessageMainThread(kQuartzCursorUpdate); -+ CHANGE_QD_CURSOR(NULL); - SHOW_QD_CURSOR(pScreen, ScreenPriv->qdCursorVisible); - } - -Index: xc/programs/Xserver/hw/darwin/bundle/rootlessWindow.c -=================================================================== -RCS file: /home/branden/packages/xfree86/cvsup/xc/programs/Xserver/hw/darwin/bundle/Attic/rootlessWindow.c,v -retrieving revision 1.9 -retrieving revision 1.9.2.1 -diff -u -r1.9 -r1.9.2.1 ---- xc/programs/Xserver/hw/darwin/bundle/rootlessWindow.c 22 Dec 2001 05:28:35 -0000 1.9 -+++ xc/programs/Xserver/hw/darwin/bundle/rootlessWindow.c 16 Oct 2002 00:42:22 -0000 1.9.2.1 -@@ -3,7 +3,7 @@ - * - * Greg Parker [EMAIL PROTECTED] - */ --/* $XFree86: xc/programs/Xserver/hw/darwin/bundle/rootlessWindow.c,v 1.9 2001/12/22 05:28:35 torrey Exp $ */ -+/* $XFree86: xc/programs/Xserver/hw/darwin/bundle/rootlessWindow.c,v 1.9.2.1 2002/10/16 00:42:22 torrey Exp $ */ - - #include "rootlessCommon.h" - #include "rootlessWindow.h" -@@ -321,7 +321,9 @@ - RegionPtr prgnSrc) - { - ScreenPtr pScreen = pWin->drawable.pScreen; -- SCREEN_UNWRAP(pScreen, CopyWindow); -+ // Don't unwrap pScreen->CopyWindow. -+ // The bogus rewrap with RootlessCopyWindow causes a crash if -+ // CopyWindow is called again during the same resize. - RL_DEBUG_MSG("resizecopywindowFB start (win 0x%x) ", pWin); - - { -@@ -345,7 +347,6 @@ - fbValidateDrawable (&pWin->drawable); - } - -- SCREEN_WRAP(pScreen, CopyWindow); - RL_DEBUG_MSG("resizecopywindowFB end\n"); - } - -@@ -577,7 +578,7 @@ - // Note: (x, y, w, h) as passed to this procedure don't match - // the frame definition. - // (x,y) is corner of very outer edge, *outside* border --// w,h is width and height *inside8 border, *ignoring* border width -+// w,h is width and height *inside* border, *ignoring* border width - // The rect (x, y, w, h) doesn't mean anything. - // (x, y, w+2*bw, h+2*bw) is total rect - // (x+bw, y+bw, w, h) is inner rect -Index: xc/programs/Xserver/hw/darwin/bundle/XDarwin.pbproj/project.pbxproj -=================================================================== -RCS file: /home/branden/packages/xfree86/cvsup/xc/programs/Xserver/hw/darwin/bundle/XDarwin.pbproj/Attic/project.pbxproj,v -retrieving revision 1.30.2.2 -retrieving revision 1.30.2.4 -diff -u -r1.30.2.2 -r1.30.2.4 ---- xc/programs/Xserver/hw/darwin/bundle/XDarwin.pbproj/project.pbxproj 20 Aug 2002 22:04:41 -0000 1.30.2.2 -+++ xc/programs/Xserver/hw/darwin/bundle/XDarwin.pbproj/project.pbxproj 18 Oct 2002 17:54:33 -0000 1.30.2.4 -@@ -350,7 +350,7 @@ - <key>CFBundleExecutable</key> - <string>XDarwin</string> - <key>CFBundleGetInfoString</key> -- <string>XDarwin 1.1.0.1, ©2001-2002 XFree86 Project, Inc.</string> -+ <string>XDarwin 1.1.1.1, ©2001-2002 XFree86 Project, Inc.</string> - <key>CFBundleIconFile</key> - <string>XDarwin.icns</string> - <key>CFBundleIdentifier</key> -@@ -362,7 +362,7 @@ - <key>CFBundlePackageType</key> - <string>APPL</string> - <key>CFBundleShortVersionString</key> -- <string>XDarwin 1.1.0.1</string> -+ <string>XDarwin 1.1.1.1</string> - <key>CFBundleSignature</key> - <string>????</string> - <key>CFBundleVersion</key> -Index: xc/programs/Xserver/hw/xfree86/CHANGELOG -=================================================================== -RCS file: /home/branden/packages/xfree86/cvsup/xc/programs/Xserver/hw/xfree86/CHANGELOG,v -retrieving revision 3.2144.2.22 -retrieving revision 3.2144.2.27 -diff -u -r3.2144.2.22 -r3.2144.2.27 ---- xc/programs/Xserver/hw/xfree86/CHANGELOG 4 Sep 2002 03:01:44 -0000 3.2144.2.22 -+++ xc/programs/Xserver/hw/xfree86/CHANGELOG 17 Dec 2002 19:11:03 -0000 3.2144.2.27 -@@ -1,3 +1,26 @@ -+XFree86 4.2.1.2 (xx December 2002) -+ 721. Fix problems with earlier fix (713 below) to intermittent XDarwin -+ crash when changing cursors with dual processors (Torrey T. Lyons). -+ -+XFree86 4.2.1.1 (18 October 2002) -+ 720. Fix black cursor images on Mac OS X 10.2.2 (Joseph Maurer). -+ 719. Fix XDarwin rootless crash when window resizing with complex bit -+ gravity (Greg Parker). -+ 718. Xdm patches: realloc usage, zero malloc()ated memory, enable -+ /dev/urandom on NetBSD 1.4 and later (#5345, Mike A. Harris, -+ #5401, Matthias Scheler) -+ 717. [SECURITY] Implement LocalClientCred() to return the credentials -+ of local clients connected through Unix domain sockets on systems -+ that have the required support (for now recent Linux, FreeBSD >= 4.6, -+ OpenBSD >= 3.0 are implemented), and use that in ShmAttach() to grant -+ access to the client. When client credentials are not available, -+ require world accessibility. (Matthieu Herrb). -+ 716. BIOSDisplay was always getting forced to R128_BIOS_DISPLAY_FP on cards -+ that might have a FP attached. This was wrong if a CRT is being used -+ instead, and caused both sets of DPMS routines to get used, which -+ resulted in a SEGV on CloseDisplay(), as well as making DPMS not -+ work for a CRT (Stuart Anderson). -+ - XFree86 4.2.1 (03 September 2002) - 715. [SECURITY] Fix an Xlib problem that made it possible to load arbitrary - code into privileged clients. -@@ -14605,4 +14628,4 @@ - XFree86 3.0 (26 April 1994) - - --$XFree86: xc/programs/Xserver/hw/xfree86/CHANGELOG,v 3.2144.2.22 2002/09/04 03:01:44 dawes Exp $ -+$XFree86: xc/programs/Xserver/hw/xfree86/CHANGELOG,v 3.2144.2.27 2002/12/17 19:11:03 torrey Exp $ -Index: xc/programs/Xserver/hw/xfree86/xf86Version.h -=================================================================== -RCS file: /home/branden/packages/xfree86/cvsup/xc/programs/Xserver/hw/xfree86/xf86Version.h,v -retrieving revision 3.487.2.5 -retrieving revision 3.487.2.6 -diff -u -r3.487.2.5 -r3.487.2.6 ---- xc/programs/Xserver/hw/xfree86/xf86Version.h 4 Sep 2002 03:01:47 -0000 3.487.2.5 -+++ xc/programs/Xserver/hw/xfree86/xf86Version.h 18 Oct 2002 21:43:49 -0000 3.487.2.6 -@@ -1,11 +1,11 @@ --/* $XFree86: xc/programs/Xserver/hw/xfree86/xf86Version.h,v 3.487.2.5 2002/09/04 03:01:47 dawes Exp $ */ -+/* $XFree86: xc/programs/Xserver/hw/xfree86/xf86Version.h,v 3.487.2.6 2002/10/18 21:43:49 dawes Exp $ */ - - #ifndef XF86_VERSION_CURRENT - - #define XF86_VERSION_MAJOR 4 - #define XF86_VERSION_MINOR 2 - #define XF86_VERSION_PATCH 1 --#define XF86_VERSION_SNAP 0 -+#define XF86_VERSION_SNAP 1 - - /* This has five arguments for compatibilty reasons */ - #define XF86_VERSION_NUMERIC(major,minor,patch,snap,dummy) \ -@@ -24,7 +24,7 @@ - 0) - - --#define XF86_DATE "3 September 2002" -+#define XF86_DATE "18 October 2002" - - #endif - -Index: xc/programs/Xserver/hw/xfree86/doc/sgml/Install.sgml -=================================================================== -RCS file: /home/branden/packages/xfree86/cvsup/xc/programs/Xserver/hw/xfree86/doc/sgml/Install.sgml,v -retrieving revision 1.13 -retrieving revision 1.13.2.1 -diff -u -r1.13 -r1.13.2.1 ---- xc/programs/Xserver/hw/xfree86/doc/sgml/Install.sgml 16 Jan 2002 20:38:44 -0000 1.13 -+++ xc/programs/Xserver/hw/xfree86/doc/sgml/Install.sgml 9 Nov 2002 21:41:23 -0000 1.13.2.1 -@@ -9,7 +9,7 @@ - <date>16 January 2002 - - <ident> --$XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/Install.sgml,v 1.13 2002/01/16 20:38:44 dawes Exp $ -+$XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/Install.sgml,v 1.13.2.1 2002/11/09 21:41:23 dawes Exp $ - </ident> - - <abstract> -@@ -43,7 +43,7 @@ - Information about downloading and installing &fullrelvers; can be found - in the installation document for that version, which can be found - on the <url name="XFree86 web site" --url="http://www.xfree86.org/pub/XFree86/&fullrelvers/Install.html">. -+url="http://www.xfree86.org/&fullrelvers/Install.html">. - ]]> - - We provide XFree86 &relvers; <![ %updaterel [update ]]>binaries for a range -Index: xc/programs/Xserver/hw/xfree86/doc/sgml/README.sgml -=================================================================== -RCS file: /home/branden/packages/xfree86/cvsup/xc/programs/Xserver/hw/xfree86/doc/sgml/README.sgml,v -retrieving revision 3.119.2.1 -retrieving revision 3.119.2.2 -diff -u -r3.119.2.1 -r3.119.2.2 ---- xc/programs/Xserver/hw/xfree86/doc/sgml/README.sgml 4 Sep 2002 03:01:48 -0000 3.119.2.1 -+++ xc/programs/Xserver/hw/xfree86/doc/sgml/README.sgml 9 Sep 2002 16:04:36 -0000 3.119.2.2 -@@ -16,7 +16,7 @@ - <date>3 September 2002 - - <ident> --$XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/README.sgml,v 3.119.2.1 2002/09/04 03:01:48 dawes Exp $ -+$XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/README.sgml,v 3.119.2.2 2002/09/09 16:04:36 dawes Exp $ - </ident> - - <abstract> -@@ -116,7 +116,7 @@ - helping with the conversion of our older drivers to the new 4.x design, - or assisting in the addition of new drivers or platforms to the code base - then send a request to <url name="join the XFree86 development team" --url="http://www.xfree86.org:/developer.html">. This will give you direct -+url="http://www.xfree86.org/developer.html">. This will give you direct - access to the latest XFree86 related development topics and discussions. - Include in your note, your name, email address, reason for joining (what - you will work on) and, level of expertise (coder, DRI, core, specific -Index: xc/programs/Xserver/hw/xfree86/drivers/ati/r128_driver.c -=================================================================== -RCS file: /home/branden/packages/xfree86/cvsup/xc/programs/Xserver/hw/xfree86/drivers/ati/r128_driver.c,v -retrieving revision 1.57.2.1 -retrieving revision 1.57.2.2 -diff -u -r1.57.2.1 -r1.57.2.2 ---- xc/programs/Xserver/hw/xfree86/drivers/ati/r128_driver.c 14 Aug 2002 17:36:15 -0000 1.57.2.1 -+++ xc/programs/Xserver/hw/xfree86/drivers/ati/r128_driver.c 15 Sep 2002 14:00:25 -0000 1.57.2.2 -@@ -1,4 +1,4 @@ --/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/ati/r128_driver.c,v 1.57.2.1 2002/08/14 17:36:15 anderson Exp $ */ -+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/ati/r128_driver.c,v 1.57.2.2 2002/09/15 14:00:25 anderson Exp $ */ - /* - * Copyright 1999, 2000 ATI Technologies Inc., Markham, Ontario, - * Precision Insight, Inc., Cedar Park, Texas, and -@@ -1009,7 +1009,6 @@ - "VideoRAM: %d kByte (%s)\n", pScrn->videoRam, info->ram->name); - - /* Flat panel (part 2) */ -- if (info->HasPanelRegs) { - switch (info->BIOSDisplay) { - case R128_BIOS_DISPLAY_FP: - xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, -@@ -1026,6 +1025,8 @@ - break; - } - -+ /* It seems useful to alway tell what type of display is being used */ -+ if (info->HasPanelRegs) { - /* Panel width/height overrides */ - info->PanelXRes = 0; - info->PanelYRes = 0; -@@ -1473,9 +1474,11 @@ - - if(info->isDFP) { - R128MapMem(pScrn); -+ info->BIOSDisplay = R128_BIOS_DISPLAY_FP; - /* validate if DFP really connected. */ - if(!R128GetDFPInfo(pScrn)) { - info->isDFP = FALSE; -+ info->BIOSDisplay = R128_BIOS_DISPLAY_CRT; - } else if(!info->isPro2) { - /* RageProII doesn't support rmx, we can't use native-mode - stretching for other non-native modes. It will rely on -@@ -1489,7 +1492,7 @@ - - } - } -- info->BIOSDisplay = R128_BIOS_DISPLAY_FP; -+ - R128UnmapMem(pScrn); - } - -Index: xc/programs/Xserver/include/os.h -=================================================================== -RCS file: /home/branden/packages/xfree86/cvsup/xc/programs/Xserver/include/os.h,v -retrieving revision 3.40 -retrieving revision 3.40.2.1 -diff -u -r3.40 -r3.40.2.1 ---- xc/programs/Xserver/include/os.h 14 Dec 2001 19:59:55 -0000 3.40 -+++ xc/programs/Xserver/include/os.h 12 Sep 2002 21:04:15 -0000 3.40.2.1 -@@ -1,4 +1,4 @@ --/* $XFree86: xc/programs/Xserver/include/os.h,v 3.40 2001/12/14 19:59:55 dawes Exp $ */ -+/* $XFree86: xc/programs/Xserver/include/os.h,v 3.40.2.1 2002/09/12 21:04:15 herrb Exp $ */ - /*********************************************************** - - Copyright 1987, 1998 The Open Group -@@ -638,6 +638,8 @@ - ClientPtr /* client */ - #endif - ); -+ -+extern int LocalClientCred(ClientPtr, int *, int *); - - extern int ChangeAccessControl( - #if NeedFunctionPrototypes -Index: xc/programs/Xserver/os/Imakefile -=================================================================== -RCS file: /home/branden/packages/xfree86/cvsup/xc/programs/Xserver/os/Imakefile,v -retrieving revision 3.34 -retrieving revision 3.34.4.1 -diff -u -r3.34 -r3.34.4.1 ---- xc/programs/Xserver/os/Imakefile 28 Oct 2001 03:34:16 -0000 3.34 -+++ xc/programs/Xserver/os/Imakefile 12 Sep 2002 21:04:15 -0000 3.34.4.1 -@@ -3,7 +3,7 @@ - - - --XCOMM $XFree86: xc/programs/Xserver/os/Imakefile,v 3.34 2001/10/28 03:34:16 tsi Exp $ -+XCOMM $XFree86: xc/programs/Xserver/os/Imakefile,v 3.34.4.1 2002/09/12 21:04:15 herrb Exp $ - - #include <Server.tmpl> - -@@ -78,6 +78,10 @@ - MALLOC_OBJS=xalloc.o - #endif - -+#if HasGetpeereid -+GETPEEREID_DEFINES = -DHAS_GETPEEREID -+#endif -+ - BOOTSTRAPCFLAGS = - SRCS = WaitFor.c access.c connection.c io.c $(COLOR_SRCS) \ - osinit.c utils.c auth.c mitauth.c secauth.c $(XDMAUTHSRCS) \ -@@ -111,7 +115,7 @@ - #endif - DEFINES = -DXSERV_t -DTRANS_SERVER $(CONNECTION_FLAGS) $(MEM_DEFINES) \ - $(XDMAUTHDEFS) $(RPCDEFS) $(SIGNAL_DEFINES) $(OS_DEFINES) \ -- $(KRB5_DEFINES) $(RGB_DEFINES) -+ $(KRB5_DEFINES) $(RGB_DEFINES) $(GETPEEREID_DEFINES) - INCLUDES = -I. -I../include -I$(XINCLUDESRC) -I$(EXTINCSRC) \ - -I$(SERVERSRC)/Xext -I$(FONTINCSRC) \ - -I$(TOP)/lib/Xau -I../lbx Krb5Includes -Index: xc/programs/Xserver/os/access.c -=================================================================== -RCS file: /home/branden/packages/xfree86/cvsup/xc/programs/Xserver/os/access.c,v -retrieving revision 3.39 -retrieving revision 3.39.2.1 -diff -u -r3.39 -r3.39.2.1 ---- xc/programs/Xserver/os/access.c 7 Jan 2002 20:38:29 -0000 3.39 -+++ xc/programs/Xserver/os/access.c 12 Sep 2002 21:04:15 -0000 3.39.2.1 -@@ -45,7 +45,7 @@ - SOFTWARE. - - ******************************************************************/ --/* $XFree86: xc/programs/Xserver/os/access.c,v 3.39 2002/01/07 20:38:29 dawes Exp $ */ -+/* $XFree86: xc/programs/Xserver/os/access.c,v 3.39.2.1 2002/09/12 21:04:15 herrb Exp $ */ - - #ifdef WIN32 - #include <X11/Xwinsock.h> -@@ -1005,6 +1005,55 @@ - xfree ((char *) from); - } - return FALSE; -+} -+ -+/* -+ * Return the uid and gid of a connected local client -+ * or the uid/gid for nobody those ids cannot be determinded -+ * -+ * Used by XShm to test access rights to shared memory segments -+ */ -+int -+LocalClientCred(ClientPtr client, int *pUid, int *pGid) -+{ -+ int fd; -+ XtransConnInfo ci; -+#ifdef HAS_GETPEEREID -+ uid_t uid; -+ gid_t gid; -+#elif defined(SO_PEERCRED) -+ struct ucred peercred; -+ socklen_t so_len = sizeof(peercred); -+#endif -+ -+ if (client == NULL) -+ return -1; -+ ci = ((OsCommPtr)client->osPrivate)->trans_conn; -+ /* We can only determine peer credentials for Unix domain sockets */ -+ if (!_XSERVTransIsLocal(ci)) { -+ return -1; -+ } -+ fd = _XSERVTransGetConnectionNumber(ci); -+#ifdef HAS_GETPEEREID -+ if (getpeereid(fd, &uid, &gid) == -1) -+ return -1; -+ if (pUid != NULL) -+ *pUid = uid; -+ if (pGid != NULL) -+ *pGid = gid; -+ return 0; -+#elif defined(SO_PEERCRED) -+ if (getsockopt(fd, SOL_SOCKET, SO_PEERCRED, &peercred, &so_len) == -1) -+ return -1; -+ if (pUid != NULL) -+ *pUid = peercred.uid; -+ if (pGid != NULL) -+ *pGid = peercred.gid; -+ return 0; -+#else -+ /* No system call available to get the credentials of the peer */ -+ return -1; -+#endif - } - - static Bool -Index: xc/programs/xdm/Imakefile -=================================================================== -RCS file: /home/branden/packages/xfree86/cvsup/xc/programs/xdm/Imakefile,v -retrieving revision 3.45 -retrieving revision 3.45.4.1 -diff -u -r3.45 -r3.45.4.1 ---- xc/programs/xdm/Imakefile 29 Aug 2001 17:11:56 -0000 3.45 -+++ xc/programs/xdm/Imakefile 6 Oct 2002 18:14:55 -0000 3.45.4.1 -@@ -3,7 +3,7 @@ - - - --XCOMM $XFree86: xc/programs/xdm/Imakefile,v 3.45 2001/08/29 17:11:56 alanh Exp $ -+XCOMM $XFree86: xc/programs/xdm/Imakefile,v 3.45.4.1 2002/10/06 18:14:55 herrb Exp $ - - #define IHaveSubdirs - #define PassCDebugFlags 'CDEBUGFLAGS=$(CDEBUGFLAGS)' -@@ -129,6 +129,12 @@ - - #if defined(i386Architecture) || defined(AmigaArchitecture) - FRAGILE_DEFINES = -DFRAGILE_DEV_MEM -+#endif -+ -+#if defined(NetBSDArchitecture) && \ -+ ((OSMajorVersion > 1) || \ -+ (OSMajorVersion == 1 && OSMinorVersion > 3)) -+RANDOM_DEFINES = -DDEV_RANDOM=\"/dev/urandom\" - #endif - - #ifdef OpenBSDArchitecture -Index: xc/programs/xdm/genauth.c -=================================================================== -RCS file: /home/branden/packages/xfree86/cvsup/xc/programs/xdm/genauth.c,v -retrieving revision 3.13 -retrieving revision 3.13.2.1 -diff -u -r3.13 -r3.13.2.1 ---- xc/programs/xdm/genauth.c 14 Dec 2001 20:01:22 -0000 3.13 -+++ xc/programs/xdm/genauth.c 6 Oct 2002 18:14:55 -0000 3.13.2.1 -@@ -26,7 +26,7 @@ - from The Open Group. - - */ --/* $XFree86: xc/programs/xdm/genauth.c,v 3.13 2001/12/14 20:01:22 dawes Exp $ */ -+/* $XFree86: xc/programs/xdm/genauth.c,v 3.13.2.1 2002/10/06 18:14:55 herrb Exp $ */ - - /* - * xdm - display manager daemon -@@ -120,7 +120,7 @@ - - _XdmcpWrapperToOddParity(sum, key); - --#elif DEV_RANDOM -+#elif defined(DEV_RANDOM) - int fd; - unsigned char tmpkey[8]; - -Index: xc/programs/xdm/greeter/verify.c -=================================================================== -RCS file: /home/branden/packages/xfree86/cvsup/xc/programs/xdm/greeter/verify.c,v -retrieving revision 3.21 -retrieving revision 3.21.2.1 -diff -u -r3.21 -r3.21.2.1 ---- xc/programs/xdm/greeter/verify.c 14 Dec 2001 20:01:29 -0000 3.21 -+++ xc/programs/xdm/greeter/verify.c 6 Oct 2002 17:22:42 -0000 3.21.2.1 -@@ -26,7 +26,7 @@ - from The Open Group. - - */ --/* $XFree86: xc/programs/xdm/greeter/verify.c,v 3.21 2001/12/14 20:01:29 dawes Exp $ */ -+/* $XFree86: xc/programs/xdm/greeter/verify.c,v 3.21.2.1 2002/10/06 17:22:42 herrb Exp $ */ - - /* - * xdm - display manager daemon -@@ -37,12 +37,13 @@ - * typical unix verification routine. - */ - --# include "dm.h" --# include "dm_error.h" -+#include "dm.h" -+#include "dm_error.h" - --# include <pwd.h> -+#include <pwd.h> - #ifdef USE_PAM - # include <security/pam_appl.h> -+# include <stdlib.h> - #else - # ifdef USESHADOW - # include <shadow.h> -@@ -123,13 +124,10 @@ - void *appdata_ptr) { - int count = 0, replies = 0; - struct pam_response *reply = NULL; -- size_t size = sizeof(struct pam_response); - --#define GET_MEM \ -- if (reply) realloc(reply, size); \ -- else reply = (struct pam_response*)malloc(size); \ -- if (!reply) return PAM_CONV_ERR; \ -- size += sizeof(struct pam_response) -+#define PAM_RESPONSE_SIZE sizeof(struct pam_response) -+ size_t size = PAM_RESPONSE_SIZE; -+ - #define COPY_STRING(s) (s) ? strdup(s) : (char*)NULL - - for (count = 0; count < num_msg; count++) { -@@ -139,7 +137,19 @@ - return PAM_CONV_ERR; - case PAM_PROMPT_ECHO_OFF: - /* wants password */ -- GET_MEM; -+ if (reply) { -+ reply = realloc(reply, size); -+ bzero(reply + size - PAM_RESPONSE_SIZE, PAM_RESPONSE_SIZE); -+ } else { -+ reply = (struct pam_response*)malloc(size); -+ bzero(reply, size); -+ } -+ -+ if (!reply) -+ return PAM_CONV_ERR; -+ -+ size += PAM_RESPONSE_SIZE; -+ - reply[replies].resp_retcode = PAM_SUCCESS; - reply[replies].resp = COPY_STRING(PAM_password); - /* PAM frees resp */ -@@ -155,7 +165,6 @@ - } - - #undef COPY_STRING --#undef GET_MEM - if (reply) *resp = reply; - return PAM_SUCCESS; - } Copied: trunk/debian/patches/000_post421.diff (from rev 1029, trunk/debian/patches/000_post421-2003.02.18.diff)