Patch buffer Overflow, bug #75191"
authorHeinrich Wendel <lanius@gentoo.org>
Fri, 24 Dec 2004 13:35:55 +0000 (13:35 +0000)
committerHeinrich Wendel <lanius@gentoo.org>
Fri, 24 Dec 2004 13:35:55 +0000 (13:35 +0000)
app-text/xpdf/ChangeLog
app-text/xpdf/Manifest
app-text/xpdf/files/digest-xpdf-3.00-r7 [new file with mode: 0644]
app-text/xpdf/files/xpdf-3.00-pl2.patch [new file with mode: 0644]
app-text/xpdf/xpdf-3.00-r7.ebuild [new file with mode: 0644]

index bed5040cd2c0df23f44db13ccdaf87f9c8d90af4..804c64fbbbcadf87bac4af3667ac2d5eb110ba03 100644 (file)
@@ -1,6 +1,12 @@
 # ChangeLog for app-text/xpdf
 # Copyright 2002-2004 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/app-text/xpdf/ChangeLog,v 1.59 2004/12/20 22:52:30 swegener Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-text/xpdf/ChangeLog,v 1.60 2004/12/24 13:35:55 lanius Exp $
+
+*xpdf-3.00-r7 (24 Dec 2004)
+
+  24 Dec 2004; Heinrich Wendel <lanius@gentoo.org> +files/xpdf-3.00-pl2.patch,
+  +xpdf-3.00-r7.ebuild:
+  Patch buffer Overflow, bug #75191
 
   20 Dec 2004; Sven Wegener <swegener@gentoo.org> :
   Added missing digest entries.
index 5c93c094df941fc758ee7a867f557ee19ddc0241..406979cf70ddd004eefae5427fde13f16e82fe77 100644 (file)
@@ -1,14 +1,13 @@
------BEGIN PGP SIGNED MESSAGE-----
-Hash: SHA1
-
 MD5 ec5f27e677e3d9f392761fa21ca735cc xpdf-3.00-r5.ebuild 3374
-MD5 50cb48f371bba388585ee8eddf6d97ad ChangeLog 7561
+MD5 ddbfc00608a2b36bcdf1025e3eb824fb xpdf-3.00-r7.ebuild 3477
+MD5 38cfe16d55b3a473921e86005110a0d4 ChangeLog 7728
 MD5 26b4b081d538c195dc39bcb2ec8e6f3a metadata.xml 161
 MD5 3bff7cc8330fbca78658df795922b588 xpdf-3.00-r6.ebuild 3438
 MD5 8221707abac9c48b486b8c2b9bc7a7a0 files/xpdf-3.00-empty-bookmark.patch 373
 MD5 a21a0caeb7356fb3e68e5db195a505e9 files/xpdfrc.1 1587
 MD5 f200f24c7cfa6061337dc6c0e03f36b9 files/xpdf-3.00-nodrm.diff 1049
 MD5 d2fc1b3562bfee9f9c7fb5beaa741084 files/xpdf-3.00-truetype.diff.gz 3288
+MD5 dd4a7f876f8002dc835dab94f7fcefc1 files/xpdf-3.00-pl2.patch 1665
 MD5 37f0b42aad269cb5896773b47b1d83ac files/xpdf-3.00-truetype-new.diff.gz 1271
 MD5 1ca86139c360680d756c771b7c6c8647 files/xpdf-3.00-freetype-2.1.7.patch 2743
 MD5 7c0787e730fecfb5b6ebc5a7a69cd64e files/xpdfrc 1092
