- make kpathsea not dependent on texlive

- fix lacheck again (#451513)
- fix dvips configuration (#467542)
- update kpathsea description and summary (#519257)
- use upstream patch to fix pool overflow CVE-2009-1284 (#492136)
This commit is contained in:
Jindrich Novy 2009-10-16 05:36:21 +00:00
parent 0c5d9e4b9c
commit 35b0b027cb
5 changed files with 721 additions and 67 deletions

642
texlive-dvipsconfig.patch Normal file
View File

@ -0,0 +1,642 @@
diff -up texlive-2007/texk/dvipsk/config.ps.dvipsconfig texlive-2007/texk/dvipsk/config.ps
--- texlive-2007/texk/dvipsk/config.ps.dvipsconfig 2006-01-17 22:41:51.000000000 +0100
+++ texlive-2007/texk/dvipsk/config.ps 2009-10-15 21:01:23.000000000 +0200
@@ -1,83 +1,586 @@
-* Configuration file for dvips.
-*
-* Default resolution. This needs to be correct.
-D 300
-*
-* Metafont mode to use to generate bitmap fonts. This needs to be a
-* mode with the specified resolution. Various hardwired defaults are
-* used for a few resolutions, but it is best to specify it explicitly.
-* http://www.ctan.org/tex-archive/fonts/modes/modes.mf has a list of modes.
-*M modename
-*
-* Amount of memory. Not crucial to be exact, if you have a lot.
-m 470000
-*
-* If unspecified, output goes to a file.
-* To send output via a pipe to a printing program, use something like:
-*o |lpr
-*o |lpr -Pmyprinter
-* To send output to standard output by default, use:
-*o -
-*
-* z1 is "secure", i.e., inhibits execution of `shell commands` in \specials.
-* Dvips allows this by default.
-*z1
-*
-* Additional default .map files.
-* p +cmfonts.map
-* p +lafonts.map
-* p +cyrfonts.map
-* p +eufonts.map
-*
-* Last resort bitmap sizes.
-R 240 270 300 329 360 432 518 622 746 896
-*
-*
-* Paper size information. First definition is the default.
-*
-* If your default is a4 uncomment the following definition
-* and comment out the letterSize definition.
-@ a4size 210mm 297mm
+% config.ps - configuration file for dvips.
+% Tomas Rokicki, Thomas Esser, Karl Berry, et al., 1986ff, public domain.
+
+% Memory available. Download the three-line PostScript file:
+% %! Hey, we're PostScript
+% /Times-Roman findfont 30 scalefont setfont 144 432 moveto
+% vmstatus exch sub 40 string cvs show pop showpage
+% to determine this number. (It will be the only thing printed.)
+m 3500000
+
+% Run securely. z2 disables both shell command execution in
+% `\special' and config files (via the `E' option) and opening of any
+% absolute filenames. z1, the default, forbids shell escapes but
+% allows absolute filenames. z0 allows both. The corresponding
+% command line options are -R0|-R1|-R2
+z1
+
+% How to print, maybe with lp instead lpr, etc. If commented-out, output
+% will go into a file by default.
+%o |lpr
+
+% Default resolution of this device, in dots per inch.
+D 600
+X 600
+Y 600
+
+% Metafont mode. (This is completely different from the -M
+% command-line option, which controls whether mktexpk is invoked.)
+% See ../../metafont/misc/modes.mf for a list of mode names. This mode
+% and the D number above must agree, or mktexpk will get confused.
+M ljfour
+
+% Last resort bitmap sizes.
+R 300 600
+
+% Correct printer offset. You can use testpage.tex from the LaTeX
+% distribution to find these numbers.
+O 0pt,0pt
+
+% Bitmap font compression. Results in more compact output files, but
+% sometimes causes trouble. So the default is disabled. Set Z1 to enable
+% this feature.
+Z0
+
+% Partially download Type 1 fonts by default. Only reason not to do
+% this is if you encounter bugs. (Please report them to
+% @email{tex-k@tug.org} if you do.)
+j
+
+% This shows how to add your own map file.
+% Remove the comment and adjust the name:
+% p +myfonts.map
+
+% If we have setpagedevice, use that.
+% else if we have the a4 resp. letter operator, use that.
+% else do nothing to set the page size.
+%
+% In the past, the a4size and letterSize definitions did not set the
+% page size, but we want to set it if we can so that ps2pdf can work
+% properly. Here, a4 and a4size, and letter and letterSize, are
+% identical, and we prefer the a4/letter names -- texconfig uses them.
+
+% 0 0 595 842 is the right bounding box that applications expect
+% for A4. Since dvips always rounds up, choose something slightly
+% smaller for our paper size.
+
+@ a4 210mm 297mm
@+ ! %%DocumentPaperSizes: a4
-@+ %%PaperSize: a4
+@+ %%BeginPaperSize: a4
+@+ /setpagedevice where
+@+ { pop << /PageSize [595 842] >> setpagedevice }
+@+ { /a4 where { pop a4 } if }
+@+ ifelse
+@+ %%EndPaperSize
-*@ letterSize 8.5in 11in
+@ letter 8.5in 11in
@+ ! %%DocumentPaperSizes: Letter
+@+ %%BeginPaperSize: Letter
+@+ /setpagedevice where
+@+ { pop << /PageSize [612 792] >> setpagedevice }
+@+ { /letter where { pop letter } if }
+@+ ifelse
+@+ %%EndPaperSize
-@ letter 8.5in 11in
+@ a4size 210mm 297mm
+@+ ! %%DocumentPaperSizes: a4
+@+ %%BeginPaperSize: a4
+@+ /setpagedevice where
+@+ { pop << /PageSize [595 842] >> setpagedevice }
+@+ { /a4 where { pop a4 } if }
+@+ ifelse
+@+ %%EndPaperSize
+
+@ letterSize 8.5in 11in
@+ ! %%DocumentPaperSizes: Letter
@+ %%BeginPaperSize: Letter
-@+ %letter
+@+ /setpagedevice where
+@+ { pop << /PageSize [612 792] >> setpagedevice }
+@+ { /letter where { pop letter } if }
+@+ ifelse
+@+ %%EndPaperSize
+
+% The jacow paper size is the smaller of letter and a4 in both
+% dimensions, and can therefore hopefully be printed on either paper
+% size. As far as we know, Volker Schaa first used it for the JACOW
+% conference proceedings that he produced.
+@ jacow 210mm 11in
+@+ ! %%DocumentPaperSizes: jacow
+@+ %%BeginPaperSize: jacow
+@+ /setpagedevice where
+@+ { pop << /PageSize [595 792] >> setpagedevice }
+@+ if
+@+ %%EndPaperSize
+
+% The smallbook paper size has been used by the Free Software Foundation
+% to print manuals for many years, and is part of Texinfo.
+@ smallbook 7in 9.25in
+@+ ! %%DocumentPaperSizes: smallbook
+@+ %%BeginPaperSize: smallbook
+@+ /setpagedevice where
+@+ { pop << /PageSize [504 666] >> setpagedevice }
+@+ if
+@+ %%EndPaperSize
+
+@ halfexecutive 133mm 184mm
+@+ ! %%DocumentPaperSizes: halfexecutive
+@+ %%BeginPaperSize: halfexecutive
+@+ /setpagedevice where
+@+ { pop << /PageSize [378 522] >> setpagedevice }
+@+ if
+@+ %%EndPaperSize
+
+@ halfletter 140mm 216mm
+@+ ! %%DocumentPaperSizes: halfletter
+@+ %%BeginPaperSize: halfletter
+@+ /setpagedevice where
+@+ { pop << /PageSize [396 612] >> setpagedevice }
+@+ if
+@+ %%EndPaperSize
+
+@ statement 140mm 216mm
+@+ ! %%DocumentPaperSizes: statement
+@+ %%BeginPaperSize: statement
+@+ /setpagedevice where
+@+ { pop << /PageSize [396 612] >> setpagedevice }
+@+ if
+@+ %%EndPaperSize
+
+@ executive 184mm 267mm
+@+ ! %%DocumentPaperSizes: executive
+@+ %%BeginPaperSize: executive
+@+ /setpagedevice where
+@+ { pop << /PageSize [522 756] >> setpagedevice }
+@+ if
+@+ %%EndPaperSize
+
+% for powerdot
+@ screen 8.25in 11in
+@+ ! %%DocumentPaperSizes: Screen
+@+ %%BeginPaperSize: Screen
+@+ /setpagedevice where
+@+ { pop << /PageSize [594 792] >> setpagedevice }
+@+ if
+@+ %%EndPaperSize
+
+% a common size for printers (in north america).
+@ sixbynine 6in 9in
+@+ ! %%DocumentPaperSizes: SixByNine
+@+ %%BeginPaperSize: SixByNine
+@+ /setpagedevice where
+@+ { pop << /PageSize [432 648] >> setpagedevice }
+@+ if
+@+ %%EndPaperSize
+
+@ quarto 215mm 275mm
+@+ ! %%DocumentPaperSizes: quarto
+@+ %%BeginPaperSize: quarto
+@+ /setpagedevice where
+@+ { pop << /PageSize [610 780] >> setpagedevice }
+@+ if
+@+ %%EndPaperSize
+
+@ note 216mm 279mm
+@+ ! %%DocumentPaperSizes: note
+@+ %%BeginPaperSize: note
+@+ /setpagedevice where
+@+ { pop << /PageSize [612 792] >> setpagedevice }
+@+ if
+@+ %%EndPaperSize
+
+@ folio 216mm 330mm
+@+ ! %%DocumentPaperSizes: folio
+@+ %%BeginPaperSize: folio
+@+ /setpagedevice where
+@+ { pop << /PageSize [612 936] >> setpagedevice }
+@+ if
@+ %%EndPaperSize
@ legal 8.5in 14in
@+ ! %%DocumentPaperSizes: Legal
@+ %%BeginPaperSize: Legal
-@+ %legal
+@+ /setpagedevice where
+@+ { pop << /PageSize [612 1008] >> setpagedevice }
+@+ if
+@+ %%EndPaperSize
+
+@ 10x14 10in 14in
+@+ ! %%DocumentPaperSizes: 10x14
+@+ %%BeginPaperSize: 10x14
+@+ /setpagedevice where
+@+ { pop << /PageSize [720 1008] >> setpagedevice }
+@+ if
@+ %%EndPaperSize
@ ledger 17in 11in
@+ ! %%DocumentPaperSizes: Ledger
@+ %%BeginPaperSize: Ledger
-@+ %ledger
+@+ /setpagedevice where
+@+ { pop << /PageSize [1224 792] >> setpagedevice }
+@+ if
@+ %%EndPaperSize
@ tabloid 11in 17in
@+ ! %%DocumentPaperSizes: Tabloid
@+ %%BeginPaperSize: Tabloid
-@+ %11x17
+@+ /setpagedevice where
+@+ { pop << /PageSize [792 1224] >> setpagedevice }
+@+ if
@+ %%EndPaperSize
-@ a4 210mm 297mm
-@+ ! %%DocumentPaperSizes: a4
-@+ %%BeginPaperSize: a4
-@+ %a4
+@ 11x17 11in 17in
+@+ ! %%DocumentPaperSizes: 11x17
+@+ %%BeginPaperSize: 11x17
+@+ /setpagedevice where
+@+ { pop << /PageSize [792 1224] >> setpagedevice }
+@+ if
+@+ %%EndPaperSize
+
+@ a0 841mm 1189mm
+@+ ! %%DocumentPaperSizes: a0
+@+ %%BeginPaperSize: a0
+@+ /setpagedevice where
+@+ { pop << /PageSize [2384 3370] >> setpagedevice }
+@+ { /a0 where { pop a0 } if }
+@+ ifelse
+@+ %%EndPaperSize
+
+@ a1 594mm 841mm
+@+ ! %%DocumentPaperSizes: a1
+@+ %%BeginPaperSize: a1
+@+ /setpagedevice where
+@+ { pop << /PageSize [1684 2384] >> setpagedevice }
+@+ { /a1 where { pop a1 } if }
+@+ ifelse
+@+ %%EndPaperSize
+
+@ a2 420mm 594mm
+@+ ! %%DocumentPaperSizes: a2
+@+ %%BeginPaperSize: a2
+@+ /setpagedevice where
+@+ { pop << /PageSize [1191 1684] >> setpagedevice }
+@+ { /a2 where { pop a2 } if }
+@+ ifelse
@+ %%EndPaperSize
@ a3 297mm 420mm
@+ ! %%DocumentPaperSizes: a3
@+ %%BeginPaperSize: a3
-@+ %a3
+@+ /setpagedevice where
+@+ { pop << /PageSize [842 1191] >> setpagedevice }
+@+ { /a3 where { pop a3 } if }
+@+ ifelse
+@+ %%EndPaperSize
+
+@ a5 148mm 210mm
+@+ ! %%DocumentPaperSizes: a5
+@+ %%BeginPaperSize: a5
+@+ /setpagedevice where
+@+ { pop << /PageSize [420 595] >> setpagedevice }
+@+ { /a5 where { pop a5 } if }
+@+ ifelse
+@+ %%EndPaperSize
+
+@ a6 105mm 148mm
+@+ ! %%DocumentPaperSizes: a6
+@+ %%BeginPaperSize: a6
+@+ /setpagedevice where
+@+ { pop << /PageSize [298 420] >> setpagedevice }
+@+ { /a6 where { pop a6 } if }
+@+ ifelse
+@+ %%EndPaperSize
+
+@ a7 74mm 105mm
+@+ ! %%DocumentPaperSizes: a7
+@+ %%BeginPaperSize: a7
+@+ /setpagedevice where
+@+ { pop << /PageSize [210 298] >> setpagedevice }
+@+ { /a7 where { pop a7 } if }
+@+ ifelse
+@+ %%EndPaperSize
+
+@ a8 52mm 74mm
+@+ ! %%DocumentPaperSizes: a8
+@+ %%BeginPaperSize: a8
+@+ /setpagedevice where
+@+ { pop << /PageSize [147 210] >> setpagedevice }
+@+ { /a8 where { pop a8 } if }
+@+ ifelse
+@+ %%EndPaperSize
+
+@ a9 37mm 52mm
+@+ ! %%DocumentPaperSizes: a9
+@+ %%BeginPaperSize: a9
+@+ /setpagedevice where
+@+ { pop << /PageSize [105 147] >> setpagedevice }
+@+ { /a9 where { pop a9 } if }
+@+ ifelse
+@+ %%EndPaperSize
+
+@ a10 26mm 37mm
+@+ ! %%DocumentPaperSizes: a10
+@+ %%BeginPaperSize: a10
+@+ /setpagedevice where
+@+ { pop << /PageSize [74 105] >> setpagedevice }
+@+ { /a10 where { pop a10 } if }
+@+ ifelse
+@+ %%EndPaperSize
+
+@ jisb0 1030mm 1456mm
+@+ ! %%DocumentPaperSizes: jisb0
+@+ %%BeginPaperSize: jisb0
+@+ /setpagedevice where
+@+ { pop << /PageSize [2920 4127] >> setpagedevice }
+@+ { /jisb0 where { pop jisb0 } if }
+@+ ifelse
+@+ %%EndPaperSize
+
+@ jisb1 728mm 1030mm
+@+ ! %%DocumentPaperSizes: jisb1
+@+ %%BeginPaperSize: jisb1
+@+ /setpagedevice where
+@+ { pop << /PageSize [2064 2920] >> setpagedevice }
+@+ { /jisb1 where { pop jisb1 } if }
+@+ ifelse
+@+ %%EndPaperSize
+
+@ jisb2 515mm 728mm
+@+ ! %%DocumentPaperSizes: jisb2
+@+ %%BeginPaperSize: jisb2
+@+ /setpagedevice where
+@+ { pop << /PageSize [1460 2064] >> setpagedevice }
+@+ { /jisb2 where { pop jisb2 } if }
+@+ ifelse
+@+ %%EndPaperSize
+
+@ jisb3 364mm 515mm
+@+ ! %%DocumentPaperSizes: jisb3
+@+ %%BeginPaperSize: jisb3
+@+ /setpagedevice where
+@+ { pop << /PageSize [1032 1460] >> setpagedevice }
+@+ { /jisb3 where { pop jisb3 } if }
+@+ ifelse
+@+ %%EndPaperSize
+
+@ jisb4 257mm 364mm
+@+ ! %%DocumentPaperSizes: jisb4
+@+ %%BeginPaperSize: jisb4
+@+ /setpagedevice where
+@+ { pop << /PageSize [729 1032] >> setpagedevice }
+@+ { /jisb4 where { pop jisb4 } if }
+@+ ifelse
+@+ %%EndPaperSize
+
+@ jisb5 182mm 257mm
+@+ ! %%DocumentPaperSizes: jisb5
+@+ %%BeginPaperSize: jisb5
+@+ /setpagedevice where
+@+ { pop << /PageSize [516 729] >> setpagedevice }
+@+ { /jisb5 where { pop jisb5 } if }
+@+ ifelse
+@+ %%EndPaperSize
+
+@ jisb6 128mm 182mm
+@+ ! %%DocumentPaperSizes: jisb6
+@+ %%BeginPaperSize: jisb6
+@+ /setpagedevice where
+@+ { pop << /PageSize [363 516] >> setpagedevice }
+@+ { /jisb6 where { pop jisb6 } if }
+@+ ifelse
+@+ %%EndPaperSize
+
+@ jisb7 91mm 128mm
+@+ ! %%DocumentPaperSizes: jisb7
+@+ %%BeginPaperSize: jisb7
+@+ /setpagedevice where
+@+ { pop << /PageSize [258 363] >> setpagedevice }
+@+ { /jisb7 where { pop jisb7 } if }
+@+ ifelse
+@+ %%EndPaperSize
+
+@ jisb8 64mm 91mm
+@+ ! %%DocumentPaperSizes: jisb8
+@+ %%BeginPaperSize: jisb8
+@+ /setpagedevice where
+@+ { pop << /PageSize [181 258] >> setpagedevice }
+@+ { /jisb8 where { pop jisb8 } if }
+@+ ifelse
+@+ %%EndPaperSize
+
+@ b0 1000mm 1414mm
+@+ ! %%DocumentPaperSizes: b0
+@+ %%BeginPaperSize: b0
+@+ /setpagedevice where
+@+ { pop << /PageSize [2835 4008] >> setpagedevice }
+@+ { /b0 where { pop b0 } if }
+@+ ifelse
+@+ %%EndPaperSize
+
+@ b1 707mm 1000mm
+@+ ! %%DocumentPaperSizes: b1
+@+ %%BeginPaperSize: b1
+@+ /setpagedevice where
+@+ { pop << /PageSize [2004 2835] >> setpagedevice }
+@+ { /b1 where { pop b1 } if }
+@+ ifelse
+@+ %%EndPaperSize
+
+@ b2 500mm 707mm
+@+ ! %%DocumentPaperSizes: b2
+@+ %%BeginPaperSize: b2
+@+ /setpagedevice where
+@+ { pop << /PageSize [1417 2004] >> setpagedevice }
+@+ { /b2 where { pop b2 } if }
+@+ ifelse
+@+ %%EndPaperSize
+
+@ b3 353mm 500mm
+@+ ! %%DocumentPaperSizes: b3
+@+ %%BeginPaperSize: b3
+@+ /setpagedevice where
+@+ { pop << /PageSize [1001 1417] >> setpagedevice }
+@+ { /b3 where { pop b3 } if }
+@+ ifelse
+@+ %%EndPaperSize
+
+@ b4 250mm 353mm
+@+ ! %%DocumentPaperSizes: b4
+@+ %%BeginPaperSize: b4
+@+ /setpagedevice where
+@+ { pop << /PageSize [709 1001] >> setpagedevice }
+@+ { /b4 where { pop b4 } if }
+@+ ifelse
+@+ %%EndPaperSize
+
+@ b5 176mm 250mm
+@+ ! %%DocumentPaperSizes: b5
+@+ %%BeginPaperSize: b5
+@+ /setpagedevice where
+@+ { pop << /PageSize [499 709] >> setpagedevice }
+@+ { /b5 where { pop b5 } if }
+@+ ifelse
+@+ %%EndPaperSize
+
+@ b6 125mm 176mm
+@+ ! %%DocumentPaperSizes: b6
+@+ %%BeginPaperSize: b6
+@+ /setpagedevice where
+@+ { pop << /PageSize [354 499] >> setpagedevice }
+@+ { /b6 where { pop b6 } if }
+@+ ifelse
+@+ %%EndPaperSize
+
+@ c5 162mm 229mm
+@+ ! %%DocumentPaperSizes: c5
+@+ %%BeginPaperSize: c5
+@+ /setpagedevice where
+@+ { pop << /PageSize [459 649] >> setpagedevice }
+@+ { /c5 where { pop c5 } if }
+@+ ifelse
+@+ %%EndPaperSize
+
+@ DL 110mm 220mm
+@+ ! %%DocumentPaperSizes: DL
+@+ %%BeginPaperSize: DL
+@+ /setpagedevice where
+@+ { pop << /PageSize [312 624] >> setpagedevice }
+@+ if
+@+ %%EndPaperSize
+
+@ Comm10 105mm 241mm
+@+ ! %%DocumentPaperSizes: Comm10
+@+ %%BeginPaperSize: Comm10
+@+ /setpagedevice where
+@+ { pop << /PageSize [297 684] >> setpagedevice }
+@+ if
+@+ %%EndPaperSize
+
+@ Monarch 98.4mm 190.5mm
+@+ ! %%DocumentPaperSizes: Monarch
+@+ %%BeginPaperSize: Monarch
+@+ /setpagedevice where
+@+ { pop << /PageSize [279 540] >> setpagedevice }
+@+ if
+@+ %%EndPaperSize
+
+@ archE 36in 48in
+@+ ! %%DocumentPaperSizes: archE
+@+ %%BeginPaperSize: archE
+@+ /setpagedevice where
+@+ { pop << /PageSize [2592 3456] >> setpagedevice }
+@+ if
+@+ %%EndPaperSize
+
+@ archD 24in 36in
+@+ ! %%DocumentPaperSizes: archD
+@+ %%BeginPaperSize: archD
+@+ /setpagedevice where
+@+ { pop << /PageSize [1728 2592] >> setpagedevice }
+@+ if
+@+ %%EndPaperSize
+
+@ archC 18in 24in
+@+ ! %%DocumentPaperSizes: archC
+@+ %%BeginPaperSize: archC
+@+ /setpagedevice where
+@+ { pop << /PageSize [1296 1728] >> setpagedevice }
+@+ if
+@+ %%EndPaperSize
+
+@ archB 12in 18in
+@+ ! %%DocumentPaperSizes: archB
+@+ %%BeginPaperSize: archB
+@+ /setpagedevice where
+@+ { pop << /PageSize [864 1296] >> setpagedevice }
+@+ if
+@+ %%EndPaperSize
+
+@ archA 9in 12in
+@+ ! %%DocumentPaperSizes: archA
+@+ %%BeginPaperSize: archA
+@+ /setpagedevice where
+@+ { pop << /PageSize [648 864] >> setpagedevice }
+@+ if
+@+ %%EndPaperSize
+
+@ flsa 216mm 330.2mm
+@+ ! %%DocumentPaperSizes: flsa
+@+ %%BeginPaperSize: flsa
+@+ /setpagedevice where
+@+ { pop << /PageSize [612 936] >> setpagedevice }
+@+ if
+@+ %%EndPaperSize
+
+@ flse 216mm 330.2mm
+@+ ! %%DocumentPaperSizes: flse
+@+ %%BeginPaperSize: flse
+@+ /setpagedevice where
+@+ { pop << /PageSize [612 936] >> setpagedevice }
+@+ if
+@+ %%EndPaperSize
+
+@ csheet 431.8mm 558.8mm
+@+ ! %%DocumentPaperSizes: csheet
+@+ %%BeginPaperSize: csheet
+@+ /setpagedevice where
+@+ { pop << /PageSize [1224 1584] >> setpagedevice }
+@+ if
+@+ %%EndPaperSize
+
+@ dsheet 558.8mm 863.6mm
+@+ ! %%DocumentPaperSizes: dsheet
+@+ %%BeginPaperSize: dsheet
+@+ /setpagedevice where
+@+ { pop << /PageSize [1584 2448] >> setpagedevice }
+@+ if
+@+ %%EndPaperSize
+
+@ esheet 863.6mm 1117.6mm
+@+ ! %%DocumentPaperSizes: esheet
+@+ %%BeginPaperSize: esheet
+@+ /setpagedevice where
+@+ { pop << /PageSize [2448 3168] >> setpagedevice }
+@+ if
@+ %%EndPaperSize
@ unknown 0in 0in

View File

@ -15,3 +15,30 @@ diff -up texlive-2007/texk/lacheck/lacheck.lex.lacheck texlive-2007/texk/lacheck
}
void e_checkend(n, name)
@@ -1075,6 +1075,7 @@ char *name;
{
print_bad_match(name,3);
pop();
+ if (gstackp <= 0) return;
}
pop();
@@ -1090,11 +1091,13 @@ int type;
line_count,
eg_command( end_command , type) ) ;
- printf("\"%s\", line %d: -> unmatched \"%s\"\n",
- CG_FILE,
- CG_LINE,
- bg_command( CG_NAME ) ) ;
- warn_count += 2;
+ if (gstackp > 0) {
+ printf("\"%s\", line %d: -> unmatched \"%s\"\n",
+ CG_FILE,
+ CG_LINE,
+ bg_command( CG_NAME ) ) ;
+ warn_count += 2;
+ }
}
int check_top_level_end(end_command,type)

View File

@ -1,54 +1,19 @@
diff -up texlive-2007/texk/web2c/bibtex.ch.poolfix texlive-2007/texk/web2c/bibtex.ch
--- texlive-2007/texk/web2c/bibtex.ch.poolfix 2006-12-27 00:37:34.000000000 +0100
+++ texlive-2007/texk/web2c/bibtex.ch 2009-04-02 18:06:56.000000000 +0200
@@ -169,7 +169,7 @@ end.
+++ texlive-2007/texk/web2c/bibtex.ch 2009-10-16 06:55:52.000000000 +0200
@@ -1134,6 +1134,15 @@ while ((ex_buf_xptr < ex_buf_ptr) and
@y
@z
@x [still 14]
@!max_bib_files=20; {maximum number of \.{.bib} files allowed}
-@!pool_size=65000; {maximum number of characters in strings}
+@!pool_size=650000; {maximum number of characters in strings}
@!max_strings=4000; {maximum number of strings, including pre-defined;
must be |<=hash_size|}
@!max_cites=750; {maximum number of distinct cite keys; must be
@@ -179,7 +179,7 @@ end.
@!wiz_fn_space=3000; {maximum amount of |wiz_defined|-function space}
@y [still 14]
@!MAX_BIB_FILES=20; {initial number of \.{.bib} files allowed}
-@!POOL_SIZE=65000; {initial number of characters in strings}
+@!POOL_SIZE=650000; {initial number of characters in strings}
@!max_strings=35000; {maximum number of strings, including pre-defined;
must be |<=hash_size|}
@!max_cites=5000; {maximum number of distinct cite keys; must be
diff -up texlive-2007/texk/web2c/bibtex.web.poolfix texlive-2007/texk/web2c/bibtex.web
--- texlive-2007/texk/web2c/bibtex.web.poolfix 2006-01-17 22:41:51.000000000 +0100
+++ texlive-2007/texk/web2c/bibtex.web 2009-04-02 18:06:56.000000000 +0200
@@ -399,7 +399,7 @@ first limitation to be a problem, often
@!max_print_line=79; {the maximum: must be |>min_print_line| and |<buf_size|}
@!aux_stack_size=20; {maximum number of simultaneous open \.{.aux} files}
@!max_bib_files=20; {maximum number of \.{.bib} files allowed}
-@!pool_size=65000; {maximum number of characters in strings}
+@!pool_size=650000; {maximum number of characters in strings}
@!max_strings=4000; {maximum number of strings, including pre-defined;
must be |<=hash_size|}
@!max_cites=750; {maximum number of distinct cite keys; must be
diff -up texlive-2007/texk/web2c/ptex-src-3.1.10/jbibtex.ch.poolfix texlive-2007/texk/web2c/ptex-src-3.1.10/jbibtex.ch
--- texlive-2007/texk/web2c/ptex-src-3.1.10/jbibtex.ch.poolfix 2009-04-02 18:06:56.000000000 +0200
+++ texlive-2007/texk/web2c/ptex-src-3.1.10/jbibtex.ch 2009-04-02 18:07:52.000000000 +0200
@@ -179,7 +179,7 @@ end.
@x [still 14]
@!max_bib_files=20; {maximum number of \.{.bib} files allowed}
-@!pool_size=65000; {maximum number of characters in strings}
+@!pool_size=650000; {maximum number of characters in strings}
@!max_strings=4000; {maximum number of strings, including pre-defined;
must be |<=hash_size|}
@!max_cites=750; {maximum number of distinct cite keys; must be
@@ -189,7 +189,7 @@ end.
@!wiz_fn_space=3000; {maximum amount of |wiz_defined|-function space}
@y [still 14]
@!MAX_BIB_FILES=20; {initial number of \.{.bib} files allowed}
-@!POOL_SIZE=65000; {initial number of characters in strings}
+@!POOL_SIZE=650000; {initial number of characters in strings}
@!max_strings=35000; {maximum number of strings, including pre-defined;
must be |<=hash_size|}
@!max_cites=5000; {maximum number of distinct cite keys; must be
+% Forgot to check for pool overflow here. Triggered by test case linked
+% from http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=520920.
+@x
+while (sp_ptr < sp_end) do {shift the substring}
+@y
+str_room(sp_end - sp_ptr);
+while (sp_ptr < sp_end) do {shift the substring}
+@z
+
% [459] Eliminate unreferenced statement label, because `undefined' is
% now a constant expression that is not evaluated at the Web level. If
% this label were ever required, it could be replaced by the constant

View File

@ -1,6 +1,6 @@
diff -up texlive-2007/configure.in.poppler texlive-2007/configure.in
--- texlive-2007/configure.in.poppler 2007-01-09 02:17:11.000000000 +0100
+++ texlive-2007/configure.in 2009-05-20 18:43:56.000000000 +0200
+++ texlive-2007/configure.in 2009-10-15 14:57:43.000000000 +0200
@@ -157,9 +157,9 @@ export needs_zlib
# we need libxpdf for pdf[ex]tex, xetex
@ -25,7 +25,7 @@ diff -up texlive-2007/configure.in.poppler texlive-2007/configure.in
sinclude(libs/freetype/freetype.ac)
diff -up texlive-2007/configure.poppler texlive-2007/configure
--- texlive-2007/configure.poppler 2007-01-09 15:16:26.000000000 +0100
+++ texlive-2007/configure 2009-05-20 18:43:56.000000000 +0200
+++ texlive-2007/configure 2009-10-15 14:57:43.000000000 +0200
@@ -3442,9 +3442,9 @@ export needs_zlib
# we need libxpdf for pdf[ex]tex, xetex
@ -41,7 +41,7 @@ diff -up texlive-2007/configure.poppler texlive-2007/configure
diff -up texlive-2007/texk/web2c/pdftexdir/pdftexextra.in.poppler texlive-2007/texk/web2c/pdftexdir/pdftexextra.in
--- texlive-2007/texk/web2c/pdftexdir/pdftexextra.in.poppler 2006-12-27 00:37:34.000000000 +0100
+++ texlive-2007/texk/web2c/pdftexdir/pdftexextra.in 2009-05-20 18:43:56.000000000 +0200
+++ texlive-2007/texk/web2c/pdftexdir/pdftexextra.in 2009-10-15 14:57:43.000000000 +0200
@@ -26,7 +26,7 @@ $Id: pdftexextra.in,v 1.4 2004/08/26 18:
(generated from ../lib/texmfmp.c).
*/
@ -53,7 +53,7 @@ diff -up texlive-2007/texk/web2c/pdftexdir/pdftexextra.in.poppler texlive-2007/t
#define PROGRAM_HELP PDFTEXHELP
diff -up texlive-2007/texk/web2c/pdftexdir/pdftex.mk.poppler texlive-2007/texk/web2c/pdftexdir/pdftex.mk
--- texlive-2007/texk/web2c/pdftexdir/pdftex.mk.poppler 2006-12-27 00:37:34.000000000 +0100
+++ texlive-2007/texk/web2c/pdftexdir/pdftex.mk 2009-05-20 18:43:56.000000000 +0200
+++ texlive-2007/texk/web2c/pdftexdir/pdftex.mk 2009-10-15 14:57:43.000000000 +0200
@@ -2,6 +2,9 @@
# This fragment contains the parts of the makefile that are most likely to
# differ between releases of pdfeTeX.
@ -84,7 +84,7 @@ diff -up texlive-2007/texk/web2c/pdftexdir/pdftex.mk.poppler texlive-2007/texk/w
check: pdftosrc-check
diff -up texlive-2007/texk/web2c/pdftexdir/pdftoepdf.cc.poppler texlive-2007/texk/web2c/pdftexdir/pdftoepdf.cc
--- texlive-2007/texk/web2c/pdftexdir/pdftoepdf.cc.poppler 2006-12-27 00:37:34.000000000 +0100
+++ texlive-2007/texk/web2c/pdftexdir/pdftoepdf.cc 2009-05-20 18:44:23.000000000 +0200
+++ texlive-2007/texk/web2c/pdftexdir/pdftoepdf.cc 2009-10-15 14:57:52.000000000 +0200
@@ -26,25 +26,24 @@ $Id: pdftoepdf.cc,v 1.9 2006/09/01 18:06
#include <stdio.h>
#include <string.h>
@ -155,6 +155,15 @@ diff -up texlive-2007/texk/web2c/pdftexdir/pdftoepdf.cc.poppler texlive-2007/tex
delete r;
}
}
@@ -689,7 +688,7 @@ read_pdf_info(char *image_name, char *pa
// this works only for PDF 1.x -- but since any versions of PDF newer
// than 1.x will not be backwards compatible to PDF 1.x, pdfTeX will
// then have to changed drastically anyway.
- pdf_version_found = pdf_doc->doc->getPDFVersion();
+ pdf_version_found = pdf_doc->doc->getPDFMajorVersion() + pdf_doc->doc->getPDFMinorVersion()/10.;
pdf_version_wanted = 1 + (minor_pdf_version_wanted * 0.1);
if (pdf_version_found > pdf_version_wanted) {
char msg[] =
@@ -703,7 +702,7 @@ read_pdf_info(char *image_name, char *pa
epdf_num_pages = pdf_doc->doc->getCatalog()->getNumPages();
if (page_name) {
@ -166,7 +175,7 @@ diff -up texlive-2007/texk/web2c/pdftexdir/pdftoepdf.cc.poppler texlive-2007/tex
pdftex_fail("PDF inclusion: invalid destination <%s>", page_name);
diff -up texlive-2007/texk/web2c/pdftexdir/pdftosrc.cc.poppler texlive-2007/texk/web2c/pdftexdir/pdftosrc.cc
--- texlive-2007/texk/web2c/pdftexdir/pdftosrc.cc.poppler 2006-12-27 00:37:34.000000000 +0100
+++ texlive-2007/texk/web2c/pdftexdir/pdftosrc.cc 2009-05-20 18:43:56.000000000 +0200
+++ texlive-2007/texk/web2c/pdftexdir/pdftosrc.cc 2009-10-15 14:57:43.000000000 +0200
@@ -25,22 +25,23 @@ $Id: //depot/Build/source.development/Te
#include <stdio.h>
#include <string.h>
@ -233,7 +242,7 @@ diff -up texlive-2007/texk/web2c/pdftexdir/pdftosrc.cc.poppler texlive-2007/texk
if (!doc->isOk()) {
diff -up texlive-2007/texk/web2c/pdftexdir/utils.c.poppler texlive-2007/texk/web2c/pdftexdir/utils.c
--- texlive-2007/texk/web2c/pdftexdir/utils.c.poppler 2007-01-01 18:20:03.000000000 +0100
+++ texlive-2007/texk/web2c/pdftexdir/utils.c 2009-05-20 18:43:56.000000000 +0200
+++ texlive-2007/texk/web2c/pdftexdir/utils.c 2009-10-15 14:57:43.000000000 +0200
@@ -37,7 +37,7 @@ $Id: //depot/Build/source.development/Te
#include "zlib.h"
#include "ptexlib.h"
@ -257,7 +266,7 @@ diff -up texlive-2007/texk/web2c/pdftexdir/utils.c.poppler texlive-2007/texk/web
diff -up texlive-2007/texk/web2c/xetexdir/pdfimage.cpp.poppler texlive-2007/texk/web2c/xetexdir/pdfimage.cpp
--- texlive-2007/texk/web2c/xetexdir/pdfimage.cpp.poppler 2006-12-09 11:29:12.000000000 +0100
+++ texlive-2007/texk/web2c/xetexdir/pdfimage.cpp 2009-05-20 18:43:56.000000000 +0200
+++ texlive-2007/texk/web2c/xetexdir/pdfimage.cpp 2009-10-15 14:57:43.000000000 +0200
@@ -11,10 +11,24 @@
#include "pdfimage.h"
@ -298,7 +307,7 @@ diff -up texlive-2007/texk/web2c/xetexdir/pdfimage.cpp.poppler texlive-2007/texk
if (!doc) {
diff -up texlive-2007/texk/web2c/xetexdir/XeTeX_ext.c.poppler texlive-2007/texk/web2c/xetexdir/XeTeX_ext.c
--- texlive-2007/texk/web2c/xetexdir/XeTeX_ext.c.poppler 2007-01-15 14:04:36.000000000 +0100
+++ texlive-2007/texk/web2c/xetexdir/XeTeX_ext.c 2009-05-20 18:43:56.000000000 +0200
+++ texlive-2007/texk/web2c/xetexdir/XeTeX_ext.c 2009-10-15 14:57:43.000000000 +0200
@@ -33,7 +33,7 @@ authorization from SIL International.
*/
@ -336,8 +345,8 @@ diff -up texlive-2007/texk/web2c/xetexdir/XeTeX_ext.c.poppler texlive-2007/texk/
);
}
diff -up texlive-2007/texk/web2c/xetexdir/xetex.mk.poppler texlive-2007/texk/web2c/xetexdir/xetex.mk
--- texlive-2007/texk/web2c/xetexdir/xetex.mk.poppler 2009-05-20 18:43:56.000000000 +0200
+++ texlive-2007/texk/web2c/xetexdir/xetex.mk 2009-05-20 18:43:56.000000000 +0200
--- texlive-2007/texk/web2c/xetexdir/xetex.mk.poppler 2009-10-15 14:57:41.000000000 +0200
+++ texlive-2007/texk/web2c/xetexdir/xetex.mk 2009-10-15 14:57:43.000000000 +0200
@@ -4,6 +4,10 @@
Makefile: $(srcdir)/xetexdir/xetex.mk

View File

@ -21,7 +21,7 @@
Name: texlive
Version: %{texlive_ver}
Release: 44%{?dist}
Release: 45%{?dist}
Summary: Binaries for the TeX formatting system
Group: Applications/Publishing
@ -77,6 +77,7 @@ Patch30: texlive-lacheck.patch
Patch31: texlive-elif.patch
Patch32: texlive-getline.patch
Patch33: texlive-poolfix.patch
Patch34: texlive-dvipsconfig.patch
######
# mpeters contributed patches
@ -322,18 +323,19 @@ Provides: tex(context)
ConTeXt is a document preparation system based on TeX.
%package -n kpathsea
Summary: Shared library needed by kpathsea and info files
Summary: Path searching library for TeX-related files
Group: Development/Libraries
Obsoletes: tetex-fonts < 3.0-99
Requires: texlive = %{version}-%{release}
%description -n kpathsea
Shared library needed by kpathsea and info files.
The library is at the centre of pretty much all Unix-based TeX
executable. It is no longer distributed separately, but rather
consititutes a central part of the sources of the TeX-live
distribution.
%package -n kpathsea-devel
Summary: Files needed to build software against kpathsea
Group: Development/Libraries
Requires: kpathsea = %{version}-%{release}
%description -n kpathsea-devel
This package includes the kpathsea header files and the libkpathsea.so
@ -396,6 +398,8 @@ chmod -x texk/dvipdfm/encodings.c
%patch30 -p1 -b .lacheck
%patch31 -p1 -b .elif
%patch32 -p1 -b .getline
%patch33 -p1 -b .poolfix
%patch34 -p1 -b .dvipsconfig
# fix non utf man pages
%patch42 -p1 -b .notutf8-2
@ -1236,6 +1240,13 @@ fi
%{_mandir}/man1/texutil.1*
%changelog
* Thu Oct 15 2009 Jindrich Novy <jnovy@redhat.com> 2007-45
- make kpathsea not dependent on texlive
- fix lacheck again (#451513)
- fix dvips configuration (#467542)
- update kpathsea description and summary (#519257)
- use upstream patch to fix pool overflow CVE-2009-1284 (#492136)
* Sun Jul 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2007-44
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild