[arch-commits] CVS update of extra/x11/xorg-server (3 files)
Jan de Groot
jgc at archlinux.org
Sat Jan 26 09:58:05 UTC 2008
Date: Saturday, January 26, 2008 @ 04:58:05
Author: jgc
Path: /home/cvs-extra/extra/x11/xorg-server
Added: mesa-7.0.3-rc1.patch (1.1)
Modified: PKGBUILD (1.49 -> 1.50)
xorg-server-1.4-CVE-2007-6429.patch (1.1 -> 1.2)
upgpkg: xorg-server 1.4.0.90-6
Update for mesa 7.0.3rc1, add another fixup for CVE-2007-6429, add license, remove gcc-libs from depends
-------------------------------------+
PKGBUILD | 30 ++++--
mesa-7.0.3-rc1.patch | 152 ++++++++++++++++++++++++++++++++++
xorg-server-1.4-CVE-2007-6429.patch | 38 ++++++++
3 files changed, 208 insertions(+), 12 deletions(-)
Index: extra/x11/xorg-server/PKGBUILD
diff -u extra/x11/xorg-server/PKGBUILD:1.49 extra/x11/xorg-server/PKGBUILD:1.50
--- extra/x11/xorg-server/PKGBUILD:1.49 Sun Jan 20 15:09:14 2008
+++ extra/x11/xorg-server/PKGBUILD Sat Jan 26 04:58:05 2008
@@ -1,14 +1,15 @@
-# $Id: PKGBUILD,v 1.49 2008/01/20 20:09:14 jgc Exp $
+# $Id: PKGBUILD,v 1.50 2008/01/26 09:58:05 jgc Exp $
# Maintainer: Alexander Baldeck <kth5 at archlinux.org>
# Contributor: Jan de Groot <jgc at archlinux.org>
pkgname=xorg-server
pkgver=1.4.0.90
-pkgrel=5
-_mesaver=7.0.1
+pkgrel=6
+_mesaver=7.0.3-rc1
pkgdesc="X.Org X servers"
arch=('i686' 'x86_64')
+license=('custom')
url="http://xorg.freedesktop.org"
-depends=('gcc-libs' 'libxkbui' 'ncurses' 'libxi' 'libxxf86misc' 'libxfont'
+depends=('libxkbui' 'ncurses' 'libxi' 'libxxf86misc' 'libxfont'
'libxrender' 'libdmx' 'libxaw' 'libxxf86vm' 'xcursor-themes'
'xkeyboard-config' 'xorg-server-utils' 'xorg-utils' 'libdrm>=2.3.0'
'libxfixes' 'xorg-fonts-misc' 'pixman>=0.9.6' 'xbitmaps' 'libgl')
@@ -22,7 +23,7 @@
groups=('xorg')
install=xorg-server.install
source=(${url}/releases/individual/xserver/${pkgname}-${pkgver}.tar.bz2
- http://downloads.sourceforge.net/mesa3d/MesaLib-${_mesaver}.tar.bz2
+ ftp://ftp.archlinux.org/other/mesa/MesaLib-${_mesaver}.tar.bz2
ftp://ftp.freedesktop.org/pub/xorg/X11R7.3/patches/xorg-xserver-1.4-multiple-overflows.diff
xorg-server-1.2.0-defaultdpi.patch
xorg-redhat-die-ugly-pattern-die-die-die.patch
@@ -38,6 +39,7 @@
14_default_screen_section.diff
21_glx_align_fixes.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
47_fbdevhw_magic_numbers.diff
@@ -58,7 +60,8 @@
102_ubuntu_sharevts_load_cpu.patch
104_fedora_init_origins_fix.patch
133_psb_auto.patch
- xorg-server-1.4-CVE-2007-6429.patch)
+ xorg-server-1.4-CVE-2007-6429.patch
+ mesa-7.0.3-rc1.patch)
build() {
cd ${startdir}/src/${pkgname}-${pkgver}
@@ -78,6 +81,7 @@
patch -Np1 -i ${startdir}/src/14_default_screen_section.diff || return 1
patch -Np1 -i ${startdir}/src/21_glx_align_fixes.patch || return 1
patch -Np1 -i ${startdir}/src/41_vbe_filter_less.diff || return 1
+ patch -Np1 -i ${startdir}/src/42_dont_break_grab_and_focus_for_window_when_redirecting.diff || return 1
patch -Np1 -i ${startdir}/src/43_allow_override_BIOS_EDID_preferred_mode.diff || return 1
patch -Np1 -i ${startdir}/src/44_preferredmode_infinite_loop.diff || return 1
patch -Np1 -i ${startdir}/src/47_fbdevhw_magic_numbers.diff || return 1
@@ -103,10 +107,7 @@
patch -Np1 -i ${startdir}/src/xorg-server-1.2.0-defaultdpi.patch || return 1
patch -Np3 -i ${startdir}/src/xorg-redhat-die-ugly-pattern-die-die-die.patch || return 1
patch -Np1 -i ${startdir}/src/xorg-x11-server-1.0.1-Red-Hat-extramodes.patch || return 1
-
- #cd GL/
- #./symlink-mesa.sh ${startdir}/src/Mesa-${_mesaver}/ . || return 1
- #cd ../
+ patch -Np1 -i ${startdir}/src/mesa-7.0.3-rc1.patch || return 1
aclocal
autoconf
@@ -153,9 +154,12 @@
# prevent conflict with nvidia-utils
mv ${startdir}/pkg/usr/lib/xorg/modules/libwfb.so \
${startdir}/pkg/usr/lib/xorg/modules/libwfb.so.1.4
+
+ mkdir -p ${startdir}/pkg/usr/share/licenses/${pkgname}
+ install -m644 ${startdir}/src/${pkgname}-${pkgver}/COPYING ${startdir}/pkg/usr/share/licenses/${pkgname}/
}
md5sums=('bb16e969850dbb5d3805cb88d35656d0'
- 'c056abd763e899114bf745c9eedbf9ad'
+ '9bd9a3f3cebac89ff5a3571e1f51ca4f'
'7aadd3ead8c3bd098413fef91af7d35f'
'e162134c68230f7b168430fe73b4881a'
'1a336eb22e27cbf443ec5a2ecddfa93c'
@@ -171,6 +175,7 @@
'd95707272c60cf28aeb45fa5b1222e06'
'ea8ba7fcd9d1cb01c254ccd139526159'
'e39df27a272af6525ce3370abf0f6f51'
+ '6ec9ad89d3a9fd20ab698f48ef526685'
'a54faf8161b1aedd5d1406645ee38b4d'
'74e675c11d94d0bddcec7c74c220bf71'
'13a69065ee4b99e6ba9eb9b4fd121a1f'
@@ -191,4 +196,5 @@
'128f9245b2787479fcbf082f9e148aa8'
'1dc001817b7a3951a63876415ad1eb91'
'c6c0c98dd96cdb79584953ca8a235ffc'
- '94acd7f97ea6ebcd735c529fbf257dc8')
+ 'e16c457228f170690c5af2413c566305'
+ '2dfe4e9b20bf36535e8149b1b5c8fb9b')
Index: extra/x11/xorg-server/mesa-7.0.3-rc1.patch
diff -u /dev/null extra/x11/xorg-server/mesa-7.0.3-rc1.patch:1.1
--- /dev/null Sat Jan 26 04:58:05 2008
+++ extra/x11/xorg-server/mesa-7.0.3-rc1.patch Sat Jan 26 04:58:05 2008
@@ -0,0 +1,152 @@
+diff -ruN xorg-server-1.4.0.90/GL/glx/indirect_dispatch.h xorg-server-1.4.0.90-Mesa7.0.3-20080125/GL/glx/indirect_dispatch.h
+--- xorg-server-1.4.0.90/GL/glx/indirect_dispatch.h 2007-12-07 02:38:41.000000000 +0000
++++ xorg-server-1.4.0.90-Mesa7.0.3-20080125/GL/glx/indirect_dispatch.h 2008-01-25 22:51:39.000000000 +0000
+@@ -211,6 +211,8 @@
+ extern HIDDEN int __glXDispSwap_ReadPixels(struct __GLXclientStateRec *, GLbyte *);
+ extern HIDDEN void __glXDisp_EdgeFlagv(GLbyte * pc);
+ extern HIDDEN void __glXDispSwap_EdgeFlagv(GLbyte * pc);
++extern HIDDEN void __glXDisp_Rotatef(GLbyte * pc);
++extern HIDDEN void __glXDispSwap_Rotatef(GLbyte * pc);
+ extern HIDDEN void __glXDisp_TexParameterf(GLbyte * pc);
+ extern HIDDEN void __glXDispSwap_TexParameterf(GLbyte * pc);
+ extern HIDDEN void __glXDisp_TexParameteri(GLbyte * pc);
+@@ -251,8 +253,6 @@
+ extern HIDDEN int __glXDispSwap_AreTexturesResident(struct __GLXclientStateRec *, GLbyte *);
+ extern HIDDEN int __glXDisp_AreTexturesResidentEXT(struct __GLXclientStateRec *, GLbyte *);
+ extern HIDDEN int __glXDispSwap_AreTexturesResidentEXT(struct __GLXclientStateRec *, GLbyte *);
+-extern HIDDEN int __glXDisp_IsRenderbufferEXT(struct __GLXclientStateRec *, GLbyte *);
+-extern HIDDEN int __glXDispSwap_IsRenderbufferEXT(struct __GLXclientStateRec *, GLbyte *);
+ extern HIDDEN void __glXDisp_PointParameterfvEXT(GLbyte * pc);
+ extern HIDDEN void __glXDispSwap_PointParameterfvEXT(GLbyte * pc);
+ extern HIDDEN void __glXDisp_Color3bv(GLbyte * pc);
+@@ -423,6 +423,8 @@
+ extern HIDDEN int __glXDispSwap_GetDrawableAttributes(struct __GLXclientStateRec *, GLbyte *);
+ extern HIDDEN void __glXDisp_ProgramParameter4fvNV(GLbyte * pc);
+ extern HIDDEN void __glXDispSwap_ProgramParameter4fvNV(GLbyte * pc);
++extern HIDDEN int __glXDisp_IsRenderbufferEXT(struct __GLXclientStateRec *, GLbyte *);
++extern HIDDEN int __glXDispSwap_IsRenderbufferEXT(struct __GLXclientStateRec *, GLbyte *);
+ extern HIDDEN void __glXDisp_RasterPos2sv(GLbyte * pc);
+ extern HIDDEN void __glXDispSwap_RasterPos2sv(GLbyte * pc);
+ extern HIDDEN void __glXDisp_Color4ubv(GLbyte * pc);
+@@ -517,8 +519,6 @@
+ extern HIDDEN void __glXDispSwap_SecondaryColor3ivEXT(GLbyte * pc);
+ extern HIDDEN void __glXDisp_TexCoord4iv(GLbyte * pc);
+ extern HIDDEN void __glXDispSwap_TexCoord4iv(GLbyte * pc);
+-extern HIDDEN int __glXDisp_GetDrawableAttributesSGIX(struct __GLXclientStateRec *, GLbyte *);
+-extern HIDDEN int __glXDispSwap_GetDrawableAttributesSGIX(struct __GLXclientStateRec *, GLbyte *);
+ extern HIDDEN void __glXDisp_SampleMaskSGIS(GLbyte * pc);
+ extern HIDDEN void __glXDispSwap_SampleMaskSGIS(GLbyte * pc);
+ extern HIDDEN void __glXDisp_ColorTableParameteriv(GLbyte * pc);
+@@ -849,8 +849,10 @@
+ extern HIDDEN int __glXDispSwap_GetHistogramParameteriv(struct __GLXclientStateRec *, GLbyte *);
+ extern HIDDEN int __glXDisp_GetHistogramParameterivEXT(struct __GLXclientStateRec *, GLbyte *);
+ extern HIDDEN int __glXDispSwap_GetHistogramParameterivEXT(struct __GLXclientStateRec *, GLbyte *);
+-extern HIDDEN void __glXDisp_Rotatef(GLbyte * pc);
+-extern HIDDEN void __glXDispSwap_Rotatef(GLbyte * pc);
++extern HIDDEN int __glXDisp_GetConvolutionFilter(struct __GLXclientStateRec *, GLbyte *);
++extern HIDDEN int __glXDispSwap_GetConvolutionFilter(struct __GLXclientStateRec *, GLbyte *);
++extern HIDDEN int __glXDisp_GetConvolutionFilterEXT(struct __GLXclientStateRec *, GLbyte *);
++extern HIDDEN int __glXDispSwap_GetConvolutionFilterEXT(struct __GLXclientStateRec *, GLbyte *);
+ extern HIDDEN int __glXDisp_GetProgramivARB(struct __GLXclientStateRec *, GLbyte *);
+ extern HIDDEN int __glXDispSwap_GetProgramivARB(struct __GLXclientStateRec *, GLbyte *);
+ extern HIDDEN void __glXDisp_BlendFuncSeparateEXT(GLbyte * pc);
+@@ -875,10 +877,6 @@
+ extern HIDDEN void __glXDispSwap_Map2f(GLbyte * pc);
+ extern HIDDEN void __glXDisp_ProgramStringARB(GLbyte * pc);
+ extern HIDDEN void __glXDispSwap_ProgramStringARB(GLbyte * pc);
+-extern HIDDEN int __glXDisp_GetConvolutionFilter(struct __GLXclientStateRec *, GLbyte *);
+-extern HIDDEN int __glXDispSwap_GetConvolutionFilter(struct __GLXclientStateRec *, GLbyte *);
+-extern HIDDEN int __glXDisp_GetConvolutionFilterEXT(struct __GLXclientStateRec *, GLbyte *);
+-extern HIDDEN int __glXDispSwap_GetConvolutionFilterEXT(struct __GLXclientStateRec *, GLbyte *);
+ extern HIDDEN int __glXDisp_GetCompressedTexImageARB(struct __GLXclientStateRec *, GLbyte *);
+ extern HIDDEN int __glXDispSwap_GetCompressedTexImageARB(struct __GLXclientStateRec *, GLbyte *);
+ extern HIDDEN int __glXDisp_GetTexGenfv(struct __GLXclientStateRec *, GLbyte *);
+diff -ruN xorg-server-1.4.0.90/GL/glx/indirect_size_get.c xorg-server-1.4.0.90-Mesa7.0.3-20080125/GL/glx/indirect_size_get.c
+--- xorg-server-1.4.0.90/GL/glx/indirect_size_get.c 2007-12-07 02:38:41.000000000 +0000
++++ xorg-server-1.4.0.90-Mesa7.0.3-20080125/GL/glx/indirect_size_get.c 2008-01-25 22:51:42.000000000 +0000
+@@ -538,6 +538,7 @@
+ case GL_UNPACK_SKIP_IMAGES:
+ case GL_UNPACK_IMAGE_HEIGHT:
+ case GL_TEXTURE_3D:
++ case GL_MAX_3D_TEXTURE_SIZE:
+ case GL_VERTEX_ARRAY:
+ case GL_NORMAL_ARRAY:
+ case GL_COLOR_ARRAY:
+@@ -612,6 +613,7 @@
+ /* case GL_CLIENT_ACTIVE_TEXTURE_ARB:*/
+ case GL_MAX_TEXTURE_UNITS:
+ /* case GL_MAX_TEXTURE_UNITS_ARB:*/
++ case GL_MAX_RENDERBUFFER_SIZE_EXT:
+ case GL_TEXTURE_COMPRESSION_HINT:
+ /* case GL_TEXTURE_COMPRESSION_HINT_ARB:*/
+ case GL_TEXTURE_RECTANGLE_ARB:
+@@ -652,6 +654,10 @@
+ case GL_WEIGHT_ARRAY_SIZE_ARB:
+ case GL_WEIGHT_ARRAY_ARB:
+ case GL_PACK_INVERT_MESA:
++ case GL_STENCIL_BACK_FUNC_ATI:
++ case GL_STENCIL_BACK_FAIL_ATI:
++ case GL_STENCIL_BACK_PASS_DEPTH_FAIL_ATI:
++ case GL_STENCIL_BACK_PASS_DEPTH_PASS_ATI:
+ case GL_FRAGMENT_PROGRAM_ARB:
+ case GL_MAX_DRAW_BUFFERS_ARB:
+ /* case GL_MAX_DRAW_BUFFERS_ATI:*/
+@@ -706,6 +712,10 @@
+ case GL_DEPTH_BOUNDS_TEST_EXT:
+ case GL_STENCIL_TEST_TWO_SIDE_EXT:
+ case GL_ACTIVE_STENCIL_FACE_EXT:
++ case GL_DRAW_FRAMEBUFFER_BINDING_EXT:
++ case GL_RENDERBUFFER_BINDING_EXT:
++ case GL_READ_FRAMEBUFFER_BINDING_EXT:
++ case GL_MAX_COLOR_ATTACHMENTS_EXT:
+ case GL_RASTER_POSITION_UNCLIPPED_IBM:
+ return 1;
+ case GL_SMOOTH_POINT_SIZE_RANGE:
+diff -ruN xorg-server-1.4.0.90/GL/glx/indirect_table.c xorg-server-1.4.0.90-Mesa7.0.3-20080125/GL/glx/indirect_table.c
+--- xorg-server-1.4.0.90/GL/glx/indirect_table.c 2007-12-07 02:38:41.000000000 +0000
++++ xorg-server-1.4.0.90-Mesa7.0.3-20080125/GL/glx/indirect_table.c 2008-01-25 22:51:46.000000000 +0000
+@@ -1231,8 +1231,8 @@
+ };
+
+ /*****************************************************************/
+-/* tree depth = 12 */
+-static const int_fast16_t VendorPriv_dispatch_tree[152] = {
++/* tree depth = 13 */
++static const int_fast16_t VendorPriv_dispatch_tree[155] = {
+ /* [0] -> opcode range [0, 131072], node depth 1 */
+ 2,
+ 5,
+@@ -1474,12 +1474,17 @@
+
+ /* [149] -> opcode range [65536, 65568], node depth 12 */
+ 1,
++ 152,
++ EMPTY_LEAF,
++
++ /* [152] -> opcode range [65536, 65552], node depth 13 */
++ 1,
+ LEAF(88),
+ EMPTY_LEAF,
+
+ };
+
+-static const void *VendorPriv_function_table[104][2] = {
++static const void *VendorPriv_function_table[96][2] = {
+ /* [ 0] = 0 */ {NULL, NULL},
+ /* [ 1] = 1 */ {__glXDisp_GetConvolutionFilterEXT, __glXDispSwap_GetConvolutionFilterEXT},
+ /* [ 2] = 2 */ {__glXDisp_GetConvolutionParameterfvEXT, __glXDispSwap_GetConvolutionParameterfvEXT},
+@@ -1576,14 +1581,6 @@
+ /* [ 93] = 65541 */ {__glXDisp_CreateContextWithConfigSGIX, __glXDispSwap_CreateContextWithConfigSGIX},
+ /* [ 94] = 65542 */ {__glXDisp_CreateGLXPixmapWithConfigSGIX, __glXDispSwap_CreateGLXPixmapWithConfigSGIX},
+ /* [ 95] = 65543 */ {NULL, NULL},
+- /* [ 96] = 65544 */ {NULL, NULL},
+- /* [ 97] = 65545 */ {NULL, NULL},
+- /* [ 98] = 65546 */ {__glXDisp_GetDrawableAttributesSGIX, __glXDispSwap_GetDrawableAttributesSGIX},
+- /* [ 99] = 65547 */ {NULL, NULL},
+- /* [ 100] = 65548 */ {NULL, NULL},
+- /* [ 101] = 65549 */ {NULL, NULL},
+- /* [ 102] = 65550 */ {NULL, NULL},
+- /* [ 103] = 65551 */ {NULL, NULL},
+ };
+
+ const struct __glXDispatchInfo VendorPriv_dispatch_info = {
Index: extra/x11/xorg-server/xorg-server-1.4-CVE-2007-6429.patch
diff -u extra/x11/xorg-server/xorg-server-1.4-CVE-2007-6429.patch:1.1 extra/x11/xorg-server/xorg-server-1.4-CVE-2007-6429.patch:1.2
--- extra/x11/xorg-server/xorg-server-1.4-CVE-2007-6429.patch:1.1 Sun Jan 20 15:09:14 2008
+++ extra/x11/xorg-server/xorg-server-1.4-CVE-2007-6429.patch Sat Jan 26 04:58:05 2008
@@ -80,3 +80,41 @@
VERIFY_SHMSIZE(shmdesc, stuff->offset, size, client);
pMap = (*shmFuncs[pDraw->pScreen->myNum]->CreatePixmap)(
pDraw->pScreen, stuff->width,
+From: Matthias Hopf <mhopf at suse.de>
+Date: Mon, 21 Jan 2008 15:13:21 +0000 (+0100)
+Subject: CVE-2007-6429: Always test for size+offset wrapping.
+X-Git-Url: http://gitweb.freedesktop.org/?p=xorg/xserver.git;a=commitdiff;h=be6c17fcf9efebc0bbcc3d9a25f8c5a2450c2161
+
+CVE-2007-6429: Always test for size+offset wrapping.
+---
+
+--- a/Xext/shm.c
++++ b/Xext/shm.c
+@@ -799,10 +799,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);
+
+@@ -1144,10 +1144,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)(
More information about the arch-commits
mailing list