@@ -19,10 +18,4 @@ MD5 9a40ac2946ebb4599602f43e10f88786 files/xpdf-3.00-scroll-opts.patch.bz2 1869
 MD5 2fce5bedd61300fad1566a41f991a782 files/xpdf-goo-sizet.patch 1424
 MD5 36b521d0408d11075c1e6536e91265f2 files/digest-xpdf-3.00-r5 767
 MD5 36b521d0408d11075c1e6536e91265f2 files/digest-xpdf-3.00-r6 767
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v1.9.10 (GNU/Linux)
-
-iD8DBQFBx1e3I1lqEGTUzyQRAlMdAJwMhqbh+0NFXIakdFhYcx6/W22uxACeOGcM
-L1vW6nLaAHWg+XbnnB7z5g8=
-=Jko5
------END PGP SIGNATURE-----
+MD5 36b521d0408d11075c1e6536e91265f2 files/digest-xpdf-3.00-r7 767
diff --git a/app-text/xpdf/files/digest-xpdf-3.00-r7 b/app-text/xpdf/files/digest-xpdf-3.00-r7
new file mode 100644 (file)
index 0000000..b34171a
--- /dev/null
@@ -0,0 +1,12 @@
+MD5 95294cef3031dd68e65f331e8750b2c2 xpdf-3.00.tar.gz 534697
+MD5 67f05f65bc64bf022b36138c7c26746d xpdf-arabic.tar.gz 1058
+MD5 713659f0282b9e3d169390e246e5eb74 xpdf-chinese-simplified.tar.gz 756127
+MD5 5be730b859f8b01de569eb1bad188426 xpdf-chinese-traditional.tar.gz 698902
+MD5 21f57122247e2e2a63bfed4dc4f6c199 xpdf-cyrillic.tar.gz 1286
+MD5 2240a364b9c28ce09fd8c3107784ce40 xpdf-greek.tar.gz 1124
+MD5 438dd417517641cbb78a94facf2d938e xpdf-hebrew.tar.gz 1314
+MD5 57bb9359437583479b6670e75fa06c31 xpdf-japanese.tar.gz 430478
+MD5 10cd92e4eef065a6a26341d9a2a1b5c2 xpdf-korean.tar.gz 419081
+MD5 b305d44eb5d2b8e1da291b577017945e xpdf-latin2.tar.gz 1440
+MD5 9af495766ee4eaf3411d1fa74560f0ec xpdf-thai.tar.gz 1876
+MD5 f9233880805e3d8d2cf15a4fe679f25b xpdf-turkish.tar.gz 1140
diff --git a/app-text/xpdf/files/xpdf-3.00-pl2.patch b/app-text/xpdf/files/xpdf-3.00-pl2.patch
new file mode 100644 (file)
index 0000000..0b5066a
--- /dev/null
@@ -0,0 +1,54 @@
+*** xpdf/Gfx.cc.orig   Sun Dec 12 16:04:43 2004
+--- xpdf/Gfx.cc        Sun Dec 12 16:05:16 2004
+***************
+*** 2654,2660 ****
+      haveMask = gFalse;
+      dict->lookup("Mask", &maskObj);
+      if (maskObj.isArray()) {
+!       for (i = 0; i < maskObj.arrayGetLength(); ++i) {
+       maskObj.arrayGet(i, &obj1);
+       maskColors[i] = obj1.getInt();
+       obj1.free();
+--- 2654,2662 ----
+      haveMask = gFalse;
+      dict->lookup("Mask", &maskObj);
+      if (maskObj.isArray()) {
+!       for (i = 0;
+!         i < maskObj.arrayGetLength() && i < 2*gfxColorMaxComps;
+!         ++i) {
+       maskObj.arrayGet(i, &obj1);
+       maskColors[i] = obj1.getInt();
+       obj1.free();
+*** xpdf/GfxState.cc.orig      Sun Dec 12 16:04:48 2004
+--- xpdf/GfxState.cc   Sun Dec 12 16:06:38 2004
+***************
+*** 708,713 ****
+--- 708,718 ----
+    }
+    nCompsA = obj2.getInt();
+    obj2.free();
++   if (nCompsA > gfxColorMaxComps) {
++     error(-1, "ICCBased color space with too many (%d > %d) components",
++        nCompsA, gfxColorMaxComps);
++     nCompsA = gfxColorMaxComps;
++   }
+    if (dict->lookup("Alternate", &obj2)->isNull() ||
+        !(altA = GfxColorSpace::parse(&obj2))) {
+      switch (nCompsA) {
+***************
+*** 1054,1060 ****
+    }
+    nCompsA = obj1.arrayGetLength();
+    if (nCompsA > gfxColorMaxComps) {
+!     error(-1, "DeviceN color space with more than %d > %d components",
+         nCompsA, gfxColorMaxComps);
+      nCompsA = gfxColorMaxComps;
+    }
+--- 1059,1065 ----
+    }
+    nCompsA = obj1.arrayGetLength();
+    if (nCompsA > gfxColorMaxComps) {
+!     error(-1, "DeviceN color space with too many (%d > %d) components",
+         nCompsA, gfxColorMaxComps);
+      nCompsA = gfxColorMaxComps;
+    }
diff --git a/app-text/xpdf/xpdf-3.00-r7.ebuild b/app-text/xpdf/xpdf-3.00-r7.ebuild
new file mode 100644 (file)
index 0000000..5c4e65e
--- /dev/null
@@ -0,0 +1,104 @@
+# Copyright 1999-2004 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-text/xpdf/xpdf-3.00-r7.ebuild,v 1.1 2004/12/24 13:35:55 lanius Exp $
+
+inherit eutils
+
+DESCRIPTION="An X Viewer for PDF Files"
+HOMEPAGE="http://www.foolabs.com/xpdf/"
+SRC_URI="ftp://ftp.foolabs.com/pub/xpdf/${P}.tar.gz
+       linguas_ar? ( ftp://ftp.foolabs.com/pub/xpdf/xpdf-arabic.tar.gz )
+       linguas_zh_CN? ( ftp://ftp.foolabs.com/pub/xpdf/xpdf-chinese-simplified.tar.gz )
+       linguas_zh_TW? ( ftp://ftp.foolabs.com/pub/xpdf/xpdf-chinese-traditional.tar.gz )
+       linguas_ru? ( ftp://ftp.foolabs.com/pub/xpdf/xpdf-cyrillic.tar.gz )
+       linguas_el? ( ftp://ftp.foolabs.com/pub/xpdf/xpdf-greek.tar.gz )
+       linguas_he? ( ftp://ftp.foolabs.com/pub/xpdf/xpdf-hebrew.tar.gz )
+       linguas_ja? ( ftp://ftp.foolabs.com/pub/xpdf/xpdf-japanese.tar.gz )
+       linguas_ko? ( ftp://ftp.foolabs.com/pub/xpdf/xpdf-korean.tar.gz )
+       linguas_la? ( ftp://ftp.foolabs.com/pub/xpdf/xpdf-latin2.tar.gz )
+       linguas_th? ( ftp://ftp.foolabs.com/pub/xpdf/xpdf-thai.tar.gz )
+       linguas_tr? ( ftp://ftp.foolabs.com/pub/xpdf/xpdf-turkish.tar.gz )"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc x86"
+IUSE="nomotif nodrm"
+
+DEPEND="!nomotif? ( virtual/x11
+       x11-libs/openmotif )
+       >=media-libs/freetype-2.0.5
+       >=media-libs/t1lib-1.3
+       >=virtual/ghostscript-7.07.1-r5"
+
+RDEPEND="${DEPEND}
+       linguas_ja? ( >=media-fonts/kochi-substitute-20030809-r3 )
+       linguas_zh_CN? ( >=media-fonts/arphicfonts-0.1-r2 )
+       linguas_zh_TW? ( >=media-fonts/arphicfonts-0.1-r2 )
+       linguas_ko? ( >=media-fonts/baekmuk-fonts-2.2 )
+       !app-text/xpdf-chinese-simplified
+       !app-text/xpdf-chinese-traditional
+       !app-text/xpdf-cyrillic
+       !app-text/xpdf-greek
+       !app-text/xpdf-japanese
+       !app-text/xpdf-korean
+       !app-text/xpdf-latin2
+       !app-text/xpdf-thai
+       !app-text/xpdf-turkish"
+PROVIDE="virtual/pdfviewer"
+
+src_unpack() {
+       unpack ${A}
+       cd ${S}
+       epatch ${FILESDIR}/xpdf-3.00-truetype-new.diff.gz
+       epatch ${FILESDIR}/xpdf-3.00-freetype-2.1.7.patch
+       epatch ${FILESDIR}/xpdf-3.00-empty-bookmark.patch
+       epatch ${FILESDIR}/xpdf-3.00-core.patch.bz2
+       epatch ${FILESDIR}/xpdf-3.00-overflow.patch.bz2
+       epatch ${FILESDIR}/xpdf-3.00-PathScanner.patch.bz2
+       use nodrm && epatch ${FILESDIR}/xpdf-3.00-nodrm.diff
+       epatch ${FILESDIR}/xpdf-goo-sizet.patch
+       epatch ${FILESDIR}/xpdf-3.00-scroll-opts.patch.bz2
+       epatch ${FILESDIR}/xpdf-3.00-pl2.patch
+       autoconf
+}
+
+src_compile() {
+       econf \
+               --enable-freetype2 \
+               --with-freetype2-includes=/usr/include/freetype2 || die
+
+       emake || die
+}
+
+src_install() {
+       make DESTDIR=${D} install || die
+       prepallman
+       dodoc README ANNOUNCE CHANGES
+       insinto /etc
+       newins ${FILESDIR}/xpdfrc.1 xpdfrc
+
+       # install languages, but not on ppc64 (produces crashes...)
+       if use !ppc64; then
+               use linguas_ar && install_lang turkish
+               use linguas_zh_CN && install_lang chinese-simplified
+               use linguas_zh_TW && install_lang chinese-traditional
+               use linguas_ru && install_lang cyrillic
+               use linguas_el && install_lang greek
+               use linguas_he && install_lang hebrew
+               use linguas_ja && install_lang japanese
+               use linguas_ko && install_lang korean
+               use linguas_la && install_lang latin2
+               use linguas_th && install_lang thai
+               use linguas_tr && install_lang turkish
+       fi
+}
+
+install_lang() {
+       cd ../xpdf-$1
+       sed 's,/usr/local/share/xpdf/,/usr/share/xpdf/,g' add-to-xpdfrc >> ${D}/etc/xpdfrc
+       insinto /usr/share/xpdf/$1
+       doins *.unicodeMap
+       doins *.cid*
+       insinto /usr/share/xpdf/$1/CMap
+       doins CMap/*
+}