[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