[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