[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

X Strike Force XFree86 SVN commit: r2033 - in branches/ubuntu-warty/debian: . patches



Author: fabbione
Date: 2004-11-19 04:52:23 -0500 (Fri, 19 Nov 2004)
New Revision: 2033

Modified:
   branches/ubuntu-warty/debian/changelog
   branches/ubuntu-warty/debian/patches/000_stolen_from_x.org.diff
Log:
Import 4.3.0.dfsg.1-6ubuntu25.1 warty-security release.


Modified: branches/ubuntu-warty/debian/changelog
===================================================================
--- branches/ubuntu-warty/debian/changelog	2004-11-19 09:28:39 UTC (rev 2032)
+++ branches/ubuntu-warty/debian/changelog	2004-11-19 09:52:23 UTC (rev 2033)
@@ -1,3 +1,15 @@
+xfree86 (4.3.0.dfsg.1-6ubuntu25.1) warty-security; urgency=low
+
+  * Security upload: further fixes to the libXpm issues reported in
+    CAN-2004-0687 and CAN-2004-0688, and fixed in 4.3.0.dfsg.1-6ubuntu18.
+    Similar integer overflow vulnerabilities have discovered and fixed.  The
+    CAN numbers remain the same, as it is the same vulnerabilities that are
+    being fixed.
+  * debian/patches/000_stolen_from_x.org:
+    Updated with fixes for new vulnerabilities.
+
+ -- Daniel Stone <daniel.stone@canonical.com>  Mon, 15 Nov 2004 10:20:11 +0100
+
 xfree86 (4.3.0.dfsg.1-6ubuntu25) warty; urgency=low
 
   Imported from Debian trunk:

Modified: branches/ubuntu-warty/debian/patches/000_stolen_from_x.org.diff
===================================================================
--- branches/ubuntu-warty/debian/patches/000_stolen_from_x.org.diff	2004-11-19 09:28:39 UTC (rev 2032)
+++ branches/ubuntu-warty/debian/patches/000_stolen_from_x.org.diff	2004-11-19 09:52:23 UTC (rev 2033)
@@ -8,7 +8,10 @@
         not contain a valid mode.
 
 Also merge libXpm security fix from X11R6.8.1, fixing multiple integer
-overflows (CAN-2004-0687) and stack overflows (CAN-2004-0688).
+overflows (CAN-2004-0687) and stack overflows (CAN-2004-0688).  This patch has
+since been updated with the libXpm security fix proposed for X11R6.8.2, which
+updates the previous patches to fix more vulnerabilities.  The CAN numbers
+remain the same.
 
 diff -urN xc.orig/programs/Xserver/hw/xfree86/drivers/chips/ct_driver.c xc/programs/Xserver/hw/xfree86/drivers/chips/ct_driver.c
 --- xc.orig/programs/Xserver/hw/xfree86/drivers/chips/ct_driver.c	2004-09-15 10:58:47.014750536 +1000
@@ -99,9 +102,218 @@
  	ErrorF("bomb 6\n");
  	return (FALSE);
      }
