summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoshua Baergen <joshuabaergen@gentoo.org>2005-10-04 04:04:43 +0000
committerJoshua Baergen <joshuabaergen@gentoo.org>2005-10-04 04:04:43 +0000
commit3a779789b1eccec972f16ad9512056795fc69dda (patch)
tree0269c05b787556a0036a59f972696a42b5423f3a /x11-base
parentNew release: 1.4.2 (diff)
downloadhistorical-3a779789b1eccec972f16ad9512056795fc69dda.tar.gz
historical-3a779789b1eccec972f16ad9512056795fc69dda.tar.bz2
historical-3a779789b1eccec972f16ad9512056795fc69dda.zip
Oops, forgot the version-dependent patches.
Package-Manager: portage-2.0.51.22-r2
Diffstat (limited to 'x11-base')
-rw-r--r--x11-base/xorg-server/ChangeLog7
-rw-r--r--x11-base/xorg-server/Manifest4
-rw-r--r--x11-base/xorg-server/files/0.99.1-r10-check-for-glproto.patch23
-rw-r--r--x11-base/xorg-server/files/0.99.1-r10_CAN-2005-2495.patch147
4 files changed, 179 insertions, 2 deletions
diff --git a/x11-base/xorg-server/ChangeLog b/x11-base/xorg-server/ChangeLog
index aa124f003fe3..cb808ab9d9af 100644
--- a/x11-base/xorg-server/ChangeLog
+++ b/x11-base/xorg-server/ChangeLog
@@ -1,6 +1,11 @@
# ChangeLog for x11-base/xorg-server
# Copyright 1999-2005 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/x11-base/xorg-server/ChangeLog,v 1.48 2005/10/04 01:27:12 joshuabaergen Exp $
+# $Header: /var/cvsroot/gentoo-x86/x11-base/xorg-server/ChangeLog,v 1.49 2005/10/04 04:04:43 joshuabaergen Exp $
+
+ 04 Oct 2005; Joshua Baergen <joshuabaergen@gentoo.org>
+ +files/0.99.1-r10-check-for-glproto.patch,
+ +files/0.99.1-r10_CAN-2005-2495.patch:
+ Oops, forgot the version-dependent patches.
*xorg-server-0.99.1-r10 (04 Oct 2005)
diff --git a/x11-base/xorg-server/Manifest b/x11-base/xorg-server/Manifest
index b6bbe5487ca6..13bd8f211103 100644
--- a/x11-base/xorg-server/Manifest
+++ b/x11-base/xorg-server/Manifest
@@ -1,7 +1,9 @@
-MD5 64854138e1f2a2784e25b38b31064db6 ChangeLog 9907
+MD5 4f1112f00b9b984f4f27abfda5c5e219 ChangeLog 10097
MD5 a37bab73e2f24b213932c30997d3d360 metadata.xml 156
MD5 b2cfc03cadd9ae25eb5e83b44cdabeaf xorg-server-0.99.1-r9.ebuild 3852
MD5 803e951251b6a7c0dda68d3a72fba8ad xorg-server-0.99.1-r10.ebuild 3895
+MD5 5a445ea35d70ce20671a49049b406680 files/0.99.1-r10-check-for-glproto.patch 911
+MD5 54ab2c693d9e7e6e09b20bb8dd7db297 files/0.99.1-r10_CAN-2005-2495.patch 4387
MD5 5a445ea35d70ce20671a49049b406680 files/0.99.1-r9-check-for-glproto.patch 911
MD5 54ab2c693d9e7e6e09b20bb8dd7db297 files/0.99.1-r9_CAN-2005-2495.patch 4387
MD5 21ec9868da064e8a549db3d501373dea files/digest-xorg-server-0.99.1-r9 239
diff --git a/x11-base/xorg-server/files/0.99.1-r10-check-for-glproto.patch b/x11-base/xorg-server/files/0.99.1-r10-check-for-glproto.patch
new file mode 100644
index 000000000000..d0638bfb58cd
--- /dev/null
+++ b/x11-base/xorg-server/files/0.99.1-r10-check-for-glproto.patch
@@ -0,0 +1,23 @@
+diff -urN xorg-server-0.99.1.orig/configure.ac xorg-server-0.99.1/configure.ac
+--- xorg-server-0.99.1.orig/configure.ac 2005-09-02 20:27:55.000000000 -0700
++++ xorg-server-0.99.1/configure.ac 2005-09-07 16:19:00.000000000 -0700
+@@ -344,6 +344,9 @@
+ PKG_CHECK_MODULES([LIBDRM], [libdrm])
+ AC_SUBST(DRIPROTO_CFLAGS)
+ AC_SUBST(LIBDRM_CFLAGS)
++ if test "$GLX" = yes; then
++ PKG_CHECK_MODULES([GL],[glproto])
++ fi
+ fi
+
+ AM_CONDITIONAL(XINERAMA, [test "x$XINERAMA" = xyes])
+@@ -526,6 +529,9 @@
+ DMX_INCLUDES="$XEXT_INC $RENDER_INC $XTRAP_INC $RECORD_INC"
+ XDMX_LIBS="$FB_LIB $MI_LIB $XEXT_LIB $RENDER_LIB $XTRAP_LIB $RECORD_LIB $XI_LIB $XKB_LIB $XKB_STUB_LIB $MIEXT_DAMAGE_LIB $OS_LIB $MIEXT_SHADOW_LIB"
+ AC_SUBST([XDMX_LIBS])
++ if test "$GLX" = yes; then
++ PKG_CHECK_MODULES([GL],[glproto])
++ fi
+
+ dnl USB sources in DMX require <linux/input.h>
+ AC_CHECK_HEADER([linux/input.h], HAVE_LINUX_INPUT_H="yes",
diff --git a/x11-base/xorg-server/files/0.99.1-r10_CAN-2005-2495.patch b/x11-base/xorg-server/files/0.99.1-r10_CAN-2005-2495.patch
new file mode 100644
index 000000000000..447b76946d2d
--- /dev/null
+++ b/x11-base/xorg-server/files/0.99.1-r10_CAN-2005-2495.patch
@@ -0,0 +1,147 @@
+diff -urN afb/afbpixmap.c afb/afbpixmap.c
+--- afb/afbpixmap.c 2005-08-26 15:35:33.000000000 -0400
++++ afb/afbpixmap.c 2005-08-26 14:09:24.000000000 -0400
+@@ -77,10 +77,14 @@
+ int depth;
+ {
+ PixmapPtr pPixmap;
+- int datasize;
+- int paddedWidth;
++ size_t datasize;
++ size_t paddedWidth;
+
+ paddedWidth = BitmapBytePad(width);
++
++ if (paddedWidth > 32767 || height > 32767)
++ return NullPixmap;
++
+ datasize = height * paddedWidth * depth;
+ pPixmap = AllocatePixmap(pScreen, datasize);
+ if (!pPixmap)
+diff -urN cfb/cfbpixmap.c cfb/cfbpixmap.c
+--- cfb/cfbpixmap.c 2005-08-26 15:35:33.000000000 -0400
++++ cfb/cfbpixmap.c 2005-08-26 14:10:14.000000000 -0400
+@@ -68,10 +68,14 @@
+ int depth;
+ {
+ PixmapPtr pPixmap;
+- int datasize;
+- int paddedWidth;
++ size_t datasize;
++ size_t paddedWidth;
+
+ paddedWidth = PixmapBytePad(width, depth);
++
++ if (paddedWidth > 32767 || height > 32767)
++ return NullPixmap;
++
+ datasize = height * paddedWidth;
+ pPixmap = AllocatePixmap(pScreen, datasize);
+ if (!pPixmap)
+diff -urN dix/dispatch.c dix/dispatch.c
+--- dix/dispatch.c 2004-12-12 20:23:05.000000000 -0500
++++ dix/dispatch.c 2005-08-26 14:13:37.000000000 -0400
+@@ -1506,6 +1506,23 @@
+ client->errorValue = 0;
+ return BadValue;
+ }
++ if (stuff->width > 32767 || stuff->height > 32767)
++ {
++ /* It is allowed to try and allocate a pixmap which is larger than
++ * 32767 in either dimension. However, all of the framebuffer code
++ * is buggy and does not reliably draw to such big pixmaps, basically
++ * because the Region data structure operates with signed shorts for
++ * the rectangles in it.
++ *
++ * Furthermore, several places in the X server compute the size in
++ * bytes of the pixmap and try to store it in an integer. This
++ * integer can overflow and cause the allocated size to be much
++ * smaller.
++ *
++ * So, such big pixmaps are rejected here with a BadAlloc
++ */
++ return BadAlloc;
++ }
+ if (stuff->depth != 1)
+ {
+ pDepth = pDraw->pScreen->allowedDepths;
+diff -urN fb/fbpixmap.c fb/fbpixmap.c
+--- fb/fbpixmap.c 2004-08-08 23:40:50.000000000 -0400
++++ fb/fbpixmap.c 2005-08-26 14:14:49.000000000 -0400
+@@ -32,12 +32,16 @@
+ fbCreatePixmapBpp (ScreenPtr pScreen, int width, int height, int depth, int bpp)
+ {
+ PixmapPtr pPixmap;
+- int datasize;
+- int paddedWidth;
++ size_t datasize;
++ size_t paddedWidth;
+ int adjust;
+ int base;
+
+ paddedWidth = ((width * bpp + FB_MASK) >> FB_SHIFT) * sizeof (FbBits);
++
++ if (paddedWidth > 32767 || height > 32767)
++ return NullPixmap;
++
+ datasize = height * paddedWidth;
+ #ifdef PIXPRIV
+ base = pScreen->totalPixmapSize;
+diff -urN hw/xfree86/xaa/xaaInit.c hw/xfree86/xaa/xaaInit.c
+--- hw/xfree86/xaa/xaaInit.c 2004-07-30 16:30:56.000000000 -0400
++++ hw/xfree86/xaa/xaaInit.c 2005-08-26 14:16:30.000000000 -0400
+@@ -499,6 +499,9 @@
+ PixmapPtr pPix = NULL;
+ int size = w * h;
+
++ if (w > 32767 || h > 32767)
++ return NullPixmap;
++
+ if (!infoRec->offscreenDepthsInitialized)
+ XAAInitializeOffscreenDepths (pScreen);
+
+diff -urN hw/xfree86/xf4bpp/ppcPixmap.c hw/xfree86/xf4bpp/ppcPixmap.c
+--- hw/xfree86/xf4bpp/ppcPixmap.c 2004-04-23 15:54:17.000000000 -0400
++++ hw/xfree86/xf4bpp/ppcPixmap.c 2005-08-26 14:17:29.000000000 -0400
+@@ -85,14 +85,18 @@
+ int depth ;
+ {
+ register PixmapPtr pPixmap = (PixmapPtr)NULL;
+- int size ;
++ size_t size ;
+
+ TRACE(("xf4bppCreatePixmap(pScreen=0x%x, width=%d, height=%d, depth=%d)\n", pScreen, width, height, depth)) ;
+
+ if ( depth > 8 )
+- return (PixmapPtr) NULL ;
++ return (PixmapPtr) NULL ;
++
++ if (width > 32767 || height > 32767)
++ return (PixmapPtr) NULL ;
+
+ size = PixmapBytePad(width, depth);
++
+ pPixmap = AllocatePixmap (pScreen, (height * size));
+
+ if ( !pPixmap )
+diff -urN mfb/mfbpixmap.c mfb/mfbpixmap.c
+--- mfb/mfbpixmap.c 2003-11-14 11:48:57.000000000 -0500
++++ mfb/mfbpixmap.c 2005-08-26 15:34:32.000000000 -0400
+@@ -72,11 +72,15 @@
+ int depth;
+ {
+ PixmapPtr pPixmap;
+- int datasize;
+- int paddedWidth;
++ size_t datasize;
++ size_t paddedWidth;
+
+ if (depth != 1)
+ return NullPixmap;
++
++ if (width > 32767 || height > 32767)
++ return NullPixmap;
++
+ paddedWidth = BitmapBytePad(width);
+ datasize = height * paddedWidth;
+ pPixmap = AllocatePixmap(pScreen, datasize);