[subversion-commit] SVN tetex commit + diffs: r403 - in
tetex-bin/trunk/debian: . patches
Frank Küster
frank at costa.debian.org
Tue Dec 13 10:16:41 UTC 2005
Author: frank
Date: 2005-12-13 10:16:37 +0000 (Tue, 13 Dec 2005)
New Revision: 403
Added:
tetex-bin/trunk/debian/patches/patch-poppler
Removed:
tetex-bin/trunk/debian/patches/patch-CAN-2004-0888
tetex-bin/trunk/debian/patches/patch-CAN-2005-0064
tetex-bin/trunk/debian/patches/patch-CVE-2005-3191+2+3
Modified:
tetex-bin/trunk/debian/changelog
tetex-bin/trunk/debian/common.functions.in
tetex-bin/trunk/debian/control
tetex-bin/trunk/debian/patches/series
tetex-bin/trunk/debian/rules
tetex-bin/trunk/debian/rules.in
Log:
apply patch by Martin Pitt to build with libpoppler
Modified: tetex-bin/trunk/debian/changelog
===================================================================
--- tetex-bin/trunk/debian/changelog 2005-12-11 16:47:17 UTC (rev 402)
+++ tetex-bin/trunk/debian/changelog 2005-12-13 10:16:37 UTC (rev 403)
@@ -1,8 +1,26 @@
tetex-bin (3.0-11.1) unstable; urgency=low
- * The patch for the security fix in the last upload was not complete, I
- hope it's correct now - many thanks to Martin Pitt
- <martin.pitt at canonical.com> [frank]
+ * Because of the frequent security issues with xpdf, we do no longer use
+ the included xpdf code, but libpoppler instead. Many thanks to Martin Pitt
+ <martin.pitt at canonical.com> for the patch [frank]
+ * Add debian/patches/patch-poppler to build the two files that require xpdf
+ (texk/web2c/pdftexdir/{pdftosrc.cc,pdftoepdf.cc}) against poppler:
+ - Adapt include file paths.
+ - s/GString/GooString/ (poppler change to not conflict with glib).
+ - Adapt GlobalParams() constructor.
+ - web2c/pdftexdir/depend.mk: Removed, and re-generated with 'make depend'
+ to get rid of all the zlib and xpdf references to the shipped sources.
+ - configure.in: Set needs_libxpdf=no even when building with pdftex, to
+ avoid trying to build the internal xpdf copy.
+ - configure: Stripped down changes generated by running autoconf 2.13.
+ * Removed xpdf security patches, they are not necessary any more.
+ * debian/control: Build-Depend on libpoppler-dev.
+ * debian/rules.in:
+ - Build with XXCFLAGS='-I/usr/include/poppler' and LDFLAGS='-lpoppler'.
+ - Remove libs/xpdf and libs/zlib before building, just to make sure that
+ we really don't use it.
+ - Clean debian/latex.info on clean to be able to build the
+ source package after building binaries.
-- Frank Küster <frank at debian.org> Thu, 8 Dec 2005 13:13:45 +0100
Modified: tetex-bin/trunk/debian/common.functions.in
===================================================================
--- tetex-bin/trunk/debian/common.functions.in 2005-12-11 16:47:17 UTC (rev 402)
+++ tetex-bin/trunk/debian/common.functions.in 2005-12-13 10:16:37 UTC (rev 403)
@@ -10,6 +10,13 @@
SYMLINK_MOVE_EXT=<:=$SYMLINK_MOVE_EXT:>
TEXMFSYSVAR=<:=$TEXMFSYSVAR:>
+debug(){
+ true "$*"
+}
+# debug(){
+# echo -en "$*"
+# }
+
savemove(){
source="$1"
dest="$2"
@@ -248,13 +255,172 @@
}
dpkg_md5sum(){
- grep $1 /var/lib/dpkg/status | cut -f 3 -d ' '
+ file=$1
+ md5sum=`grep "$file[[:space:]]" /var/lib/dpkg/status | cut -f 3 -d ' '`
+ if [ -z "$md5sum" ]; then
+ get_sarge_md5sum_from_list $file
+ fi
+ echo $md5sum
}
ucf_md5sum(){
- grep $1 /var/lib/ucf/hashfile | cut -f 1 -d ' '
+ file=$1
+ md5sum=`grep "$file$" /var/lib/ucf/hashfile | cut -f 1 -d ' '`
+ if [ -z "$md5sum" ]; then
+ get_sarge_md5sum_from_list $file
+ fi
+ echo $md5sum
}
+
+
+sarge_md5sum_list="
+ /etc/texmf/mktex.cnf 6491db33ef75bbe4f38a6dcbdcab7db8
+ /etc/texmf/dvips/config.builtin35 5775e9a2ec5e89c44f03c49a84133c76
+ /etc/texmf/updmap.d/00updmap.cfg 82884281d955998e22141cf67b45209d
+ /etc/texmf/dvipdfm/config 8713d15e9e574109c61474a3990b677f
+ /etc/texdoctk/texdocrc 9957008bc9073607c1090f4ce55cc3c0
+ /etc/texmf/dvipdfm/README.config 2731fe134e122f315d91cae400a6b13e
+ /etc/texmf/dvips/config.ps 7402075ae27071bff26ddeb1143ace07
+ /etc/texmf/dvips/context.map 0c886351c178a140f3e2b6e39656ee44
+ /etc/texmf/dvips/config.outline e671960560b7cb570aef7f19af14519a
+ /etc/texmf/dvips/config.dfaxhigh 1c7ef7c0bcc006af534241df17d1e085
+ /etc/texmf/dvips/config.pdf d05ab1e98fcf0d2a4eccd4bb7ad9b0e4
+ /etc/texmf/dvips/config.dfaxlo 25b7f9a41d13d188b75fb6ec63e8fa09
+ /etc/texmf/dvips/config.pk 44348634a3771beda74b4133a8614fa5
+ /etc/texmf/dvips/config.download35 39bb1088ea568d10973f48293c205a8e
+ /etc/texmf/dvips/config.www ba6b447883942b5f0d653d878072321b
+ /etc/texmf/dvips/config.gsftopk e02bc7dd315e819e349c52191837975a
+ /etc/texmf/modes.mf 17886f0a39f023a1830538073a743047
+ /etc/texmf/pdftex/context/il2-ams-cmr.map cc471142a76445139def6ad5b5202ad4
+ /etc/texmf/pdftex/context/original-adobe-euro.map ee2826182cf6f1b95890e8b7d0fc9633
+ /etc/texmf/pdftex/context/original-ams-cmr.map 5912f95748bc1917f14632e48cc223ac
+ /etc/texmf/pdftex/context/original-ams-euler.map 878c01a7de86554eb41ff74a0b752f5f
+ /etc/texmf/pdftex/context/original-context-symbol.map 7090f11f5bee8f5e9b46841f286d1df9
+ /etc/texmf/pdftex/context/original-vogel-symbol.map e4f07d28e80b93ad2513a3e812541f32
+ /etc/texmf/pdftex/context/original-youngryu-px.map b17cc8cb081cb34cbff9e197c1e97512
+ /etc/texmf/pdftex/context/original-youngryu-tx.map 229dbd1882f3378c4dd21e353489f03a
+ /etc/texmf/pdftex/context/pl0-ams-cmr.map 0bf5e38fde2a67bb4df7cdb11e499175
+ /etc/texmf/pdftex/cmttf.map 6b87723795683cdcfd846c2d8d60cb3e
+ /etc/texmf/pdftex/pdftex.cfg 8d08d2723661c86cd45e4a1408a5f923
+ /etc/texmf/latex/color.cfg d77957eef96e7e9a4bdc3d1d24a49df3
+ /etc/texmf/latex/graphics.cfg 3f384c52d267b7f0a50fb71fab57d60f
+ /etc/texmf/latex/latex.ini 09e4f410ade0befce1e0bacf8e272789
+ /etc/texmf/latex/latex209.cfg c9af399f9747715e21b6e64daa4e5916
+ /etc/texmf/latex/ltxdoc.cfg 50cf6ee9115a007246d2d79e350a8592
+ /etc/texmf/latex/ltxguide.cfg cc8dbfee5a57b4ae20bb77cc6aeb0e1f
+ /etc/texmf/latex/texsys.cfg 055c0b3967730e2dd75dee66ccde2687
+ /etc/texmf/latex/fontmath.cfg ee0a90dac1a81d3aee68f1abdbbd5839
+ /etc/texmf/latex/fonttext.cfg 6be6de7b54df7d13a8831138e7f1297b
+ /etc/texmf/latex/preload.cfg a2df76edd8245ce697c998dd4cbf060f
+ /etc/texmf/etex/etex.ini eb7eeca34d4f7c338480ae2f1e95dae6
+ /etc/texmf/etex/language.def e28ea8119d0edaea53f2a55bd5a13bf5
+ /etc/texmf/platex/hyphen.cfg 1199fd3dbe752e8eedaca7a5a6df9258
+ /etc/texmf/platex/language.dat 8e3525fe40ae72bb08f673b30eca1236
+ /etc/texmf/platex/platex.ini c865212575be3a09cbadb694a803ca55
+ /etc/texmf/context/cont-cz.ini 984f5ed1242258775b9c6e5e8b219a26
+ /etc/texmf/context/cont-de.ini c2c75aaddf59e7cd1d14ef3661578eef
+ /etc/texmf/context/cont-en.ini 5d7064e3adc9acdaf94e37e9bc5c1a29
+ /etc/texmf/context/cont-it.ini 96366065e347eab53a30e72d9a6e4ca0
+ /etc/texmf/context/cont-nl.ini 25cbcc11164d749693de4eea197a9c65
+ /etc/texmf/context/cont-ro.ini a94fd43e68156f57e6bf3ac4a901af14
+ /etc/texmf/dvips/config.www ba6b447883942b5f0d653d878072321b
+ /etc/texmf/dvips/config.gsftopk e02bc7dd315e819e349c52191837975a
+ /etc/texmf/modes.mf 17886f0a39f023a1830538073a743047
+ /etc/texmf/pdftex/context/il2-ams-cmr.map cc471142a76445139def6ad5b5202ad4
+ /etc/texmf/pdftex/context/original-adobe-euro.map ee2826182cf6f1b95890e8b7d0fc9633
+ /etc/texmf/pdftex/context/original-ams-cmr.map 5912f95748bc1917f14632e48cc223ac
+ /etc/texmf/pdftex/context/original-ams-euler.map 878c01a7de86554eb41ff74a0b752f5f
+ /etc/texmf/pdftex/context/original-context-symbol.map 7090f11f5bee8f5e9b46841f286d1df9
+ /etc/texmf/pdftex/context/original-vogel-symbol.map e4f07d28e80b93ad2513a3e812541f32
+ /etc/texmf/pdftex/context/original-youngryu-px.map b17cc8cb081cb34cbff9e197c1e97512
+ /etc/texmf/pdftex/context/original-youngryu-tx.map 229dbd1882f3378c4dd21e353489f03a
+ /etc/texmf/pdftex/context/pl0-ams-cmr.map 0bf5e38fde2a67bb4df7cdb11e499175
+ /etc/texmf/pdftex/cmttf.map 6b87723795683cdcfd846c2d8d60cb3e
+ /etc/texmf/pdftex/pdftex.cfg 8d08d2723661c86cd45e4a1408a5f923
+ /etc/texmf/latex/color.cfg d77957eef96e7e9a4bdc3d1d24a49df3
+ /etc/texmf/latex/graphics.cfg 3f384c52d267b7f0a50fb71fab57d60f
+ /etc/texmf/latex/latex.ini 09e4f410ade0befce1e0bacf8e272789
+ /etc/texmf/latex/latex209.cfg c9af399f9747715e21b6e64daa4e5916
+ /etc/texmf/latex/ltxdoc.cfg 50cf6ee9115a007246d2d79e350a8592
+ /etc/texmf/latex/ltxguide.cfg cc8dbfee5a57b4ae20bb77cc6aeb0e1f
+ /etc/texmf/latex/texsys.cfg 055c0b3967730e2dd75dee66ccde2687
+ /etc/texmf/latex/fontmath.cfg ee0a90dac1a81d3aee68f1abdbbd5839
+ /etc/texmf/latex/fonttext.cfg 6be6de7b54df7d13a8831138e7f1297b
+ /etc/texmf/latex/preload.cfg a2df76edd8245ce697c998dd4cbf060f
+ /etc/texmf/etex/etex.ini eb7eeca34d4f7c338480ae2f1e95dae6
+ /etc/texmf/etex/language.def e28ea8119d0edaea53f2a55bd5a13bf5
+ /etc/texmf/platex/hyphen.cfg 1199fd3dbe752e8eedaca7a5a6df9258
+ /etc/texmf/platex/language.dat 8e3525fe40ae72bb08f673b30eca1236
+ /etc/texmf/platex/platex.ini c865212575be3a09cbadb694a803ca55
+ /etc/texmf/context/cont-cz.ini 984f5ed1242258775b9c6e5e8b219a26
+ /etc/texmf/context/cont-de.ini c2c75aaddf59e7cd1d14ef3661578eef
+ /etc/texmf/context/cont-en.ini 5d7064e3adc9acdaf94e37e9bc5c1a29
+ /etc/texmf/context/cont-it.ini 96366065e347eab53a30e72d9a6e4ca0
+ /etc/texmf/context/cont-nl.ini 25cbcc11164d749693de4eea197a9c65
+ /etc/texmf/context/cont-ro.ini a94fd43e68156f57e6bf3ac4a901af14
+ /etc/texmf/context/cont-uk.ini ee6f13cd52623786f7a13c151900ec50
+ /etc/texmf/context/cont-usr.tex 15b671e578d517dc54df1db022c3f412
+ /etc/texmf/context/texexec.ini 1497213cfcfded9d1ae2e5546cf55fc4
+ /etc/texmf/cyrplain/cyramstx.ini 15d4ba30419b36376851a124619e20ba
+ /etc/texmf/cyrplain/cyrtex.cfg 843bd70324caf63d72269dd3afdd8eb1
+ /etc/texmf/cyrplain/cyrtex.ini 40ae6def8399827a80f3736e5fb1cdf5
+ /etc/texmf/cyrplain/cyrtxinf.ini 797f2dae2d06396a4b40b1454609f025
+ /etc/texmf/cslatex/fonttext.cfg 1129c41c24cf37f4d2cad6deca949fb1
+ /etc/texmf/cslatex/hyphen.cfg 987e934d95d372902b0e1a81d3dc3802
+"
+
+get_sarge_md5sum_from_list(){
+ file=$1
+ set $sarge_md5sum_list
+ while [ $# -gt 0 ]; do
+ if [ $file = $1 ]; then
+ echo $2
+ return 0
+ else
+ shift 2
+ fi
+ done
+ echo "$file: md5sum not known. Exiting" >&2
+ return 1
+}
+
+preinst_remove_or_move(){
+ file=/etc/texmf/$1
+ newname=`get_newfilename $1`
+ debug $file
+ test -f "$file" || return 0
+ debug "handled\n"
+ oldmd5sum=`dpkg_md5sum $file`
+ currmd5sum=`md5sum $file | cut -d ' ' -f 1`
+ if [ "$oldmd5sum" = "$currmd5sum" ]; then
+ mv $file $oldstuff_dir/`basename $file`.$PREINST_MOVE_EXT
+ else
+ newdir=`dirname /etc/texmf/$newname`
+ mkdir -p $newdir
+ mv $file /etc/texmf/$newname
+ fi
+}
+preinst_remove_or_move_ucf(){
+ file=/etc/texmf/$1
+ newname=`get_newfilename $1`
+ debug $file
+ test -f "$file" || return 0
+ debug "handled\n"
+ oldmd5sum=`ucf_md5sum $file`
+ currmd5sum=`md5sum $file | cut -d ' ' -f 1`
+ if [ "$oldmd5sum" = "$currmd5sum" ]; then
+ mv $file $oldstuff_dir/`basename $file`.$PREINST_MOVE_EXT
+ else
+ newdir=`dirname /etc/texmf/$newname`
+ mkdir -p $newdir
+ mv $file /etc/texmf/$newname
+ if [ -x /usr/bin/ucf ]; then ucf --purge $file; fi
+ fi
+}
+
+
+
#################################################################
## End of function definitions from file common.functions
#################################################################
Modified: tetex-bin/trunk/debian/control
===================================================================
--- tetex-bin/trunk/debian/control 2005-12-11 16:47:17 UTC (rev 402)
+++ tetex-bin/trunk/debian/control 2005-12-13 10:16:37 UTC (rev 403)
@@ -5,7 +5,7 @@
Uploaders: Julian Gilbey <jdg at debian.org>, C.M. Connelly <cmc at debian.org>, Atsuhito KOHDA <kohda at debian.org>, Frank Küster <frank at debian.org>, Florent Rougon <frn at debian.org>
Standards-Version: 3.5.6.0
Build-Depends-Indep:
-Build-Depends: debhelper (>= 4.1.16), ed, libpng12-dev, zlib1g-dev, libxaw8-dev | libxaw7-dev, flex, bison, tetex-base (>= 2.95), libt1-dev (>= 5.0.0-3), po-debconf, autotools-dev, libpaper-dev, texinfo, eperl, debiandoc-sgml, quilt
+Build-Depends: debhelper (>= 4.1.16), ed, libpng12-dev, zlib1g-dev, libxaw8-dev | libxaw7-dev, flex, bison, tetex-base (>= 2.95), libt1-dev (>= 5.0.0-3), po-debconf, autotools-dev, libpaper-dev, texinfo, eperl, debiandoc-sgml, quilt, libpoppler-dev
Package: tetex-bin
Priority: optional
Deleted: tetex-bin/trunk/debian/patches/patch-CAN-2004-0888
===================================================================
--- tetex-bin/trunk/debian/patches/patch-CAN-2004-0888 2005-12-11 16:47:17 UTC (rev 402)
+++ tetex-bin/trunk/debian/patches/patch-CAN-2004-0888 2005-12-13 10:16:37 UTC (rev 403)
@@ -1,59 +0,0 @@
- libs/xpdf/xpdf/Catalog.cc | 11 +++++++++++
- libs/xpdf/xpdf/XRef.cc | 8 ++++++++
- 2 files changed, 19 insertions(+)
-
-Index: tetex-bin-3.0/libs/xpdf/xpdf/Catalog.cc
-===================================================================
---- tetex-bin-3.0.orig/libs/xpdf/xpdf/Catalog.cc 2005-12-08 17:01:46.000000000 +0100
-+++ tetex-bin-3.0/libs/xpdf/xpdf/Catalog.cc 2005-12-08 17:04:56.000000000 +0100
-@@ -64,6 +64,12 @@
- }
- pagesSize = numPages0 = (int)obj.getNum();
- obj.free();
-+ if (pagesSize >= INT_MAX/sizeof(Page *) ||
-+ pagesSize >= INT_MAX/sizeof(Ref)) {
-+ 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 +197,11 @@
- }
- if (start >= pagesSize) {
- pagesSize += 32;
-+ if (pagesSize >= INT_MAX/sizeof(Page *) ||
-+ pagesSize >= INT_MAX/sizeof(Ref)) {
-+ 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) {
-Index: tetex-bin-3.0/libs/xpdf/xpdf/XRef.cc
-===================================================================
---- tetex-bin-3.0.orig/libs/xpdf/xpdf/XRef.cc 2005-12-08 17:01:46.000000000 +0100
-+++ tetex-bin-3.0/libs/xpdf/xpdf/XRef.cc 2005-12-08 17:12:03.000000000 +0100
-@@ -718,6 +718,10 @@
- error(-1, "Bad object number");
- return gFalse;
- }
-+ if (newSize >=INT_MAX/sizeof(XRefEntry)) {
-+ error(-1, "Invalid 'obj' parameters.");
-+ return gFalse;
-+ }
- entries = (XRefEntry *)
- grealloc(entries, newSize * sizeof(XRefEntry));
- for (i = size; i < newSize; ++i) {
-@@ -741,6 +745,10 @@
- } else if (!strncmp(p, "endstream", 9)) {
- if (streamEndsLen == streamEndsSize) {
- streamEndsSize += 64;
-+ if (streamEndsSize*(int)sizeof(int)/sizeof(int) != streamEndsSize) {
-+ error(-1, "Invalid 'endstream' parameter.");
-+ return gFalse;
-+ }
- streamEnds = (Guint *)grealloc(streamEnds,
- streamEndsSize * sizeof(int));
- }
Deleted: tetex-bin/trunk/debian/patches/patch-CAN-2005-0064
===================================================================
--- tetex-bin/trunk/debian/patches/patch-CAN-2005-0064 2005-12-11 16:47:17 UTC (rev 402)
+++ tetex-bin/trunk/debian/patches/patch-CAN-2005-0064 2005-12-13 10:16:37 UTC (rev 403)
@@ -1,17 +0,0 @@
- libs/xpdf/xpdf/Decrypt.cc | 3 +++
- 1 files changed, 3 insertions(+)
-
-Index: tetex-bin-3.0/libs/xpdf/xpdf/Decrypt.cc
-===================================================================
---- tetex-bin-3.0.orig/libs/xpdf/xpdf/Decrypt.cc 2005-10-06 15:03:59.072325925 +0200
-+++ tetex-bin-3.0/libs/xpdf/xpdf/Decrypt.cc 2005-10-06 15:04:37.458210510 +0200
-@@ -135,6 +135,9 @@
- int len, i, j;
- GBool ok;
-
-+ // truncate keyLength when it won't fit tmpKey
-+ keyLength = keyLength > sizeof(tmpKey) ? sizeof(tmpKey) : keyLength;
-+
- // generate file key
- buf = (Guchar *)gmalloc(68 + fileID->getLength());
- if (userPassword) {
Deleted: tetex-bin/trunk/debian/patches/patch-CVE-2005-3191+2+3
===================================================================
--- tetex-bin/trunk/debian/patches/patch-CVE-2005-3191+2+3 2005-12-11 16:47:17 UTC (rev 402)
+++ tetex-bin/trunk/debian/patches/patch-CVE-2005-3191+2+3 2005-12-13 10:16:37 UTC (rev 403)
@@ -1,136 +0,0 @@
-Index: tetex-bin-3.0/libs/xpdf/xpdf/JPXStream.cc
-===================================================================
---- tetex-bin-3.0.orig/libs/xpdf/xpdf/JPXStream.cc 2005-12-08 17:01:26.000000000 +0100
-+++ tetex-bin-3.0/libs/xpdf/xpdf/JPXStream.cc 2005-12-08 17:01:33.000000000 +0100
-@@ -666,7 +666,8 @@
- int segType;
- GBool haveSIZ, haveCOD, haveQCD, haveSOT;
- Guint precinctSize, style;
-- Guint segLen, capabilities, comp, i, j, r;
-+ Guint segLen, capabilities, nTiles, comp, i, j, r;
-+ Guint allocSize;
-
- //----- main header
- haveSIZ = haveCOD = haveQCD = haveSOT = gFalse;
-@@ -701,8 +702,15 @@
- / img.xTileSize;
- img.nYTiles = (img.ySize - img.yTileOffset + img.yTileSize - 1)
- / img.yTileSize;
-- img.tiles = (JPXTile *)gmalloc(img.nXTiles * img.nYTiles *
-- sizeof(JPXTile));
-+ nTiles = img.nXTiles * img.nYTiles;
-+ allocSize = nTiles * sizeof(JPXTile);
-+ // check for overflow before allocating memory
-+ if (nTiles == 0 || nTiles / img.nXTiles != img.nYTiles ||
-+ allocSize / sizeof(JPXTile) != nTiles) {
-+ error(getPos(), "Bad tile count in JPX SIZ marker segment");
-+ return gFalse;
-+ }
-+ img.tiles = (JPXTile *)gmalloc(allocSize);
- for (i = 0; i < img.nXTiles * img.nYTiles; ++i) {
- img.tiles[i].tileComps = (JPXTileComp *)gmalloc(img.nComps *
- sizeof(JPXTileComp));
-Index: tetex-bin-3.0/libs/xpdf/xpdf/Stream.cc
-===================================================================
---- tetex-bin-3.0.orig/libs/xpdf/xpdf/Stream.cc 2005-12-08 17:01:26.000000000 +0100
-+++ tetex-bin-3.0/libs/xpdf/xpdf/Stream.cc 2005-12-08 17:01:33.000000000 +0100
-@@ -407,18 +407,33 @@
-
- StreamPredictor::StreamPredictor(Stream *strA, int predictorA,
- int widthA, int nCompsA, int nBitsA) {
-+ int totalBits;
-+
- str = strA;
- predictor = predictorA;
- width = widthA;
- nComps = nCompsA;
- nBits = nBitsA;
-+ predLine = NULL;
-+ ok = gFalse;
-
- nVals = width * nComps;
-+ totalBits = nVals * nBits;
-+ if (totalBits == 0 ||
-+ (totalBits / nBits) / nComps != width ||
-+ totalBits + 7 < 0) {
-+ return;
-+ }
- pixBytes = (nComps * nBits + 7) >> 3;
-- rowBytes = ((nVals * nBits + 7) >> 3) + pixBytes;
-+ rowBytes = ((totalBits + 7) >> 3) + pixBytes;
-+ if (rowBytes < 0) {
-+ return;
-+ }
- predLine = (Guchar *)gmalloc(rowBytes);
- memset(predLine, 0, rowBytes);
- predIdx = rowBytes;
-+
-+ ok = gTrue;
- }
-
- StreamPredictor::~StreamPredictor() {
-@@ -1012,6 +1027,10 @@
- FilterStream(strA) {
- if (predictor != 1) {
- pred = new StreamPredictor(this, predictor, columns, colors, bits);
-+ if (!pred->isOk()) {
-+ delete pred;
-+ pred = NULL;
-+ }
- } else {
- pred = NULL;
- }
-@@ -2897,6 +2916,10 @@
- height = read16();
- width = read16();
- numComps = str->getChar();
-+ if (numComps <= 0 || numComps > 4) {
-+ error(getPos(), "Bad number of components in DCT stream", prec);
-+ return gFalse;
-+ }
- if (prec != 8) {
- error(getPos(), "Bad DCT precision %d", prec);
- return gFalse;
-@@ -2923,6 +2946,10 @@
- height = read16();
- width = read16();
- numComps = str->getChar();
-+ if (numComps <= 0 || numComps > 4) {
-+ error(getPos(), "Bad number of components in DCT stream", prec);
-+ return gFalse;
-+ }
- if (prec != 8) {
- error(getPos(), "Bad DCT precision %d", prec);
- return gFalse;
-@@ -3255,6 +3282,10 @@
- FilterStream(strA) {
- if (predictor != 1) {
- pred = new StreamPredictor(this, predictor, columns, colors, bits);
-+ if (!pred->isOk()) {
-+ delete pred;
-+ pred = NULL;
-+ }
- } else {
- pred = NULL;
- }
-Index: tetex-bin-3.0/libs/xpdf/xpdf/Stream.h
-===================================================================
---- tetex-bin-3.0.orig/libs/xpdf/xpdf/Stream.h 2005-12-08 17:01:26.000000000 +0100
-+++ tetex-bin-3.0/libs/xpdf/xpdf/Stream.h 2005-12-08 17:01:33.000000000 +0100
-@@ -233,6 +233,8 @@
-
- ~StreamPredictor();
-
-+ GBool isOk() { return ok; }
-+
- int lookChar();
- int getChar();
-
-@@ -250,6 +252,7 @@
- int rowBytes; // bytes per line
- Guchar *predLine; // line buffer
- int predIdx; // current index in predLine
-+ GBool ok;
- };
-
- //------------------------------------------------------------------------
Added: tetex-bin/trunk/debian/patches/patch-poppler
===================================================================
--- tetex-bin/trunk/debian/patches/patch-poppler 2005-12-11 16:47:17 UTC (rev 402)
+++ tetex-bin/trunk/debian/patches/patch-poppler 2005-12-13 10:16:37 UTC (rev 403)
@@ -0,0 +1,231 @@
+diff -Nur tetex-bin-3.0/texk/web2c/pdftexdir/depend.mk tetex-bin-3.0.new/texk/web2c/pdftexdir/depend.mk
+--- tetex-bin-3.0/texk/web2c/pdftexdir/depend.mk 2004-03-09 12:20:12.000000000 +0100
++++ tetex-bin-3.0.new/texk/web2c/pdftexdir/depend.mk 2005-12-09 19:08:15.000000000 +0100
+@@ -1,54 +1,4 @@
+-epdf.o: epdf.c ptexlib.h ../pdftexd.h ../texmfmp.h ../cpascal.h \
+- ../config.h ../help.h ../texmfmem.h ../pdftexcoerce.h ptexmac.h
+-mapfile.o: mapfile.c ptexlib.h ../pdftexd.h ../texmfmp.h ../cpascal.h \
+- ../config.h ../help.h ../texmfmem.h ../pdftexcoerce.h ptexmac.h
+-papersiz.o: papersiz.c ptexlib.h ../pdftexd.h ../texmfmp.h \
+- ../cpascal.h ../config.h ../help.h ../texmfmem.h ../pdftexcoerce.h \
+- ptexmac.h
+-utils.o: utils.c ptexlib.h ../pdftexd.h ../texmfmp.h ../cpascal.h \
+- ../config.h ../help.h ../texmfmem.h ../pdftexcoerce.h ptexmac.h \
+- ../../../libs/zlib/zlib.h ../../../libs/zlib/zconf.h \
+- ../../../libs/md5/md5.h pdftexextra.h
+-vfpacket.o: vfpacket.c ptexlib.h ../pdftexd.h ../texmfmp.h \
+- ../cpascal.h ../config.h ../help.h ../texmfmem.h ../pdftexcoerce.h \
+- ptexmac.h
+-pkin.o: pkin.c ptexlib.h ../pdftexd.h ../texmfmp.h ../cpascal.h \
+- ../config.h ../help.h ../texmfmem.h ../pdftexcoerce.h ptexmac.h
+-writefont.o: writefont.c ../../../libs/xpdf/goo/gmem.h ptexlib.h \
+- ../pdftexd.h ../texmfmp.h ../cpascal.h ../config.h ../help.h \
+- ../texmfmem.h ../pdftexcoerce.h ptexmac.h
+-writet1.o: writet1.c ptexlib.h ../pdftexd.h ../texmfmp.h ../cpascal.h \
+- ../config.h ../help.h ../texmfmem.h ../pdftexcoerce.h ptexmac.h
+-writet3.o: writet3.c ptexlib.h ../pdftexd.h ../texmfmp.h ../cpascal.h \
+- ../config.h ../help.h ../texmfmem.h ../pdftexcoerce.h ptexmac.h
+-writezip.o: writezip.c ptexlib.h ../pdftexd.h ../texmfmp.h \
+- ../cpascal.h ../config.h ../help.h ../texmfmem.h ../pdftexcoerce.h \
+- ptexmac.h ../../../libs/zlib/zlib.h ../../../libs/zlib/zconf.h
+-writeenc.o: writeenc.c ptexlib.h ../pdftexd.h ../texmfmp.h \
+- ../cpascal.h ../config.h ../help.h ../texmfmem.h ../pdftexcoerce.h \
+- ptexmac.h
+-writettf.o: writettf.c ptexlib.h ../pdftexd.h ../texmfmp.h \
+- ../cpascal.h ../config.h ../help.h ../texmfmem.h ../pdftexcoerce.h \
+- ptexmac.h macnames.c
+-writejpg.o: writejpg.c ptexlib.h ../pdftexd.h ../texmfmp.h \
+- ../cpascal.h ../config.h ../help.h ../texmfmem.h ../pdftexcoerce.h \
+- ptexmac.h image.h
+-writepng.o: writepng.c ptexlib.h ../pdftexd.h ../texmfmp.h \
+- ../cpascal.h ../config.h ../help.h ../texmfmem.h ../pdftexcoerce.h \
+- ptexmac.h image.h
+-writeimg.o: writeimg.c ptexlib.h ../pdftexd.h ../texmfmp.h \
+- ../cpascal.h ../config.h ../help.h ../texmfmem.h ../pdftexcoerce.h \
+- ptexmac.h image.h
+-pdftoepdf.o: pdftoepdf.cc ../../../libs/xpdf/xpdf/Object.h \
+- ../../../libs/xpdf/goo/gmem.h ../../../libs/xpdf/xpdf/Array.h \
+- ../../../libs/xpdf/xpdf/Dict.h ../../../libs/xpdf/xpdf/Stream.h \
+- ../../../libs/xpdf/xpdf/XRef.h ../../../libs/xpdf/xpdf/Catalog.h \
+- ../../../libs/xpdf/xpdf/Page.h ../../../libs/xpdf/xpdf/GfxFont.h \
+- ../../../libs/xpdf/xpdf/Error.h epdf.h
+-ttf2afm.o: ttf2afm.c macnames.c
+-pdftosrc.o: pdftosrc.cc ../../../libs/xpdf/xpdf/Object.h \
+- ../../../libs/xpdf/xpdf/Array.h ../../../libs/xpdf/xpdf/Dict.h \
+- ../../../libs/xpdf/xpdf/Stream.h ../../../libs/xpdf/xpdf/XRef.h \
+- ../../../libs/xpdf/xpdf/Catalog.h ../../../libs/xpdf/xpdf/Page.h \
+- ../../../libs/xpdf/xpdf/PDFDoc.h ../../../libs/xpdf/xpdf/Link.h \
+- ../../../libs/xpdf/xpdf/Error.h ../../../libs/xpdf/xpdf/config.h
++pdftoepdf.o: pdftoepdf.cc epdf.h ../../kpathsea/c-auto.h \
++ ../../kpathsea/c-proto.h ../../web2c/c-auto.h ../../web2c/config.h \
++ ../../kpathsea/c-fopen.h ../../web2c/pdftexdir/ptexmac.h
++pdftosrc.o: pdftosrc.cc
+diff -Nur tetex-bin-3.0/texk/web2c/pdftexdir/pdftoepdf.cc tetex-bin-3.0.new/texk/web2c/pdftexdir/pdftoepdf.cc
+--- tetex-bin-3.0/texk/web2c/pdftexdir/pdftoepdf.cc 2005-02-03 17:16:39.000000000 +0100
++++ tetex-bin-3.0.new/texk/web2c/pdftexdir/pdftoepdf.cc 2005-12-09 19:08:15.000000000 +0100
+@@ -26,22 +26,22 @@
+ #include <stdio.h>
+ #include <string.h>
+ #include <ctype.h>
+-#include <aconf.h>
+-#include <GString.h>
+-#include <gmem.h>
+-#include <gfile.h>
+-#include <config.h>
+-#include "Object.h"
+-#include "Stream.h"
+-#include "Array.h"
+-#include "Dict.h"
+-#include "XRef.h"
+-#include "Catalog.h"
+-#include "Page.h"
+-#include "GfxFont.h"
+-#include "PDFDoc.h"
+-#include "GlobalParams.h"
+-#include "Error.h"
++#include <dirent.h>
++#include <poppler/poppler-config.h>
++#include <poppler/goo/GooString.h>
++#include <poppler/goo/gmem.h>
++#include <poppler/goo/gfile.h>
++#include "poppler/Object.h"
++#include "poppler/Stream.h"
++#include "poppler/Array.h"
++#include "poppler/Dict.h"
++#include "poppler/XRef.h"
++#include "poppler/Catalog.h"
++#include "poppler/Page.h"
++#include "poppler/GfxFont.h"
++#include "poppler/PDFDoc.h"
++#include "poppler/GlobalParams.h"
++#include "poppler/Error.h"
+
+ #include "epdf.h"
+
+@@ -189,7 +189,7 @@
+ #ifdef DEBUG
+ fprintf(stderr, "\nCreating %s (%d)\n", p->file_name, p->occurences);
+ #endif
+- GString *docName = new GString(p->file_name);
++ GooString *docName = new GooString(p->file_name);
+ p->doc = new PDFDoc(docName); // takes ownership of docName
+ if (!p->doc->isOk() || !p->doc->okToPrint()) {
+ pdftex_fail("xpdf: reading PDF image failed");
+@@ -539,7 +539,7 @@
+ int i, l, c;
+ Ref ref;
+ char *p;
+- GString *s;
++ GooString *s;
+ if (obj->isBool()) {
+ pdf_printf("%s", obj->getBool() ? "true" : "false");
+ }
+@@ -686,7 +686,7 @@
+ float pdf_version_found, pdf_version_wanted;
+ // initialize
+ if (!isInit) {
+- globalParams = new GlobalParams();
++ globalParams = new GlobalParams(NULL);
+ globalParams->setErrQuiet(gFalse);
+ isInit = gTrue;
+ }
+@@ -713,7 +713,7 @@
+ epdf_num_pages = pdf_doc->doc->getCatalog()->getNumPages();
+ if (page_name) {
+ // get page by name
+- GString name(page_name);
++ GooString name(page_name);
+ LinkDest *link = pdf_doc->doc->findDest(&name);
+ if (link == 0 || !link->isOk())
+ pdftex_fail("pdf inclusion: invalid destination <%s>",
+diff -Nur tetex-bin-3.0/texk/web2c/pdftexdir/pdftosrc.cc tetex-bin-3.0.new/texk/web2c/pdftexdir/pdftosrc.cc
+--- tetex-bin-3.0/texk/web2c/pdftexdir/pdftosrc.cc 2004-03-22 21:39:54.000000000 +0100
++++ tetex-bin-3.0.new/texk/web2c/pdftexdir/pdftosrc.cc 2005-12-09 19:08:15.000000000 +0100
+@@ -25,21 +25,21 @@
+ #include <stdio.h>
+ #include <string.h>
+ #include <ctype.h>
+-#include <aconf.h>
+-#include <GString.h>
+-#include <gmem.h>
+-#include <gfile.h>
+-#include "Object.h"
+-#include "Stream.h"
+-#include "Array.h"
+-#include "Dict.h"
+-#include "XRef.h"
+-#include "Catalog.h"
+-#include "Page.h"
+-#include "GfxFont.h"
+-#include "PDFDoc.h"
+-#include "GlobalParams.h"
+-#include "Error.h"
++#include <dirent.h>
++#include <poppler/goo/GooString.h>
++#include <poppler/goo/gmem.h>
++#include <poppler/goo/gfile.h>
++#include "poppler/Object.h"
++#include "poppler/Stream.h"
++#include "poppler/Array.h"
++#include "poppler/Dict.h"
++#include "poppler/XRef.h"
++#include "poppler/Catalog.h"
++#include "poppler/Page.h"
++#include "poppler/GfxFont.h"
++#include "poppler/PDFDoc.h"
++#include "poppler/GlobalParams.h"
++#include "poppler/Error.h"
+
+ static XRef *xref = 0;
+
+@@ -47,7 +47,7 @@
+ {
+ char *p, buf[1024];
+ PDFDoc *doc;
+- GString *fileName;
++ GooString *fileName;
+ Stream *s;
+ Object srcStream, srcName, catalogDict;
+ FILE *outfile;
+@@ -59,8 +59,8 @@
+ fprintf(stderr, "Usage: pdftosrc <PDF-file> [<stream-object-number>]\n");
+ exit(1);
+ }
+- fileName = new GString(argv[1]);
+- globalParams = new GlobalParams();
++ fileName = new GooString(argv[1]);
++ globalParams = new GlobalParams(NULL);
+ doc = new PDFDoc(fileName);
+ if (!doc->isOk()) {
+ fprintf(stderr, "Invalid PDF file\n");
+diff -Nur tetex-bin-3.0/configure tetex-bin-3.0.new/configure
+--- tetex-bin-3.0/configure 2005-02-06 19:27:03.000000000 +0100
++++ tetex-bin-3.0.new/configure 2005-12-12 10:12:35.000000000 +0100
+@@ -3292,9 +3236,9 @@
+
+ # we need libxpdf for pdf[ex]tex
+ test ! -d $srcdir/$LIBXPDFDIR && : ${needs_libxpdf=no}
+-test "$with_pdftex" != no && : ${needs_libxpdf=yes}
+-test "$with_pdfetex" != no && : ${needs_libxpdf=yes}
+-test "$with_pdfxtex" != no && : ${needs_libxpdf=yes}
++test "$with_pdftex" != no && : ${needs_libxpdf=no}
++test "$with_pdfetex" != no && : ${needs_libxpdf=no}
++test "$with_pdfxtex" != no && : ${needs_libxpdf=no}
+ : ${needs_libxpdf=no}
+ export needs_libxpdf
+
+diff -Nur tetex-bin-3.0/configure.in tetex-bin-3.0.new/configure.in
+--- tetex-bin-3.0/configure.in 2005-02-01 22:59:46.000000000 +0100
++++ tetex-bin-3.0.new/configure.in 2005-12-12 10:05:59.000000000 +0100
+@@ -145,9 +145,9 @@
+
+ # we need libxpdf for pdf[ex]tex
+ test ! -d $srcdir/$LIBXPDFDIR && : ${needs_libxpdf=no}
+-test "$with_pdftex" != no && : ${needs_libxpdf=yes}
+-test "$with_pdfetex" != no && : ${needs_libxpdf=yes}
+-test "$with_pdfxtex" != no && : ${needs_libxpdf=yes}
++test "$with_pdftex" != no && : ${needs_libxpdf=no}
++test "$with_pdfetex" != no && : ${needs_libxpdf=no}
++test "$with_pdfxtex" != no && : ${needs_libxpdf=no}
+ : ${needs_libxpdf=no}
+ export needs_libxpdf
Modified: tetex-bin/trunk/debian/patches/series
===================================================================
--- tetex-bin/trunk/debian/patches/series 2005-12-11 16:47:17 UTC (rev 402)
+++ tetex-bin/trunk/debian/patches/series 2005-12-13 10:16:37 UTC (rev 403)
@@ -7,6 +7,4 @@
patch-src
patch-libtool
patch-deb
-patch-CAN-2005-0064
-patch-CAN-2004-0888
-patch-CVE-2005-3191+2+3
+patch-poppler
Modified: tetex-bin/trunk/debian/rules
===================================================================
--- tetex-bin/trunk/debian/rules 2005-12-11 16:47:17 UTC (rev 402)
+++ tetex-bin/trunk/debian/rules 2005-12-13 10:16:37 UTC (rev 403)
@@ -164,6 +164,7 @@
rm -f debian/conffiles
rm -f $(EPERL_FILES)
rm -f debian/tetex-xwarn
+ rm -f debian/latex.info
debconf-updatepo
dh_clean
@@ -215,10 +216,13 @@
$(check-svn)
dh_testdir
+ # just to be sure to not use them
+ rm -rf libs/xpdf libs/zlib
+
# Obsolete and now fixed pl.l by patch-tmp (for broken flex)
# cp texk/web2c/omegafonts/lex.yy.c-dist texk/web2c/omegafonts/lex.yy.c
# Add here commands to compile the package.
- make CFLAGS="${CFLAGS}"
+ make CFLAGS="${CFLAGS}" XXCFLAGS='-I/usr/include/poppler' LDFLAGS='-lpoppler'
gcc -o debian/tetex-xwarn -O2 -W -Wall -ansi -pedantic \
-L/usr/X11R6/lib -lXaw -lXt -lX11 -I/usr/X11R6/include \
debian/texdoctk-warn.c
Modified: tetex-bin/trunk/debian/rules.in
===================================================================
--- tetex-bin/trunk/debian/rules.in 2005-12-11 16:47:17 UTC (rev 402)
+++ tetex-bin/trunk/debian/rules.in 2005-12-13 10:16:37 UTC (rev 403)
@@ -169,6 +169,7 @@
rm -f debian/conffiles
rm -f $(EPERL_FILES)
rm -f debian/tetex-xwarn
+ rm -f debian/latex.info
debconf-updatepo
dh_clean
@@ -220,10 +221,13 @@
$(check-svn)
dh_testdir
+ # just to be sure to not use them
+ rm -rf libs/xpdf libs/zlib
+
# Obsolete and now fixed pl.l by patch-tmp (for broken flex)
# cp texk/web2c/omegafonts/lex.yy.c-dist texk/web2c/omegafonts/lex.yy.c
# Add here commands to compile the package.
- make CFLAGS="${CFLAGS}"
+ make CFLAGS="${CFLAGS}" XXCFLAGS='-I/usr/include/poppler' LDFLAGS='-lpoppler'
gcc -o debian/tetex-xwarn -O2 -W -Wall -ansi -pedantic \
-L/usr/X11R6/lib -lXaw -lXt -lX11 -I/usr/X11R6/include \
debian/texdoctk-warn.c
More information about the Pkg-tetex-commits
mailing list