+diff -Naurd xc.orig/programs/Xserver/hw/xfree86/common/xf86str.h xc/programs/Xserver/hw/xfree86/common/xf86str.h
+--- xc.orig/programs/Xserver/hw/xfree86/common/xf86str.h	2004-09-15 10:05:46.000000000 +0000
++++ xc/programs/Xserver/hw/xfree86/common/xf86str.h	2004-09-15 10:14:05.000000000 +0000
+@@ -16,6 +16,7 @@
+ #include "input.h"
+ #include "scrnintstr.h"
+ #include "pixmapstr.h"
++#include "colormapst.h"
+ #include "xf86Module.h"
+ #include "xf86Opt.h"
+ #include "xf86Pci.h"
+@@ -747,7 +748,7 @@
+ typedef Bool xf86EnterVTProc              (int, int);
+ typedef void xf86LeaveVTProc              (int, int);
+ typedef void xf86FreeScreenProc           (int, int);
+-typedef int  xf86ValidModeProc            (int, DisplayModePtr, Bool, int);
++typedef ModeStatus xf86ValidModeProc            (int, DisplayModePtr, Bool, int);
+ typedef void xf86EnableDisableFBAccessProc(int, Bool);
+ typedef int  xf86SetDGAModeProc           (int, int, DGADevicePtr);
+ typedef int  xf86ChangeGammaProc          (int, Gamma);
+@@ -755,6 +756,8 @@
+ typedef Bool xf86PMEventProc              (int, pmEvent, Bool);
+ typedef int  xf86HandleMessageProc     (int, const char*, const char*, char**);
+ 
++typedef void xf86LoadPaletteProc	(ScrnInfoPtr, int, int *, LOCO *, VisualPtr);
++
+ /*
+  * ScrnInfoRec
+  *
+@@ -905,6 +908,7 @@
+     xf86PointerMovedProc		*PointerMoved;
+     xf86PMEventProc			*PMEvent;
+     xf86HandleMessageProc		*HandleMessage;
++    xf86LoadPaletteProc			*LoadPalette;
+     
+     /*
+      * This can be used when the minor ABI version is incremented.
+diff -Naurd xc.orig/programs/Xserver/hw/xfree86/fbdevhw/fbdevhw.c xc/programs/Xserver/hw/xfree86/fbdevhw/fbdevhw.c
+--- xc.orig/programs/Xserver/hw/xfree86/fbdevhw/fbdevhw.c	2004-09-15 10:05:46.000000000 +0000
++++ xc/programs/Xserver/hw/xfree86/fbdevhw/fbdevhw.c	2004-09-15 10:09:57.000000000 +0000
+@@ -873,3 +873,18 @@
+ 
+ 	return TRUE;
+ }
++
++xf86SwitchModeProc *
++fbdevHWSwitchModeWeak(void) { return fbdevHWSwitchMode; }
++
++xf86AdjustFrameProc *
++fbdevHWAdjustFrameWeak(void) { return fbdevHWAdjustFrame; }
++
++xf86LeaveVTProc *
++fbdevHWLeaveVTWeak(void) { return fbdevHWLeaveVT; }
++
++xf86ValidModeProc *
++fbdevHWValidModeWeak(void) { return fbdevHWValidMode; }
++
++xf86LoadPaletteProc *
++fbdevHWLoadPaletteWeak(void) { return fbdevHWLoadPalette; }
+diff -Naurd xc.orig/programs/Xserver/hw/xfree86/fbdevhw/fbdevhw.h xc/programs/Xserver/hw/xfree86/fbdevhw/fbdevhw.h
+--- xc.orig/programs/Xserver/hw/xfree86/fbdevhw/fbdevhw.h	2001-10-01 13:44:12.000000000 +0000
++++ xc/programs/Xserver/hw/xfree86/fbdevhw/fbdevhw.h	2004-09-15 10:09:57.000000000 +0000
+@@ -49,4 +49,10 @@
+ 
+ Bool  fbdevHWSaveScreen(ScreenPtr pScreen, int mode);
+ 
++xf86SwitchModeProc	*fbdevHWSwitchModeWeak(void);
++xf86AdjustFrameProc	*fbdevHWAdjustFrameWeak(void);
++xf86LeaveVTProc		*fbdevHWLeaveVTWeak(void);
++xf86ValidModeProc	*fbdevHWValidModeWeak(void);
++xf86LoadPaletteProc	*fbdevHWLoadPaletteWeak(void);
++
+ #endif
+diff -Naurd xc.orig/programs/Xserver/hw/xfree86/fbdevhw/fbdevhwstub.c xc/programs/Xserver/hw/xfree86/fbdevhw/fbdevhwstub.c
+--- xc.orig/programs/Xserver/hw/xfree86/fbdevhw/fbdevhwstub.c	2001-10-28 03:33:55.000000000 +0000
++++ xc/programs/Xserver/hw/xfree86/fbdevhw/fbdevhwstub.c	2004-09-15 10:09:57.000000000 +0000
+@@ -168,3 +168,18 @@
+ {
+ 	return FALSE;
+ }
++
++xf86SwitchModeProc *
++fbdevHWSwitchModeWeak(void) { return fbdevHWSwitchMode; }
++
++xf86AdjustFrameProc *
++fbdevHWAdjustFrameWeak(void) { return fbdevHWAdjustFrame; }
++
++xf86LeaveVTProc *
++fbdevHWLeaveVTWeak(void) { return fbdevHWLeaveVT; }
++
++xf86ValidModeProc *
++fbdevHWValidModeWeak(void) { return fbdevHWValidMode; }
++
++xf86LoadPaletteProc *
++fbdevHWLoadPaletteWeak(void) { return fbdevHWLoadPalette; }
+diff -Naurd xc.orig/programs/Xserver/hw/xfree86/xaa/xaaFallback.c xc/programs/Xserver/hw/xfree86/xaa/xaaFallback.c
+--- xc.orig/programs/Xserver/hw/xfree86/xaa/xaaFallback.c	1999-05-30 03:03:31.000000000 +0000
++++ xc/programs/Xserver/hw/xfree86/xaa/xaaFallback.c	2004-09-15 10:09:57.000000000 +0000
+@@ -1,4 +1,4 @@
+-/* $XFree86: xc/programs/Xserver/hw/xfree86/xaa/xaaFallback.c,v 1.5 1999/05/30 03:03:31 dawes Exp $ */
++/* $XFree86: xc/programs/Xserver/hw/xfree86/xaa/xaaFallback.c,v 1.4 1999/03/14 11:18:09 dawes Exp $ */
+ 
+ #include "misc.h"
+ #include "xf86.h"
+@@ -347,6 +347,7 @@
+     {NULL}		/* devPrivate */
+ };
+ 
+-
+-
+-
++GCOps *XAAGetFallbackOps(void)
++{
++    return &XAAFallbackOps;
++}
+diff -Naurd xc.orig/programs/Xserver/hw/xfree86/xaa/xaaROP.c xc/programs/Xserver/hw/xfree86/xaa/xaaROP.c
+--- xc.orig/programs/Xserver/hw/xfree86/xaa/xaaROP.c	2000-09-28 20:48:01.000000000 +0000
++++ xc/programs/Xserver/hw/xfree86/xaa/xaaROP.c	2004-09-15 10:09:57.000000000 +0000
+@@ -1,4 +1,4 @@
+-/* $XFree86: xc/programs/Xserver/hw/xfree86/xaa/xaaROP.c,v 1.2 2000/09/28 20:48:01 mvojkovi Exp $ */
++/* $XFree86$ */
+ 
+ #include "X.h"
+ #include "misc.h"
+@@ -94,6 +94,25 @@
+    ROP_DPo
+ };
+ 
++int XAAGetCopyROP(int i)
++{
++    return XAACopyROP[i];
++}
++
++int XAAGetCopyROP_PM(int i)
++{
++    return XAACopyROP_PM[i];
++}
++
++int XAAGetPatternROP(int i)
++{
++    return XAAPatternROP[i];
++}
++
++int XAAGetPatternROP_PM(int i)
++{
++    return XAAPatternROP_PM[i];
++}
+ 
+ int
+ XAAHelpPatternROP(ScrnInfoPtr pScrn, int *fg, int *bg, int pm, int *rop)
+diff -Naurd xc.orig/programs/Xserver/hw/xfree86/xaa/xaalocal.h xc/programs/Xserver/hw/xfree86/xaa/xaalocal.h
+--- xc.orig/programs/Xserver/hw/xfree86/xaa/xaalocal.h	2003-02-17 16:08:29.000000000 +0000
++++ xc/programs/Xserver/hw/xfree86/xaa/xaalocal.h	2004-09-15 10:09:57.000000000 +0000
+@@ -1626,6 +1626,7 @@
+     
+ 
+ extern GCOps XAAFallbackOps;
++extern GCOps *XAAGetFallbackOps(void);
+ extern GCFuncs XAAGCFuncs;
+ extern int XAAScreenIndex;
+ extern int XAAGCIndex;
+diff -Naurd xc.orig/programs/Xserver/hw/xfree86/xaa/xaarop.h xc/programs/Xserver/hw/xfree86/xaa/xaarop.h
+--- xc.orig/programs/Xserver/hw/xfree86/xaa/xaarop.h	1999-03-21 07:35:31.000000000 +0000
++++ xc/programs/Xserver/hw/xfree86/xaa/xaarop.h	2004-09-15 10:09:57.000000000 +0000
+@@ -1,4 +1,4 @@
+-/* $XFree86: xc/programs/Xserver/hw/xfree86/xaa/xaarop.h,v 1.1 1999/03/21 07:35:31 dawes Exp $ */
++/* $XFree86$ */
+ 
+ /*
+ 
+@@ -299,9 +299,15 @@
+ int XAAHelpSolidROP(ScrnInfoPtr pScrn, int *fg, int pm, int *rop);
+ int XAAHelpPatternROP(ScrnInfoPtr pScrn, int *fg, int *bg, int pm, int *rop);
+ 
++/* XXX These four should be static, but it breaks the 6.7.0 ABI. */
+ extern int XAACopyROP[16];
+ extern int XAACopyROP_PM[16];
+ extern int XAAPatternROP[16];
+ extern int XAAPatternROP_PM[16];
+ 
++extern int XAAGetCopyROP(int i);
++extern int XAAGetCopyROP_PM(int i);
++extern int XAAGetPatternROP(int i);
++extern int XAAGetPatternROP_PM(int i);
++
+ #endif /* _XAAROP_H */
+diff -Naurd xc.orig/programs/Xserver/hw/xfree86/input/keyboard/kbd.c xc/programs/Xserver/hw/xfree86/input/keyboard/kbd.c
+--- xc.orig/programs/Xserver/hw/xfree86/input/keyboard/kbd.c	2003-02-17 16:08:29.000000000 +0000
++++ xc/programs/Xserver/hw/xfree86/input/keyboard/kbd.c	2004-09-27 07:46:15.000000000 +0000
+@@ -573,6 +573,19 @@
+ 	      return;
+   }
+   
++#ifndef __sparc64__
++  /*
++   * PC keyboards generate separate key codes for
++   * Alt+Print and Control+Pause but in the X keyboard model
++   * they need to get the same key code as the base key on the same
++   * physical keyboard key.
++   */
++  if (scanCode == KEY_SysReqest)
++    scanCode = KEY_Print;
++  else if (scanCode == KEY_Break)
++    scanCode = KEY_Pause;
++#endif
++
+   /*
+    * Now map the scancodes to real X-keycodes ...
+    */
 diff -urN xc.orig/extras/Xpm/lib/Attrib.c xc/extras/Xpm/lib/Attrib.c
