diff options
author | Joshua Baergen <joshuabaergen@gentoo.org> | 2005-09-13 01:02:51 +0000 |
---|---|---|
committer | Joshua Baergen <joshuabaergen@gentoo.org> | 2005-09-13 01:02:51 +0000 |
commit | 978168acbbf17784b7a555ae1b57998005176ead (patch) | |
tree | 51685ec1c1028c105451968c9d0ff6c0aaaba9ea /x11-base | |
parent | Mark 1.9.23 ~amd64 (diff) | |
download | gentoo-2-978168acbbf17784b7a555ae1b57998005176ead.tar.gz gentoo-2-978168acbbf17784b7a555ae1b57998005176ead.tar.bz2 gentoo-2-978168acbbf17784b7a555ae1b57998005176ead.zip |
Bump to include security fix from bug #105688.
(Portage version: 2.0.52-r1)
Diffstat (limited to 'x11-base')
-rw-r--r-- | x11-base/xorg-server/ChangeLog | 9 | ||||
-rw-r--r-- | x11-base/xorg-server/Manifest | 12 | ||||
-rw-r--r-- | x11-base/xorg-server/files/0.99.1-r9-check-for-glproto.patch | 23 | ||||
-rw-r--r-- | x11-base/xorg-server/files/0.99.1-r9_CAN-2005-2495.patch | 147 | ||||
-rw-r--r-- | x11-base/xorg-server/files/digest-xorg-server-0.99.1-r9 | 3 | ||||
-rw-r--r-- | x11-base/xorg-server/xorg-server-0.99.1-r9.ebuild | 150 |
6 files changed, 339 insertions, 5 deletions
diff --git a/x11-base/xorg-server/ChangeLog b/x11-base/xorg-server/ChangeLog index 498dd518d618..b5b03a366dbf 100644 --- a/x11-base/xorg-server/ChangeLog +++ b/x11-base/xorg-server/ChangeLog @@ -1,6 +1,13 @@ # 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.43 2005/09/12 22:40:27 spyderous Exp $ +# $Header: /var/cvsroot/gentoo-x86/x11-base/xorg-server/ChangeLog,v 1.44 2005/09/13 01:02:51 joshuabaergen Exp $ + +*xorg-server-0.99.1-r9 (13 Sep 2005) + + 13 Sep 2005; Joshua Baergen <joshuabaergen@gentoo.org> + +files/0.99.1-r9_CAN-2005-2495.patch, + +files/0.99.1-r9-check-for-glproto.patch, +xorg-server-0.99.1-r9.ebuild: + Bump to include security fix from bug #105688. 12 Sep 2005; Donnie Berkholz <spyderous@gentoo.org>; xorg-server-0.99.1-r8.ebuild: diff --git a/x11-base/xorg-server/Manifest b/x11-base/xorg-server/Manifest index 902dda6fc7d5..8182f3ed78fa 100644 --- a/x11-base/xorg-server/Manifest +++ b/x11-base/xorg-server/Manifest @@ -1,10 +1,14 @@ -MD5 d0c48d00e5e3a8a87c4c2e602581ac14 ChangeLog 8910 +MD5 1ca29c050ded84d2e782065401d615b3 ChangeLog 9170 MD5 a37bab73e2f24b213932c30997d3d360 metadata.xml 156 MD5 13447c0668e6e61ce31da5ef702db959 xorg-server-0.99.1-r7.ebuild 3677 MD5 2534e0066e060e98735d247885cddb10 xorg-server-0.99.1-r8.ebuild 3766 +MD5 63f0db5bd3c602422b0af6f6ba0788c6 xorg-server-0.99.1-r9.ebuild 3806 +MD5 1fa8d5da48c29537eeca2a0b63fd31a2 files/fix-xnest.patch 682 MD5 bef863b379ee69c1339b0e01e4d51284 files/0.99.1-r6-check-for-glproto.patch 859 +MD5 5a445ea35d70ce20671a49049b406680 files/0.99.1-r8-check-for-glproto.patch 911 +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 09038114af03ae42879f9729972ce96e files/digest-xorg-server-0.99.1-r7 241 -MD5 1fa8d5da48c29537eeca2a0b63fd31a2 files/fix-xnest.patch 682 -MD5 55216957eaf15355f76c7499c9127760 files/make-fbcompose-endian-safe.patch 803 MD5 21ec9868da064e8a549db3d501373dea files/digest-xorg-server-0.99.1-r8 239 -MD5 5a445ea35d70ce20671a49049b406680 files/0.99.1-r8-check-for-glproto.patch 911 +MD5 21ec9868da064e8a549db3d501373dea files/digest-xorg-server-0.99.1-r9 239 +MD5 55216957eaf15355f76c7499c9127760 files/make-fbcompose-endian-safe.patch 803 diff --git a/x11-base/xorg-server/files/0.99.1-r9-check-for-glproto.patch b/x11-base/xorg-server/files/0.99.1-r9-check-for-glproto.patch new file mode 100644 index 000000000000..d0638bfb58cd --- /dev/null +++ b/x11-base/xorg-server/files/0.99.1-r9-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-r9_CAN-2005-2495.patch b/x11-base/xorg-server/files/0.99.1-r9_CAN-2005-2495.patch new file mode 100644 index 000000000000..447b76946d2d --- /dev/null +++ b/x11-base/xorg-server/files/0.99.1-r9_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); diff --git a/x11-base/xorg-server/files/digest-xorg-server-0.99.1-r9 b/x11-base/xorg-server/files/digest-xorg-server-0.99.1-r9 new file mode 100644 index 000000000000..df3d85104a58 --- /dev/null +++ b/x11-base/xorg-server/files/digest-xorg-server-0.99.1-r9 @@ -0,0 +1,3 @@ +MD5 ae556a5fa66cb9871cd9eb93bcc908ad xorg-server-0.99.1.tar.bz2 3602415 +MD5 0df27701df0924d17ddf41185efa8ce1 MesaLib-6.3.2.tar.bz2 3012145 +MD5 663fffee2ca1db123595cf66caac928b xorg-server-0.99.1-update-to-CVS-HEAD-20050907.patch.gz 300366 diff --git a/x11-base/xorg-server/xorg-server-0.99.1-r9.ebuild b/x11-base/xorg-server/xorg-server-0.99.1-r9.ebuild new file mode 100644 index 000000000000..452e6a14e0b1 --- /dev/null +++ b/x11-base/xorg-server/xorg-server-0.99.1-r9.ebuild @@ -0,0 +1,150 @@ +# Copyright 1999-2005 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/x11-base/xorg-server/xorg-server-0.99.1-r9.ebuild,v 1.1 2005/09/13 01:02:51 joshuabaergen Exp $ + +# Must be before x-modular eclass is inherited +# Hack to make sure autoreconf gets run +SNAPSHOT="yes" + +inherit flag-o-matic x-modular multilib + +OPENGL_DIR="xorg-x11" + +MESA_PN="Mesa" +MESA_PV="6.3.2" +MESA_P="${MESA_PN}-${MESA_PV}" +MESA_SRC_P="${MESA_PN}Lib-${MESA_PV}" + +CVS_UPDATE_DATE="20050907" + +PATCHES="${WORKDIR}/${P}-update-to-CVS-HEAD-${CVS_UPDATE_DATE}.patch + ${FILESDIR}/${PVR}-check-for-glproto.patch + ${FILESDIR}/${PVR}_CAN-2005-2495.patch" + +SRC_URI="${SRC_URI} + mirror://sourceforge/mesa3d/${MESA_SRC_P}.tar.bz2 + http://dev.gentoo.org/~spyderous/xorg-x11/xorg-server-0.99.1-update-to-CVS-HEAD-${CVS_UPDATE_DATE}.patch.gz" +DESCRIPTION="X.Org X servers" +KEYWORDS="~amd64 ~ppc ~sparc ~x86" +#IUSE="dri ipv6 minimal xprint" +IUSE="dri ipv6 minimal" +RDEPEND="x11-libs/libXfont + x11-libs/xtrans + x11-libs/libXau + x11-libs/libXext + x11-libs/libX11 + x11-libs/libxkbfile + x11-libs/libXdmcp + x11-libs/libXmu + x11-libs/libXrender + x11-libs/libXi + media-libs/freetype + >=media-libs/mesa-6 + media-fonts/font-misc-misc + media-fonts/font-cursor-misc + x11-misc/xbitmaps + x11-misc/xkbdata + x11-apps/iceauth + x11-apps/rgb + x11-apps/xauth + x11-apps/xinit + app-admin/eselect-opengl" +DEPEND="${RDEPEND} + x11-proto/randrproto + x11-proto/renderproto + x11-proto/fixesproto + x11-proto/damageproto + x11-proto/xextproto + x11-proto/xproto + x11-proto/xf86dgaproto + x11-proto/xf86miscproto + x11-proto/xf86rushproto + x11-proto/xf86vidmodeproto + x11-proto/xf86bigfontproto + x11-proto/compositeproto + x11-proto/recordproto + x11-proto/resourceproto + x11-proto/dmxproto + x11-proto/videoproto + x11-proto/scrnsaverproto + x11-proto/evieext + x11-proto/trapproto + >=x11-proto/xineramaproto-1.1-r1 + x11-proto/fontsproto + >=x11-proto/kbproto-1.0-r1 + x11-proto/inputproto + x11-proto/bigreqsproto + x11-proto/xcmiscproto + x11-proto/glproto + dri? ( x11-proto/xf86driproto + x11-libs/libdrm )" +# xprint? ( x11-proto/printproto ) + +pkg_setup() { + # localstatedir is used for the log location; we need to override the default + # from ebuild.sh + # sysconfdir is used for the xorg.conf location; same applies + CONFIGURE_OPTIONS=" + $(use_enable ipv6) + $(use_enable !minimal dmx) + $(use_enable !minimal xvfb) + $(use_enable !minimal xnest) + $(use_enable dri) + --disable-xprint + --enable-xcsecurity + --with-mesa-source=${WORKDIR}/${MESA_P} + --enable-xorg + --enable-xtrap + --enable-xevie + --sysconfdir=/etc/X11 + --localstatedir=/var + --with-xkb-path=/usr/$(get_libdir)/X11/xkb + --disable-static" +# $(use_enable xprint) + + # X won't start if -fomit-frame-pointer isn't filtered + filter-flags -fomit-frame-pointer +} + +src_install() { + x-modular_src_install + + dynamic_libgl_install + + dosym Xorg /usr/bin/X + fperms 4711 /usr/bin/Xorg +} + +pkg_postinst() { + switch_opengl_implem +} + +pkg_postrm() { + # Get rid of module dir to ensure opengl-update works properly + if ! has_version x11-base/xorg-server; then + if [ -e ${ROOT}/usr/$(get_libdir)/xorg/modules ]; then + rm -rf ${ROOT}/usr/$(get_libdir)/xorg/modules + fi + fi +} + +dynamic_libgl_install() { + # next section is to setup the dynamic libGL stuff + ebegin "Moving GL files for dynamic switching" + dodir /usr/$(get_libdir)/opengl/${OPENGL_DIR}/extensions + local x="" + for x in ${D}/usr/$(get_libdir)/xorg/modules/libglx*; do + if [ -f ${x} -o -L ${x} ]; then + mv -f ${x} ${D}/usr/$(get_libdir)/opengl/${OPENGL_DIR}/extensions + fi + done + eend 0 +} + +switch_opengl_implem() { + # Switch to the xorg implementation. + # Use new opengl-update that will not reset user selected + # OpenGL interface ... + echo + eselect opengl set --use-old ${OPENGL_DIR} +} |