diff options
author | 2006-01-18 20:45:28 +0000 | |
---|---|---|
committer | 2006-01-18 20:45:28 +0000 | |
commit | 5e3c02cadcac32328b7a01aa3976923daf30b4a2 (patch) | |
tree | 336c802d5ea21d57f25eb314fcb465f5a73f03d5 /media-plugins/gst-plugins-ffmpeg | |
parent | use WORKDIR (diff) | |
download | historical-5e3c02cadcac32328b7a01aa3976923daf30b4a2.tar.gz historical-5e3c02cadcac32328b7a01aa3976923daf30b4a2.tar.bz2 historical-5e3c02cadcac32328b7a01aa3976923daf30b4a2.zip |
Adding patch for ffmpeg vulnerability. More info available in bug 115760
Package-Manager: portage-2.1_pre3-r1
Diffstat (limited to 'media-plugins/gst-plugins-ffmpeg')
7 files changed, 239 insertions, 13 deletions
diff --git a/media-plugins/gst-plugins-ffmpeg/ChangeLog b/media-plugins/gst-plugins-ffmpeg/ChangeLog index 39e5dd8e9fa6..ecdbcbe2bcd5 100644 --- a/media-plugins/gst-plugins-ffmpeg/ChangeLog +++ b/media-plugins/gst-plugins-ffmpeg/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for media-plugins/gst-plugins-ffmpeg -# Copyright 2000-2005 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/media-plugins/gst-plugins-ffmpeg/ChangeLog,v 1.42 2005/12/05 23:10:03 zaheerm Exp $ +# Copyright 2000-2006 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/media-plugins/gst-plugins-ffmpeg/ChangeLog,v 1.43 2006/01/18 20:45:28 joem Exp $ + +*gst-plugins-ffmpeg-0.10.0-r1 (18 Jan 2006) +*gst-plugins-ffmpeg-0.8.7-r1 (18 Jan 2006) + + 18 Jan 2006; Joe McCann <joem@gentoo.org> +files/ffmpeg_dos.patch, + +gst-plugins-ffmpeg-0.8.7-r1.ebuild, +gst-plugins-ffmpeg-0.10.0-r1.ebuild: + Adding patch for ffmpeg vulnerability. More info available in bug 115760 05 Dec 2005; Zaheer Abbas Merali <zaheerm@gentoo.org> gst-plugins-ffmpeg-0.8.4.ebuild, gst-plugins-ffmpeg-0.8.4-r1.ebuild, diff --git a/media-plugins/gst-plugins-ffmpeg/Manifest b/media-plugins/gst-plugins-ffmpeg/Manifest index 09eb8c2df0de..5b6905f19218 100644 --- a/media-plugins/gst-plugins-ffmpeg/Manifest +++ b/media-plugins/gst-plugins-ffmpeg/Manifest @@ -1,17 +1,22 @@ -MD5 b2ee7964fb68b8d1930e482f1ebc9731 gst-plugins-ffmpeg-0.8.7.ebuild 1551 -MD5 054ebc6de6df9d72f7c22f5352aedddc gst-plugins-ffmpeg-0.8.4-r1.ebuild 1681 -MD5 e71143901d9b301f20a71ae2667d5d12 gst-plugins-ffmpeg-0.8.4.ebuild 1487 -MD5 7251fdac77e8a3ab01f83718c6074cfe gst-plugins-ffmpeg-0.8.6.ebuild 1663 -MD5 bd9a573e4c8653240c98a7b3cb718210 gst-plugins-ffmpeg-0.10.0.ebuild 1261 -MD5 d3fd16950041773cb07e314b73140b31 gst-plugins-ffmpeg-0.8.5.ebuild 1618 -MD5 442300b796f379b123b96b89f2bde00c ChangeLog 6148 -MD5 6cf6f97e79b43eaf70fa938c431342a3 metadata.xml 181 +MD5 ccd81c3f48ea4d7d082bee01221802b3 ChangeLog 6455 +MD5 4e1e8378e4303b131780f2b9263a6810 files/digest-gst-plugins-ffmpeg-0.10.0 71 +MD5 4e1e8378e4303b131780f2b9263a6810 files/digest-gst-plugins-ffmpeg-0.10.0-r1 71 MD5 bca5ec805820433590977e10928cc8a3 files/digest-gst-plugins-ffmpeg-0.8.4 70 +MD5 bca5ec805820433590977e10928cc8a3 files/digest-gst-plugins-ffmpeg-0.8.4-r1 70 MD5 1f3f598337071d9fb75bd2ced0fd0ce5 files/digest-gst-plugins-ffmpeg-0.8.5 70 MD5 116ed34f4ffdbba9366d3d73de065842 files/digest-gst-plugins-ffmpeg-0.8.6 70 MD5 7a94bdb0f81ff1bb5d568333930d5b20 files/digest-gst-plugins-ffmpeg-0.8.7 70 -MD5 bca5ec805820433590977e10928cc8a3 files/digest-gst-plugins-ffmpeg-0.8.4-r1 70 +MD5 7a94bdb0f81ff1bb5d568333930d5b20 files/digest-gst-plugins-ffmpeg-0.8.7-r1 70 +MD5 622065818c9e4ae7054c4230d3205d5f files/ffmpeg_dos.patch 3467 MD5 46751c3c4ae072d530592ef91852936f files/gst-ffmpeg-gcc4.patch.gz 1367 -MD5 4e1e8378e4303b131780f2b9263a6810 files/digest-gst-plugins-ffmpeg-0.10.0 71 -MD5 2963f26bd29fbec176f2e0fb08213e75 files/gst-plugins-ffmpeg-0.8.5-gmake.patch 322 MD5 17bff3394f5317a370ff75f983c76d16 files/gst-plugins-ffmpeg-0.8.4-eoshangfix.patch 905 +MD5 2963f26bd29fbec176f2e0fb08213e75 files/gst-plugins-ffmpeg-0.8.5-gmake.patch 322 +MD5 d2e27f9051f7baa7930d4373daca6519 gst-plugins-ffmpeg-0.10.0-r1.ebuild 1298 +MD5 bd9a573e4c8653240c98a7b3cb718210 gst-plugins-ffmpeg-0.10.0.ebuild 1261 +MD5 054ebc6de6df9d72f7c22f5352aedddc gst-plugins-ffmpeg-0.8.4-r1.ebuild 1681 +MD5 e71143901d9b301f20a71ae2667d5d12 gst-plugins-ffmpeg-0.8.4.ebuild 1487 +MD5 d3fd16950041773cb07e314b73140b31 gst-plugins-ffmpeg-0.8.5.ebuild 1618 +MD5 7251fdac77e8a3ab01f83718c6074cfe gst-plugins-ffmpeg-0.8.6.ebuild 1663 +MD5 6ea38b7867adb07b61140735d3368578 gst-plugins-ffmpeg-0.8.7-r1.ebuild 1588 +MD5 b2ee7964fb68b8d1930e482f1ebc9731 gst-plugins-ffmpeg-0.8.7.ebuild 1551 +MD5 6cf6f97e79b43eaf70fa938c431342a3 metadata.xml 181 diff --git a/media-plugins/gst-plugins-ffmpeg/files/digest-gst-plugins-ffmpeg-0.10.0-r1 b/media-plugins/gst-plugins-ffmpeg/files/digest-gst-plugins-ffmpeg-0.10.0-r1 new file mode 100644 index 000000000000..d9c6e0974928 --- /dev/null +++ b/media-plugins/gst-plugins-ffmpeg/files/digest-gst-plugins-ffmpeg-0.10.0-r1 @@ -0,0 +1 @@ +MD5 53625b1b21203ff99f115c8ecb0718cd gst-ffmpeg-0.10.0.tar.bz2 2027178 diff --git a/media-plugins/gst-plugins-ffmpeg/files/digest-gst-plugins-ffmpeg-0.8.7-r1 b/media-plugins/gst-plugins-ffmpeg/files/digest-gst-plugins-ffmpeg-0.8.7-r1 new file mode 100644 index 000000000000..9eb2b2619ef9 --- /dev/null +++ b/media-plugins/gst-plugins-ffmpeg/files/digest-gst-plugins-ffmpeg-0.8.7-r1 @@ -0,0 +1 @@ +MD5 6435ef3954ee05de79829e262f86187a gst-ffmpeg-0.8.7.tar.bz2 2110685 diff --git a/media-plugins/gst-plugins-ffmpeg/files/ffmpeg_dos.patch b/media-plugins/gst-plugins-ffmpeg/files/ffmpeg_dos.patch new file mode 100644 index 000000000000..3425c1f5be83 --- /dev/null +++ b/media-plugins/gst-plugins-ffmpeg/files/ffmpeg_dos.patch @@ -0,0 +1,88 @@ +Index: libavcodec/utils.c +=================================================================== +RCS file: /cvsroot/ffmpeg/ffmpeg/libavcodec/utils.c,v +retrieving revision 1.161 +retrieving revision 1.162 +diff -u -r1.161 -r1.162 +--- gst-libs/ext/ffmpeg/libavcodec/utils.c 2 Nov 2005 09:18:32 -0000 1.161 ++++ gst-libs/ext/ffmpeg/libavcodec/utils.c 2 Dec 2005 00:12:37 -0000 1.162 +@@ -292,27 +292,10 @@ + buf->last_pic_num= *picture_number; + }else{ + int h_chroma_shift, v_chroma_shift; +- int pixel_size; +- ++ int pixel_size, size[3]; ++ AVPicture picture; ++ + avcodec_get_chroma_sub_sample(s->pix_fmt, &h_chroma_shift, &v_chroma_shift); +- +- switch(s->pix_fmt){ +- case PIX_FMT_RGB555: +- case PIX_FMT_RGB565: +- case PIX_FMT_YUV422: +- case PIX_FMT_UYVY422: +- pixel_size=2; +- break; +- case PIX_FMT_RGB24: +- case PIX_FMT_BGR24: +- pixel_size=3; +- break; +- case PIX_FMT_RGBA32: +- pixel_size=4; +- break; +- default: +- pixel_size=1; +- } + + avcodec_align_dimensions(s, &w, &h); + +@@ -320,21 +303,39 @@ + w+= EDGE_WIDTH*2; + h+= EDGE_WIDTH*2; + } +- ++ avpicture_fill(&picture, NULL, s->pix_fmt, w, h); ++ pixel_size= picture.linesize[0]*8 / w; ++//av_log(NULL, AV_LOG_ERROR, "%d %d %d %d\n", (int)picture.data[1], w, h, s->pix_fmt); ++ assert(pixel_size>=1); ++ //FIXME next ensures that linesize= 2^x uvlinesize, thats needed because some MC code assumes it ++ if(pixel_size == 3*8) ++ w= ALIGN(w, STRIDE_ALIGN<<h_chroma_shift); ++ else ++ w= ALIGN(pixel_size*w, STRIDE_ALIGN<<(h_chroma_shift+3)) / pixel_size; ++ size[1] = avpicture_fill(&picture, NULL, s->pix_fmt, w, h); ++ size[0] = picture.linesize[0] * h; ++ size[1] -= size[0]; ++ if(picture.data[2]) ++ size[1]= size[2]= size[1]/2; ++ else ++ size[2]= 0; ++ + buf->last_pic_num= -256*256*256*64; ++ memset(buf->base, 0, sizeof(buf->base)); ++ memset(buf->data, 0, sizeof(buf->data)); + +- for(i=0; i<3; i++){ ++ for(i=0; i<3 && size[i]; i++){ + const int h_shift= i==0 ? 0 : h_chroma_shift; + const int v_shift= i==0 ? 0 : v_chroma_shift; + +- //FIXME next ensures that linesize= 2^x uvlinesize, thats needed because some MC code assumes it +- buf->linesize[i]= ALIGN(pixel_size*w>>h_shift, STRIDE_ALIGN<<(h_chroma_shift-h_shift)); ++ buf->linesize[i]= picture.linesize[i]; + +- buf->base[i]= av_malloc((buf->linesize[i]*h>>v_shift)+16); //FIXME 16 ++ buf->base[i]= av_malloc(size[i]+16); //FIXME 16 + if(buf->base[i]==NULL) return -1; +- memset(buf->base[i], 128, buf->linesize[i]*h>>v_shift); +- +- if(s->flags&CODEC_FLAG_EMU_EDGE) ++ memset(buf->base[i], 128, size[i]); ++ ++ // no edge if EDEG EMU or not planar YUV, we check for PAL8 redundantly to protect against a exploitable bug regression ... ++ if((s->flags&CODEC_FLAG_EMU_EDGE) || (s->pix_fmt == PIX_FMT_PAL8) || !size[2]) + buf->data[i] = buf->base[i]; + else + buf->data[i] = buf->base[i] + ALIGN((buf->linesize[i]*EDGE_WIDTH>>v_shift) + (EDGE_WIDTH>>h_shift), STRIDE_ALIGN); + diff --git a/media-plugins/gst-plugins-ffmpeg/gst-plugins-ffmpeg-0.10.0-r1.ebuild b/media-plugins/gst-plugins-ffmpeg/gst-plugins-ffmpeg-0.10.0-r1.ebuild new file mode 100644 index 000000000000..9fb1a884c148 --- /dev/null +++ b/media-plugins/gst-plugins-ffmpeg/gst-plugins-ffmpeg-0.10.0-r1.ebuild @@ -0,0 +1,53 @@ +# Copyright 1999-2006 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/media-plugins/gst-plugins-ffmpeg/gst-plugins-ffmpeg-0.10.0-r1.ebuild,v 1.1 2006/01/18 20:45:28 joem Exp $ + +inherit flag-o-matic eutils + +MY_PN=${PN/-plugins/} +MY_P=${MY_PN}-${PV} + +# Create a major/minor combo for SLOT +PVP=(${PV//[-\._]/ }) +SLOT=${PVP[0]}.${PVP[1]} +#SLOT=0.10 + +DESCRIPTION="FFmpeg based gstreamer plugin" +HOMEPAGE="http://gstreamer.freedesktop.org/modules/gst-ffmpeg.html" +SRC_URI="http://gstreamer.freedesktop.org/src/${MY_PN}/${MY_P}.tar.bz2" + +LICENSE="GPL-2" +KEYWORDS="~amd64 ~x86" +IUSE="" + +S=${WORKDIR}/${MY_P} + +DEPEND=">=media-libs/gstreamer-0.10.0 + dev-util/pkgconfig" + +src_compile() { + + # Restrictions taken from the mplayer ebuild + # See bug #64262 for more info + # let's play the filtration game! + filter-flags -fPIE -fPIC -fstack-protector -fforce-addr -momit-leaf-frame-pointer -msse2 -msse3 -falign-functions -fweb + # ugly optimizations cause MPlayer to cry on x86 systems! + if use x86 ; then + replace-flags -O0 -O2 + replace-flags -O3 -O2 + fi + + epatch ${FILESDIR}/ffmpeg_dos.patch + econf || die + emake || die + +} + +src_install() { + + make DESTDIR=${D} install || die + + dodoc AUTHORS COPYING ChangeLog INSTALL NEWS README TODO + +} + diff --git a/media-plugins/gst-plugins-ffmpeg/gst-plugins-ffmpeg-0.8.7-r1.ebuild b/media-plugins/gst-plugins-ffmpeg/gst-plugins-ffmpeg-0.8.7-r1.ebuild new file mode 100644 index 000000000000..0ba9abd7568e --- /dev/null +++ b/media-plugins/gst-plugins-ffmpeg/gst-plugins-ffmpeg-0.8.7-r1.ebuild @@ -0,0 +1,71 @@ +# Copyright 1999-2006 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/media-plugins/gst-plugins-ffmpeg/gst-plugins-ffmpeg-0.8.7-r1.ebuild,v 1.1 2006/01/18 20:45:28 joem Exp $ + +inherit flag-o-matic eutils + +MY_PN=${PN/-plugins/} +MY_P=${MY_PN}-${PV} + +# Create a major/minor combo for SLOT +PVP=(${PV//[-\._]/ }) +SLOT=${PVP[0]}.${PVP[1]} + +DESCRIPTION="FFmpeg based gstreamer plugin" +HOMEPAGE="http://gstreamer.freedesktop.org/modules/gst-ffmpeg.html" +SRC_URI="http://gstreamer.freedesktop.org/src/${MY_PN}/${MY_P}.tar.bz2" + +LICENSE="GPL-2" +KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~hppa" +IUSE="" + +S=${WORKDIR}/${MY_P} + +DEPEND="|| ( =media-libs/gstreamer-0.8.10 =media-libs/gstreamer-0.8.11 ) + dev-util/pkgconfig" + +src_compile() { + + # Restrictions taken from the mplayer ebuild + # See bug #64262 for more info + # let's play the filtration game! + filter-flags -fPIE -fPIC -fstack-protector -fforce-addr -momit-leaf-frame-pointer -msse2 -msse3 -falign-functions -fweb + # ugly optimizations cause MPlayer to cry on x86 systems! + if use x86 ; then + replace-flags -O0 -O2 + replace-flags -O3 -O2 + fi + + epatch ${FILESDIR}/ffmpeg_dos.patch + econf || die + emake || die + +} + +src_install() { + + make DESTDIR=${D} install || die + + dodoc AUTHORS COPYING ChangeLog INSTALL NEWS README TODO + +} + +# ripped from the gst-plugins eclass +update_registry() { + + einfo "Updating gstreamer plugins registry for gstreamer ${SLOT}..." + gst-register-${SLOT} + +} + +pkg_postinst() { + + update_registry + +} + +pkg_postrm() { + + update_registry + +} |