xorg-server: Changes to 'debian-unstable'
ChangeLog | 86 +++++++++
GL/glx/glxdri.c | 8
Xext/security.c | 2
Xext/shm.c | 12 -
composite/compwindow.c | 25 ++
debian/changelog | 9 -
debian/control | 88 +++++-----
debian/patches/42_dont_break_grab_and_focus_for_window_when_redirecting.diff | 33 ---
debian/patches/series | 1
debian/rules | 2
dix/window.c | 3
hw/xfree86/modes/xf86Rotate.c | 4
12 files changed, 181 insertions(+), 92 deletions(-)
New commits:
commit e82c44d7a62d5c22324888b64c6f1246fd2559ea
Author: Julien Cristau <jcristau@debian.org>
Date: Fri Mar 14 14:52:53 2008 +0100
Prepare changelog for upload
diff --git a/debian/changelog b/debian/changelog
index e483d6c..e3824db 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,4 +1,4 @@
-xorg-server (2:1.4.1~git20080131-2) UNRELEASED; urgency=low
+xorg-server (2:1.4.1~git20080131-2) unstable; urgency=low
[ Brice Goglin ]
* Add 46_reduce_wakeups_from_smart_scheduler.patch to reduce
@@ -26,7 +26,7 @@ xorg-server (2:1.4.1~git20080131-2) UNRELEASED; urgency=low
[ David Nusinow ]
* Add 11_dont_crash_on_bad_dri_mode. See bugzilla #13860
- -- David Nusinow <dnusinow@debian.org> Sun, 02 Mar 2008 10:02:40 -0500
+ -- Julien Cristau <jcristau@debian.org> Fri, 14 Mar 2008 15:18:16 +0100
xorg-server (2:1.4.1~git20080131-1) unstable; urgency=low
commit 6894d3582bc89b3466df9732d9bff529c07d0258
Author: Julien Cristau <jcristau@debian.org>
Date: Fri Mar 14 15:16:36 2008 +0100
Don't build xprint, because it needs NEW processing.
I want to get this in sid.
diff --git a/debian/changelog b/debian/changelog
index 45e2235..e483d6c 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -12,7 +12,6 @@ xorg-server (2:1.4.1~git20080131-2) UNRELEASED; urgency=low
XSERVER_LIBS as expected in configure.ac from master (see commit
a02db0d500cac20d0f0f107d27c064a175018421). Delete
94_xprint_XSERVER_LIBS when we upgrade to xserver 1.5.
- Closes: #448970.
[ Julien Cristau ]
* Re-enable patch 51_xkb-and-loathing.diff: ignore SIGALRM around calls to
@@ -22,6 +21,7 @@ xorg-server (2:1.4.1~git20080131-2) UNRELEASED; urgency=low
* Pull from upstream server-1.4-branch as of March 14th.
* 42_dont_break_grab_and_focus_for_window_when_redirecting.diff removed,
applied upstream.
+ * Don't build xprint just yet, because it needs NEW processing.
[ David Nusinow ]
* Add 11_dont_crash_on_bad_dri_mode. See bugzilla #13860
diff --git a/debian/control b/debian/control
index 1c00a3d..fb9bd70 100644
--- a/debian/control
+++ b/debian/control
@@ -200,50 +200,50 @@ Description: nested X server
# .
# This package is built from the X.org xserver module.
-Package: xprint
-Architecture: any
-Depends: ${shlibs:Depends}, ${misc:Depends}, xprint-common, libxfont1 (>= 1:1.1)
-Recommends: xprint-utils
-Conflicts: xprt (<= 4.3.0.dfsg.1-10)
-Description: X11 print system (binary)
- Xprint is an advanced printing system which enables X11 applications
- to use devices like printers, fax or create documents in formats like
- PostScript, PDF, PCL, etc.
- .
- This package provides Xprt, the Xprint server compiled from
- xprint.mozdev.org, an X.org subproject. Xprint provides superior support
- for printing from Mozilla, including non-Latin characters and MathML.
- TrueType fonts are supported.
- .
- Xprint uses ttf2pt1 internally for some font support.
- .
- More information about X.Org can be found at:
- <URL:http://www.X.org>
- <URL:http://xorg.freedesktop.org>
- <URL:http://lists.freedesktop.org/mailman/listinfo/xorg>
- .
- This package is built from the X.org xserver module.
-
-Package: xprint-common
-Architecture: all
-Depends: xbase-clients, xfonts-encodings, x11-common (>= 1:7.0.12), ${shlibs:Depends}, ${misc:Depends}
-Recommends: xprint, xfonts-base
-Conflicts: xprt-common
-Replaces: xprt-common
-Description: Xprint - the X11 print system (configuration files)
- Xprint is an advanced printing system which enables X11 applications
- to use devices like printers, FAX or create documents in formats like
- PostScript, PDF, PCL, etc.
- .
- This package provides the configuration and Postscript definition files
- required to run Xprt, the Xprint server. Xprt is provided by xprint.
- .
- More information about X.Org can be found at:
- <URL:http://www.X.org>
- <URL:http://xorg.freedesktop.org>
- <URL:http://lists.freedesktop.org/mailman/listinfo/xorg>
- .
- This package is built from the X.org xserver module.
+#Package: xprint
+#Architecture: any
+#Depends: ${shlibs:Depends}, ${misc:Depends}, xprint-common, libxfont1 (>= 1:1.1)
+#Recommends: xprint-utils
+#Conflicts: xprt (<= 4.3.0.dfsg.1-10)
+#Description: X11 print system (binary)
+# Xprint is an advanced printing system which enables X11 applications
+# to use devices like printers, fax or create documents in formats like
+# PostScript, PDF, PCL, etc.
+# .
+# This package provides Xprt, the Xprint server compiled from
+# xprint.mozdev.org, an X.org subproject. Xprint provides superior support
+# for printing from Mozilla, including non-Latin characters and MathML.
+# TrueType fonts are supported.
+# .
+# Xprint uses ttf2pt1 internally for some font support.
+# .
+# More information about X.Org can be found at:
+# <URL:http://www.X.org>
+# <URL:http://xorg.freedesktop.org>
+# <URL:http://lists.freedesktop.org/mailman/listinfo/xorg>
+# .
+# This package is built from the X.org xserver module.
+#
+#Package: xprint-common
+#Architecture: all
+#Depends: xbase-clients, xfonts-encodings, x11-common (>= 1:7.0.12), ${shlibs:Depends}, ${misc:Depends}
+#Recommends: xprint, xfonts-base
+#Conflicts: xprt-common
+#Replaces: xprt-common
+#Description: Xprint - the X11 print system (configuration files)
+# Xprint is an advanced printing system which enables X11 applications
+# to use devices like printers, FAX or create documents in formats like
+# PostScript, PDF, PCL, etc.
+# .
+# This package provides the configuration and Postscript definition files
+# required to run Xprt, the Xprint server. Xprt is provided by xprint.
+# .
+# More information about X.Org can be found at:
+# <URL:http://www.X.org>
+# <URL:http://xorg.freedesktop.org>
+# <URL:http://lists.freedesktop.org/mailman/listinfo/xorg>
+# .
+# This package is built from the X.org xserver module.
Package: xserver-xorg-core-dbg
Architecture: any
diff --git a/debian/rules b/debian/rules
index 73adc86..ab4e4f7 100755
--- a/debian/rules
+++ b/debian/rules
@@ -35,7 +35,7 @@ endif
build_xfbdev = --disable-xfbdev
#endif
-BUILD_XPRINT = true
+BUILD_XPRINT = false
ifeq ($(BUILD_XPRINT), true)
confflags += --enable-xprint
else
commit c7968c774433d17786b1db5a86a5875da1678040
Author: Julien Cristau <jcristau@debian.org>
Date: Fri Mar 14 14:47:06 2008 +0100
Pull from upstream server-1.4-branch as of March 14th.
- 42_dont_break_grab_and_focus_for_window_when_redirecting.diff removed,
applied upstream
- changelogs updated
diff --git a/ChangeLog b/ChangeLog
index fc6cf38..7dffaf6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,89 @@
+commit a65d4aed06acd839fb21153f74144498abda3e18
+Author: Alan Hourihane <alanh@tungstengraphics.com>
+Date: Wed Feb 27 16:49:34 2008 +0000
+
+ Fix context sharing between direct/indirect contexts
+
+commit 44f46bfb981ca69515dafc520f62f33654711194
+Author: Matthias Hopf <mhopf@suse.de>
+Date: Mon Jan 21 16:13:21 2008 +0100
+
+ CVE-2007-6429: Always test for size+offset wrapping.
+
+commit bcbfd619f8da888224afd80ee3a2db7d500523eb
+Author: Kristian Høgsberg <krh@redhat.com>
+Date: Wed Jan 16 20:24:11 2008 -0500
+
+ Don't break grab and focus state for a window when redirecting it.
+
+ Composite uses an unmap/map cycle to trigger backing pixmap allocation
+ and cliprect recomputation when a window is redirected or unredirected.
+ To avoid protocol visible side effects, map and unmap events are
+ disabled temporarily. However, when a window is unmapped it is also
+ removed from grabs and loses focus, but these state changes are not
+ disabled.
+
+ This change supresses the unmap side effects during the composite
+ unmap/map cycle and fixes this bug:
+
+ http://bugzilla.gnome.org/show_bug.cgi?id=488264
+
+ where compiz would cause gnome-screensaver to lose its grab when
+ compiz unredirects the fullscreen lock window.
+
+commit dc30ade6496c7cc24e38c419e229159525fe042f
+Author: Maarten Maathuis <madman2003@gmail.com>
+Date: Sun Feb 17 18:47:28 2008 +0100
+
+ Fix rotation for multi-monitor situation.
+
+ - The (x,y)-coordinates of the crtc were not being passed as xFixed values, which made it an obscure bug to find.
+ - Fix bug #13787.
+ (cherry picked from commit a48cc88ea2674c28b69b8d738b168cbafcf4001f)
+
+commit 3db5930c61aeb849de3b21e7ba0d86d3c0cf72bb
+Author: Maarten Maathuis <madman2003@gmail.com>
+Date: Sun Feb 17 11:21:01 2008 +0100
+
+ Resize composite overlay window when the root window changes.
+
+ - This allows some compositing managers to work, even after randr12 has changed the root window size.
+ - Thanks to ajax for figuring out the best place to put this.
+ - Example:
+ - xf86RandR12SetMode() calls EnableDisableFBAccess().
+ - That calls xf86SetRootClip() which in turn calls ResizeChildrenWinSize().
+ - The final step is the call to PositionWindow().
+ (cherry picked from commit 70c0592a97c7dc9db0576d32b3bdbe4766520509)
+
+commit 74b40bba327a2e97780e8e3f995f784add2d6231
+Author: Eamon Walsh <ewalsh@tycho.nsa.gov>
+Date: Thu Feb 14 19:47:44 2008 -0500
+
+ security: Fix for Bug #14480: untrusted access broken in 7.3.
+
+commit bc72ef3a159efd67067322c043bba444869dc356
+Author: Peter Hutterer <peter@cs.unisa.edu.au>
+Date: Wed Jan 30 10:39:54 2008 +1030
+
+ xkb: don't update LEDs if they don't exist. (Bug #13961)
+
+ In some weird cases we call this function when there is no SrvLedInfo on the
+ device. And it turns out null-pointer dereferences are bad.
+
+ X.Org Bug 13961 <http://bugs.freedesktop.org/show_bug.cgi?id=13961>
+ (cherry picked from commit d954f9c80348de294602d931d387e5cd1ef4b9a5)
+
+commit e98027c3ac7195fec665ef393d980b02870ca1b8
+Author: Peter Hutterer <peter@cs.unisa.edu.au>
+Date: Tue Dec 18 13:57:07 2007 +1030
+
+ dix: set the correct number of valuators in valuator events.
+
+ (first_valuator + num_valuators) must never be larger than the number of axes,
+ otherwise DIX freaks out. And from looking at libXI, anything larger than 6 is
+ wrong too.
+ (cherry picked from commit 9f6ae61ad12cc2813d04405458e1ca5aed8a539e)
+
commit b6d4cdf64f43ae805beada6122c8be2ed138742c
Author: Adam Jackson <ajax@redhat.com>
Date: Fri Jan 18 14:41:20 2008 -0500
diff --git a/debian/changelog b/debian/changelog
index 0ed3d77..45e2235 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -19,6 +19,9 @@ xorg-server (2:1.4.1~git20080131-2) UNRELEASED; urgency=low
Popen()/Pclose() to fix a hang when opening menus in OpenOffice.org
(once again closes: #433131)
* Refresh all patches to make patch-audit happy.
+ * Pull from upstream server-1.4-branch as of March 14th.
+ * 42_dont_break_grab_and_focus_for_window_when_redirecting.diff removed,
+ applied upstream.
[ David Nusinow ]
* Add 11_dont_crash_on_bad_dri_mode. See bugzilla #13860
diff --git a/debian/patches/42_dont_break_grab_and_focus_for_window_when_redirecting.diff b/debian/patches/42_dont_break_grab_and_focus_for_window_when_redirecting.diff
deleted file mode 100644
index 35951e0..0000000
--- a/debian/patches/42_dont_break_grab_and_focus_for_window_when_redirecting.diff
+++ /dev/null
@@ -1,33 +0,0 @@
-commit a6a7fadbb03ee99312dfb15ac478ab3c414c1c0b
-Author: Kristian Høgsberg <krh@redhat.com>
-Date: Wed Jan 16 20:24:11 2008 -0500
-
- Don't break grab and focus state for a window when redirecting it.
-
- Composite uses an unmap/map cycle to trigger backing pixmap allocation
- and cliprect recomputation when a window is redirected or unredirected.
- To avoid protocol visible side effects, map and unmap events are
- disabled temporarily. However, when a window is unmapped it is also
- removed from grabs and loses focus, but these state changes are not
- disabled.
-
- This change supresses the unmap side effects during the composite
- unmap/map cycle and fixes this bug:
-
- http://bugzilla.gnome.org/show_bug.cgi?id=488264
-
- where compiz would cause gnome-screensaver to lose its grab when
- compiz unredirects the fullscreen lock window.
-
---- xorg-server.orig/dix/window.c
-+++ xorg-server/dix/window.c
-@@ -3023,7 +3023,8 @@
- }
- #endif
- (* Unrealize)(pChild);
-- DeleteWindowFromAnyEvents(pChild, FALSE);
-+ if (MapUnmapEventsEnabled(pWin))
-+ DeleteWindowFromAnyEvents(pChild, FALSE);
- if (pChild->viewable)
- {
- #ifdef DO_SAVE_UNDERS
diff --git a/debian/patches/series b/debian/patches/series
index 085689a..d1576ad 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -13,7 +13,6 @@
21_glx_align_fixes.patch
40_default_dpi_96.patch
41_vbe_filter_less.diff
-42_dont_break_grab_and_focus_for_window_when_redirecting.diff
43_allow_override_BIOS_EDID_preferred_mode.diff
44_preferredmode_infinite_loop.diff
45_only_XF86_APM_CAPABILITY_CHANGED_for_video_change_acpi_events.diff
commit a65d4aed06acd839fb21153f74144498abda3e18
Author: Alan Hourihane <alanh@tungstengraphics.com>
Date: Wed Feb 27 16:49:34 2008 +0000
Fix context sharing between direct/indirect contexts
diff --git a/GL/glx/glxdri.c b/GL/glx/glxdri.c
index 685683d..09abca3 100644
--- a/GL/glx/glxdri.c
+++ b/GL/glx/glxdri.c
@@ -598,6 +598,9 @@ __glXDRIscreenCreateContext(__GLXscreen *baseScreen,
else
sharePrivate = NULL;
+ if (baseShareContext && baseShareContext->isDirect)
+ return NULL;
+
context = xalloc(sizeof *context);
if (context == NULL)
return NULL;
@@ -617,6 +620,11 @@ __glXDRIscreenCreateContext(__GLXscreen *baseScreen,
0, /* render type */
sharePrivate,
&context->driContext);
+
+ if (!context->driContext.private) {
+ xfree(context);
+ return NULL;
+ }
context->driContext.mode = modes;
commit 44f46bfb981ca69515dafc520f62f33654711194
Author: Matthias Hopf <mhopf@suse.de>
Date: Mon Jan 21 16:13:21 2008 +0100
CVE-2007-6429: Always test for size+offset wrapping.
diff --git a/Xext/shm.c b/Xext/shm.c
index 6f99e90..376f123 100644
--- a/Xext/shm.c
+++ b/Xext/shm.c
@@ -753,10 +753,10 @@ CreatePmap:
if (sizeof(size) == 4 && BitsPerPixel(depth) > 8) {
if (size < width * height)
return BadAlloc;
- /* thankfully, offset is unsigned */
- if (stuff->offset + size < size)
- return BadAlloc;
}
+ /* thankfully, offset is unsigned */
+ if (stuff->offset + size < size)
+ return BadAlloc;
VERIFY_SHMSIZE(shmdesc, stuff->offset, size, client);
@@ -1098,10 +1098,10 @@ CreatePmap:
if (sizeof(size) == 4 && BitsPerPixel(depth) > 8) {
if (size < width * height)
return BadAlloc;
- /* thankfully, offset is unsigned */
- if (stuff->offset + size < size)
- return BadAlloc;
}
+ /* thankfully, offset is unsigned */
+ if (stuff->offset + size < size)
+ return BadAlloc;
VERIFY_SHMSIZE(shmdesc, stuff->offset, size, client);
pMap = (*shmFuncs[pDraw->pScreen->myNum]->CreatePixmap)(
commit bcbfd619f8da888224afd80ee3a2db7d500523eb
Author: Kristian Høgsberg <krh@redhat.com>
Date: Wed Jan 16 20:24:11 2008 -0500
Don't break grab and focus state for a window when redirecting it.
Composite uses an unmap/map cycle to trigger backing pixmap allocation
and cliprect recomputation when a window is redirected or unredirected.
To avoid protocol visible side effects, map and unmap events are
disabled temporarily. However, when a window is unmapped it is also
removed from grabs and loses focus, but these state changes are not
disabled.
This change supresses the unmap side effects during the composite
unmap/map cycle and fixes this bug:
http://bugzilla.gnome.org/show_bug.cgi?id=488264
where compiz would cause gnome-screensaver to lose its grab when
compiz unredirects the fullscreen lock window.
diff --git a/dix/window.c b/dix/window.c
index be4ea2c..961c02a 100644
--- a/dix/window.c
+++ b/dix/window.c
@@ -3023,7 +3023,8 @@ UnrealizeTree(
}
#endif
(* Unrealize)(pChild);
- DeleteWindowFromAnyEvents(pChild, FALSE);
+ if (MapUnmapEventsEnabled(pWin))
+ DeleteWindowFromAnyEvents(pChild, FALSE);
if (pChild->viewable)
{
#ifdef DO_SAVE_UNDERS
commit dc30ade6496c7cc24e38c419e229159525fe042f
Author: Maarten Maathuis <madman2003@gmail.com>
Date: Sun Feb 17 18:47:28 2008 +0100
Fix rotation for multi-monitor situation.
- The (x,y)-coordinates of the crtc were not being passed as xFixed values, which made it an obscure bug to find.
- Fix bug #13787.
(cherry picked from commit a48cc88ea2674c28b69b8d738b168cbafcf4001f)
diff --git a/hw/xfree86/modes/xf86Rotate.c b/hw/xfree86/modes/xf86Rotate.c
index 380478f..dd0e659 100644
--- a/hw/xfree86/modes/xf86Rotate.c
+++ b/hw/xfree86/modes/xf86Rotate.c
@@ -579,9 +579,9 @@ xf86CrtcRotate (xf86CrtcPtr crtc, DisplayModePtr mode, Rotation rotation)
}
else
{
- PictureTransformTranslate (&crtc_to_fb, &fb_to_crtc, crtc->x, crtc->y);
+ PictureTransformTranslate (&crtc_to_fb, &fb_to_crtc, F(crtc->x), F(crtc->y));
PictureTransformIsInverse ("offset", &crtc_to_fb, &fb_to_crtc);
-
+
/*
* these are the size of the shadow pixmap, which
* matches the mode, not the pre-rotated copy in the
commit 3db5930c61aeb849de3b21e7ba0d86d3c0cf72bb
Author: Maarten Maathuis <madman2003@gmail.com>
Date: Sun Feb 17 11:21:01 2008 +0100
Resize composite overlay window when the root window changes.
- This allows some compositing managers to work, even after randr12 has changed the root window size.
- Thanks to ajax for figuring out the best place to put this.
- Example:
- xf86RandR12SetMode() calls EnableDisableFBAccess().
- That calls xf86SetRootClip() which in turn calls ResizeChildrenWinSize().
- The final step is the call to PositionWindow().
(cherry picked from commit 70c0592a97c7dc9db0576d32b3bdbe4766520509)
diff --git a/composite/compwindow.c b/composite/compwindow.c
index bfd2946..33192ad 100644
--- a/composite/compwindow.c
+++ b/composite/compwindow.c
@@ -165,6 +165,29 @@ compCheckRedirect (WindowPtr pWin)
return TRUE;
}
+static int
+updateOverlayWindow(ScreenPtr pScreen)
+{
+ CompScreenPtr cs;
+ WindowPtr pWin; /* overlay window */
+ XID vlist[2];
+
+ cs = GetCompScreen(pScreen);
+ if ((pWin = cs->pOverlayWin) != NULL) {
+ if ((pWin->drawable.width == pScreen->width) &&
+ (pWin->drawable.height == pScreen->height))
+ return Success;
+
+ /* Let's resize the overlay window. */
+ vlist[0] = pScreen->width;
+ vlist[1] = pScreen->height;
+ return ConfigureWindow(pWin, CWWidth | CWHeight, vlist, wClient(pWin));
+ }
+
+ /* Let's be on the safe side and not assume an overlay window is always allocated. */
+ return Success;
+}
+
Bool
compPositionWindow (WindowPtr pWin, int x, int y)
{
@@ -203,6 +226,8 @@ compPositionWindow (WindowPtr pWin, int x, int y)
cs->PositionWindow = pScreen->PositionWindow;
pScreen->PositionWindow = compPositionWindow;
compCheckTree (pWin->drawable.pScreen);
+ if (updateOverlayWindow(pScreen) != Success)
+ ret = FALSE;
return ret;
}
commit 74b40bba327a2e97780e8e3f995f784add2d6231
Author: Eamon Walsh <ewalsh@tycho.nsa.gov>
Date: Thu Feb 14 19:47:44 2008 -0500
security: Fix for Bug #14480: untrusted access broken in 7.3.
diff --git a/Xext/security.c b/Xext/security.c
index e9d48c9..14ad354 100644
--- a/Xext/security.c
+++ b/Xext/security.c
@@ -1014,7 +1014,7 @@ CALLBACK(SecurityCheckResourceIDAccess)
}
else /* server-owned resource - probably a default colormap or root window */
{
- if (RT_WINDOW == rtype || RC_DRAWABLE == rtype)
+ if (RC_DRAWABLE & rtype)
{
switch (reqtype)
{ /* the following operations are allowed on root windows */
Reply to: