summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarinus Schraal <foser@gentoo.org>2004-10-25 15:25:08 +0000
committerMarinus Schraal <foser@gentoo.org>2004-10-25 15:25:08 +0000
commit22aa0e3f04586fe36b1c6dc1d3dc6dc7c59088b5 (patch)
tree82cc4ca75f58083c3f808c9f4c31d84cc1eb4501 /app-text
parentVersion bump. (diff)
downloadhistorical-22aa0e3f04586fe36b1c6dc1d3dc6dc7c59088b5.tar.gz
historical-22aa0e3f04586fe36b1c6dc1d3dc6dc7c59088b5.tar.bz2
historical-22aa0e3f04586fe36b1c6dc1d3dc6dc7c59088b5.zip
add security patches
Diffstat (limited to 'app-text')
-rw-r--r--app-text/gpdf/ChangeLog8
-rw-r--r--app-text/gpdf/Manifest28
-rw-r--r--app-text/gpdf/files/digest-gpdf-0.112.11
-rw-r--r--app-text/gpdf/files/digest-gpdf-0.132-r11
-rw-r--r--app-text/gpdf/files/digest-gpdf-2.8.0-r1 (renamed from app-text/gpdf/files/digest-gpdf-2.8.0)0
-rw-r--r--app-text/gpdf/files/gpdf-xpdf_2_CAN-2004-0888.patch76
-rw-r--r--app-text/gpdf/files/gpdf-xpdf_3_CAN-2004-0889.patch296
-rw-r--r--app-text/gpdf/gpdf-0.112.1.ebuild39
-rw-r--r--app-text/gpdf/gpdf-0.132-r1.ebuild42
-rw-r--r--app-text/gpdf/gpdf-2.8.0-r1.ebuild (renamed from app-text/gpdf/gpdf-2.8.0.ebuild)12
10 files changed, 443 insertions, 60 deletions
diff --git a/app-text/gpdf/ChangeLog b/app-text/gpdf/ChangeLog
index 9fa89f7c897c..2f9a37b6475f 100644
--- a/app-text/gpdf/ChangeLog
+++ b/app-text/gpdf/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for app-text/gpdf
# Copyright 2000-2004 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/app-text/gpdf/ChangeLog,v 1.46 2004/10/25 07:32:56 usata Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-text/gpdf/ChangeLog,v 1.47 2004/10/25 15:25:08 foser Exp $
+
+*gpdf-2.8.0-r1 (25 Oct 2004)
+*gpdf-0.132-r1 (25 Oct 2004)
+
+ 25 Oct 2004; foser <foser@gentoo.org> gpdf-0.132-r1.ebuild, gpdf-2.8.0-r1 :
+ Add patch to deal with xpdf vulnerabilities (#68571)
25 Oct 2004; Mamoru KOMACHI <usata@gentoo.org> gpdf-0.112.1.ebuild,
gpdf-0.112.ebuild, gpdf-0.131.ebuild, gpdf-0.132.ebuild,
diff --git a/app-text/gpdf/Manifest b/app-text/gpdf/Manifest
index a1e672fabfe0..1c5a710aaa6f 100644
--- a/app-text/gpdf/Manifest
+++ b/app-text/gpdf/Manifest
@@ -1,23 +1,15 @@
------BEGIN PGP SIGNED MESSAGE-----
-Hash: SHA1
-
-MD5 c023f4b86542d55d2a1af1da0f53d0f1 ChangeLog 4713
-MD5 446cf9562c58fcc1c7b091e8bf5079b3 gpdf-2.8.0.ebuild 877
-MD5 03ad2e6c4ab41244af1015a8bbb0b39f metadata.xml 158
-MD5 97f8e33871a879694072ecbcb15f8109 gpdf-0.112.1.ebuild 964
MD5 feb7fdf2f480631492191491302c0812 gpdf-0.112.ebuild 925
-MD5 38550e0c3c0410b03f5dde6dd1f0b3ce gpdf-0.131.ebuild 925
+MD5 2e80080b5a9feae79bbe33beff305d2a gpdf-2.8.0-r1.ebuild 1015
MD5 5907625e80bdb0965456f467553857e6 gpdf-0.132.ebuild 872
-MD5 f61386d00d5674f3bbb80b181e8cea3a files/digest-gpdf-2.8.0 64
+MD5 10e246bd8661e399b508a2dde2ab2dc6 gpdf-0.132-r1.ebuild 1026
+MD5 38550e0c3c0410b03f5dde6dd1f0b3ce gpdf-0.131.ebuild 925
+MD5 5bd8f28311d777908c41bf95a05dcdf2 ChangeLog 4906
+MD5 03ad2e6c4ab41244af1015a8bbb0b39f metadata.xml 158
MD5 a257b05533ebd7ecff92c22511880be3 files/digest-gpdf-0.112 63
-MD5 5eb7a7d4c21d5b8d0b5c4aaa6cf48497 files/digest-gpdf-0.112.1 65
-MD5 9336bbbfbb54ba88fb5e4aba2da1833f files/gpdf-0.112-remove_gtk24_call.patch 607
MD5 cee45d187382024b10b02c4c577a7546 files/digest-gpdf-0.131 64
MD5 167bcfd9a6e435acc241c07dc522b562 files/digest-gpdf-0.132 64
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v1.2.6 (GNU/Linux)
-
-iD8DBQFBfKq/VWNWqTUmv+0RAnm7AKCM9bp/TL9gSg493JD6C3TTThHeGQCfSkCs
-GtVTdM8Cn3kI+/UlFMXS3vo=
-=O4we
------END PGP SIGNATURE-----
+MD5 5e63c86e19a1c1387cab38b7e2902c9e files/gpdf-xpdf_3_CAN-2004-0889.patch 8115
+MD5 167bcfd9a6e435acc241c07dc522b562 files/digest-gpdf-0.132-r1 64
+MD5 b32f90fc9249d1f7434659642b36f9d9 files/gpdf-xpdf_2_CAN-2004-0888.patch 2716
+MD5 f61386d00d5674f3bbb80b181e8cea3a files/digest-gpdf-2.8.0-r1 64
+MD5 9336bbbfbb54ba88fb5e4aba2da1833f files/gpdf-0.112-remove_gtk24_call.patch 607
diff --git a/app-text/gpdf/files/digest-gpdf-0.112.1 b/app-text/gpdf/files/digest-gpdf-0.112.1
deleted file mode 100644
index 5a31d9a348f8..000000000000
--- a/app-text/gpdf/files/digest-gpdf-0.112.1
+++ /dev/null
@@ -1 +0,0 @@
-MD5 67cad1ac559b4403cbc0c5a3fb1b327f gpdf-0.112.1.tar.bz2 839517
diff --git a/app-text/gpdf/files/digest-gpdf-0.132-r1 b/app-text/gpdf/files/digest-gpdf-0.132-r1
new file mode 100644
index 000000000000..dfe43a4d0e99
--- /dev/null
+++ b/app-text/gpdf/files/digest-gpdf-0.132-r1
@@ -0,0 +1 @@
+MD5 1b8ba3384210b89a3628281e6aa5edaa gpdf-0.132.tar.bz2 1109005
diff --git a/app-text/gpdf/files/digest-gpdf-2.8.0 b/app-text/gpdf/files/digest-gpdf-2.8.0-r1
index 09584962edfd..09584962edfd 100644
--- a/app-text/gpdf/files/digest-gpdf-2.8.0
+++ b/app-text/gpdf/files/digest-gpdf-2.8.0-r1
diff --git a/app-text/gpdf/files/gpdf-xpdf_2_CAN-2004-0888.patch b/app-text/gpdf/files/gpdf-xpdf_2_CAN-2004-0888.patch
new file mode 100644
index 000000000000..2d3cd94b3dc1
--- /dev/null
+++ b/app-text/gpdf/files/gpdf-xpdf_2_CAN-2004-0888.patch
@@ -0,0 +1,76 @@
+--- XRef.cc.orig 2004-09-17 23:54:38.000000000 -0700
++++ XRef.cc 2004-09-25 17:59:36.000000000 -0700
+@@ -76,6 +76,12 @@
+
+ // trailer is ok - read the xref table
+ } else {
++ if (size*sizeof(XRefEntry)/sizeof(XRefEntry) != size) {
++ error(-1, "Invalid 'size' inside xref table.");
++ ok = gFalse;
++ errCode = errDamaged;
++ return;
++ }
+ entries = (XRefEntry *)gmalloc(size * sizeof(XRefEntry));
+ for (i = 0; i < size; ++i) {
+ entries[i].offset = 0xffffffff;
+@@ -267,6 +273,10 @@
+ // table size
+ if (first + n > size) {
+ newSize = size + 256;
++ if (newSize*sizeof(XRefEntry)/sizeof(XRefEntry) != newSize) {
++ error(-1, "Invalid 'newSize'");
++ goto err2;
++ }
+ entries = (XRefEntry *)grealloc(entries, newSize * sizeof(XRefEntry));
+ for (i = size; i < newSize; ++i) {
+ entries[i].offset = 0xffffffff;
+@@ -410,6 +420,10 @@
+ if (!strncmp(p, "obj", 3)) {
+ if (num >= size) {
+ newSize = (num + 1 + 255) & ~255;
++ if (newSize*sizeof(XRefEntry)/sizeof(XRefEntry) != newSize) {
++ error(-1, "Invalid 'obj' parameters.");
++ return gFalse;
++ }
+ entries = (XRefEntry *)
+ grealloc(entries, newSize * sizeof(XRefEntry));
+ for (i = size; i < newSize; ++i) {
+@@ -431,6 +445,11 @@
+ } else if (!strncmp(p, "endstream", 9)) {
+ if (streamEndsLen == streamEndsSize) {
+ streamEndsSize += 64;
++ if (streamEndsSize*sizeof(int)/sizeof(int) != streamEndsSize) {
++ error(-1, "Invalid 'endstream' parameter.");
++ return gFalse;
++ }
++
+ streamEnds = (Guint *)grealloc(streamEnds,
+ streamEndsSize * sizeof(int));
+ }
+--- Catalog.cc.orig 2004-10-18 16:26:39.388666476 +0200
++++ Catalog.cc 2004-10-18 16:27:28.004749073 +0200
+@@ -62,6 +62,12 @@
+ }
+ pagesSize = numPages0 = obj.getInt();
+ obj.free();
++ if (pagesSize*sizeof(Page *)/sizeof(Page *) != pagesSize ||
++ pagesSize*sizeof(Ref)/sizeof(Ref) != pagesSize) {
++ error(-1, "Invalid 'pagesSize'");
++ ok = gFalse;
++ return;
++ }
+ pages = (Page **)gmalloc(pagesSize * sizeof(Page *));
+ pageRefs = (Ref *)gmalloc(pagesSize * sizeof(Ref));
+ for (i = 0; i < pagesSize; ++i) {
+@@ -186,6 +192,11 @@
+ }
+ if (start >= pagesSize) {
+ pagesSize += 32;
++ if (pagesSize*sizeof(Page *)/sizeof(Page *) != pagesSize ||
++ pagesSize*sizeof(Ref)/sizeof(Ref) != pagesSize) {
++ error(-1, "Invalid 'pagesSize' parameter.");
++ goto err3;
++ }
+ pages = (Page **)grealloc(pages, pagesSize * sizeof(Page *));
+ pageRefs = (Ref *)grealloc(pageRefs, pagesSize * sizeof(Ref));
+ for (j = pagesSize - 32; j < pagesSize; ++j) {
diff --git a/app-text/gpdf/files/gpdf-xpdf_3_CAN-2004-0889.patch b/app-text/gpdf/files/gpdf-xpdf_3_CAN-2004-0889.patch
new file mode 100644
index 000000000000..d1b2f584d812
--- /dev/null
+++ b/app-text/gpdf/files/gpdf-xpdf_3_CAN-2004-0889.patch
@@ -0,0 +1,296 @@
+--- xpdf-3.00/xpdf/Catalog.cc.orig 2004-10-18 16:51:35.824126848 +0200
++++ xpdf-3.00/xpdf/Catalog.cc 2004-10-18 16:53:06.634620045 +0200
+@@ -64,6 +64,15 @@
+ }
+ pagesSize = numPages0 = (int)obj.getNum();
+ obj.free();
++ // The gcc doesnt optimize this away, so this check is ok,
++ // even if it looks like a pagesSize != pagesSize check
++ if (pagesSize*sizeof(Page *)/sizeof(Page *) != pagesSize ||
++ pagesSize*sizeof(Ref)/sizeof(Ref) != pagesSize) {
++ error(-1, "Invalid 'pagesSize'");
++ ok = gFalse;
++ return;
++ }
++
+ pages = (Page **)gmalloc(pagesSize * sizeof(Page *));
+ pageRefs = (Ref *)gmalloc(pagesSize * sizeof(Ref));
+ for (i = 0; i < pagesSize; ++i) {
+@@ -191,6 +200,11 @@
+ }
+ if (start >= pagesSize) {
+ pagesSize += 32;
++ if (pagesSize*sizeof(Page *)/sizeof(Page *) != pagesSize ||
++ pagesSize*sizeof(Ref)/sizeof(Ref) != pagesSize) {
++ error(-1, "Invalid 'pagesSize' parameter.");
++ goto err3;
++ }
+ pages = (Page **)grealloc(pages, pagesSize * sizeof(Page *));
+ pageRefs = (Ref *)grealloc(pageRefs, pagesSize * sizeof(Ref));
+ for (j = pagesSize - 32; j < pagesSize; ++j) {
+--- xpdf-3.00/xpdf/XRef.cc.orig 2004-10-11 15:51:14.000000000 +0200
++++ xpdf-3.00/xpdf/XRef.cc 2004-10-11 15:56:48.000000000 +0200
+@@ -96,7 +96,7 @@
+ }
+ nObjects = obj1.getInt();
+ obj1.free();
+- if (nObjects == 0) {
++ if (nObjects <= 0) {
+ goto err1;
+ }
+
+@@ -106,7 +106,15 @@
+ }
+ first = obj1.getInt();
+ obj1.free();
++ if (first < 0) {
++ goto err1;
++ }
+
++ if (nObjects*sizeof(int)/sizeof(int) != nObjects) {
++ error(-1, "Invalid 'nObjects'");
++ goto err1;
++ }
++
+ objs = new Object[nObjects];
+ objNums = (int *)gmalloc(nObjects * sizeof(int));
+ offsets = (int *)gmalloc(nObjects * sizeof(int));
+@@ -130,6 +138,12 @@
+ offsets[i] = obj2.getInt();
+ obj1.free();
+ obj2.free();
++ if (objNums[i] < 0 || offsets[i] < 0 ||
++ (i > 0 && offsets[i] < offsets[i-1])) {
++ delete parser;
++ gfree(offsets);
++ goto err1;
++ }
+ }
+ while (str->getChar() != EOF) ;
+ delete parser;
+@@ -369,10 +383,21 @@
+ }
+ n = obj.getInt();
+ obj.free();
++ if (first < 0 || n < 0 || first + n < 0) {
++ goto err1;
++ }
+ if (first + n > size) {
+ for (newSize = size ? 2 * size : 1024;
+- first + n > newSize;
++ first + n > newSize && newSize > 0;
+ newSize <<= 1) ;
++ if (newSize < 0) {
++ goto err1;
++ }
++ if (newSize*sizeof(XRefEntry)/sizeof(XRefEntry) != newSize) {
++ error(-1, "Invalid 'obj' parameters'");
++ goto err1;
++ }
++
+ entries = (XRefEntry *)grealloc(entries, newSize * sizeof(XRefEntry));
+ for (i = size; i < newSize; ++i) {
+ entries[i].offset = 0xffffffff;
+@@ -443,7 +468,7 @@
+
+ // check for an 'XRefStm' key
+ if (obj.getDict()->lookup("XRefStm", &obj2)->isInt()) {
+- pos2 = obj2.getInt();
++ pos2 = (Guint)obj2.getInt();
+ readXRef(&pos2);
+ if (!ok) {
+ goto err1;
+@@ -474,7 +499,14 @@
+ }
+ newSize = obj.getInt();
+ obj.free();
++ if (newSize < 0) {
++ goto err1;
++ }
+ if (newSize > size) {
++ if (newSize * sizeof(XRefEntry)/sizeof(XRefEntry) != newSize) {
++ error(-1, "Invalid 'size' parameter.");
++ return gFalse;
++ }
+ entries = (XRefEntry *)grealloc(entries, newSize * sizeof(XRefEntry));
+ for (i = size; i < newSize; ++i) {
+ entries[i].offset = 0xffffffff;
+@@ -494,6 +526,9 @@
+ }
+ w[i] = obj2.getInt();
+ obj2.free();
++ if (w[i] < 0 || w[i] > 4) {
++ goto err1;
++ }
+ }
+ obj.free();
+
+@@ -513,13 +548,14 @@
+ }
+ n = obj.getInt();
+ obj.free();
+- if (!readXRefStreamSection(xrefStr, w, first, n)) {
++ if (first < 0 || n < 0 ||
++ !readXRefStreamSection(xrefStr, w, first, n)) {
+ idx.free();
+ goto err0;
+ }
+ }
+ } else {
+- if (!readXRefStreamSection(xrefStr, w, 0, size)) {
++ if (!readXRefStreamSection(xrefStr, w, 0, newSize)) {
+ idx.free();
+ goto err0;
+ }
+@@ -551,10 +587,20 @@
+ Guint offset;
+ int type, gen, c, newSize, i, j;
+
++ if (first + n < 0) {
++ return gFalse;
++ }
+ if (first + n > size) {
+ for (newSize = size ? 2 * size : 1024;
+- first + n > newSize;
++ first + n > newSize && newSize > 0;
+ newSize <<= 1) ;
++ if (newSize < 0) {
++ return gFalse;
++ }
++ if (newSize*sizeof(XRefEntry)/sizeof(XRefEntry) != newSize) {
++ error(-1, "Invalid 'size' inside xref table.");
++ return gFalse;
++ }
+ entries = (XRefEntry *)grealloc(entries, newSize * sizeof(XRefEntry));
+ for (i = size; i < newSize; ++i) {
+ entries[i].offset = 0xffffffff;
+@@ -585,24 +631,26 @@
+ }
+ gen = (gen << 8) + c;
+ }
+- switch (type) {
+- case 0:
+- entries[i].offset = offset;
+- entries[i].gen = gen;
+- entries[i].type = xrefEntryFree;
+- break;
+- case 1:
+- entries[i].offset = offset;
+- entries[i].gen = gen;
+- entries[i].type = xrefEntryUncompressed;
+- break;
+- case 2:
+- entries[i].offset = offset;
+- entries[i].gen = gen;
+- entries[i].type = xrefEntryCompressed;
+- break;
+- default:
+- return gFalse;
++ if (entries[i].offset == 0xffffffff) {
++ switch (type) {
++ case 0:
++ entries[i].offset = offset;
++ entries[i].gen = gen;
++ entries[i].type = xrefEntryFree;
++ break;
++ case 1:
++ entries[i].offset = offset;
++ entries[i].gen = gen;
++ entries[i].type = xrefEntryUncompressed;
++ break;
++ case 2:
++ entries[i].offset = offset;
++ entries[i].gen = gen;
++ entries[i].type = xrefEntryCompressed;
++ break;
++ default:
++ return gFalse;
++ }
+ }
+ }
+
+@@ -664,38 +712,48 @@
+ // look for object
+ } else if (isdigit(*p)) {
+ num = atoi(p);
+- do {
+- ++p;
+- } while (*p && isdigit(*p));
+- if (isspace(*p)) {
++ if (num > 0) {
+ do {
+ ++p;
+- } while (*p && isspace(*p));
+- if (isdigit(*p)) {
+- gen = atoi(p);
++ } while (*p && isdigit(*p));
++ if (isspace(*p)) {
+ do {
+ ++p;
+- } while (*p && isdigit(*p));
+- if (isspace(*p)) {
++ } while (*p && isspace(*p));
++ if (isdigit(*p)) {
++ gen = atoi(p);
+ do {
+ ++p;
+- } while (*p && isspace(*p));
+- if (!strncmp(p, "obj", 3)) {
+- if (num >= size) {
+- newSize = (num + 1 + 255) & ~255;
+- entries = (XRefEntry *)
+- grealloc(entries, newSize * sizeof(XRefEntry));
+- for (i = size; i < newSize; ++i) {
+- entries[i].offset = 0xffffffff;
+- entries[i].type = xrefEntryFree;
++ } while (*p && isdigit(*p));
++ if (isspace(*p)) {
++ do {
++ ++p;
++ } while (*p && isspace(*p));
++ if (!strncmp(p, "obj", 3)) {
++ if (num >= size) {
++ newSize = (num + 1 + 255) & ~255;
++ if (newSize < 0) {
++ error(-1, "Bad object number");
++ return gFalse;
++ }
++ if (newSize*sizeof(XRefEntry)/sizeof(XRefEntry) != newSize) {
++ error(-1, "Invalid 'obj' parameters.");
++ return gFalse;
++ }
++ entries = (XRefEntry *)
++ grealloc(entries, newSize * sizeof(XRefEntry));
++ for (i = size; i < newSize; ++i) {
++ entries[i].offset = 0xffffffff;
++ entries[i].type = xrefEntryFree;
++ }
++ size = newSize;
++ }
++ if (entries[num].type == xrefEntryFree ||
++ gen >= entries[num].gen) {
++ entries[num].offset = pos - start;
++ entries[num].gen = gen;
++ entries[num].type = xrefEntryUncompressed;
+ }
+- size = newSize;
+- }
+- if (entries[num].type == xrefEntryFree ||
+- gen >= entries[num].gen) {
+- entries[num].offset = pos - start;
+- entries[num].gen = gen;
+- entries[num].type = xrefEntryUncompressed;
+ }
+ }
+ }
+@@ -705,6 +763,10 @@
+ } else if (!strncmp(p, "endstream", 9)) {
+ if (streamEndsLen == streamEndsSize) {
+ streamEndsSize += 64;
++ if (streamEndsSize*sizeof(int)/sizeof(int) != streamEndsSize) {
++ error(-1, "Invalid 'endstream' parameter.");
++ return gFalse;
++ }
+ streamEnds = (Guint *)grealloc(streamEnds,
+ streamEndsSize * sizeof(int));
+ }
diff --git a/app-text/gpdf/gpdf-0.112.1.ebuild b/app-text/gpdf/gpdf-0.112.1.ebuild
deleted file mode 100644
index 0f75aea8d12d..000000000000
--- a/app-text/gpdf/gpdf-0.112.1.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2004 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/app-text/gpdf/gpdf-0.112.1.ebuild,v 1.11 2004/10/25 07:32:56 usata Exp $
-
-inherit gnome2 flag-o-matic eutils
-
-DESCRIPTION="your favourite pdf previewer"
-HOMEPAGE="http://www.gnome.org/"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="x86 ppc ~alpha sparc hppa amd64 ~ia64 mips"
-IUSE=""
-
-RDEPEND=">=gnome-base/libgnomeui-2
- >=gnome-base/libbonobo-2.2.1
- >=gnome-base/libbonoboui-2
- >=gnome-base/gnome-vfs-2
- >=gnome-base/libgnomeprint-2.3
- >=gnome-base/libgnomeprintui-2.2
- >=gnome-base/libglade-2"
-
-DEPEND="${RDEPEND}
- >=dev-util/pkgconfig-0.12.0
- >=dev-util/intltool-0.29"
-
-PROVIDE="virtual/pdfviewer"
-
-DOCS="AUTHORS CHANGES ChangeLog COPYING INSTALL NEWS README*"
-
-src_unpack() {
- unpack ${A}
- cd ${S}; epatch ${FILESDIR}/${PN}-0.112-remove_gtk24_call.patch
-}
-
-src_compile() {
- use alpha && append-flags -fPIC
- gnome2_src_compile
-}
diff --git a/app-text/gpdf/gpdf-0.132-r1.ebuild b/app-text/gpdf/gpdf-0.132-r1.ebuild
new file mode 100644
index 000000000000..d6c4862a23e5
--- /dev/null
+++ b/app-text/gpdf/gpdf-0.132-r1.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2004 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-text/gpdf/gpdf-0.132-r1.ebuild,v 1.1 2004/10/25 15:25:08 foser Exp $
+
+inherit gnome2 flag-o-matic eutils
+
+DESCRIPTION="Viewer for Portable Document Format (PDF) files"
+HOMEPAGE="http://www.gnome.org/"
+LICENSE="GPL-2"
+
+IUSE=""
+SLOT="0"
+KEYWORDS="x86 ~ppc ~alpha ~sparc ~hppa ~amd64 ~ia64 ~mips"
+
+RDEPEND=">=x11-libs/gtk+-2.3
+ >=gnome-base/gconf-2
+ >=gnome-base/libgnomeui-2
+ >=gnome-base/libbonobo-2.2.1
+ >=gnome-base/libbonoboui-2
+ >=gnome-base/gnome-vfs-2
+ >=gnome-base/libgnomeprint-2.6
+ >=gnome-base/libgnomeprintui-2.2
+ >=gnome-base/libglade-2"
+
+DEPEND="${RDEPEND}
+ app-text/scrollkeeper
+ >=dev-util/intltool-0.29
+ >=dev-util/pkgconfig-0.12.0"
+
+PROVIDE="virtual/pdfviewer"
+
+DOCS="AUTHORS CHANGES ChangeLog COPYING INSTALL NEWS README*"
+
+src_unpack() {
+
+ unpack ${A}
+
+ cd ${S}/xpdf
+ # fix security vulnerability (#68571)
+ epatch ${FILESDIR}/${PN}-xpdf_2_CAN-2004-0888.patch
+
+}
diff --git a/app-text/gpdf/gpdf-2.8.0.ebuild b/app-text/gpdf/gpdf-2.8.0-r1.ebuild
index c4dd26e95a50..e194665eebcb 100644
--- a/app-text/gpdf/gpdf-2.8.0.ebuild
+++ b/app-text/gpdf/gpdf-2.8.0-r1.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2004 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/app-text/gpdf/gpdf-2.8.0.ebuild,v 1.2 2004/10/25 07:32:56 usata Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-text/gpdf/gpdf-2.8.0-r1.ebuild,v 1.1 2004/10/25 15:25:08 foser Exp $
inherit gnome2 flag-o-matic
@@ -30,3 +30,13 @@ DEPEND="${RDEPEND}
PROVIDE="virtual/pdfviewer"
DOCS="AUTHORS CHANGES ChangeLog COPYING INSTALL NEWS README*"
+
+src_unpack() {
+
+ unpack ${A}
+
+ cd ${S}
+ # fix security vulnerability (#68571)
+ epatch ${FILESDIR}/${PN}-xpdf_3_CAN-2004-0889.patch
+
+}