add sec fix patch
authorMarinus Schraal <foser@gentoo.org>
Wed, 4 Apr 2007 13:51:04 +0000 (13:51 +0000)
committerMarinus Schraal <foser@gentoo.org>
Wed, 4 Apr 2007 13:51:04 +0000 (13:51 +0000)
Package-Manager: portage-2.1.2.3

media-libs/freetype/ChangeLog
media-libs/freetype/Manifest
media-libs/freetype/files/digest-freetype-2.3.2-r3 [new file with mode: 0644]
media-libs/freetype/files/freetype-2.3.2-bdflib.patch [new file with mode: 0644]
media-libs/freetype/freetype-2.3.2-r3.ebuild [new file with mode: 0644]

index e0c79204cf7a2e8ba6aa1ddca57a63568c978f47..9e65f799b8552280d20b4378d2d673060cc9be17 100644 (file)
@@ -1,6 +1,12 @@
 # ChangeLog for media-libs/freetype
 # Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/media-libs/freetype/ChangeLog,v 1.112 2007/04/01 04:48:12 dirtyepic Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-libs/freetype/ChangeLog,v 1.113 2007/04/04 13:51:04 foser Exp $
+
+*freetype-2.3.2-r3 (04 Apr 2007)
+
+  04 Apr 2007; Marinus Schraal <foser@gentoo.org> freetype-2.3.2-r3.ebuild,
+  files/freetype-2.3.2-bdflib.patch :
+  Fix for CVE-2007-1351 (#172577)
 
   01 Apr 2007; Ryan Hill <dirtyepic@gentoo.org> freetype-2.1.9-r1.ebuild:
   Reverse last commit.  Thinko.
index 51c9b307719ce694e6e58453b56019f56136fc87..59a699c1b27d0b6a8bd210144eacf311df506cb8 100644 (file)
@@ -30,6 +30,10 @@ AUX freetype-2.2.1-foobillard.patch 951 RMD160 d077f6a3ce5645183e8656169347d698a
 MD5 7c46e7d6f0159a84608bf4bd85fe6bb8 files/freetype-2.2.1-foobillard.patch 951
 RMD160 d077f6a3ce5645183e8656169347d698a18f184f files/freetype-2.2.1-foobillard.patch 951
 SHA256 9ba8c5ede47f5a2eb7a9cad5f245325035da1df13eaca8bc24fa6da51b3370f4 files/freetype-2.2.1-foobillard.patch 951
+AUX freetype-2.3.2-bdflib.patch 1795 RMD160 52fcb8535696e3a78ee345d870fc32d26173e424 SHA1 d45f06ee89be7da300b2955a7d17543cba70369e SHA256 2f2f025419112221afd9d30bc99ebded4df998142c940723e1deb37355252cd0
+MD5 3eb259f5c1904e14b40846df8dd1f2ac files/freetype-2.3.2-bdflib.patch 1795
+RMD160 52fcb8535696e3a78ee345d870fc32d26173e424 files/freetype-2.3.2-bdflib.patch 1795
+SHA256 2f2f025419112221afd9d30bc99ebded4df998142c940723e1deb37355252cd0 files/freetype-2.3.2-bdflib.patch 1795
 AUX freetype-2.3.2-enable-valid.patch 624 RMD160 88bc4de26daa91a09dda2ca1308319c0cf7dff4d SHA1 212c5c9e3362b3a058803bb5031358b5b92a1d29 SHA256 3c26cd8b92510490b4bdbdd12b078e33a4f8607eaee64a800c3ea23097d5d43b
 MD5 90217c5567fba0617d2bec4003aeadd9 files/freetype-2.3.2-enable-valid.patch 624
 RMD160 88bc4de26daa91a09dda2ca1308319c0cf7dff4d files/freetype-2.3.2-enable-valid.patch 624
@@ -80,10 +84,14 @@ EBUILD freetype-2.3.2-r2.ebuild 2988 RMD160 51c5a8f3824644a09336966f37b95041c0c9
 MD5 463b59c8beab6ee9977a4289979e0d40 freetype-2.3.2-r2.ebuild 2988
 RMD160 51c5a8f3824644a09336966f37b95041c0c9ba84 freetype-2.3.2-r2.ebuild 2988
 SHA256 bf61943dc9a696c1f5170f9005e32f2638a0c833798392621a7c236279cf12d1 freetype-2.3.2-r2.ebuild 2988
-MISC ChangeLog 16782 RMD160 bf798bd0493e59f5fcc80e8306a2d661af3c0b33 SHA1 47afcb9dd162ef6b544aea64521436b13c73e29a SHA256 921f5caed7c4db338cc687a1e987c0805b4853b3dacd3bd4344c9b1fb7b8a43d
-MD5 f5125e2553c29266de89615e63c4f233 ChangeLog 16782
-RMD160 bf798bd0493e59f5fcc80e8306a2d661af3c0b33 ChangeLog 16782
-SHA256 921f5caed7c4db338cc687a1e987c0805b4853b3dacd3bd4344c9b1fb7b8a43d ChangeLog 16782
+EBUILD freetype-2.3.2-r3.ebuild 3037 RMD160 53734f9a7fd2ed5cbc304407bd668d9d34a64299 SHA1 321ea00113b5554f571bf37d143f0469178a5bfc SHA256 a58953eef843958bb8618511c2ddefc29aa163a8f141646ef7a1d4a7d2bbd6f8
+MD5 9617c05c2045d8ff657fbacbedfb0812 freetype-2.3.2-r3.ebuild 3037
+RMD160 53734f9a7fd2ed5cbc304407bd668d9d34a64299 freetype-2.3.2-r3.ebuild 3037
+SHA256 a58953eef843958bb8618511c2ddefc29aa163a8f141646ef7a1d4a7d2bbd6f8 freetype-2.3.2-r3.ebuild 3037
+MISC ChangeLog 16961 RMD160 fd89050ff4336a91e055a38ad9fbc7882f16e6b7 SHA1 1cb90f8278a6ecf267ad7be24936accb7bdfd38e SHA256 7d5e4af0e29172c5bc73e7d9c1dc47e4fa6357ebb3add3341e19a3ea0424c2bf
+MD5 cc7e8239ea1e1cccc46954b17955b70e ChangeLog 16961
+RMD160 fd89050ff4336a91e055a38ad9fbc7882f16e6b7 ChangeLog 16961
+SHA256 7d5e4af0e29172c5bc73e7d9c1dc47e4fa6357ebb3add3341e19a3ea0424c2bf ChangeLog 16961
 MISC metadata.xml 449 RMD160 1aa0a350b9b93a527af79a3d6aa6233d498d6366 SHA1 7491212724f2bb6e5068b47ebf4047f1f2c57056 SHA256 4a2b47a4958439e0e153d37652d2165891f490c3cbf356424636edb0b91114a7
 MD5 bc35457473f59e79ce028b34001d3e95 metadata.xml 449
 RMD160 1aa0a350b9b93a527af79a3d6aa6233d498d6366 metadata.xml 449
@@ -109,3 +117,6 @@ SHA256 938933517d160671e27f2ffd282286a85b9cc9b84f243f7ae0715a06e03f6d23 files/di
 MD5 6d4951ef7998ea18536cfd09fffbd2aa files/digest-freetype-2.3.2-r2 750
 RMD160 15b67e79494d5c89e3a136464058f37fa6e47760 files/digest-freetype-2.3.2-r2 750
 SHA256 29e57481d8db1799cf0cf400fdcdf224adb40caef4d7a114115d907d974d407f files/digest-freetype-2.3.2-r2 750
+MD5 6d4951ef7998ea18536cfd09fffbd2aa files/digest-freetype-2.3.2-r3 750
+RMD160 15b67e79494d5c89e3a136464058f37fa6e47760 files/digest-freetype-2.3.2-r3 750
+SHA256 29e57481d8db1799cf0cf400fdcdf224adb40caef4d7a114115d907d974d407f files/digest-freetype-2.3.2-r3 750
diff --git a/media-libs/freetype/files/digest-freetype-2.3.2-r3 b/media-libs/freetype/files/digest-freetype-2.3.2-r3
new file mode 100644 (file)
index 0000000..5d84204
--- /dev/null
@@ -0,0 +1,9 @@
+MD5 119e1fe126fcfa5a70bc56db55f573d5 freetype-2.3.2.tar.bz2 1252007
+RMD160 e4da77b6f8956d69e57269c5681560beda0ddb27 freetype-2.3.2.tar.bz2 1252007
+SHA256 ba97537c711ea1970ccd97f957cabd63474de9c05aff0fc5ae931f8c90a47e7e freetype-2.3.2.tar.bz2 1252007
+MD5 d732b9b5971d019fab9c695dfa496247 freetype-doc-2.3.2.tar.bz2 98679
+RMD160 ecd619ded06bf5bf144c18c8d981aec88bab6370 freetype-doc-2.3.2.tar.bz2 98679
+SHA256 c30052d7d860b45edde95075525dd1c9d477d2b7ab5d99b5c601ac0a44b7d75c freetype-doc-2.3.2.tar.bz2 98679
+MD5 4843d92d3e92d45fc985f944a9a96671 ft2demos-2.3.2.tar.gz 191685
+RMD160 30bb4c24eefe714dc9fa628076c554604a973d1d ft2demos-2.3.2.tar.gz 191685
+SHA256 60ae6647436459703344cd64e006ed4334a4f904b2cf828042216c64d093fcb0 ft2demos-2.3.2.tar.gz 191685
diff --git a/media-libs/freetype/files/freetype-2.3.2-bdflib.patch b/media-libs/freetype/files/freetype-2.3.2-bdflib.patch
new file mode 100644 (file)
index 0000000..b0f3e19
--- /dev/null
@@ -0,0 +1,58 @@
+===================================================================
+RCS file: /sources/freetype/freetype2/src/bdf/bdflib.c,v
+retrieving revision 1.33
+retrieving revision 1.34
+diff -u -r1.33 -r1.34
+--- freetype2/src/bdf/bdflib.c 2007/02/12 21:44:09     1.33
++++ freetype2/src/bdf/bdflib.c 2007/03/28 07:17:17     1.34
+@@ -385,8 +385,10 @@
+   } _bdf_parse_t;
+-#define setsbit( m, cc )  ( m[(cc) >> 3] |= (FT_Byte)( 1 << ( (cc) & 7 ) ) )
+-#define sbitset( m, cc )  ( m[(cc) >> 3]  & ( 1 << ( (cc) & 7 ) ) )
++#define setsbit( m, cc ) \
++          ( m[(FT_Byte)(cc) >> 3] |= (FT_Byte)( 1 << ( (cc) & 7 ) ) )
++#define sbitset( m, cc ) \
++          ( m[(FT_Byte)(cc) >> 3]  & ( 1 << ( (cc) & 7 ) ) )
+   static void
+@@ -1130,7 +1132,7 @@
+                             bdf_options_t*  opts )
+   {
+     unsigned long  len;
+-    char           name[128];
++    char           name[256];
+     _bdf_list_t    list;
+     FT_Memory      memory;
+     FT_Error       error = BDF_Err_Ok;
+@@ -1149,6 +1151,13 @@
+     font->spacing = opts->font_spacing;
+     len = (unsigned long)( ft_strlen( font->name ) + 1 );
++    /* Limit ourselves to 256 characters in the font name. */
++    if ( len >= 256 )
++    {
++      error = BDF_Err_Invalid_Argument;
++      goto Exit;
++    }
++
+     FT_MEM_COPY( name, font->name, len );
+     error = _bdf_list_split( &list, (char *)"-", name, len );
+@@ -1467,6 +1476,14 @@
+       if ( p->cnt == 0 )
+         font->glyphs_size = 64;
++      /* Limit ourselves to 1,114,112 glyphs in the font (this is the */
++      /* number of code points available in Unicode).                 */
++      if ( p->cnt >= 1114112UL )
++      {
++        error = BDF_Err_Invalid_Argument;
++        goto Exit;
++      }
++
+       if ( FT_NEW_ARRAY( font->glyphs, font->glyphs_size ) )
+         goto Exit;
diff --git a/media-libs/freetype/freetype-2.3.2-r3.ebuild b/media-libs/freetype/freetype-2.3.2-r3.ebuild
new file mode 100644 (file)
index 0000000..3a31ebf
--- /dev/null
@@ -0,0 +1,105 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/media-libs/freetype/freetype-2.3.2-r3.ebuild,v 1.1 2007/04/04 13:51:04 foser Exp $
+
+inherit eutils flag-o-matic libtool
+
+DESCRIPTION="A high-quality and portable font engine"
+HOMEPAGE="http://www.freetype.org/"
+SRC_URI="mirror://sourceforge/freetype/${P/_/}.tar.bz2
+       mirror://sourceforge/freetype/ft2demos-${PV}.tar.gz
+       doc? ( mirror://sourceforge/${PN}/${PN}-doc-${PV}.tar.bz2 )"
+
+LICENSE="FTL GPL-2"
+SLOT="2"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd"
+IUSE="bindist debug doc zlib"
+
+# The RDEPEND below makes sure that if there is a version of moz/ff/tb
+# installed, then it will have the freetype-2.1.8+ binary compatibility patch.
+# Otherwise updating freetype will cause moz/ff/tb crashes.  #59849
+# 20 Nov 2004 agriffis
+DEPEND="zlib? ( sys-libs/zlib )"
+
+RDEPEND="${DEPEND}
+       !<www-client/mozilla-1.7.3-r3
+       !<www-client/mozilla-firefox-1.0-r3
+       !<mail-client/mozilla-thunderbird-0.9-r3
+       !<media-libs/libwmf-0.2.8.2"
+
+src_unpack() {
+       unpack ${A}
+       cd "${S}"
+
+       enable_option() {
+               sed -i -e "/#define $1/a #define $1" \
+                       include/freetype/config/ftoption.h \
+                       || die "unable to enable option $1"
+       }
+
+       disable_option() {
+               sed -i -e "/#define $1/ { s:^:/*:; s:$:*/: }" \
+                       include/freetype/config/ftoption.h \
+                       || die "unable to disable option $1"
+       }
+
+       if ! use bindist; then
+               # Bytecodes and subpixel hinting supports are patented
+               # in United States; for safety, disable them while building
+               # binaries, so that no risky code is distributed.
+               # See http://freetype.org/patents.html
+
+               enable_option TT_CONFIG_OPTION_BYTECODE_INTERPRETER
+               enable_option FT_CONFIG_OPTION_SUBPIXEL_RENDERING
+               disable_option TT_CONFIG_OPTION_UNPATENTED_HINTING
+       fi
+
+       if use debug; then
+               enable_option FT_DEBUG_LEVEL_ERROR
+               enable_option FT_DEBUG_MEMORY
+       fi
+
+       enable_option FT_CONFIG_OPTION_INCREMENTAL
+       disable_option FT_CONFIG_OPTION_OLD_INTERNALS
+
+       epatch "${FILESDIR}"/${P}-enable-valid.patch
+       # 2.3.2 only - bug #170532
+       epatch "${FILESDIR}"/${P}-truetype-regression.patch
+
+       # sec vuln
+       epatch "${FILESDIR}"/${P}-bdflib.patch
+
+       sed -i -e "s:\.\.\/freetype2$:../freetype-${PV}:" ../ft2demos-${PV}/Makefile
+
+       elibtoolize
+       epunt_cxx
+
+}
+
+src_compile() {
+       # https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=118021
+       append-flags "-fno-strict-aliasing"
+
+       type -p gmake &> /dev/null && export GNUMAKE=gmake
+       econf $(use_with zlib) || die "econf failed"
+       emake || die "emake failed"
+
+       cd ../ft2demos-${PV}
+       emake || die "ft2demos emake failed"
+}
+
+src_install() {
+       emake DESTDIR="${D}" install || die "emake install failed"
+
+       dodoc ChangeLog README
+       dodoc docs/{CHANGES,CUSTOMIZE,DEBUG,*.txt,PATENTS,TODO}
+
+       #cd "${WORKDIR}"/${PN}-doc-${PV}
+       use doc && dohtml -r docs/*
+
+       rm ../ft2demos-${PV}/bin/README
+       for ft2demo in ../ft2demos-${PV}/bin/*; do
+               ./builds/unix/libtool --mode=install $(type -P install) -m 755 $ft2demo \
+                       ${D}/usr/bin
+       done
+}