---- xc.orig/extras/Xpm/lib/Attrib.c	1999-01-12 00:23:09.000000000 +1100
-+++ xc/extras/Xpm/lib/Attrib.c	2004-09-15 11:00:13.481605576 +1000
+--- xc.orig/extras/Xpm/lib/Attrib.c	2004-11-15 10:46:11.439158200 +0100
++++ xc/extras/Xpm/lib/Attrib.c	2004-11-15 11:07:53.054282624 +0100
 @@ -35,7 +35,7 @@
  #include "XpmI.h"
  
@@ -129,8 +341,8 @@
      if (!colorTable) {
  	*oldct = NULL;
 diff -urN xc.orig/extras/Xpm/lib/CrDatFrI.c xc/extras/Xpm/lib/CrDatFrI.c
---- xc.orig/extras/Xpm/lib/CrDatFrI.c	2001-10-28 14:32:09.000000000 +1100
-+++ xc/extras/Xpm/lib/CrDatFrI.c	2004-09-15 11:00:13.482605424 +1000
+--- xc.orig/extras/Xpm/lib/CrDatFrI.c	2004-11-15 10:46:11.442157744 +0100
++++ xc/extras/Xpm/lib/CrDatFrI.c	2004-11-15 11:07:53.054282624 +0100
 @@ -124,6 +124,8 @@
       */
      header_nlines = 1 + image->ncolors;
@@ -141,8 +353,8 @@
      if (!header)
  	return (XpmNoMemory);
 diff -urN xc.orig/extras/Xpm/lib/WrFFrI.c xc/extras/Xpm/lib/WrFFrI.c
---- xc.orig/extras/Xpm/lib/WrFFrI.c	2001-10-28 14:32:09.000000000 +1100
-+++ xc/extras/Xpm/lib/WrFFrI.c	2004-09-15 11:00:13.499602840 +1000
+--- xc.orig/extras/Xpm/lib/WrFFrI.c	2004-11-15 10:46:11.449156680 +0100
++++ xc/extras/Xpm/lib/WrFFrI.c	2004-11-15 11:07:53.055282472 +0100
 @@ -248,6 +248,8 @@
      unsigned int x, y, h;
  
@@ -153,8 +365,8 @@
      if (!buf)
  	return (XpmNoMemory);
 diff -urN xc.orig/extras/Xpm/lib/XpmI.h xc/extras/Xpm/lib/XpmI.h
---- xc.orig/extras/Xpm/lib/XpmI.h	2002-01-08 06:40:23.000000000 +1100
-+++ xc/extras/Xpm/lib/XpmI.h	2004-09-15 11:00:13.506601776 +1000
+--- xc.orig/extras/Xpm/lib/XpmI.h	2004-11-15 10:46:11.452156224 +0100
++++ xc/extras/Xpm/lib/XpmI.h	2004-11-15 11:07:53.055282472 +0100
 @@ -85,6 +85,18 @@
  		boundCheckingCalloc((long)(nelem),(long) (elsize))
  #endif
@@ -188,8 +400,8 @@
  }      xpmHashTable;
  
 diff -urN xc.orig/extras/Xpm/lib/create.c xc/extras/Xpm/lib/create.c
