Git-Url: 
http://git.frugalware.org/gitweb/gitweb.cgi?p=xorg73.git;a=commitdiff;h=2c249b2dda1925565e2790cd563fb82521a04a4c

commit 2c249b2dda1925565e2790cd563fb82521a04a4c
Author: crazy <[EMAIL PROTECTED]>
Date:   Sat Jan 19 10:41:21 2008 +0100

xorg-server-1.4.0.90-2-i686
* added backports patches from 1.4-branch

diff --git a/source/x11/xorg-server/FrugalBuild 
b/source/x11/xorg-server/FrugalBuild
index 3a73663..d2e8764 100644
--- a/source/x11/xorg-server/FrugalBuild
+++ b/source/x11/xorg-server/FrugalBuild
@@ -29,6 +29,15 @@ source=([EMAIL PROTECTED] \
http://$_F_sourceforge_mirror.dl.sourceforge.net/sourceforge/mesa3d/MesaLib-$mesaver.tar.bz2
 \
ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/patches/xorg-xserver-1.4-multiple-overflows.diff
 \
revert-CVE-2007-6429.patch \
+       bug13308-Verify-and-reject-obviously-broken-modes.patch \
+       fix-bgPixel-unsigned-long-issues.patch \
+       OS-Don-t-leak-connection-translation-table.patch \
+       KDrive-Xephyr-Don-t-leak-screen-damage-structure.patch \
+       Input-Don-t-reinit-devices.patch \
+       bug13511.patch \
+       OS-IO-Zero-out-client-buffers.patch \
+       XKB-XkbCopyKeymap-Don-t-leak-all-the-sections.patch \
+       Xephyr-One-time-keyboard-leak-fix.patch \
01-kernel-headers-fix.patch \
02-access_c_skip_null_addresses.patch \
03-black-background.patch \
@@ -47,6 +56,15 @@ sha1sums=('7c492ac32bd83b521f5c016e4728fccf9cba55db' \
'd16eaeb1d9d95d11d3b6d289b1ba87108b88da90' \
'b3c9013aa6abc30fabd8f6a85e427f5fd6e6ef6c' \
'70953105acc839ca4e377b9ba6f8ea5589f8e46b' \
+          '838c1144516368be4b15ab1b22d1a557fc8261ba' \
+          '03313ab37223329913354321449d7e818c69c937' \
+          '4d35fe70d5af830ac732fe74260d8483c390461c' \
+          'a0c51b280ef74f64a4b4e885d2476fc6600197a4' \
+          'ee204c0d14f483bd2b3cd81b7c935c1b8e33b10e' \
+          'cc156003c1e8787b04f6949d4e12f859e939c5e6' \
+          '3a65997e9bcf16614f6b67498d7bfd5cf1bc9299' \
+          '553af71b1f799281c6f9ab2537107f017774e9fc' \
+          '12b0b027976a64586ad5f014cdc796b93eaa301b' \
'f31702e0029b2d68018598e73ed55c4d6c58367b' \
'859b98a4049400be152032fc09ceff2afe9e6dcf' \
'863ad92892785c3785b122bf54d0def4d4d2732c' \
@@ -130,9 +148,10 @@ build() {
## Fpatch no-aiglx.patch
## workaround ATI's closes source c***
## see https://bugs.freedesktop.org/show_bug.cgi?id=9367
-       ##############
-       # DISABLED AT 1.4 (we will see whats up ##
-#      Fpatch bug-9367.patch
+       ##
+       ## DISABLED for 1.4 (we will see whats up )
+       #Fpatch bug-9367.patch
+       #############
Fpatch 1.4-fix-xephyr-link.patch
Fpatch 1.4-fix-dmx-build.patch
Fpatch 1.4-fix-dmx-link.patch
@@ -141,7 +160,18 @@ build() {
Fpatch xorg-xserver-1.4-multiple-overflows.diff
## revert CVE-2007-6429 untill that issue is fixed in a way to not break
## gazillons other applications
+       Fmessage "Reverting CVE-2007-6429.patch for now"
patch -p1 -R -i ../revert-CVE-2007-6429.patch || Fdie
+       ## fixes from 1.4-branch
+       Fpatch bug13308-Verify-and-reject-obviously-broken-modes.patch
+       Fpatch fix-bgPixel-unsigned-long-issues.patch
+       Fpatch OS-Don-t-leak-connection-translation-table.patch
+       Fpatch KDrive-Xephyr-Don-t-leak-screen-damage-structure.patch
+       Fpatch Input-Don-t-reinit-devices.patch
+       Fpatch bug13511.patch
+       Fpatch OS-IO-Zero-out-client-buffers.patch
+       Fpatch XKB-XkbCopyKeymap-Don-t-leak-all-the-sections.patch
+       Fpatch Xephyr-One-time-keyboard-leak-fix.patch
## GCC 4.2.0 bug do **NOT** remove this hack or it will kill your box!!
## http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30052
echo 'CFLAGS = @CFLAGS@ -O0' >> hw/xfree86/scanpci/Makefile.am
diff --git a/source/x11/xorg-server/Input-Don-t-reinit-devices.patch 
b/source/x11/xorg-server/Input-Don-t-reinit-devices.patch
new file mode 100644
index 0000000..9afdb4e
--- /dev/null
+++ b/source/x11/xorg-server/Input-Don-t-reinit-devices.patch
@@ -0,0 +1,29 @@
+From 102c012c206cbb3bbf0fa5b0c8f0ce2ce9bba72a Mon Sep 17 00:00:00 2001
+From: Daniel Stone <[EMAIL PROTECTED]>
+Date: Fri, 28 Dec 2007 15:49:50 +0200
+Subject: [PATCH] Input: Don't reinit devices
+
+If a device is already initialised (i.e. the virtual core devices) during
+IASD, don't init them again.  This fixes a leak.
+(cherry picked from commit 1f6015c8fe62c28cfaa82cc855b5b9c28fd34607)
+---
+ dix/devices.c |    3 ++-
+ 1 files changed, 2 insertions(+), 1 deletions(-)
+
+diff --git a/dix/devices.c b/dix/devices.c
+index 287d730..f6f3c8e 100644
+--- a/dix/devices.c
++++ b/dix/devices.c
+@@ -473,7 +473,8 @@ InitAndStartDevices(void)
+
+     for (dev = inputInfo.off_devices; dev; dev = dev->next) {
+         DebugF("(dix) initialising device %d\n", dev->id);
+-      ActivateDevice(dev);
++        if (!dev->inited)
++            ActivateDevice(dev);
+     }
+     for (dev = inputInfo.off_devices; dev; dev = next)
+     {
+--
+1.5.3.8
+
diff --git 
a/source/x11/xorg-server/KDrive-Xephyr-Don-t-leak-screen-damage-structure.patch 
b/source/x11/xorg-server/KDrive-Xephyr-Don-t-leak-screen-damage-structure.patch
new file mode 100644
index 0000000..c8a321c
--- /dev/null
+++ 
b/source/x11/xorg-server/KDrive-Xephyr-Don-t-leak-screen-damage-structure.patch
@@ -0,0 +1,25 @@
+From a304fc1d4a7062f65161ef8748fd358639ec73de Mon Sep 17 00:00:00 2001
+From: Daniel Stone <[EMAIL PROTECTED]>
+Date: Fri, 28 Dec 2007 15:48:57 +0200
+Subject: [PATCH] KDrive: Xephyr: Don't leak screen damage structure
+ (cherry picked from commit 0b03d97a244540824c922c300adbc3d3ae4855d5)
+
+---
+ hw/kdrive/ephyr/ephyr.c |    1 +
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+
+diff --git a/hw/kdrive/ephyr/ephyr.c b/hw/kdrive/ephyr/ephyr.c
+index e8001df..27165a5 100644
+--- a/hw/kdrive/ephyr/ephyr.c
++++ b/hw/kdrive/ephyr/ephyr.c
+@@ -394,6 +394,7 @@ ephyrUnsetInternalDamage (ScreenPtr pScreen)
+
+   pPixmap = (*pScreen->GetScreenPixmap) (pScreen);
+   DamageUnregister (&pPixmap->drawable, scrpriv->pDamage);
++  DamageDestroy (scrpriv->pDamage);
+
+   RemoveBlockAndWakeupHandlers (ephyrInternalDamageBlockHandler,
+                               ephyrInternalDamageWakeupHandler,
+--
+1.5.3.8
+
diff --git 
a/source/x11/xorg-server/OS-Don-t-leak-connection-translation-table.patch 
b/source/x11/xorg-server/OS-Don-t-leak-connection-translation-table.patch
new file mode 100644
index 0000000..351f884
--- /dev/null
+++ b/source/x11/xorg-server/OS-Don-t-leak-connection-translation-table.patch
@@ -0,0 +1,27 @@
+From 38d8cfaaff0ae6273d9e921aae08b2706355f0d2 Mon Sep 17 00:00:00 2001
+From: Daniel Stone <[EMAIL PROTECTED]>
+Date: Fri, 28 Dec 2007 15:48:25 +0200
+Subject: [PATCH] OS: Don't leak connection translation table on regeneration
+ (cherry picked from commit e868e0bc0d2318e62707d3ae68532b0029959154)
+
+---
+ os/connection.c |    3 ++-
+ 1 files changed, 2 insertions(+), 1 deletions(-)
+
+diff --git a/os/connection.c b/os/connection.c
+index b944593..d1ba845 100644
+--- a/os/connection.c
++++ b/os/connection.c
+@@ -353,7 +353,8 @@ InitConnectionLimits(void)
+ #endif
+
+ #if !defined(WIN32)
+-    ConnectionTranslation = (int *)xnfalloc(sizeof(int)*(lastfdesc + 1));
++    if (!ConnectionTranslation)
++        ConnectionTranslation = (int *)xnfalloc(sizeof(int)*(lastfdesc + 1));
+ #else
+     InitConnectionTranslation();
+ #endif
+--
+1.5.3.8
+
diff --git a/source/x11/xorg-server/OS-IO-Zero-out-client-buffers.patch 
b/source/x11/xorg-server/OS-IO-Zero-out-client-buffers.patch
new file mode 100644
index 0000000..9f3dfe3
--- /dev/null
+++ b/source/x11/xorg-server/OS-IO-Zero-out-client-buffers.patch
@@ -0,0 +1,28 @@
+From 02e805f0ff4b6af551372ba5fc5fb369c8834d1d Mon Sep 17 00:00:00 2001
+From: Daniel Stone <[EMAIL PROTECTED]>
+Date: Sat, 5 Jan 2008 10:38:16 +0200
+Subject: [PATCH] OS: IO: Zero out client buffers
+
+For alignment reasons, we can write out uninitialised bytes, so allocate
+the whole thing with xcalloc.
+(cherry picked from commit b99a43dfe97c1813e1c61f298b1c83c5d5ca88a2)
+---
+ os/io.c |    2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/os/io.c b/os/io.c
+index 9de75ee..a8b84fb 100644
+--- a/os/io.c
++++ b/os/io.c
+@@ -1197,7 +1197,7 @@ AllocateOutputBuffer(void)
+     oco = (ConnectionOutputPtr)xalloc(sizeof(ConnectionOutput));
+     if (!oco)
+       return (ConnectionOutputPtr)NULL;
+-    oco->buf = (unsigned char *) xalloc(BUFSIZE);
++    oco->buf = (unsigned char *) xcalloc(1, BUFSIZE);
+     if (!oco->buf)
+     {
+       xfree(oco);
+--
+1.5.3.8
+
diff --git 
a/source/x11/xorg-server/XKB-XkbCopyKeymap-Don-t-leak-all-the-sections.patch 
b/source/x11/xorg-server/XKB-XkbCopyKeymap-Don-t-leak-all-the-sections.patch
new file mode 100644
index 0000000..d7d3a5d
--- /dev/null
+++ b/source/x11/xorg-server/XKB-XkbCopyKeymap-Don-t-leak-all-the-sections.patch
@@ -0,0 +1,27 @@
+From 8a3acd3ec41b887b4aeaa0b2932265522c1e2836 Mon Sep 17 00:00:00 2001
+From: Daniel Stone <[EMAIL PROTECTED]>
+Date: Sat, 5 Jan 2008 10:43:53 +0200
+Subject: [PATCH] XKB: XkbCopyKeymap: Don't leak all the sections
+
+Previously, we'd just keep num_sections at 0, which would break the
+geometry and lead us to leak sections.  Don't do that.
+(cherry picked from commit 0137b0394a248f694448a7d97c9a1a3efcf24e81)
+---
+ xkb/xkbUtils.c |    1 +
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+
+diff --git a/xkb/xkbUtils.c b/xkb/xkbUtils.c
+index c7f9a26..e90df0d 100644
+--- a/xkb/xkbUtils.c
++++ b/xkb/xkbUtils.c
+@@ -1770,6 +1770,7 @@ XkbCopyKeymap(XkbDescPtr src, XkbDescPtr dst, Bool 
sendNotifies)
+             if (!tmp)
+                 return FALSE;
+             dst->geom->sections = tmp;
++            dst->geom->num_sections = src->geom->num_sections;
+
+             for (i = 0,
+                   ssection = src->geom->sections,
+--
+1.5.3.8
+
diff --git a/source/x11/xorg-server/Xephyr-One-time-keyboard-leak-fix.patch 
b/source/x11/xorg-server/Xephyr-One-time-keyboard-leak-fix.patch
new file mode 100644
index 0000000..1cd1091
--- /dev/null
+++ b/source/x11/xorg-server/Xephyr-One-time-keyboard-leak-fix.patch
@@ -0,0 +1,26 @@
+From 636aa9e7be2822a0148067a11499ad48fe682cd9 Mon Sep 17 00:00:00 2001
+From: Daniel Stone <[EMAIL PROTECTED]>
+Date: Sat, 5 Jan 2008 10:47:39 +0200
+Subject: [PATCH] Xephyr: One-time keyboard leak fix
+
+Don't leak the originally-allocated keysym map.
+(cherry picked from commit e85130c85f727466fc27be1cfa46c88b257499fb)
+---
+ hw/kdrive/ephyr/ephyr.c |    1 +
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+
+diff --git a/hw/kdrive/ephyr/ephyr.c b/hw/kdrive/ephyr/ephyr.c
+index 27165a5..86e8f1f 100644
+--- a/hw/kdrive/ephyr/ephyr.c
++++ b/hw/kdrive/ephyr/ephyr.c
+@@ -915,6 +915,7 @@ EphyrKeyboardInit (KdKeyboardInfo *ki)
+   ki->minScanCode = ki->keySyms.minKeyCode;
+   ki->maxScanCode = ki->keySyms.maxKeyCode;
+   ki->keySyms.mapWidth = ephyrKeySyms.mapWidth;
++  xfree(ki->keySyms.map);
+   ki->keySyms.map = ephyrKeySyms.map;
+   ki->name = KdSaveString("Xephyr virtual keyboard");
+   ephyrKbd = ki;
+--
+1.5.3.8
+
diff --git 
a/source/x11/xorg-server/bug13308-Verify-and-reject-obviously-broken-modes.patch
 
b/source/x11/xorg-server/bug13308-Verify-and-reject-obviously-broken-modes.patch
new file mode 100644
index 0000000..fabc8d7
--- /dev/null
+++ 
b/source/x11/xorg-server/bug13308-Verify-and-reject-obviously-broken-modes.patch
@@ -0,0 +1,30 @@
+From f4bcb53e86bb103b6bcf8a3a170a36137c34d272 Mon Sep 17 00:00:00 2001
+From: Hong Liu <[EMAIL PROTECTED]>
+Date: Wed, 5 Dec 2007 17:48:28 +0100
+Subject: [PATCH] Bug 13308: Verify and reject obviously broken modes.
+ (cherry picked from commit c6cfcd408df3e44d0094946c0a7d2fa944b4d2d1)
+
+---
+ hw/xfree86/modes/xf86EdidModes.c |    6 ++++++
+ 1 files changed, 6 insertions(+), 0 deletions(-)
+
+diff --git a/hw/xfree86/modes/xf86EdidModes.c 
b/hw/xfree86/modes/xf86EdidModes.c
+index 8b5e69d..e2ae665 100644
+--- a/hw/xfree86/modes/xf86EdidModes.c
++++ b/hw/xfree86/modes/xf86EdidModes.c
+@@ -239,6 +239,12 @@ DDCModeFromDetailedTiming(int scrnIndex, struct 
detailed_timings *timing,
+     Mode->VSyncEnd = Mode->VSyncStart + timing->v_sync_width;
+     Mode->VTotal = timing->v_active + timing->v_blanking;
+
++    /* perform basic check on the detail timing */
++    if (Mode->HSyncEnd > Mode->HTotal || Mode->VSyncEnd > Mode->VTotal) {
++      xfree(Mode);
++      return NULL;
++    }
++
+     xf86SetModeDefaultName(Mode);
+
+     /* We ignore h/v_size and h/v_border for now. */
+--
+1.5.3.8
+
diff --git a/source/x11/xorg-server/bug13511.patch 
b/source/x11/xorg-server/bug13511.patch
new file mode 100644
index 0000000..2b709b8
--- /dev/null
+++ b/source/x11/xorg-server/bug13511.patch
@@ -0,0 +1,37 @@
+From 60144ac814ee26e151186f7c93cb1a273468d497 Mon Sep 17 00:00:00 2001
+From: Peter Hutterer <[EMAIL PROTECTED]>
+Date: Wed, 19 Dec 2007 16:20:36 +1030
+Subject: [PATCH] include: never overwrite realInputProc with enqueueInputProc. 
Bug #13511
+
+In some cases (triggered by a key repeat during a sync grab) XKB unwrapping
+can overwrite the device's realInputProc with the enqueueInputProc. When the
+grab is released and the events are replayed, we end up in an infinite loop.
+Each event is replayed and in replaying pushed to the end of the queue again.
+
+This fix is a hack only. It ensures that the realInputProc is never
+overwritten with the enqueueInputProc.
+
+This fixes Bug #13511 (https://bugs.freedesktop.org/show_bug.cgi?id=13511)
+(cherry picked from commit eace88989c3b65d5c20e9f37ea9b23c7c8e19335)
+(cherry picked from commit 50e80c39870adfdc84fdbc00dddf1362117ad443)
+---
+ include/xkbsrv.h |    3 ++-
+ 1 files changed, 2 insertions(+), 1 deletions(-)
+
+diff --git a/include/xkbsrv.h b/include/xkbsrv.h
+index 167dbec..9174eb6 100644
+--- a/include/xkbsrv.h
++++ b/include/xkbsrv.h
+@@ -258,7 +258,8 @@ typedef struct
+           device->public.processInputProc = proc; \
+       oldprocs->processInputProc = \
+       oldprocs->realInputProc = device->public.realInputProc; \
+-      device->public.realInputProc = proc; \
++      if (proc != device->public.enqueueInputProc) \
++              device->public.realInputProc = proc; \
+       oldprocs->unwrapProc = device->unwrapProc; \
+       device->unwrapProc = unwrapproc;
+
+--
+1.5.3.8
+
diff --git a/source/x11/xorg-server/fix-bgPixel-unsigned-long-issues.patch 
b/source/x11/xorg-server/fix-bgPixel-unsigned-long-issues.patch
new file mode 100644
index 0000000..89ac69e
--- /dev/null
+++ b/source/x11/xorg-server/fix-bgPixel-unsigned-long-issues.patch
@@ -0,0 +1,34 @@
+From 41f735fbe02f59bc7bcca335c6e743c72c2fc44c Mon Sep 17 00:00:00 2001
+From: Hong Liu <[EMAIL PROTECTED]>
+Date: Tue, 4 Sep 2007 08:46:46 +0100
+Subject: [PATCH] bgPixel (unsigned long) is 64-bit on x86_64, so -1 != 
0xffffffff
+
+This patch should fix bug 8080.
+(cherry picked from commit 9adea807038b64292403ede982075fe1dcfd4c9a)
+---
+ hw/xfree86/xaa/xaaGC.c |    9 +++++----
+ 1 files changed, 5 insertions(+), 4 deletions(-)
+
+diff --git a/hw/xfree86/xaa/xaaGC.c b/hw/xfree86/xaa/xaaGC.c
+index f3434c9..b3dc83a 100644
+--- a/hw/xfree86/xaa/xaaGC.c
++++ b/hw/xfree86/xaa/xaaGC.c
+@@ -80,10 +80,11 @@ XAAValidateGC(
+     }
+
+     if(pGC->depth != 32) {
+-      if(pGC->bgPixel == -1) /* -1 is reserved for transparency */
+-          pGC->bgPixel = 0x7fffffff;
+-      if(pGC->fgPixel == -1) /* -1 is reserved for transparency */
+-          pGC->fgPixel = 0x7fffffff;
++      /* 0xffffffff is reserved for transparency */
++      if(pGC->bgPixel == 0xffffffff)
++          pGC->bgPixel = 0x7fffffff;
++      if(pGC->fgPixel == 0xffffffff)
++          pGC->fgPixel = 0x7fffffff;
+     }
+
+     if((pDraw->type == DRAWABLE_PIXMAP) && !IS_OFFSCREEN_PIXMAP(pDraw)){
+--
+1.5.3.8
+
_______________________________________________
Frugalware-git mailing list
[email protected]
http://frugalware.org/mailman/listinfo/frugalware-git

Reply via email to