---- xc.orig/extras/Xpm/lib/create.c	2002-01-08 06:40:49.000000000 +1100
-+++ xc/extras/Xpm/lib/create.c	2004-09-15 11:00:13.522599344 +1000
+--- xc.orig/extras/Xpm/lib/create.c	2004-11-15 10:46:11.459155160 +0100
++++ xc/extras/Xpm/lib/create.c	2004-11-15 11:07:53.057282168 +0100
 @@ -1,3 +1,4 @@
 +/* $XdotOrg: pre-CVS proposed fix for CESA-2004-003 alanc 7/25/2004 $ */
  /*
@@ -245,8 +457,8 @@
  	    if (USE_HASHTABLE) {
  		xpmHashAtom *slot;
 diff -urN xc.orig/extras/Xpm/lib/data.c xc/extras/Xpm/lib/data.c
---- xc.orig/extras/Xpm/lib/data.c	2002-01-08 06:40:49.000000000 +1100
-+++ xc/extras/Xpm/lib/data.c	2004-09-15 11:00:13.532597824 +1000
+--- xc.orig/extras/Xpm/lib/data.c	2004-11-15 10:46:11.460155008 +0100
++++ xc/extras/Xpm/lib/data.c	2004-11-15 11:07:53.058282016 +0100
 @@ -375,7 +375,7 @@
  {
      if (!data->type)
@@ -257,8 +469,8 @@
  	strncpy(*cmt, data->Comment, data->CommentLength);
  	(*cmt)[data->CommentLength] = '\0';
 diff -urN xc.orig/extras/Xpm/lib/hashtab.c xc/extras/Xpm/lib/hashtab.c
---- xc.orig/extras/Xpm/lib/hashtab.c	1999-01-12 00:23:11.000000000 +1100
-+++ xc/extras/Xpm/lib/hashtab.c	2004-09-15 11:00:13.533597672 +1000
+--- xc.orig/extras/Xpm/lib/hashtab.c	2004-11-15 10:46:11.461154856 +0100
++++ xc/extras/Xpm/lib/hashtab.c	2004-11-15 11:07:53.058282016 +0100
 @@ -135,7 +135,7 @@
      xpmHashTable *table;
  {
@@ -287,8 +499,8 @@
      if (!atomTable)
  	return (XpmNoMemory);
 diff -urN xc.orig/extras/Xpm/lib/parse.c xc/extras/Xpm/lib/parse.c
---- xc.orig/extras/Xpm/lib/parse.c	2001-10-28 14:32:10.000000000 +1100
-+++ xc/extras/Xpm/lib/parse.c	2004-09-15 11:00:13.541596456 +1000
+--- xc.orig/extras/Xpm/lib/parse.c	2004-11-15 10:46:11.464154400 +0100
++++ xc/extras/Xpm/lib/parse.c	2004-11-15 11:07:53.059281864 +0100
 @@ -1,3 +1,4 @@
 +/* $XdotOrg: pre-CVS proposed fix for CESA-2004-003 alanc 7/25/2004 $ */
  /*
@@ -470,8 +682,8 @@
  	    if (USE_HASHTABLE) {
  		xpmHashAtom *slot;
 diff -urN xc.orig/extras/Xpm/lib/scan.c xc/extras/Xpm/lib/scan.c
---- xc.orig/extras/Xpm/lib/scan.c	2002-01-08 06:40:49.000000000 +1100
-+++ xc/extras/Xpm/lib/scan.c	2004-09-15 11:00:13.563593112 +1000
+--- xc.orig/extras/Xpm/lib/scan.c	2004-11-15 10:46:11.469153640 +0100
++++ xc/extras/Xpm/lib/scan.c	2004-11-15 11:07:53.060281712 +0100
 @@ -107,7 +107,8 @@
  LFUNC(ScanTransparentColor, int, (XpmColor *color, unsigned int cpp,
  				  XpmAttributes *attributes));
@@ -538,8 +750,8 @@
      if (!xcolors)
  	return (XpmNoMemory);
 diff -urN xc.orig/lib/Xpm/Imakefile xc/lib/Xpm/Imakefile
---- xc.orig/lib/Xpm/Imakefile	2000-09-19 23:46:06.000000000 +1100
-+++ xc/lib/Xpm/Imakefile	2004-09-15 11:00:13.579590680 +1000
+--- xc.orig/lib/Xpm/Imakefile	2004-11-15 10:46:27.445724832 +0100
++++ xc/lib/Xpm/Imakefile	2004-11-15 11:07:53.060281712 +0100
 @@ -42,11 +42,16 @@
  SPRINTFDEF = -DVOID_SPRINTF
  #endif
@@ -558,212 +770,3 @@
  
  HEADERS = xpm.h
  
-diff -Naurd xc.orig/programs/Xserver/hw/xfree86/common/xf86str.h xc/programs/Xserver/hw/xfree86/common/xf86str.h
---- xc.orig/programs/Xserver/hw/xfree86/common/xf86str.h	2004-09-15 10:05:46.000000000 +0000
-+++ xc/programs/Xserver/hw/xfree86/common/xf86str.h	2004-09-15 10:14:05.000000000 +0000
-@@ -16,6 +16,7 @@
- #include "input.h"
- #include "scrnintstr.h"
- #include "pixmapstr.h"
-+#include "colormapst.h"
- #include "xf86Module.h"
- #include "xf86Opt.h"
- #include "xf86Pci.h"
-@@ -747,7 +748,7 @@
- typedef Bool xf86EnterVTProc              (int, int);
- typedef void xf86LeaveVTProc              (int, int);
- typedef void xf86FreeScreenProc           (int, int);
--typedef int  xf86ValidModeProc            (int, DisplayModePtr, Bool, int);
-+typedef ModeStatus xf86ValidModeProc            (int, DisplayModePtr, Bool, int);
- typedef void xf86EnableDisableFBAccessProc(int, Bool);
- typedef int  xf86SetDGAModeProc           (int, int, DGADevicePtr);
- typedef int  xf86ChangeGammaProc          (int, Gamma);
-@@ -755,6 +756,8 @@
- typedef Bool xf86PMEventProc              (int, pmEvent, Bool);
- typedef int  xf86HandleMessageProc     (int, const char*, const char*, char**);
- 
-+typedef void xf86LoadPaletteProc	(ScrnInfoPtr, int, int *, LOCO *, VisualPtr);
-+
- /*
-  * ScrnInfoRec
-  *
-@@ -905,6 +908,7 @@
-     xf86PointerMovedProc		*PointerMoved;
-     xf86PMEventProc			*PMEvent;
-     xf86HandleMessageProc		*HandleMessage;
-+    xf86LoadPaletteProc			*LoadPalette;
-     
-     /*
-      * This can be used when the minor ABI version is incremented.
-diff -Naurd xc.orig/programs/Xserver/hw/xfree86/fbdevhw/fbdevhw.c xc/programs/Xserver/hw/xfree86/fbdevhw/fbdevhw.c
---- xc.orig/programs/Xserver/hw/xfree86/fbdevhw/fbdevhw.c	2004-09-15 10:05:46.000000000 +0000
-+++ xc/programs/Xserver/hw/xfree86/fbdevhw/fbdevhw.c	2004-09-15 10:09:57.000000000 +0000
-@@ -873,3 +873,18 @@
- 
- 	return TRUE;
- }
-+
-+xf86SwitchModeProc *
-+fbdevHWSwitchModeWeak(void) { return fbdevHWSwitchMode; }
-+
-+xf86AdjustFrameProc *
-+fbdevHWAdjustFrameWeak(void) { return fbdevHWAdjustFrame; }
-+
-+xf86LeaveVTProc *
-+fbdevHWLeaveVTWeak(void) { return fbdevHWLeaveVT; }
-+
-+xf86ValidModeProc *
-+fbdevHWValidModeWeak(void) { return fbdevHWValidMode; }
-+
-+xf86LoadPaletteProc *
-+fbdevHWLoadPaletteWeak(void) { return fbdevHWLoadPalette; }
-diff -Naurd xc.orig/programs/Xserver/hw/xfree86/fbdevhw/fbdevhw.h xc/programs/Xserver/hw/xfree86/fbdevhw/fbdevhw.h
---- xc.orig/programs/Xserver/hw/xfree86/fbdevhw/fbdevhw.h	2001-10-01 13:44:12.000000000 +0000
-+++ xc/programs/Xserver/hw/xfree86/fbdevhw/fbdevhw.h	2004-09-15 10:09:57.000000000 +0000
-@@ -49,4 +49,10 @@
- 
- Bool  fbdevHWSaveScreen(ScreenPtr pScreen, int mode);
- 
-+xf86SwitchModeProc	*fbdevHWSwitchModeWeak(void);
-+xf86AdjustFrameProc	*fbdevHWAdjustFrameWeak(void);
-+xf86LeaveVTProc		*fbdevHWLeaveVTWeak(void);
-+xf86ValidModeProc	*fbdevHWValidModeWeak(void);
-+xf86LoadPaletteProc	*fbdevHWLoadPaletteWeak(void);
-+
- #endif
-diff -Naurd xc.orig/programs/Xserver/hw/xfree86/fbdevhw/fbdevhwstub.c xc/programs/Xserver/hw/xfree86/fbdevhw/fbdevhwstub.c
---- xc.orig/programs/Xserver/hw/xfree86/fbdevhw/fbdevhwstub.c	2001-10-28 03:33:55.000000000 +0000
-+++ xc/programs/Xserver/hw/xfree86/fbdevhw/fbdevhwstub.c	2004-09-15 10:09:57.000000000 +0000
-@@ -168,3 +168,18 @@
- {
- 	return FALSE;
- }
-+
-+xf86SwitchModeProc *
-+fbdevHWSwitchModeWeak(void) { return fbdevHWSwitchMode; }
-+
-+xf86AdjustFrameProc *
-+fbdevHWAdjustFrameWeak(void) { return fbdevHWAdjustFrame; }
-+
-+xf86LeaveVTProc *
-+fbdevHWLeaveVTWeak(void) { return fbdevHWLeaveVT; }
-+
-+xf86ValidModeProc *
-+fbdevHWValidModeWeak(void) { return fbdevHWValidMode; }
-+
-+xf86LoadPaletteProc *
-+fbdevHWLoadPaletteWeak(void) { return fbdevHWLoadPalette; }
-diff -Naurd xc.orig/programs/Xserver/hw/xfree86/xaa/xaaFallback.c xc/programs/Xserver/hw/xfree86/xaa/xaaFallback.c
---- xc.orig/programs/Xserver/hw/xfree86/xaa/xaaFallback.c	1999-05-30 03:03:31.000000000 +0000
-+++ xc/programs/Xserver/hw/xfree86/xaa/xaaFallback.c	2004-09-15 10:09:57.000000000 +0000
-@@ -1,4 +1,4 @@
--/* $XFree86: xc/programs/Xserver/hw/xfree86/xaa/xaaFallback.c,v 1.5 1999/05/30 03:03:31 dawes Exp $ */
-+/* $XFree86: xc/programs/Xserver/hw/xfree86/xaa/xaaFallback.c,v 1.4 1999/03/14 11:18:09 dawes Exp $ */
- 
- #include "misc.h"
- #include "xf86.h"
-@@ -347,6 +347,7 @@
-     {NULL}		/* devPrivate */
- };
- 
--
--
--
-+GCOps *XAAGetFallbackOps(void)
-+{
-+    return &XAAFallbackOps;
-+}
-diff -Naurd xc.orig/programs/Xserver/hw/xfree86/xaa/xaaROP.c xc/programs/Xserver/hw/xfree86/xaa/xaaROP.c
---- xc.orig/programs/Xserver/hw/xfree86/xaa/xaaROP.c	2000-09-28 20:48:01.000000000 +0000
-+++ xc/programs/Xserver/hw/xfree86/xaa/xaaROP.c	2004-09-15 10:09:57.000000000 +0000
-@@ -1,4 +1,4 @@
--/* $XFree86: xc/programs/Xserver/hw/xfree86/xaa/xaaROP.c,v 1.2 2000/09/28 20:48:01 mvojkovi Exp $ */
-+/* $XFree86$ */
- 
- #include "X.h"
- #include "misc.h"
-@@ -94,6 +94,25 @@
-    ROP_DPo
- };
- 
-+int XAAGetCopyROP(int i)
-+{
-+    return XAACopyROP[i];
-+}
-+
-+int XAAGetCopyROP_PM(int i)
-+{
-+    return XAACopyROP_PM[i];
-+}
-+
-+int XAAGetPatternROP(int i)
-+{
-+    return XAAPatternROP[i];
-+}
-+
-+int XAAGetPatternROP_PM(int i)
-+{
-+    return XAAPatternROP_PM[i];
-+}
- 
- int
- XAAHelpPatternROP(ScrnInfoPtr pScrn, int *fg, int *bg, int pm, int *rop)
-diff -Naurd xc.orig/programs/Xserver/hw/xfree86/xaa/xaalocal.h xc/programs/Xserver/hw/xfree86/xaa/xaalocal.h
---- xc.orig/programs/Xserver/hw/xfree86/xaa/xaalocal.h	2003-02-17 16:08:29.000000000 +0000
-+++ xc/programs/Xserver/hw/xfree86/xaa/xaalocal.h	2004-09-15 10:09:57.000000000 +0000
-@@ -1626,6 +1626,7 @@
-     
- 
- extern GCOps XAAFallbackOps;
-+extern GCOps *XAAGetFallbackOps(void);
- extern GCFuncs XAAGCFuncs;
- extern int XAAScreenIndex;
- extern int XAAGCIndex;
-diff -Naurd xc.orig/programs/Xserver/hw/xfree86/xaa/xaarop.h xc/programs/Xserver/hw/xfree86/xaa/xaarop.h
---- xc.orig/programs/Xserver/hw/xfree86/xaa/xaarop.h	1999-03-21 07:35:31.000000000 +0000
-+++ xc/programs/Xserver/hw/xfree86/xaa/xaarop.h	2004-09-15 10:09:57.000000000 +0000
-@@ -1,4 +1,4 @@
--/* $XFree86: xc/programs/Xserver/hw/xfree86/xaa/xaarop.h,v 1.1 1999/03/21 07:35:31 dawes Exp $ */
-+/* $XFree86$ */
- 
- /*
- 
-@@ -299,9 +299,15 @@
- int XAAHelpSolidROP(ScrnInfoPtr pScrn, int *fg, int pm, int *rop);
- int XAAHelpPatternROP(ScrnInfoPtr pScrn, int *fg, int *bg, int pm, int *rop);
- 
-+/* XXX These four should be static, but it breaks the 6.7.0 ABI. */
- extern int XAACopyROP[16];
- extern int XAACopyROP_PM[16];
- extern int XAAPatternROP[16];
- extern int XAAPatternROP_PM[16];
- 
-+extern int XAAGetCopyROP(int i);
-+extern int XAAGetCopyROP_PM(int i);
-+extern int XAAGetPatternROP(int i);
-+extern int XAAGetPatternROP_PM(int i);
-+
- #endif /* _XAAROP_H */
-diff -Naurd xc.orig/programs/Xserver/hw/xfree86/input/keyboard/kbd.c xc/programs/Xserver/hw/xfree86/input/keyboard/kbd.c
---- xc.orig/programs/Xserver/hw/xfree86/input/keyboard/kbd.c	2003-02-17 16:08:29.000000000 +0000
-+++ xc/programs/Xserver/hw/xfree86/input/keyboard/kbd.c	2004-09-27 07:46:15.000000000 +0000
-@@ -573,6 +573,19 @@
- 	      return;
-   }
-   
-+#ifndef __sparc64__
-+  /*
-+   * PC keyboards generate separate key codes for
-+   * Alt+Print and Control+Pause but in the X keyboard model
-+   * they need to get the same key code as the base key on the same
-+   * physical keyboard key.
-+   */
-+  if (scanCode == KEY_SysReqest)
-+    scanCode = KEY_Print;
-+  else if (scanCode == KEY_Break)
-+    scanCode = KEY_Pause;
-+#endif
-+
-   /*
-    * Now map the scancodes to real X-keycodes ...
-    */



Reply to: