[ghostscript/f12/master] More security fixes for bug #599564.

Tim Waugh twaugh at fedoraproject.org
Wed Aug 25 15:37:07 UTC 2010


commit 0c1e7532d26fdc9c3e17123a13b792c107f0d7ea
Author: Tim Waugh <twaugh at redhat.com>
Date:   Wed Aug 25 16:06:50 2010 +0100

    More security fixes for bug #599564.

 ghostscript--P-.patch               | 1414 +++++++++++++++++++++++++++++++++++
 ghostscript-SEARCH_HERE_FIRST.patch |  246 ++++++-
 ghostscript.spec                    |   10 +-
 3 files changed, 1652 insertions(+), 18 deletions(-)
---
diff --git a/ghostscript--P-.patch b/ghostscript--P-.patch
new file mode 100644
index 0000000..292c2bc
--- /dev/null
+++ b/ghostscript--P-.patch
@@ -0,0 +1,1414 @@
+diff -up ghostscript-8.71/lib/bdftops.bat.-P- ghostscript-8.71/lib/bdftops.bat
+--- ghostscript-8.71/lib/bdftops.bat.-P-	2005-12-28 19:56:24.000000000 +0000
++++ ghostscript-8.71/lib/bdftops.bat	2010-08-25 16:03:34.163142793 +0100
+@@ -2,4 +2,4 @@
+ @rem $Id: bdftops.bat 6300 2005-12-28 19:56:24Z giles $
+ 
+ call gssetgs.bat
+-%GSC% -q -dBATCH -dNODISPLAY -- bdftops.ps %1 %2 %3 %4 %5 %6 %7 %8 %9
++%GSC% -P- -dSAFER -q -dBATCH -dNODISPLAY -- bdftops.ps %1 %2 %3 %4 %5 %6 %7 %8 %9
+diff -up ghostscript-8.71/lib/bdftops.-P- ghostscript-8.71/lib/bdftops
+--- ghostscript-8.71/lib/bdftops.-P-	2007-07-05 20:04:29.000000000 +0100
++++ ghostscript-8.71/lib/bdftops	2010-08-25 16:03:34.162142408 +0100
+@@ -10,4 +10,4 @@ if test ! -x "$gs"; then
+ fi
+ GS_EXECUTABLE="$gs"
+ 
+-exec "$GS_EXECUTABLE" -q -dBATCH -dNODISPLAY -- bdftops.ps "$@"
++exec "$GS_EXECUTABLE" -q -P- -dSAFER -dBATCH -dNODISPLAY -- bdftops.ps "$@"
+diff -up ghostscript-8.71/lib/bj8gc12f.upp.-P- ghostscript-8.71/lib/bj8gc12f.upp
+--- ghostscript-8.71/lib/bj8gc12f.upp.-P-	2000-04-14 04:59:57.000000000 +0100
++++ ghostscript-8.71/lib/bj8gc12f.upp	2010-08-25 16:03:34.168142533 +0100
+@@ -1,7 +1,7 @@
+ -supModel="Canon BJC 8200, (1200DpI)^2, glossy photo card, high quality"
+ -sDEVICE=uniprint
+ -dNOPAUSE
+--dSAFER
++-P- -dSAFER
+ -dupColorModel=/DeviceCMYKgenerate
+ -dupRendering=/FSCMYK32
+ -dupOutputFormat=/Canon
+diff -up ghostscript-8.71/lib/bj8hg12f.upp.-P- ghostscript-8.71/lib/bj8hg12f.upp
+--- ghostscript-8.71/lib/bj8hg12f.upp.-P-	2000-04-14 04:59:57.000000000 +0100
++++ ghostscript-8.71/lib/bj8hg12f.upp	2010-08-25 16:03:34.169017409 +0100
+@@ -1,7 +1,7 @@
+ -supModel="Canon BJC 8200, (1200DpI)^2, high gloss photo, high quality"
+ -sDEVICE=uniprint
+ -dNOPAUSE
+--dSAFER
++-P- -dSAFER
+ -dupColorModel=/DeviceCMYKgenerate
+ -dupRendering=/FSCMYK32
+ -dupOutputFormat=/Canon
+diff -up ghostscript-8.71/lib/bj8oh06n.upp.-P- ghostscript-8.71/lib/bj8oh06n.upp
+--- ghostscript-8.71/lib/bj8oh06n.upp.-P-	2000-04-14 04:59:57.000000000 +0100
++++ ghostscript-8.71/lib/bj8oh06n.upp	2010-08-25 16:03:34.170142700 +0100
+@@ -1,7 +1,7 @@
+ -supModel="Canon BJC 8200, (600DpI)^2, OHP, normal quality"
+ -sDEVICE=uniprint
+ -dNOPAUSE
+--dSAFER
++-P- -dSAFER
+ -dupColorModel=/DeviceCMYKgenerate
+ -dupRendering=/FSCMYK32
+ -dupOutputFormat=/Canon
+diff -up ghostscript-8.71/lib/bj8pa06n.upp.-P- ghostscript-8.71/lib/bj8pa06n.upp
+--- ghostscript-8.71/lib/bj8pa06n.upp.-P-	2000-04-14 04:59:57.000000000 +0100
++++ ghostscript-8.71/lib/bj8pa06n.upp	2010-08-25 16:03:34.170142700 +0100
+@@ -1,7 +1,7 @@
+ -supModel="Canon BJC 8200, (600DpI)^2, plain paper, normal quality"
+ -sDEVICE=uniprint
+ -dNOPAUSE
+--dSAFER
++-P- -dSAFER
+ -dupColorModel=/DeviceCMYKgenerate
+ -dupRendering=/FSCMYK32
+ -dupOutputFormat=/Canon
+diff -up ghostscript-8.71/lib/bj8pp12f.upp.-P- ghostscript-8.71/lib/bj8pp12f.upp
+--- ghostscript-8.71/lib/bj8pp12f.upp.-P-	2000-04-14 04:59:57.000000000 +0100
++++ ghostscript-8.71/lib/bj8pp12f.upp	2010-08-25 16:03:34.171142508 +0100
+@@ -1,7 +1,7 @@
+ -supModel="Canon BJC 8200, (1200DpI)^2, professional photo paper, highest quality"
+ -sDEVICE=uniprint
+ -dNOPAUSE
+--dSAFER
++-P- -dSAFER
+ -dupColorModel=/DeviceCMYKgenerate
+ -dupRendering=/FSCMYK32
+ -dupOutputFormat=/Canon
+diff -up ghostscript-8.71/lib/bj8ts06n.upp.-P- ghostscript-8.71/lib/bj8ts06n.upp
+--- ghostscript-8.71/lib/bj8ts06n.upp.-P-	2000-04-14 04:59:57.000000000 +0100
++++ ghostscript-8.71/lib/bj8ts06n.upp	2010-08-25 16:03:34.171142508 +0100
+@@ -1,7 +1,7 @@
+ -supModel="Canon BJC 8200, (600DpI)^2, t-shirt transfer, normal quality"
+ -sDEVICE=uniprint
+ -dNOPAUSE
+--dSAFER
++-P- -dSAFER
+ -dupColorModel=/DeviceCMYKgenerate
+ -dupRendering=/FSCMYK32
+ -dupOutputFormat=/Canon
+diff -up ghostscript-8.71/lib/bjc610a0.upp.-P- ghostscript-8.71/lib/bjc610a0.upp
+--- ghostscript-8.71/lib/bjc610a0.upp.-P-	2000-03-16 02:01:36.000000000 +0000
++++ ghostscript-8.71/lib/bjc610a0.upp	2010-08-25 16:03:34.172142681 +0100
+@@ -1,7 +1,7 @@
+ -supModel="Canon BJC 610, 360x360DpI, plain paper high speed, color, rendered"
+ -sDEVICE=uniprint
+ -dNOPAUSE
+--dSAFER
++-P- -dSAFER
+ -dupColorModel=/DeviceCMYK
+ -dupRendering=/ErrorDiffusion
+ -dupOutputFormat=/Canon
+diff -up ghostscript-8.71/lib/bjc610a1.upp.-P- ghostscript-8.71/lib/bjc610a1.upp
+--- ghostscript-8.71/lib/bjc610a1.upp.-P-	2000-03-16 02:01:36.000000000 +0000
++++ ghostscript-8.71/lib/bjc610a1.upp	2010-08-25 16:03:34.173142535 +0100
+@@ -1,7 +1,7 @@
+ -supModel="Canon BJC 610, 360x360DpI, plain paper, color, rendered"
+ -sDEVICE=uniprint
+ -dNOPAUSE
+--dSAFER
++-P- -dSAFER
+ -dupColorModel=/DeviceCMYK
+ -dupRendering=/ErrorDiffusion
+ -dupOutputFormat=/Canon
+diff -up ghostscript-8.71/lib/bjc610a2.upp.-P- ghostscript-8.71/lib/bjc610a2.upp
+--- ghostscript-8.71/lib/bjc610a2.upp.-P-	2000-03-16 02:01:36.000000000 +0000
++++ ghostscript-8.71/lib/bjc610a2.upp	2010-08-25 16:03:34.173142535 +0100
+@@ -1,7 +1,7 @@
+ -supModel="Canon BJC 610, 360x360DpI, coated paper, color, rendered"
+ -sDEVICE=uniprint
+ -dNOPAUSE
+--dSAFER
++-P- -dSAFER
+ -dupColorModel=/DeviceCMYK
+ -dupRendering=/ErrorDiffusion
+ -dupOutputFormat=/Canon
+diff -up ghostscript-8.71/lib/bjc610a3.upp.-P- ghostscript-8.71/lib/bjc610a3.upp
+--- ghostscript-8.71/lib/bjc610a3.upp.-P-	2000-03-16 02:01:36.000000000 +0000
++++ ghostscript-8.71/lib/bjc610a3.upp	2010-08-25 16:03:34.174142583 +0100
+@@ -1,7 +1,7 @@
+ -supModel="Canon BJC 610, 360x360DpI, transparency film, color, rendered"
+ -sDEVICE=uniprint
+ -dNOPAUSE
+--dSAFER
++-P- -dSAFER
+ -dupColorModel=/DeviceCMYK
+ -dupRendering=/ErrorDiffusion
+ -dupOutputFormat=/Canon
+diff -up ghostscript-8.71/lib/bjc610a4.upp.-P- ghostscript-8.71/lib/bjc610a4.upp
+--- ghostscript-8.71/lib/bjc610a4.upp.-P-	2000-03-16 02:01:36.000000000 +0000
++++ ghostscript-8.71/lib/bjc610a4.upp	2010-08-25 16:03:34.174142583 +0100
+@@ -1,7 +1,7 @@
+ -supModel="Canon BJC 610, 360x360DpI, back print film, color, rendered"
+ -sDEVICE=uniprint
+ -dNOPAUSE
+--dSAFER
++-P- -dSAFER
+ -dupColorModel=/DeviceCMYK
+ -dupRendering=/ErrorDiffusion
+ -dupOutputFormat=/Canon
+diff -up ghostscript-8.71/lib/bjc610a5.upp.-P- ghostscript-8.71/lib/bjc610a5.upp
+--- ghostscript-8.71/lib/bjc610a5.upp.-P-	2000-03-16 02:01:36.000000000 +0000
++++ ghostscript-8.71/lib/bjc610a5.upp	2010-08-25 16:03:34.175142075 +0100
+@@ -1,7 +1,7 @@
+ -supModel="Canon BJC 610, 360x360DpI, fabric sheet, color, rendered"
+ -sDEVICE=uniprint
+ -dNOPAUSE
+--dSAFER
++-P- -dSAFER
+ -dupColorModel=/DeviceCMYK
+ -dupRendering=/ErrorDiffusion
+ -dupOutputFormat=/Canon
+diff -up ghostscript-8.71/lib/bjc610a6.upp.-P- ghostscript-8.71/lib/bjc610a6.upp
+--- ghostscript-8.71/lib/bjc610a6.upp.-P-	2000-03-16 02:01:36.000000000 +0000
++++ ghostscript-8.71/lib/bjc610a6.upp	2010-08-25 16:03:34.176017748 +0100
+@@ -1,7 +1,7 @@
+ -supModel="Canon BJC 610, 360x360DpI, glossy paper, color, rendered"
+ -sDEVICE=uniprint
+ -dNOPAUSE
+--dSAFER
++-P- -dSAFER
+ -dupColorModel=/DeviceCMYK
+ -dupRendering=/ErrorDiffusion
+ -dupOutputFormat=/Canon
+diff -up ghostscript-8.71/lib/bjc610a7.upp.-P- ghostscript-8.71/lib/bjc610a7.upp
+--- ghostscript-8.71/lib/bjc610a7.upp.-P-	2000-03-16 02:01:36.000000000 +0000
++++ ghostscript-8.71/lib/bjc610a7.upp	2010-08-25 16:03:34.176017748 +0100
+@@ -1,7 +1,7 @@
+ -supModel="Canon BJC 610, 360x360DpI, high gloss film, color, rendered"
+ -sDEVICE=uniprint
+ -dNOPAUSE
+--dSAFER
++-P- -dSAFER
+ -dupColorModel=/DeviceCMYK
+ -dupRendering=/ErrorDiffusion
+ -dupOutputFormat=/Canon
+diff -up ghostscript-8.71/lib/bjc610a8.upp.-P- ghostscript-8.71/lib/bjc610a8.upp
+--- ghostscript-8.71/lib/bjc610a8.upp.-P-	2000-03-16 02:01:36.000000000 +0000
++++ ghostscript-8.71/lib/bjc610a8.upp	2010-08-25 16:03:34.177019159 +0100
+@@ -1,7 +1,7 @@
+ -supModel="Canon BJC 610, 360x360DpI, high resolution paper, color, rendered"
+ -sDEVICE=uniprint
+ -dNOPAUSE
+--dSAFER
++-P- -dSAFER
+ -dupColorModel=/DeviceCMYK
+ -dupRendering=/ErrorDiffusion
+ -dupOutputFormat=/Canon
+diff -up ghostscript-8.71/lib/bjc610b1.upp.-P- ghostscript-8.71/lib/bjc610b1.upp
+--- ghostscript-8.71/lib/bjc610b1.upp.-P-	2000-03-16 02:01:36.000000000 +0000
++++ ghostscript-8.71/lib/bjc610b1.upp	2010-08-25 16:03:34.178018140 +0100
+@@ -1,7 +1,7 @@
+ -supModel="Canon BJC 610, 720x720DpI, plain paper, color, rendered"
+ -sDEVICE=uniprint
+ -dNOPAUSE
+--dSAFER
++-P- -dSAFER
+ -dupColorModel=/DeviceCMYK
+ -dupRendering=/ErrorDiffusion
+ -dupOutputFormat=/Canon
+diff -up ghostscript-8.71/lib/bjc610b2.upp.-P- ghostscript-8.71/lib/bjc610b2.upp
+--- ghostscript-8.71/lib/bjc610b2.upp.-P-	2000-03-16 02:01:36.000000000 +0000
++++ ghostscript-8.71/lib/bjc610b2.upp	2010-08-25 16:03:34.178018140 +0100
+@@ -1,7 +1,7 @@
+ -supModel="Canon BJC 610, 720x720DpI, coated paper, color, rendered"
+ -sDEVICE=uniprint
+ -dNOPAUSE
+--dSAFER
++-P- -dSAFER
+ -dupColorModel=/DeviceCMYK
+ -dupRendering=/ErrorDiffusion
+ -dupOutputFormat=/Canon
+diff -up ghostscript-8.71/lib/bjc610b3.upp.-P- ghostscript-8.71/lib/bjc610b3.upp
+--- ghostscript-8.71/lib/bjc610b3.upp.-P-	2000-03-16 02:01:36.000000000 +0000
++++ ghostscript-8.71/lib/bjc610b3.upp	2010-08-25 16:03:34.179017923 +0100
+@@ -1,7 +1,7 @@
+ -supModel="Canon BJC 610, 720x720DpI, transparency film, color, rendered"
+ -sDEVICE=uniprint
+ -dNOPAUSE
+--dSAFER
++-P- -dSAFER
+ -dupColorModel=/DeviceCMYK
+ -dupRendering=/ErrorDiffusion
+ -dupOutputFormat=/Canon
+diff -up ghostscript-8.71/lib/bjc610b4.upp.-P- ghostscript-8.71/lib/bjc610b4.upp
+--- ghostscript-8.71/lib/bjc610b4.upp.-P-	2000-03-16 02:01:36.000000000 +0000
++++ ghostscript-8.71/lib/bjc610b4.upp	2010-08-25 16:03:34.179017923 +0100
+@@ -1,7 +1,7 @@
+ -supModel="Canon BJC 610, 720x720DpI, back print film, color, rendered"
+ -sDEVICE=uniprint
+ -dNOPAUSE
+--dSAFER
++-P- -dSAFER
+ -dupColorModel=/DeviceCMYK
+ -dupRendering=/ErrorDiffusion
+ -dupOutputFormat=/Canon
+diff -up ghostscript-8.71/lib/bjc610b6.upp.-P- ghostscript-8.71/lib/bjc610b6.upp
+--- ghostscript-8.71/lib/bjc610b6.upp.-P-	2000-03-16 02:01:36.000000000 +0000
++++ ghostscript-8.71/lib/bjc610b6.upp	2010-08-25 16:03:34.180018502 +0100
+@@ -1,7 +1,7 @@
+ -supModel="Canon BJC 610, 720x720DpI, glossy paper, color, rendered"
+ -sDEVICE=uniprint
+ -dNOPAUSE
+--dSAFER
++-P- -dSAFER
+ -dupColorModel=/DeviceCMYK
+ -dupRendering=/ErrorDiffusion
+ -dupOutputFormat=/Canon
+diff -up ghostscript-8.71/lib/bjc610b7.upp.-P- ghostscript-8.71/lib/bjc610b7.upp
+--- ghostscript-8.71/lib/bjc610b7.upp.-P-	2000-03-16 02:01:36.000000000 +0000
++++ ghostscript-8.71/lib/bjc610b7.upp	2010-08-25 16:03:34.181017588 +0100
+@@ -1,7 +1,7 @@
+ -supModel="Canon BJC 610, 720x720DpI, high gloss paper, color, rendered"
+ -sDEVICE=uniprint
+ -dNOPAUSE
+--dSAFER
++-P- -dSAFER
+ -dupColorModel=/DeviceCMYK
+ -dupRendering=/ErrorDiffusion
+ -dupOutputFormat=/Canon
+diff -up ghostscript-8.71/lib/bjc610b8.upp.-P- ghostscript-8.71/lib/bjc610b8.upp
+--- ghostscript-8.71/lib/bjc610b8.upp.-P-	2000-03-16 02:01:36.000000000 +0000
++++ ghostscript-8.71/lib/bjc610b8.upp	2010-08-25 16:03:34.182018179 +0100
+@@ -1,7 +1,7 @@
+ -supModel="Canon BJC 610, 720x720DpI, high resolution paper, color, rendered"
+ -sDEVICE=uniprint
+ -dNOPAUSE
+--dSAFER
++-P- -dSAFER
+ -dupColorModel=/DeviceCMYK
+ -dupRendering=/ErrorDiffusion
+ -dupOutputFormat=/Canon
+diff -up ghostscript-8.71/lib/cdj550.upp.-P- ghostscript-8.71/lib/cdj550.upp
+--- ghostscript-8.71/lib/cdj550.upp.-P-	2000-03-16 02:01:36.000000000 +0000
++++ ghostscript-8.71/lib/cdj550.upp	2010-08-25 16:03:34.182018179 +0100
+@@ -1,7 +1,7 @@
+ -supModel="HP Deskjet 550c, 300x300DpI, Gamma=2"
+ -sDEVICE=uniprint
+ -dNOPAUSE
+--dSAFER
++-P- -dSAFER
+ -dupColorModel=/DeviceCMYK
+ -dupRendering=/ErrorDiffusion
+ -dupOutputFormat=/Pcl
+diff -up ghostscript-8.71/lib/cdj690ec.upp.-P- ghostscript-8.71/lib/cdj690ec.upp
+--- ghostscript-8.71/lib/cdj690ec.upp.-P-	2000-03-16 02:01:36.000000000 +0000
++++ ghostscript-8.71/lib/cdj690ec.upp	2010-08-25 16:03:34.184018135 +0100
+@@ -2,7 +2,7 @@
+ -sDEVICE=uniprint
+ -sPAPERSIZE=a4
+ -dNOPAUSE
+--dSAFER
++-P- -dSAFER
+ -dupColorModel=/DeviceCMYK
+ -dupRendering=/ErrorDiffusion
+ -dupOutputFormat=/Pcl
+diff -up ghostscript-8.71/lib/cdj690.upp.-P- ghostscript-8.71/lib/cdj690.upp
+--- ghostscript-8.71/lib/cdj690.upp.-P-	2000-03-16 02:01:36.000000000 +0000
++++ ghostscript-8.71/lib/cdj690.upp	2010-08-25 16:03:34.183017841 +0100
+@@ -1,7 +1,7 @@
+ -supModel="HP Deskjet 690 Normal Gamma 2.0"
+ -sDEVICE=uniprint
+ -dNOPAUSE
+--dSAFER
++-P- -dSAFER
+ -dupColorModel=/DeviceCMYK
+ -dupRendering=/ErrorDiffusion
+ -dupOutputFormat=/Pcl
+diff -up ghostscript-8.71/lib/dnj750c.upp.-P- ghostscript-8.71/lib/dnj750c.upp
+--- ghostscript-8.71/lib/dnj750c.upp.-P-	2000-03-16 02:01:36.000000000 +0000
++++ ghostscript-8.71/lib/dnj750c.upp	2010-08-25 16:03:34.184018135 +0100
+@@ -1,7 +1,7 @@
+ -supModel="HP Designjet 750c, 300x300DpI, Gamma=2.5, CMY"
+ -sDEVICE=uniprint
+ -dNOPAUSE
+--dSAFER
++-P- -dSAFER
+ -dupColorModel=/DeviceRGB
+ -dupRendering=/ErrorDiffusion
+ -dupOutputFormat=/Pcl
+diff -up ghostscript-8.71/lib/dnj750m.upp.-P- ghostscript-8.71/lib/dnj750m.upp
+--- ghostscript-8.71/lib/dnj750m.upp.-P-	2000-03-16 02:01:36.000000000 +0000
++++ ghostscript-8.71/lib/dnj750m.upp	2010-08-25 16:03:34.185018349 +0100
+@@ -1,7 +1,7 @@
+ -supModel="HP Designjet 750m, 600x600DpI, Gamma=2.5, CMY"
+ -sDEVICE=uniprint
+ -dNOPAUSE
+--dSAFER
++-P- -dSAFER
+ -dupColorModel=/DeviceGray
+ -dupRendering=/ErrorDiffusion
+ -dupOutputFormat=/Pcl
+diff -up ghostscript-8.71/lib/dumphint.bat.-P- ghostscript-8.71/lib/dumphint.bat
+--- ghostscript-8.71/lib/dumphint.bat.-P-	2005-12-28 19:56:24.000000000 +0000
++++ ghostscript-8.71/lib/dumphint.bat	2010-08-25 16:03:34.186018282 +0100
+@@ -4,7 +4,7 @@
+ 
+ if %1/==/ goto usage
+ call gssetgs.bat
+-echo -q -dNODISPLAY -dSAFER -dDELAYSAFER >_.at
++echo -q -dNODISPLAY -P- -dSAFER -dDELAYSAFER >_.at
+ :cp
+ if %2/==/ goto doit
+ echo %2 >>_.at
+diff -up ghostscript-8.71/lib/dumphint.-P- ghostscript-8.71/lib/dumphint
+--- ghostscript-8.71/lib/dumphint.-P-	2009-01-04 20:11:57.000000000 +0000
++++ ghostscript-8.71/lib/dumphint	2010-08-25 16:03:34.185018349 +0100
+@@ -12,7 +12,7 @@ fi
+ GS_EXECUTABLE="$gs"
+ 
+ 
+-OPTIONS="-dSAFER -dDELAYSAFER"
++OPTIONS="-P- -dSAFER -dDELAYSAFER"
+ while true
+ do
+ 	case "$1" in
+diff -up ghostscript-8.71/lib/dvipdf.-P- ghostscript-8.71/lib/dvipdf
+--- ghostscript-8.71/lib/dvipdf.-P-	2010-08-25 16:00:06.000000000 +0100
++++ ghostscript-8.71/lib/dvipdf	2010-08-25 16:04:38.795018096 +0100
+@@ -44,4 +44,4 @@ fi
+ 
+ # We have to include the options twice because -I only takes effect if it
+ # appears before other options.
+-exec dvips -R -Ppdf $DVIPSOPTIONS -q -f "$infile" | $GS_EXECUTABLE $OPTIONS -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sstdout=%stderr -sOutputFile="$outfile" $OPTIONS -c .setpdfwrite -
++exec dvips -R -Ppdf $DVIPSOPTIONS -q -f "$infile" | $GS_EXECUTABLE $OPTIONS -q -P- -dSAFER -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sstdout=%stderr -sOutputFile="$outfile" $OPTIONS -c .setpdfwrite -
+diff -up ghostscript-8.71/lib/eps2eps.bat.-P- ghostscript-8.71/lib/eps2eps.bat
+--- ghostscript-8.71/lib/eps2eps.bat.-P-	2005-12-28 19:56:24.000000000 +0000
++++ ghostscript-8.71/lib/eps2eps.bat	2010-08-25 16:03:34.188018549 +0100
+@@ -5,7 +5,7 @@
+ if %1/==/ goto usage
+ if %2/==/ goto usage
+ call gssetgs.bat
+-echo -dNOPAUSE -dBATCH -dSAFER >_.at
++echo -dNOPAUSE -dBATCH -P- -dSAFER >_.at
+ rem Watcom C deletes = signs, so use # instead.
+ echo -dDEVICEWIDTH#250000 -dDEVICEHEIGHT#250000 >>_.at
+ :cp
+diff -up ghostscript-8.71/lib/eps2eps.cmd.-P- ghostscript-8.71/lib/eps2eps.cmd
+--- ghostscript-8.71/lib/eps2eps.cmd.-P-	2005-12-28 19:56:24.000000000 +0000
++++ ghostscript-8.71/lib/eps2eps.cmd	2010-08-25 16:03:34.197019390 +0100
+@@ -12,7 +12,7 @@ gs='@gsos2'
+ 
+ if params='' then call usage
+ 
+-options='-dNOPAUSE -dBATCH -dSAFER'
++options='-dNOPAUSE -dBATCH -P- -dSAFER'
+ 
+ /* extract options from command line */
+ i=1
+diff -up ghostscript-8.71/lib/eps2eps.-P- ghostscript-8.71/lib/eps2eps
+--- ghostscript-8.71/lib/eps2eps.-P-	2009-01-10 22:11:18.000000000 +0000
++++ ghostscript-8.71/lib/eps2eps	2010-08-25 16:03:34.187017974 +0100
+@@ -26,4 +26,4 @@ if [ $# -ne 2 ]; then
+ 	exit 1
+ fi
+ 
+-exec "$GS_EXECUTABLE" -q -sDEVICE=epswrite -sstdout=%stderr "-sOutputFile=$2" -dNOPAUSE -dBATCH -dSAFER $OPTIONS "$1"
++exec "$GS_EXECUTABLE" -q -sDEVICE=epswrite -sstdout=%stderr "-sOutputFile=$2" -dNOPAUSE -dBATCH -P- -dSAFER $OPTIONS "$1"
+diff -up ghostscript-8.71/lib/font2c.bat.-P- ghostscript-8.71/lib/font2c.bat
+--- ghostscript-8.71/lib/font2c.bat.-P-	2005-12-28 19:56:24.000000000 +0000
++++ ghostscript-8.71/lib/font2c.bat	2010-08-25 16:03:34.198018501 +0100
+@@ -2,4 +2,4 @@
+ @rem $Id: font2c.bat 6300 2005-12-28 19:56:24Z giles $
+ 
+ call gssetgs.bat
+-%GSC% -q -dNODISPLAY -dWRITESYSTEMDICT -- font2c.ps %1 %2 %3 %4 %5 %6 %7 %8 %9
++%GSC% -P- -dSAFER -q -dNODISPLAY -dWRITESYSTEMDICT -- font2c.ps %1 %2 %3 %4 %5 %6 %7 %8 %9
+diff -up ghostscript-8.71/lib/font2c.-P- ghostscript-8.71/lib/font2c
+--- ghostscript-8.71/lib/font2c.-P-	2007-07-05 20:04:29.000000000 +0100
++++ ghostscript-8.71/lib/font2c	2010-08-25 16:03:34.198018501 +0100
+@@ -10,4 +10,4 @@ if test ! -x "$gs"; then
+ fi
+ GS_EXECUTABLE="$gs"
+ 
+-exec "$GS_EXECUTABLE" -q -dNODISPLAY -dWRITESYSTEMDICT -- font2c.ps "$@"
++exec "$GS_EXECUTABLE" -q -P- -dSAFER -dNODISPLAY -dWRITESYSTEMDICT -- font2c.ps "$@"
+diff -up ghostscript-8.71/lib/gsbj.bat.-P- ghostscript-8.71/lib/gsbj.bat
+--- ghostscript-8.71/lib/gsbj.bat.-P-	2005-12-28 19:56:24.000000000 +0000
++++ ghostscript-8.71/lib/gsbj.bat	2010-08-25 16:03:34.200020206 +0100
+@@ -2,4 +2,4 @@
+ @rem $Id: gsbj.bat 6300 2005-12-28 19:56:24Z giles $
+ 
+ call gssetgs.bat
+-%GSC% -q -sDEVICE=bj10e -r180 -dNOPAUSE -sPROGNAME=gsbj -- gslp.ps %1 %2 %3 %4 %5 %6 %7 %8 %9
++%GSC% -q -sDEVICE=bj10e -r180 -P- -dSAFER -dNOPAUSE -sPROGNAME=gsbj -- gslp.ps %1 %2 %3 %4 %5 %6 %7 %8 %9
+diff -up ghostscript-8.71/lib/gsbj.-P- ghostscript-8.71/lib/gsbj
+--- ghostscript-8.71/lib/gsbj.-P-	2007-07-05 20:04:29.000000000 +0100
++++ ghostscript-8.71/lib/gsbj	2010-08-25 16:03:34.199021572 +0100
+@@ -10,4 +10,4 @@ if test ! -x "$gs"; then
+ fi
+ GS_EXECUTABLE="$gs"
+ 
+-exec "$GS_EXECUTABLE" -q -sDEVICE=bj10e -r180 -dNOPAUSE -sPROGNAME=$0 -- gslp.ps --heading-center "`date`" "$@"
++exec "$GS_EXECUTABLE" -q -sDEVICE=bj10e -r180 -P- -dSAFER -dNOPAUSE -sPROGNAME=$0 -- gslp.ps --heading-center "`date`" "$@"
+diff -up ghostscript-8.71/lib/gsdj500.bat.-P- ghostscript-8.71/lib/gsdj500.bat
+--- ghostscript-8.71/lib/gsdj500.bat.-P-	2005-12-28 19:56:24.000000000 +0000
++++ ghostscript-8.71/lib/gsdj500.bat	2010-08-25 16:03:34.202018304 +0100
+@@ -2,4 +2,4 @@
+ @rem $Id: gsdj500.bat 6300 2005-12-28 19:56:24Z giles $
+ 
+ call gssetgs.bat
+-%GSC% -q -sDEVICE#djet500 -r300 -dNOPAUSE -sPROGNAME=gsdj500 -- gslp.ps %1 %2 %3 %4 %5 %6 %7 %8 %9
++%GSC% -q -sDEVICE#djet500 -r300 -P- -dSAFER -dNOPAUSE -sPROGNAME=gsdj500 -- gslp.ps %1 %2 %3 %4 %5 %6 %7 %8 %9
+diff -up ghostscript-8.71/lib/gsdj500.-P- ghostscript-8.71/lib/gsdj500
+--- ghostscript-8.71/lib/gsdj500.-P-	2007-07-05 20:04:29.000000000 +0100
++++ ghostscript-8.71/lib/gsdj500	2010-08-25 16:03:34.202018304 +0100
+@@ -10,4 +10,4 @@ if test ! -x "$gs"; then
+ fi
+ GS_EXECUTABLE="$gs"
+ 
+-exec "$GS_EXECUTABLE" -q -sDEVICE=djet500 -r300 -dNOPAUSE -sPROGNAME=$0 -- gslp.ps --heading-center "`date`" "$@"
++exec "$GS_EXECUTABLE" -q -sDEVICE=djet500 -r300 -P- -dSAFER -dNOPAUSE -sPROGNAME=$0 -- gslp.ps --heading-center "`date`" "$@"
+diff -up ghostscript-8.71/lib/gsdj.bat.-P- ghostscript-8.71/lib/gsdj.bat
+--- ghostscript-8.71/lib/gsdj.bat.-P-	2005-12-28 19:56:24.000000000 +0000
++++ ghostscript-8.71/lib/gsdj.bat	2010-08-25 16:03:34.201018171 +0100
+@@ -2,4 +2,4 @@
+ @rem $Id: gsdj.bat 6300 2005-12-28 19:56:24Z giles $
+ 
+ call gssetgs.bat
+-%GSC% -q -sDEVICE=deskjet -r300 -dNOPAUSE -sPROGNAME=gsdj -- gslp.ps %1 %2 %3 %4 %5 %6 %7 %8 %9
++%GSC% -q -sDEVICE=deskjet -r300 -P- -dSAFER -dNOPAUSE -sPROGNAME=gsdj -- gslp.ps %1 %2 %3 %4 %5 %6 %7 %8 %9
+diff -up ghostscript-8.71/lib/gsdj.-P- ghostscript-8.71/lib/gsdj
+--- ghostscript-8.71/lib/gsdj.-P-	2007-07-05 20:04:29.000000000 +0100
++++ ghostscript-8.71/lib/gsdj	2010-08-25 16:03:34.201018171 +0100
+@@ -10,4 +10,4 @@ if test ! -x "$gs"; then
+ fi
+ GS_EXECUTABLE="$gs"
+ 
+-exec "$GS_EXECUTABLE" -q -sDEVICE=deskjet -r300 -dNOPAUSE -sPROGNAME=$0 -- gslp.ps --heading-center "`date`" "$@"
++exec "$GS_EXECUTABLE" -q -sDEVICE=deskjet -r300 -P- -dSAFER -dNOPAUSE -sPROGNAME=$0 -- gslp.ps --heading-center "`date`" "$@"
+diff -up ghostscript-8.71/lib/gslj.bat.-P- ghostscript-8.71/lib/gslj.bat
+--- ghostscript-8.71/lib/gslj.bat.-P-	2005-12-28 19:56:24.000000000 +0000
++++ ghostscript-8.71/lib/gslj.bat	2010-08-25 16:03:34.204018240 +0100
+@@ -2,4 +2,4 @@
+ @rem $Id: gslj.bat 6300 2005-12-28 19:56:24Z giles $
+ 
+ call gssetgs.bat
+-%GSC% -q -sDEVICE=laserjet -r300 -dNOPAUSE -sPROGNAME=gslj -- gslp.ps %1 %2 %3 %4 %5 %6 %7 %8 %9
++%GSC% -q -sDEVICE=laserjet -r300 -P- -dSAFER -dNOPAUSE -sPROGNAME=gslj -- gslp.ps %1 %2 %3 %4 %5 %6 %7 %8 %9
+diff -up ghostscript-8.71/lib/gslj.-P- ghostscript-8.71/lib/gslj
+--- ghostscript-8.71/lib/gslj.-P-	2007-07-05 20:04:29.000000000 +0100
++++ ghostscript-8.71/lib/gslj	2010-08-25 16:03:34.203018417 +0100
+@@ -10,4 +10,4 @@ if test ! -x "$gs"; then
+ fi
+ GS_EXECUTABLE="$gs"
+ 
+-exec "$GS_EXECUTABLE" -q -sDEVICE=laserjet -r300 -dNOPAUSE -sPROGNAME=$0 -- gslp.ps --heading-center "`date`" "$@"
++exec "$GS_EXECUTABLE" -q -sDEVICE=laserjet -r300 -P- -dSAFER -dNOPAUSE -sPROGNAME=$0 -- gslp.ps --heading-center "`date`" "$@"
+diff -up ghostscript-8.71/lib/gslp.bat.-P- ghostscript-8.71/lib/gslp.bat
+--- ghostscript-8.71/lib/gslp.bat.-P-	2005-12-28 19:56:24.000000000 +0000
++++ ghostscript-8.71/lib/gslp.bat	2010-08-25 16:03:34.205018328 +0100
+@@ -2,4 +2,4 @@
+ @rem $Id: gslp.bat 6300 2005-12-28 19:56:24Z giles $
+ 
+ call gssetgs.bat
+-%GSC% -q -sDEVICE=epson -r180 -dNOPAUSE -sPROGNAME=gslp -- gslp.ps %1 %2 %3 %4 %5 %6 %7 %8 %9
++%GSC% -q -sDEVICE=epson -r180 -P- -dSAFER -dNOPAUSE -sPROGNAME=gslp -- gslp.ps %1 %2 %3 %4 %5 %6 %7 %8 %9
+diff -up ghostscript-8.71/lib/gslp.-P- ghostscript-8.71/lib/gslp
+--- ghostscript-8.71/lib/gslp.-P-	2007-07-05 20:04:29.000000000 +0100
++++ ghostscript-8.71/lib/gslp	2010-08-25 16:03:34.204018240 +0100
+@@ -10,4 +10,4 @@ if test ! -x "$gs"; then
+ fi
+ GS_EXECUTABLE="$gs"
+ 
+-exec "$GS_EXECUTABLE" -q -sDEVICE=epson -r180 -dNOPAUSE -sPROGNAME=$0 -- gslp.ps --heading-center "`date`" "$@"
++exec "$GS_EXECUTABLE" -q -sDEVICE=epson -r180 -P- -dSAFER -dNOPAUSE -sPROGNAME=$0 -- gslp.ps --heading-center "`date`" "$@"
+diff -up ghostscript-8.71/lib/gsnd.bat.-P- ghostscript-8.71/lib/gsnd.bat
+--- ghostscript-8.71/lib/gsnd.bat.-P-	2005-12-28 19:56:24.000000000 +0000
++++ ghostscript-8.71/lib/gsnd.bat	2010-08-25 16:03:34.206017926 +0100
+@@ -2,4 +2,4 @@
+ @rem $Id: gsnd.bat 6300 2005-12-28 19:56:24Z giles $
+ 
+ call gssetgs.bat
+-%GSC% -DNODISPLAY %1 %2 %3 %4 %5 %6 %7 %8 %9
++%GSC% -P- -dSAFER -DNODISPLAY %1 %2 %3 %4 %5 %6 %7 %8 %9
+diff -up ghostscript-8.71/lib/gsnd.-P- ghostscript-8.71/lib/gsnd
+--- ghostscript-8.71/lib/gsnd.-P-	2007-07-05 20:04:29.000000000 +0100
++++ ghostscript-8.71/lib/gsnd	2010-08-25 16:03:34.206017926 +0100
+@@ -10,4 +10,4 @@ if test ! -x "$gs"; then
+ fi
+ GS_EXECUTABLE="$gs"
+ 
+-exec "$GS_EXECUTABLE" -dNODISPLAY "$@"
++exec "$GS_EXECUTABLE" -P- -dSAFER -dNODISPLAY "$@"
+diff -up ghostscript-8.71/lib/gsndt.bat.-P- ghostscript-8.71/lib/gsndt.bat
+--- ghostscript-8.71/lib/gsndt.bat.-P-	2005-12-28 19:56:24.000000000 +0000
++++ ghostscript-8.71/lib/gsndt.bat	2010-08-25 16:03:34.207018084 +0100
+@@ -2,4 +2,4 @@
+ @rem $Id: gsndt.bat 6300 2005-12-28 19:56:24Z giles $
+ 
+ call gssetgs.bat
+-%GSC% -DNODISPLAY %1 %2 %3 %4 %5 %6 %7 %8 %9 >t
++%GSC% -P- -dSAFER -DNODISPLAY %1 %2 %3 %4 %5 %6 %7 %8 %9 >t
+diff -up ghostscript-8.71/lib/lp386.bat.-P- ghostscript-8.71/lib/lp386.bat
+--- ghostscript-8.71/lib/lp386.bat.-P-	2005-12-28 19:56:24.000000000 +0000
++++ ghostscript-8.71/lib/lp386.bat	2010-08-25 16:03:34.208018273 +0100
+@@ -1,2 +1,2 @@
+ @rem $Id: lp386.bat 6300 2005-12-28 19:56:24Z giles $
+- at gs386 -sDEVICE=djet500 -dNOPAUSE -- gslp.ps -fCourier9 %1 %2 %3 %4 %5 %6 %7 %8 %9
++ at gs386 -sDEVICE=djet500 -P- -dSAFER -dNOPAUSE -- gslp.ps -fCourier9 %1 %2 %3 %4 %5 %6 %7 %8 %9
+diff -up ghostscript-8.71/lib/lp386r2.bat.-P- ghostscript-8.71/lib/lp386r2.bat
+--- ghostscript-8.71/lib/lp386r2.bat.-P-	2005-12-28 19:56:24.000000000 +0000
++++ ghostscript-8.71/lib/lp386r2.bat	2010-08-25 16:03:34.208018273 +0100
+@@ -1,2 +1,2 @@
+ @rem $Id: lp386r2.bat 6300 2005-12-28 19:56:24Z giles $
+- at gs386 -sDEVICE=djet500 -dNOPAUSE -- gslp.ps -2r %1 %2 %3 %4 %5 %6 %7 %8 %9
++ at gs386 -sDEVICE=djet500 -P- -dSAFER -dNOPAUSE -- gslp.ps -2r %1 %2 %3 %4 %5 %6 %7 %8 %9
+diff -up ghostscript-8.71/lib/lpgs.bat.-P- ghostscript-8.71/lib/lpgs.bat
+--- ghostscript-8.71/lib/lpgs.bat.-P-	2005-12-28 19:56:24.000000000 +0000
++++ ghostscript-8.71/lib/lpgs.bat	2010-08-25 16:03:34.209017685 +0100
+@@ -2,4 +2,4 @@
+ @rem $Id: lpgs.bat 6300 2005-12-28 19:56:24Z giles $
+ 
+ call gssetgs.bat
+-%GSC% -sDEVICE#djet500 -dNOPAUSE -sPROGNAME=lpgs -- gslp.ps -fCourier9 %1 %2 %3 %4 %5 %6 %7 %8 %9
++%GSC% -sDEVICE#djet500 -P- -dSAFER -dNOPAUSE -sPROGNAME=lpgs -- gslp.ps -fCourier9 %1 %2 %3 %4 %5 %6 %7 %8 %9
+diff -up ghostscript-8.71/lib/lpr2.bat.-P- ghostscript-8.71/lib/lpr2.bat
+--- ghostscript-8.71/lib/lpr2.bat.-P-	2005-12-28 19:56:24.000000000 +0000
++++ ghostscript-8.71/lib/lpr2.bat	2010-08-25 16:03:34.210018069 +0100
+@@ -2,4 +2,4 @@
+ @rem $Id: lpr2.bat 6300 2005-12-28 19:56:24Z giles $
+ 
+ call gssetgs.bat
+-%GSC% -sDEVICE#djet500 -dNOPAUSE -sPROGNAME=lpr2 -- gslp.ps -2r %1 %2 %3 %4 %5 %6 %7 %8 %9
++%GSC% -sDEVICE#djet500 -P- -dSAFER -dNOPAUSE -sPROGNAME=lpr2 -- gslp.ps -2r %1 %2 %3 %4 %5 %6 %7 %8 %9
+diff -up ghostscript-8.71/lib/necp2x6.upp.-P- ghostscript-8.71/lib/necp2x6.upp
+--- ghostscript-8.71/lib/necp2x6.upp.-P-	2000-03-09 08:40:45.000000000 +0000
++++ ghostscript-8.71/lib/necp2x6.upp	2010-08-25 16:03:34.211018499 +0100
+@@ -1,7 +1,7 @@
+ -supModel="NEC Prinwriter 2X, 360x360DpI, Plain Paper"
+ -sDEVICE=uniprint
+ -dNOPAUSE
+--dSAFER
++-P- -dSAFER
+ -dupColorModel=/DeviceGray
+ -dupRendering=/ErrorDiffusion
+ -dupOutputFormat=/Epson
+diff -up ghostscript-8.71/lib/necp2x.upp.-P- ghostscript-8.71/lib/necp2x.upp
+--- ghostscript-8.71/lib/necp2x.upp.-P-	2000-03-09 08:40:45.000000000 +0000
++++ ghostscript-8.71/lib/necp2x.upp	2010-08-25 16:03:34.210018069 +0100
+@@ -1,7 +1,7 @@
+ -supModel="NEC Prinwriter 2X, 360x360DpI, Plain Paper"
+ -sDEVICE=uniprint
+ -dNOPAUSE
+--dSAFER
++-P- -dSAFER
+ -dupColorModel=/DeviceGray
+ -dupRendering=/ErrorDiffusion
+ -dupOutputFormat=/Epson
+diff -up ghostscript-8.71/lib/pdf2dsc.bat.-P- ghostscript-8.71/lib/pdf2dsc.bat
+--- ghostscript-8.71/lib/pdf2dsc.bat.-P-	2005-12-28 19:56:24.000000000 +0000
++++ ghostscript-8.71/lib/pdf2dsc.bat	2010-08-25 16:03:34.212018342 +0100
+@@ -7,7 +7,7 @@ if %2/==/ goto usage
+ call gssetgs.bat
+ 
+ rem Watcom C deletes = signs, so use # instead.
+-%GSC% -q -dNODISPLAY -dSAFER -dDELAYSAFER -sPDFname#%1 -sDSCname#%2 -sOutputFile#%2 pdf2dsc.ps
++%GSC% -q -dNODISPLAY -P- -dSAFER -dDELAYSAFER -sPDFname#%1 -sDSCname#%2 -sOutputFile#%2 pdf2dsc.ps
+ goto end
+ 
+ :usage
+diff -up ghostscript-8.71/lib/pdf2dsc.-P- ghostscript-8.71/lib/pdf2dsc
+--- ghostscript-8.71/lib/pdf2dsc.-P-	2007-07-05 20:04:29.000000000 +0100
++++ ghostscript-8.71/lib/pdf2dsc	2010-08-25 16:03:34.211018499 +0100
+@@ -31,5 +31,5 @@ pdffile=$1
+ dscfile=$2
+ : ${dscfile:=`echo $pdffile | sed 's,\.[^/.]*,,'`.dsc}
+ 
+-exec "$GS_EXECUTABLE" -q -dNODISPLAY -dSAFER -dDELAYSAFER\
++exec "$GS_EXECUTABLE" -q -dNODISPLAY -P- -dSAFER -dDELAYSAFER\
+     -sPDFname="$pdffile" -sDSCname="$dscfile" pdf2dsc.ps -c quit
+diff -up ghostscript-8.71/lib/pdf2ps.bat.-P- ghostscript-8.71/lib/pdf2ps.bat
+--- ghostscript-8.71/lib/pdf2ps.bat.-P-	2005-12-28 19:56:24.000000000 +0000
++++ ghostscript-8.71/lib/pdf2ps.bat	2010-08-25 16:03:34.213018059 +0100
+@@ -5,7 +5,7 @@
+ if %1/==/ goto usage
+ if %2/==/ goto usage
+ call gssetgs.bat
+-echo -dNOPAUSE -dBATCH -dSAFER -sDEVICE#pswrite >_.at
++echo -dNOPAUSE -dBATCH -P- -dSAFER -sDEVICE#pswrite >_.at
+ :cp
+ if %3/==/ goto doit
+ echo %1 >>_.at
+diff -up ghostscript-8.71/lib/pdf2ps.cmd.-P- ghostscript-8.71/lib/pdf2ps.cmd
+--- ghostscript-8.71/lib/pdf2ps.cmd.-P-	2005-12-28 19:56:24.000000000 +0000
++++ ghostscript-8.71/lib/pdf2ps.cmd	2010-08-25 16:03:34.214018719 +0100
+@@ -14,7 +14,7 @@ outext='.ps'
+ 
+ if params='' then call usage
+ 
+-options='-dNOPAUSE -dBATCH -dSAFER -sDEVICE=pswrite'
++options='-dNOPAUSE -dBATCH -P- -dSAFER -sDEVICE=pswrite'
+ 
+ /* extract options from command line */
+ i=1
+diff -up ghostscript-8.71/lib/pdf2ps.-P- ghostscript-8.71/lib/pdf2ps
+--- ghostscript-8.71/lib/pdf2ps.-P-	2007-07-05 20:04:29.000000000 +0100
++++ ghostscript-8.71/lib/pdf2ps	2010-08-25 16:03:34.213018059 +0100
+@@ -35,4 +35,4 @@ fi
+ # Doing an initial 'save' helps keep fonts from being flushed between pages.
+ # We have to include the options twice because -I only takes effect if it
+ # appears before other options.
+-exec "$GS_EXECUTABLE" $OPTIONS -q -dNOPAUSE -dBATCH -dSAFER -sDEVICE=pswrite "-sOutputFile=$outfile" $OPTIONS -c save pop -f "$1"
++exec "$GS_EXECUTABLE" $OPTIONS -q -dNOPAUSE -dBATCH -P- -dSAFER -sDEVICE=pswrite "-sOutputFile=$outfile" $OPTIONS -c save pop -f "$1"
+diff -up ghostscript-8.71/lib/pdfopt.bat.-P- ghostscript-8.71/lib/pdfopt.bat
+--- ghostscript-8.71/lib/pdfopt.bat.-P-	2005-12-28 19:56:24.000000000 +0000
++++ ghostscript-8.71/lib/pdfopt.bat	2010-08-25 16:03:34.215018181 +0100
+@@ -5,7 +5,7 @@
+ if %1/==/ goto usage
+ if %2/==/ goto usage
+ call gssetgs.bat
+-echo -q -dNODISPLAY -dSAFER -dDELAYSAFER >_.at
++echo -q -dNODISPLAY -P- -dSAFER -dDELAYSAFER >_.at
+ :cp
+ if %3/==/ goto doit
+ echo %1 >>_.at
+diff -up ghostscript-8.71/lib/pdfopt.-P- ghostscript-8.71/lib/pdfopt
+--- ghostscript-8.71/lib/pdfopt.-P-	2008-05-25 03:17:14.000000000 +0100
++++ ghostscript-8.71/lib/pdfopt	2010-08-25 16:03:34.215018181 +0100
+@@ -11,7 +11,7 @@ if test ! -x "$gs"; then
+ fi
+ GS_EXECUTABLE="$gs"
+ 
+-OPTIONS="-dSAFER -dDELAYSAFER"
++OPTIONS="-P- -dSAFER -dDELAYSAFER"
+ while true
+ do
+ 	case "$1" in
+diff -up ghostscript-8.71/lib/pf2afm.bat.-P- ghostscript-8.71/lib/pf2afm.bat
+--- ghostscript-8.71/lib/pf2afm.bat.-P-	2005-12-28 19:56:24.000000000 +0000
++++ ghostscript-8.71/lib/pf2afm.bat	2010-08-25 16:03:34.216017998 +0100
+@@ -6,7 +6,7 @@ if %1/==/ goto usage
+ if not %2/==/ goto usage
+ call gssetgs.bat
+ 
+-%GSC% -q -dNODISPLAY -dSAFER -dDELAYSAFER -- pf2afm.ps %1
++%GSC% -q -dNODISPLAY -P- -dSAFER -dDELAYSAFER -- pf2afm.ps %1
+ goto end
+ 
+ :usage
+diff -up ghostscript-8.71/lib/pf2afm.cmd.-P- ghostscript-8.71/lib/pf2afm.cmd
+--- ghostscript-8.71/lib/pf2afm.cmd.-P-	2005-12-28 19:56:24.000000000 +0000
++++ ghostscript-8.71/lib/pf2afm.cmd	2010-08-25 16:03:34.217018553 +0100
+@@ -4,4 +4,4 @@
+  * please contact Mark Hale (mark.hale at physics.org).
+  */
+ 
+- at gsos2 -q -dNODISPLAY -dSAFER -dDELAYSAFER -- pf2afm.ps %1
++ at gsos2 -q -dNODISPLAY -P- -dSAFER -dDELAYSAFER -- pf2afm.ps %1
+diff -up ghostscript-8.71/lib/pf2afm.-P- ghostscript-8.71/lib/pf2afm
+--- ghostscript-8.71/lib/pf2afm.-P-	2007-07-05 20:04:29.000000000 +0100
++++ ghostscript-8.71/lib/pf2afm	2010-08-25 16:03:34.216017998 +0100
+@@ -14,4 +14,4 @@ if test ! -x "$gs"; then
+ fi
+ GS_EXECUTABLE="$gs"
+ 
+-exec "$GS_EXECUTABLE" -q -dNODISPLAY -dSAFER -dDELAYSAFER  -- pf2afm.ps "$@"
++exec "$GS_EXECUTABLE" -q -dNODISPLAY -P- -dSAFER -dDELAYSAFER  -- pf2afm.ps "$@"
+diff -up ghostscript-8.71/lib/pfbtopfa.bat.-P- ghostscript-8.71/lib/pfbtopfa.bat
+--- ghostscript-8.71/lib/pfbtopfa.bat.-P-	2005-12-28 19:56:24.000000000 +0000
++++ ghostscript-8.71/lib/pfbtopfa.bat	2010-08-25 16:03:34.218017669 +0100
+@@ -7,7 +7,7 @@ if %2/==/ goto usage
+ if not %3/==/ goto usage
+ call gssetgs.bat
+ 
+-%GSC% -q -dNODISPLAY -- pfbtopfa.ps %1 %2
++%GSC% -P- -dSAFER -q -dNODISPLAY -- pfbtopfa.ps %1 %2
+ goto end
+ 
+ :usage
+diff -up ghostscript-8.71/lib/pfbtopfa.-P- ghostscript-8.71/lib/pfbtopfa
+--- ghostscript-8.71/lib/pfbtopfa.-P-	2007-07-05 20:04:29.000000000 +0100
++++ ghostscript-8.71/lib/pfbtopfa	2010-08-25 16:03:34.218017669 +0100
+@@ -22,4 +22,4 @@ else
+     exit 1
+ fi
+ 
+-exec "$GS_EXECUTABLE" -q -dNODISPLAY -- pfbtopfa.ps "$1" "$outfile"
++exec "$GS_EXECUTABLE" -q -P- -dSAFER -dNODISPLAY -- pfbtopfa.ps "$1" "$outfile"
+diff -up ghostscript-8.71/lib/pftogsf.bat.-P- ghostscript-8.71/lib/pftogsf.bat
+--- ghostscript-8.71/lib/pftogsf.bat.-P-	2005-12-28 19:56:24.000000000 +0000
++++ ghostscript-8.71/lib/pftogsf.bat	2010-08-25 16:03:34.219018023 +0100
+@@ -11,10 +11,10 @@ echo systemdict /definefont. /definefont
+ echo systemdict /definefont { userdict /LFN 3 index put definefont. } bind put >>_temp_.ps
+ echo ARGUMENTS 0 get (r) file .loadfont LFN findfont setfont prunefont reprot >>_temp_.ps
+ echo ARGUMENTS 1 get (w) file dup writefont closefile quit >>_temp_.ps
+-rem for %%f in (cyr cyri) do %GSC% -q -dNODISPLAY -dWRITESYSTEMDICT -- _temp_.ps fonts\pfa\%%f.pfa fonts\%%f.gsf
+-rem for %%f in (ncrr ncrb ncrri ncrbi) do %GSC% -q -dNODISPLAY -dWRITESYSTEMDICT -- _temp_.ps fonts\pfa\%%f.pfa fonts\%%f.gsf
+-rem for %%f in (bchr bchb bchri bchbi) do %GSC% -q -dNODISPLAY -dWRITESYSTEMDICT -- _temp_.ps fonts\pfa\%%f.pfa fonts\%%f.gsf
+-rem for %%f in (putr putb putri putbi) do %GSC% -q -dNODISPLAY -dWRITESYSTEMDICT -- _temp_.ps fonts\pfa\%%f.pfa fonts\%%f.gsf
+-rem for %%f in (n019003l n021003l u003043t u004006t) do %GSC% -q -dNODISPLAY -dWRITESYSTEMDICT -- _temp_.ps fonts\%%f.gsf %%f.gsf
+-for %%f in (hig_____ kak_____) do %GSC% -q -dNODISPLAY -dWRITESYSTEMDICT -- _temp_.ps fonts\pfb\%%f.pfb %%f.gsf
+-rem %GSC% -q -dNODISPLAY -dWRITESYSTEMDICT -- _temp_.ps allfonts\baxter.pfb baxter.gsf
++rem for %%f in (cyr cyri) do %GSC% -P- -dSAFER -q -dNODISPLAY -dWRITESYSTEMDICT -- _temp_.ps fonts\pfa\%%f.pfa fonts\%%f.gsf
++rem for %%f in (ncrr ncrb ncrri ncrbi) do %GSC% -P- -dSAFER -q -dNODISPLAY -dWRITESYSTEMDICT -- _temp_.ps fonts\pfa\%%f.pfa fonts\%%f.gsf
++rem for %%f in (bchr bchb bchri bchbi) do %GSC% -P- -dSAFER -q -dNODISPLAY -dWRITESYSTEMDICT -- _temp_.ps fonts\pfa\%%f.pfa fonts\%%f.gsf
++rem for %%f in (putr putb putri putbi) do %GSC% -P- -dSAFER -q -dNODISPLAY -dWRITESYSTEMDICT -- _temp_.ps fonts\pfa\%%f.pfa fonts\%%f.gsf
++rem for %%f in (n019003l n021003l u003043t u004006t) do %GSC% -P- -dSAFER -q -dNODISPLAY -dWRITESYSTEMDICT -- _temp_.ps fonts\%%f.gsf %%f.gsf
++for %%f in (hig_____ kak_____) do %GSC% -P- -dSAFER -q -dNODISPLAY -dWRITESYSTEMDICT -- _temp_.ps fonts\pfb\%%f.pfb %%f.gsf
++rem %GSC% -P- -dSAFER -q -dNODISPLAY -dWRITESYSTEMDICT -- _temp_.ps allfonts\baxter.pfb baxter.gsf
+diff -up ghostscript-8.71/lib/pphs.-P- ghostscript-8.71/lib/pphs
+--- ghostscript-8.71/lib/pphs.-P-	2007-07-05 20:04:29.000000000 +0100
++++ ghostscript-8.71/lib/pphs	2010-08-25 16:03:34.222018680 +0100
+@@ -13,4 +13,4 @@ if test ! -x "$gs"; then
+ fi
+ GS_EXECUTABLE="$gs"
+ 
+-exec "$GS_EXECUTABLE" -q -dNODISPLAY -- pphs.ps "$@"
++exec "$GS_EXECUTABLE" -q -P- -dSAFER -dNODISPLAY -- pphs.ps "$@"
+diff -up ghostscript-8.71/lib/printafm.-P- ghostscript-8.71/lib/printafm
+--- ghostscript-8.71/lib/printafm.-P-	2007-07-05 20:04:29.000000000 +0100
++++ ghostscript-8.71/lib/printafm	2010-08-25 16:03:34.223018182 +0100
+@@ -13,4 +13,4 @@ if test ! -x "$gs"; then
+ fi
+ GS_EXECUTABLE="$gs"
+ 
+-exec "$GS_EXECUTABLE" -q -dNODISPLAY -- printafm.ps "$@"
++exec "$GS_EXECUTABLE" -q -P- -dSAFER -dNODISPLAY -- printafm.ps "$@"
+diff -up ghostscript-8.71/lib/ps2ascii.bat.-P- ghostscript-8.71/lib/ps2ascii.bat
+--- ghostscript-8.71/lib/ps2ascii.bat.-P-	2005-12-28 19:56:24.000000000 +0000
++++ ghostscript-8.71/lib/ps2ascii.bat	2010-08-25 16:03:34.224017754 +0100
+@@ -4,12 +4,12 @@
+ call gssetgs.bat
+ if '%1'=='' goto a0
+ if '%2'=='' goto a1
+-%GSC% -q -dNODISPLAY -dSAFER -dDELAYBIND -dWRITESYSTEMDICT -dSIMPLE ps2ascii.ps %1 -c quit >%2
++%GSC% -q -dNODISPLAY -P- -dSAFER -dDELAYBIND -dWRITESYSTEMDICT -dSIMPLE ps2ascii.ps %1 -c quit >%2
+ goto x
+ :a0
+-%GSC% -q -dNODISPLAY -dSAFER -dDELAYBIND -dWRITESYSTEMDICT -dSIMPLE ps2ascii.ps - -c quit
++%GSC% -q -dNODISPLAY -P- -dSAFER -dDELAYBIND -dWRITESYSTEMDICT -dSIMPLE ps2ascii.ps - -c quit
+ goto x
+ :a1
+-%GSC% -q -dNODISPLAY -dSAFER -dDELAYBIND -dWRITESYSTEMDICT -dSIMPLE ps2ascii.ps %1 -c quit
++%GSC% -q -dNODISPLAY -P- -dSAFER -dDELAYBIND -dWRITESYSTEMDICT -dSIMPLE ps2ascii.ps %1 -c quit
+ goto x
+ :x
+diff -up ghostscript-8.71/lib/ps2ascii.-P- ghostscript-8.71/lib/ps2ascii
+--- ghostscript-8.71/lib/ps2ascii.-P-	2005-12-28 19:56:24.000000000 +0000
++++ ghostscript-8.71/lib/ps2ascii	2010-08-25 16:03:34.224017754 +0100
+@@ -12,7 +12,7 @@ GS_EXECUTABLE=gs
+ 
+ trap "rm -f _temp_.err _temp_.out" 0 1 2 15
+ 
+-OPTIONS="-q -dNODISPLAY -dSAFER -dDELAYBIND -dWRITESYSTEMDICT -dSIMPLE"
++OPTIONS="-q -dNODISPLAY -P- -dSAFER -dDELAYBIND -dWRITESYSTEMDICT -dSIMPLE"
+ if ( test $# -eq 0 ) then
+ 	$GS_EXECUTABLE $OPTIONS -c save -f ps2ascii.ps - -c quit
+ elif ( test $# -eq 1 ) then
+diff -up ghostscript-8.71/lib/ps2epsi.bat.-P- ghostscript-8.71/lib/ps2epsi.bat
+--- ghostscript-8.71/lib/ps2epsi.bat.-P-	2009-04-07 11:20:02.000000000 +0100
++++ ghostscript-8.71/lib/ps2epsi.bat	2010-08-25 16:03:34.226018106 +0100
+@@ -10,10 +10,10 @@ set outfile=%2
+ 
+ rem First we need to determine the bounding box. ps2epsi.ps below will pick
+ rem the result up from %outfile%
+-%GSC% -q -dNOPAUSE -dBATCH -dSAFER -dDELAYSAFER -sDEVICE=bbox -sOutputFile=NUL %infile% 2> %outfile%
++%GSC% -q -dNOPAUSE -dBATCH -P- -dSAFER -dDELAYSAFER -sDEVICE=bbox -sOutputFile=NUL %infile% 2> %outfile%
+ 
+ rem Ghostscript uses %outfile% to define the output file
+-%GSC% -q -dNOPAUSE -dSAFER -dDELAYSAFER -sDEVICE=bit -sOutputFile=NUL ps2epsi.ps < %infile%
++%GSC% -q -dNOPAUSE -P- -dSAFER -dDELAYSAFER -sDEVICE=bit -sOutputFile=NUL ps2epsi.ps < %infile%
+ 
+ rem We bracket the actual file with a few commands to help encapsulation
+ echo %%%%Page: 1 1 >> %outfile%
+@@ -23,7 +23,7 @@ echo userdict /setpagedevice /pop load p
+ 
+ rem Append the original onto the preview header
+ rem cat.ps uses the %infile% and %outfile% environment variables for the filenames
+-%GSC% -q -dNOPAUSE -dBATCH -dSAFER -dDELAYSAFER -sDEVICE=bit -sOutputFile=NUL cat.ps
++%GSC% -q -dNOPAUSE -dBATCH -P- -dSAFER -dDELAYSAFER -sDEVICE=bit -sOutputFile=NUL cat.ps
+ 
+ 
+ echo %%%%EndDocument >> %outfile%
+diff -up ghostscript-8.71/lib/ps2epsi.cmd.-P- ghostscript-8.71/lib/ps2epsi.cmd
+--- ghostscript-8.71/lib/ps2epsi.cmd.-P-	2009-04-07 11:20:02.000000000 +0100
++++ ghostscript-8.71/lib/ps2epsi.cmd	2010-08-25 16:03:34.226018106 +0100
+@@ -13,10 +13,10 @@ set outfile=%2
+ 
+ rem First we need to determine the bounding box. ps2epsi.ps below will pick
+ rem the result up from %outfile%
+-gsos2 -q -dNOPAUSE -dBATCH -dSAFER -dDELAYSAFER -sDEVICE=bbox -sOutputFile=NUL %infile% 2> %outfile%
++gsos2 -q -dNOPAUSE -dBATCH -P- -dSAFER -dDELAYSAFER -sDEVICE=bbox -sOutputFile=NUL %infile% 2> %outfile%
+ 
+ rem Ghostscript uses %outfile% to define the output file
+-gsos2 -q -dNOPAUSE -dSAFER -dDELAYSAFER -sDEVICE=bit -sOutputFile=NUL ps2epsi.ps < %infile%
++gsos2 -q -dNOPAUSE -P- -dSAFER -dDELAYSAFER -sDEVICE=bit -sOutputFile=NUL ps2epsi.ps < %infile%
+ 
+ rem We bracket the actual file with a few commands to help encapsulation
+ echo %%%%Page: 1 1 >> %outfile%
+diff -up ghostscript-8.71/lib/ps2epsi.-P- ghostscript-8.71/lib/ps2epsi
+--- ghostscript-8.71/lib/ps2epsi.-P-	2009-04-07 11:20:02.000000000 +0100
++++ ghostscript-8.71/lib/ps2epsi	2010-08-25 16:03:34.225018313 +0100
+@@ -50,7 +50,7 @@ else
+ 	outfile=$2
+ fi
+ 
+-"$GS_EXECUTABLE" -q -dBATCH -dNOPAUSE -dSAFER -dDELAYSAFER -sDEVICE=bbox -sOutputFile=/dev/null "${infile}" 2>${outfile}
++"$GS_EXECUTABLE" -q -dBATCH -dNOPAUSE -P- -dSAFER -dDELAYSAFER -sDEVICE=bbox -sOutputFile=/dev/null "${infile}" 2>${outfile}
+ 
+ ls -l "${infile}" |
+ awk 'F==1	{
+@@ -92,7 +92,7 @@ awk 'F==1	{
+ 		}
+ 	' F=1 - F=2 "${outfile}" >>"$tmpfile"
+ 
+-"$GS_EXECUTABLE" -q -dNOPAUSE -dSAFER -dDELAYSAFER -r72 -sDEVICE=bit -sOutputFile=/dev/null "$tmpfile" ps2epsi.ps "$tmpfile" <"${infile}" 1>&2
++"$GS_EXECUTABLE" -q -dNOPAUSE -P- -dSAFER -dDELAYSAFER -r72 -sDEVICE=bit -sOutputFile=/dev/null "$tmpfile" ps2epsi.ps "$tmpfile" <"${infile}" 1>&2
+ rm -f "$tmpfile"
+ rm -rf "$tmpdir"
+ 
+diff -up ghostscript-8.71/lib/ps2pdf.cmd.-P- ghostscript-8.71/lib/ps2pdf.cmd
+--- ghostscript-8.71/lib/ps2pdf.cmd.-P-	2007-09-18 20:01:34.000000000 +0100
++++ ghostscript-8.71/lib/ps2pdf.cmd	2010-08-25 16:03:34.227017613 +0100
+@@ -35,7 +35,7 @@ if outfile='' then do
+ 	infile=infile''inext
+ end
+ 
+-gs options '-q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile='outfile options '-c save pop -f' infile
++gs options '-q -P- -dSAFER -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile='outfile options '-c save pop -f' infile
+ exit
+ 
+ usage:
+diff -up ghostscript-8.71/lib/ps2pdfwr.-P- ghostscript-8.71/lib/ps2pdfwr
+--- ghostscript-8.71/lib/ps2pdfwr.-P-	2009-01-10 22:11:18.000000000 +0000
++++ ghostscript-8.71/lib/ps2pdfwr	2010-08-25 16:03:34.228018634 +0100
+@@ -11,7 +11,7 @@ if test ! -x "$gs"; then
+ fi
+ GS_EXECUTABLE="$gs"
+ 
+-OPTIONS="-dSAFER"
++OPTIONS="-P- -dSAFER"
+ while true
+ do
+ 	case "$1" in
+@@ -42,4 +42,4 @@ fi
+ 
+ # We have to include the options twice because -I only takes effect if it
+ # appears before other options.
+-exec "$GS_EXECUTABLE" $OPTIONS -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sstdout=%stderr "-sOutputFile=$outfile" $OPTIONS -c .setpdfwrite -f "$infile"
++exec "$GS_EXECUTABLE" $OPTIONS -q -P- -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sstdout=%stderr "-sOutputFile=$outfile" $OPTIONS -c .setpdfwrite -f "$infile"
+diff -up ghostscript-8.71/lib/ps2pdfxx.bat.-P- ghostscript-8.71/lib/ps2pdfxx.bat
+--- ghostscript-8.71/lib/ps2pdfxx.bat.-P-	2008-02-25 16:10:43.000000000 +0000
++++ ghostscript-8.71/lib/ps2pdfxx.bat	2010-08-25 16:03:34.228018634 +0100
+@@ -7,7 +7,7 @@ rem options into _.at, and then pass the
+ rem to this file.
+ 
+ call gssetgs.bat
+-echo -q -dSAFER -dNOPAUSE -dBATCH -sDEVICE#pdfwrite >_.at2
++echo -q -P- -dSAFER -dNOPAUSE -dBATCH -sDEVICE#pdfwrite >_.at2
+ 
+ if "%OS%"=="Windows_NT" goto nt
+ 
+diff -up ghostscript-8.71/lib/ps2ps2.bat.-P- ghostscript-8.71/lib/ps2ps2.bat
+--- ghostscript-8.71/lib/ps2ps2.bat.-P-	2005-12-29 01:11:43.000000000 +0000
++++ ghostscript-8.71/lib/ps2ps2.bat	2010-08-25 16:03:34.232018321 +0100
+@@ -5,7 +5,7 @@
+ if %1/==/ goto usage
+ if %2/==/ goto usage
+ call gssetgs.bat
+-echo -dNOPAUSE -dSAFER -dBATCH >_.at
++echo -dNOPAUSE -P- -dSAFER -dBATCH >_.at
+ :cp
+ if %3/==/ goto doit
+ echo %1 >>_.at
+diff -up ghostscript-8.71/lib/ps2ps2.cmd.-P- ghostscript-8.71/lib/ps2ps2.cmd
+--- ghostscript-8.71/lib/ps2ps2.cmd.-P-	2005-12-28 19:56:24.000000000 +0000
++++ ghostscript-8.71/lib/ps2ps2.cmd	2010-08-25 16:03:34.232018321 +0100
+@@ -12,7 +12,7 @@ gs='@gsos2'
+ 
+ if params='' then call usage
+ 
+-options='-dNOPAUSE -dBATCH'
++options='-P- -dSAFER -dNOPAUSE -dBATCH'
+ 
+ /* extract options from command line */
+ i=1
+diff -up ghostscript-8.71/lib/ps2ps2.-P- ghostscript-8.71/lib/ps2ps2
+--- ghostscript-8.71/lib/ps2ps2.-P-	2009-01-10 22:11:18.000000000 +0000
++++ ghostscript-8.71/lib/ps2ps2	2010-08-25 16:03:34.231018659 +0100
+@@ -8,7 +8,7 @@
+ # executable name set in the makefile
+ GS_EXECUTABLE=gs
+ 
+-OPTIONS="-dSAFER"
++OPTIONS="-P- -dSAFER"
+ while true
+ do
+ 	case "$1" in
+diff -up ghostscript-8.71/lib/ps2ps.bat.-P- ghostscript-8.71/lib/ps2ps.bat
+--- ghostscript-8.71/lib/ps2ps.bat.-P-	2005-12-29 01:11:43.000000000 +0000
++++ ghostscript-8.71/lib/ps2ps.bat	2010-08-25 16:03:34.230018170 +0100
+@@ -5,7 +5,7 @@
+ if %1/==/ goto usage
+ if %2/==/ goto usage
+ call gssetgs.bat
+-echo -dNOPAUSE -dSAFER -dBATCH >_.at
++echo -dNOPAUSE -P- -dSAFER -dBATCH >_.at
+ :cp
+ if %3/==/ goto doit
+ echo %1 >>_.at
+diff -up ghostscript-8.71/lib/ps2ps.cmd.-P- ghostscript-8.71/lib/ps2ps.cmd
+--- ghostscript-8.71/lib/ps2ps.cmd.-P-	2005-12-28 19:56:24.000000000 +0000
++++ ghostscript-8.71/lib/ps2ps.cmd	2010-08-25 16:03:34.230018170 +0100
+@@ -12,7 +12,7 @@ gs='@gsos2'
+ 
+ if params='' then call usage
+ 
+-options='-dNOPAUSE -dBATCH'
++options='-P- -dSAFER -dNOPAUSE -dBATCH'
+ 
+ /* extract options from command line */
+ i=1
+diff -up ghostscript-8.71/lib/ps2ps.-P- ghostscript-8.71/lib/ps2ps
+--- ghostscript-8.71/lib/ps2ps.-P-	2009-01-10 22:11:18.000000000 +0000
++++ ghostscript-8.71/lib/ps2ps	2010-08-25 16:03:34.229018406 +0100
+@@ -11,7 +11,7 @@ if test ! -x "$gs"; then
+ fi
+ GS_EXECUTABLE="$gs"
+ 
+-OPTIONS="-dSAFER"
++OPTIONS="-P- -dSAFER"
+ while true
+ do
+ 	case "$1" in
+diff -up ghostscript-8.71/lib/pv.sh.-P- ghostscript-8.71/lib/pv.sh
+--- ghostscript-8.71/lib/pv.sh.-P-	2010-08-25 16:00:06.000000000 +0100
++++ ghostscript-8.71/lib/pv.sh	2010-08-25 16:05:04.273017706 +0100
+@@ -46,5 +46,5 @@ fi
+ trap "rm -rf $tmpfile" 0 1 2 15
+ #dvips -R -D$RESOLUTION -p $PAGE -n 1 "$FILE" "$@" -o $tmpfile
+ dvips -R -p $PAGE -n 1 "$FILE" "$@" -o $tmpfile
+-$GS_EXECUTABLE $tmpfile
++$GS_EXECUTABLE -P- -dSAFER $tmpfile
+ exit 0
+diff -up ghostscript-8.71/lib/ras1.upp.-P- ghostscript-8.71/lib/ras1.upp
+--- ghostscript-8.71/lib/ras1.upp.-P-	2000-03-09 08:40:45.000000000 +0000
++++ ghostscript-8.71/lib/ras1.upp	2010-08-25 16:03:34.234018142 +0100
+@@ -1,7 +1,7 @@
+ -supModel="SUN rasterfile, 1 Bit, 2 Colors (Ghostscript-Rendering)"
+ -sDEVICE=uniprint
+ -dNOPAUSE
+--dSAFER
++-P- -dSAFER
+ -dupColorModel=/DeviceGray
+ -dupRendering=/ErrorDiffusion
+ -dupOutputFormat=/SunRaster
+diff -up ghostscript-8.71/lib/ras24.upp.-P- ghostscript-8.71/lib/ras24.upp
+--- ghostscript-8.71/lib/ras24.upp.-P-	2000-03-09 08:40:45.000000000 +0000
++++ ghostscript-8.71/lib/ras24.upp	2010-08-25 16:03:34.234018142 +0100
+@@ -1,7 +1,7 @@
+ -supModel="SUN rasterfile, 24 Bit, 7 Colors (RGB-Error-Diffusion)"
+ -sDEVICE=uniprint
+ -dNOPAUSE
+--dSAFER
++-P- -dSAFER
+ -dupColorModel=/DeviceRGB
+ -dupRendering=/ErrorDiffusion
+ -dupOutputFormat=/SunRaster
+diff -up ghostscript-8.71/lib/ras32.upp.-P- ghostscript-8.71/lib/ras32.upp
+--- ghostscript-8.71/lib/ras32.upp.-P-	2000-03-16 02:01:36.000000000 +0000
++++ ghostscript-8.71/lib/ras32.upp	2010-08-25 16:03:34.235018005 +0100
+@@ -1,7 +1,7 @@
+ -supModel="SUN rasterfile, 32 Bit, 6+1 Colors (CMYK-Error-Diffusion)"
+ -sDEVICE=uniprint
+ -dNOPAUSE
+--dSAFER
++-P- -dSAFER
+ -dupColorModel=/DeviceCMYK
+ -dupRendering=/ErrorDiffusion
+ -dupOutputFormat=/SunRaster
+diff -up ghostscript-8.71/lib/ras3.upp.-P- ghostscript-8.71/lib/ras3.upp
+--- ghostscript-8.71/lib/ras3.upp.-P-	2000-03-09 08:40:45.000000000 +0000
++++ ghostscript-8.71/lib/ras3.upp	2010-08-25 16:03:34.235018005 +0100
+@@ -1,7 +1,7 @@
+ -supModel="SUN rasterfile, 3 Bit, 7 Colors (RGB-Ghostscript)"
+ -sDEVICE=uniprint
+ -dNOPAUSE
+--dSAFER
++-P- -dSAFER
+ -dupColorModel=/DeviceRGB
+ -dupRendering=/ErrorDiffusion
+ -dupOutputFormat=/SunRaster
+diff -up ghostscript-8.71/lib/ras4.upp.-P- ghostscript-8.71/lib/ras4.upp
+--- ghostscript-8.71/lib/ras4.upp.-P-	2000-03-09 08:40:45.000000000 +0000
++++ ghostscript-8.71/lib/ras4.upp	2010-08-25 16:03:34.236018595 +0100
+@@ -1,7 +1,7 @@
+ -supModel="SUN rasterfile, 4 Bit, 6+1 Colors (CMYK-Ghostscript)"
+ -sDEVICE=uniprint
+ -dNOPAUSE
+--dSAFER
++-P- -dSAFER
+ -dupColorModel=/DeviceCMYK
+ -dupRendering=/ErrorDiffusion
+ -dupOutputFormat=/SunRaster
+diff -up ghostscript-8.71/lib/ras8m.upp.-P- ghostscript-8.71/lib/ras8m.upp
+--- ghostscript-8.71/lib/ras8m.upp.-P-	2000-03-09 08:40:45.000000000 +0000
++++ ghostscript-8.71/lib/ras8m.upp	2010-08-25 16:03:34.237018347 +0100
+@@ -1,7 +1,7 @@
+ -supModel="SUN rasterfile, 8 Bit, 2 Colors (Error-Diffusion)"
+ -sDEVICE=uniprint
+ -dNOPAUSE
+--dSAFER
++-P- -dSAFER
+ -dupColorModel=/DeviceGray
+ -dupRendering=/ErrorDiffusion
+ -dupOutputFormat=/SunRaster
+diff -up ghostscript-8.71/lib/st640ihg.upp.-P- ghostscript-8.71/lib/st640ihg.upp
+--- ghostscript-8.71/lib/st640ihg.upp.-P-	2002-05-08 07:26:56.000000000 +0100
++++ ghostscript-8.71/lib/st640ihg.upp	2010-08-25 16:03:34.238017934 +0100
+@@ -1,7 +1,7 @@
+ -supModel="Epson Stylus Color 640, 1440x720DpI, Grayscale, Inkjet Paper"
+ -sDEVICE=uniprint
+ -dNOPAUSE
+--dSAFER
++-P- -dSAFER
+ -dupColorModel=/DeviceGray
+ -dupRendering=/ErrorDiffusion
+ -dupOutputFormat=/EscP2XY
+diff -up ghostscript-8.71/lib/st640ih.upp.-P- ghostscript-8.71/lib/st640ih.upp
+--- ghostscript-8.71/lib/st640ih.upp.-P-	2002-05-08 07:26:56.000000000 +0100
++++ ghostscript-8.71/lib/st640ih.upp	2010-08-25 16:03:34.238017934 +0100
+@@ -1,7 +1,7 @@
+ -supModel="Epson Stylus Color 640, 1440x720DpI, Inkjet Paper"
+ -sDEVICE=uniprint
+ -dNOPAUSE
+--dSAFER
++-P- -dSAFER
+ -dupColorModel=/DeviceCMYKgenerate
+ -dupRendering=/FSCMYK32
+ -dupOutputFormat=/EscP2XY
+diff -up ghostscript-8.71/lib/st640pg.upp.-P- ghostscript-8.71/lib/st640pg.upp
+--- ghostscript-8.71/lib/st640pg.upp.-P-	2002-05-08 07:26:56.000000000 +0100
++++ ghostscript-8.71/lib/st640pg.upp	2010-08-25 16:03:34.240018217 +0100
+@@ -1,7 +1,7 @@
+ -supModel="Epson Stylus Color 640, 720x720DpI, Grayscale, Plain Paper"
+ -sDEVICE=uniprint
+ -dNOPAUSE
+--dSAFER
++-P- -dSAFER
+ -dupColorModel=/DeviceGray
+ -dupRendering=/ErrorDiffusion
+ -dupOutputFormat=/EscP2
+diff -up ghostscript-8.71/lib/st640plg.upp.-P- ghostscript-8.71/lib/st640plg.upp
+--- ghostscript-8.71/lib/st640plg.upp.-P-	2002-05-08 07:26:56.000000000 +0100
++++ ghostscript-8.71/lib/st640plg.upp	2010-08-25 16:03:34.241017825 +0100
+@@ -1,7 +1,7 @@
+ -supModel="Epson Stylus Color 640, 360x360DpI, Grayscale, Plain Paper"
+ -sDEVICE=uniprint
+ -dNOPAUSE
+--dSAFER
++-P- -dSAFER
+ -dupColorModel=/DeviceGray
+ -dupRendering=/ErrorDiffusion
+ -dupOutputFormat=/EscP2
+diff -up ghostscript-8.71/lib/st640pl.upp.-P- ghostscript-8.71/lib/st640pl.upp
+--- ghostscript-8.71/lib/st640pl.upp.-P-	2002-05-08 07:26:56.000000000 +0100
++++ ghostscript-8.71/lib/st640pl.upp	2010-08-25 16:03:34.240018217 +0100
+@@ -1,7 +1,7 @@
+ -supModel="Epson Stylus Color 640, 360x360DpI, Plain Paper"
+ -sDEVICE=uniprint
+ -dNOPAUSE
+--dSAFER
++-P- -dSAFER
+ -dupColorModel=/DeviceCMYKgenerate
+ -dupRendering=/FSCMYK32
+ -dupOutputFormat=/EscP2
+diff -up ghostscript-8.71/lib/st640p.upp.-P- ghostscript-8.71/lib/st640p.upp
+--- ghostscript-8.71/lib/st640p.upp.-P-	2002-05-08 07:26:56.000000000 +0100
++++ ghostscript-8.71/lib/st640p.upp	2010-08-25 16:03:34.239021116 +0100
+@@ -1,7 +1,7 @@
+ -supModel="Epson Stylus Color 640, 720x720DpI, Plain Paper"
+ -sDEVICE=uniprint
+ -dNOPAUSE
+--dSAFER
++-P- -dSAFER
+ -dupColorModel=/DeviceCMYKgenerate
+ -dupRendering=/FSCMYK32
+ -dupOutputFormat=/EscP2
+diff -up ghostscript-8.71/lib/stc1520h.upp.-P- ghostscript-8.71/lib/stc1520h.upp
+--- ghostscript-8.71/lib/stc1520h.upp.-P-	2002-05-08 07:26:56.000000000 +0100
++++ ghostscript-8.71/lib/stc1520h.upp	2010-08-25 16:03:34.242018088 +0100
+@@ -1,7 +1,7 @@
+ -supModel="Epson Stylus Color 1520, 1440x720DpI, Inkjet Paper"
+ -sDEVICE=uniprint
+ -dNOPAUSE
+--dSAFER
++-P- -dSAFER
+ -dupColorModel=/DeviceCMYK
+ -dupRendering=/ErrorDiffusion
+ -dupOutputFormat=/EscP2XY
+diff -up ghostscript-8.71/lib/stc200_h.upp.-P- ghostscript-8.71/lib/stc200_h.upp
+--- ghostscript-8.71/lib/stc200_h.upp.-P-	2002-05-08 07:26:56.000000000 +0100
++++ ghostscript-8.71/lib/stc200_h.upp	2010-08-25 16:03:34.243017956 +0100
+@@ -1,7 +1,7 @@
+ -supModel="Epson Stylus Color 200 , 360x720DpI"
+ -sDEVICE=uniprint
+ -dNOPAUSE
+--dSAFER
++-P- -dSAFER
+ -dupColorModel=/DeviceCMYK
+ -dupRendering=/ErrorDiffusion
+ -dupOutputFormat=/EscP2XY
+diff -up ghostscript-8.71/lib/stc2_h.upp.-P- ghostscript-8.71/lib/stc2_h.upp
+--- ghostscript-8.71/lib/stc2_h.upp.-P-	2002-05-08 07:26:56.000000000 +0100
++++ ghostscript-8.71/lib/stc2_h.upp	2010-08-25 16:03:34.244018330 +0100
+@@ -1,7 +1,7 @@
+ -supModel="Epson Stylus Color II, 720x720DpI, Special Paper"
+ -sDEVICE=uniprint
+ -dNOPAUSE
+--dSAFER
++-P- -dSAFER
+ -dupColorModel=/DeviceCMYK
+ -dupRendering=/ErrorDiffusion
+ -dupOutputFormat=/EscP2
+diff -up ghostscript-8.71/lib/stc2s_h.upp.-P- ghostscript-8.71/lib/stc2s_h.upp
+--- ghostscript-8.71/lib/stc2s_h.upp.-P-	2002-05-08 07:26:56.000000000 +0100
++++ ghostscript-8.71/lib/stc2s_h.upp	2010-08-25 16:03:34.245018073 +0100
+@@ -1,7 +1,7 @@
+ -supModel="Epson Stylus Color IIs, 720x720DpI, Special Paper"
+ -sDEVICE=uniprint
+ -dNOPAUSE
+--dSAFER
++-P- -dSAFER
+ -dupColorModel=/DeviceCMYK
+ -dupRendering=/ErrorDiffusion
+ -dupOutputFormat=/EscP2XY
+diff -up ghostscript-8.71/lib/stc2.upp.-P- ghostscript-8.71/lib/stc2.upp
+--- ghostscript-8.71/lib/stc2.upp.-P-	2002-05-08 07:26:56.000000000 +0100
++++ ghostscript-8.71/lib/stc2.upp	2010-08-25 16:03:34.243017956 +0100
+@@ -1,7 +1,7 @@
+ -supModel="Epson Stylus Color II / IIs, 360x360DpI, Plain Paper"
+ -sDEVICE=uniprint
+ -dNOPAUSE
+--dSAFER
++-P- -dSAFER
+ -dupColorModel=/DeviceCMYK
+ -dupRendering=/ErrorDiffusion
+ -dupOutputFormat=/EscP2
+diff -up ghostscript-8.71/lib/stc300bl.upp.-P- ghostscript-8.71/lib/stc300bl.upp
+--- ghostscript-8.71/lib/stc300bl.upp.-P-	2002-05-08 07:26:56.000000000 +0100
++++ ghostscript-8.71/lib/stc300bl.upp	2010-08-25 16:03:34.246020372 +0100
+@@ -1,7 +1,7 @@
+ -supModel="Epson Stylus Color 300, 180x180 dpi, black only, Plain Paper"
+ -sDEVICE=uniprint
+ -dNOPAUSE
+--dSAFER
++-P- -dSAFER
+ -dupColorModel=/DeviceGray
+ -dupRendering=/ErrorDiffusion
+ -dupOutputFormat=/EscNozzleMap
+diff -up ghostscript-8.71/lib/stc300bm.upp.-P- ghostscript-8.71/lib/stc300bm.upp
+--- ghostscript-8.71/lib/stc300bm.upp.-P-	2002-05-08 07:26:56.000000000 +0100
++++ ghostscript-8.71/lib/stc300bm.upp	2010-08-25 16:03:34.247017939 +0100
+@@ -1,7 +1,7 @@
+ -supModel="Epson Stylus Color 300, 360x360 dpi, black only, Plain Paper"
+ -sDEVICE=uniprint
+ -dNOPAUSE
+--dSAFER
++-P- -dSAFER
+ -dupColorModel=/DeviceGray
+ -dupRendering=/ErrorDiffusion
+ -dupOutputFormat=/EscNozzleMap
+diff -up ghostscript-8.71/lib/stc300.upp.-P- ghostscript-8.71/lib/stc300.upp
+--- ghostscript-8.71/lib/stc300.upp.-P-	2002-05-08 07:26:56.000000000 +0100
++++ ghostscript-8.71/lib/stc300.upp	2010-08-25 16:03:34.245018073 +0100
+@@ -1,7 +1,7 @@
+ -supModel="Epson Stylus Color 300, 360x360 dpi, colour, Plain Paper"
+ -sDEVICE=uniprint
+ -dNOPAUSE
+--dSAFER
++-P- -dSAFER
+ -dupColorModel=/DeviceCMYK
+ -dupRendering=/ErrorDiffusion
+ -dupOutputFormat=/EscNozzleMap
+diff -up ghostscript-8.71/lib/stc500ph.upp.-P- ghostscript-8.71/lib/stc500ph.upp
+--- ghostscript-8.71/lib/stc500ph.upp.-P-	2002-05-08 07:26:56.000000000 +0100
++++ ghostscript-8.71/lib/stc500ph.upp	2010-08-25 16:03:34.248017766 +0100
+@@ -1,7 +1,7 @@
+ -supModel="Epson Stylus Color 500, 720x720DpI, not Weaved, Plain Paper"
+ -sDEVICE=uniprint
+ -dNOPAUSE
+--dSAFER
++-P- -dSAFER
+ -dupColorModel=/DeviceCMYK
+ -dupRendering=/ErrorDiffusion
+ -dupOutputFormat=/EscP2
+diff -up ghostscript-8.71/lib/stc500p.upp.-P- ghostscript-8.71/lib/stc500p.upp
+--- ghostscript-8.71/lib/stc500p.upp.-P-	2002-05-08 07:26:56.000000000 +0100
++++ ghostscript-8.71/lib/stc500p.upp	2010-08-25 16:03:34.247017939 +0100
+@@ -1,7 +1,7 @@
+ -supModel="Epson Stylus Color 500, 360x360DpI, not Weaved, Plain Paper"
+ -sDEVICE=uniprint
+ -dNOPAUSE
+--dSAFER
++-P- -dSAFER
+ -dupColorModel=/DeviceCMYK
+ -dupRendering=/ErrorDiffusion
+ -dupOutputFormat=/EscP2
+diff -up ghostscript-8.71/lib/stc600ih.upp.-P- ghostscript-8.71/lib/stc600ih.upp
+--- ghostscript-8.71/lib/stc600ih.upp.-P-	2002-05-08 07:26:56.000000000 +0100
++++ ghostscript-8.71/lib/stc600ih.upp	2010-08-25 16:03:34.248017766 +0100
+@@ -1,7 +1,7 @@
+ -supModel="Epson Stylus Color 600, 1440x720DpI, Inkjet Paper"
+ -sDEVICE=uniprint
+ -dNOPAUSE
+--dSAFER
++-P- -dSAFER
+ -dupColorModel=/DeviceCMYK
+ -dupRendering=/ErrorDiffusion
+ -dupOutputFormat=/EscP2XY
+diff -up ghostscript-8.71/lib/stc600pl.upp.-P- ghostscript-8.71/lib/stc600pl.upp
+--- ghostscript-8.71/lib/stc600pl.upp.-P-	2002-05-08 07:26:56.000000000 +0100
++++ ghostscript-8.71/lib/stc600pl.upp	2010-08-25 16:03:34.252018512 +0100
+@@ -1,7 +1,7 @@
+ -supModel="Epson Stylus Color 600, 360x360DpI, Plain Paper"
+ -sDEVICE=uniprint
+ -dNOPAUSE
+--dSAFER
++-P- -dSAFER
+ -dupColorModel=/DeviceCMYK
+ -dupRendering=/ErrorDiffusion
+ -dupOutputFormat=/EscP2
+diff -up ghostscript-8.71/lib/stc600p.upp.-P- ghostscript-8.71/lib/stc600p.upp
+--- ghostscript-8.71/lib/stc600p.upp.-P-	2002-05-08 07:26:56.000000000 +0100
++++ ghostscript-8.71/lib/stc600p.upp	2010-08-25 16:03:34.249017816 +0100
+@@ -1,7 +1,7 @@
+ -supModel="Epson Stylus Color 600, 720x720DpI, Plain Paper"
+ -sDEVICE=uniprint
+ -dNOPAUSE
+--dSAFER
++-P- -dSAFER
+ -dupColorModel=/DeviceCMYK
+ -dupRendering=/ErrorDiffusion
+ -dupOutputFormat=/EscP2
+diff -up ghostscript-8.71/lib/stc640p.upp.-P- ghostscript-8.71/lib/stc640p.upp
+--- ghostscript-8.71/lib/stc640p.upp.-P-	2002-05-08 07:26:56.000000000 +0100
++++ ghostscript-8.71/lib/stc640p.upp	2010-08-25 16:03:34.253018831 +0100
+@@ -1,7 +1,7 @@
+ -supModel="Epson Stylus Color 640, 720x720DpI, Inkjet Paper"
+ -sDEVICE=uniprint
+ -dNOPAUSE
+--dSAFER
++-P- -dSAFER
+ -dupColorModel=/DeviceCMYK
+ -dupRendering=/ErrorDiffusion
+ -dupOutputFormat=/EscP2
+diff -up ghostscript-8.71/lib/stc800ih.upp.-P- ghostscript-8.71/lib/stc800ih.upp
+--- ghostscript-8.71/lib/stc800ih.upp.-P-	2002-05-08 07:26:56.000000000 +0100
++++ ghostscript-8.71/lib/stc800ih.upp	2010-08-25 16:03:34.254017666 +0100
+@@ -1,7 +1,7 @@
+ -supModel="Epson Stylus Color 800, 1440x720DpI, Inkjet Paper"
+ -sDEVICE=uniprint
+ -dNOPAUSE
+--dSAFER
++-P- -dSAFER
+ -dupColorModel=/DeviceCMYK
+ -dupRendering=/ErrorDiffusion
+ -dupOutputFormat=/EscP2XY
+diff -up ghostscript-8.71/lib/stc800pl.upp.-P- ghostscript-8.71/lib/stc800pl.upp
+--- ghostscript-8.71/lib/stc800pl.upp.-P-	2002-05-08 07:26:56.000000000 +0100
++++ ghostscript-8.71/lib/stc800pl.upp	2010-08-25 16:03:34.255017709 +0100
+@@ -1,7 +1,7 @@
+ -supModel="Epson Stylus Color 800, 360x360DpI, Plain Paper"
+ -sDEVICE=uniprint
+ -dNOPAUSE
+--dSAFER
++-P- -dSAFER
+ -dupColorModel=/DeviceCMYK
+ -dupRendering=/ErrorDiffusion
+ -dupOutputFormat=/EscP2
+diff -up ghostscript-8.71/lib/stc800p.upp.-P- ghostscript-8.71/lib/stc800p.upp
+--- ghostscript-8.71/lib/stc800p.upp.-P-	2002-05-08 07:26:56.000000000 +0100
++++ ghostscript-8.71/lib/stc800p.upp	2010-08-25 16:03:34.255017709 +0100
+@@ -1,7 +1,7 @@
+ -supModel="Epson Stylus Color 800, 720x720DpI, Plain Paper"
+ -sDEVICE=uniprint
+ -dNOPAUSE
+--dSAFER
++-P- -dSAFER
+ -dupColorModel=/DeviceCMYK
+ -dupRendering=/ErrorDiffusion
+ -dupOutputFormat=/EscP2
+diff -up ghostscript-8.71/lib/stcany_h.upp.-P- ghostscript-8.71/lib/stcany_h.upp
+--- ghostscript-8.71/lib/stcany_h.upp.-P-	2002-05-08 07:26:56.000000000 +0100
++++ ghostscript-8.71/lib/stcany_h.upp	2010-08-25 16:03:34.258017830 +0100
+@@ -1,7 +1,7 @@
+ -supModel="Any Epson Stylus Color, 720x720DpI"
+ -sDEVICE=uniprint
+ -dNOPAUSE
+--dSAFER
++-P- -dSAFER
+ -dupColorModel=/DeviceCMYKgenerate
+ -dupRendering=/ErrorDiffusion
+ -dupOutputFormat=/EscP2
+diff -up ghostscript-8.71/lib/stcany.upp.-P- ghostscript-8.71/lib/stcany.upp
+--- ghostscript-8.71/lib/stcany.upp.-P-	2002-05-08 07:26:56.000000000 +0100
++++ ghostscript-8.71/lib/stcany.upp	2010-08-25 16:03:34.257018062 +0100
+@@ -1,7 +1,7 @@
+ -supModel="Any Epson Stylus Color, 360x360DpI"
+ -sDEVICE=uniprint
+ -dNOPAUSE
+--dSAFER
++-P- -dSAFER
+ -dupColorModel=/DeviceCMYK
+ -dupRendering=/ErrorDiffusion
+ -dupOutputFormat=/EscP2
+diff -up ghostscript-8.71/lib/stc_h.upp.-P- ghostscript-8.71/lib/stc_h.upp
+--- ghostscript-8.71/lib/stc_h.upp.-P-	2002-05-08 07:26:56.000000000 +0100
++++ ghostscript-8.71/lib/stc_h.upp	2010-08-25 16:03:34.256017873 +0100
+@@ -1,7 +1,7 @@
+ -supModel="Epson Stylus Color I (and PRO Series), 720x720DpI, Special Paper"
+ -sDEVICE=uniprint
+ -dNOPAUSE
+--dSAFER
++-P- -dSAFER
+ -dupColorModel=/DeviceCMYK
+ -dupRendering=/ErrorDiffusion
+ -dupOutputFormat=/EscP2
+diff -up ghostscript-8.71/lib/stc_l.upp.-P- ghostscript-8.71/lib/stc_l.upp
+--- ghostscript-8.71/lib/stc_l.upp.-P-	2002-05-08 07:26:56.000000000 +0100
++++ ghostscript-8.71/lib/stc_l.upp	2010-08-25 16:03:34.257018062 +0100
+@@ -1,7 +1,7 @@
+ -supModel="Epson Stylus Color I (and PRO Series), 360x360DpI, noWeave"
+ -sDEVICE=uniprint
+ -dNOPAUSE
+--dSAFER
++-P- -dSAFER
+ -dupColorModel=/DeviceCMYK
+ -dupRendering=/ErrorDiffusion
+ -dupOutputFormat=/EscP2
+diff -up ghostscript-8.71/lib/stc.upp.-P- ghostscript-8.71/lib/stc.upp
+--- ghostscript-8.71/lib/stc.upp.-P-	2002-05-08 07:26:56.000000000 +0100
++++ ghostscript-8.71/lib/stc.upp	2010-08-25 16:03:34.241017825 +0100
+@@ -1,7 +1,7 @@
+ -supModel="Epson Stylus Color I (and PRO Series), 360x360DpI, Plain Paper"
+ -sDEVICE=uniprint
+ -dNOPAUSE
+--dSAFER
++-P- -dSAFER
+ -dupColorModel=/DeviceCMYK
+ -dupRendering=/ErrorDiffusion
+ -dupOutputFormat=/EscP2
+diff -up ghostscript-8.71/lib/unix-lpr.sh.-P- ghostscript-8.71/lib/unix-lpr.sh
+--- ghostscript-8.71/lib/unix-lpr.sh.-P-	2005-12-28 19:56:24.000000000 +0000
++++ ghostscript-8.71/lib/unix-lpr.sh	2010-08-25 16:03:34.259018034 +0100
+@@ -153,7 +153,7 @@ echo "\
+     } { pop } ifelse
+   } if
+ quit"
+-) | $GS_EXECUTABLE -q -dNOPAUSE -sDEVICE=${device} \
++) | $GS_EXECUTABLE -q -P- -dSAFER -dNOPAUSE -sDEVICE=${device} \
+ 		-dBitsPerPixel=${bpp} $colorspec \
+ 		-sOutputFile=\|"${gsoutput}" -
+ #		-sOutputFile=${gspipe} -
+diff -up ghostscript-8.71/lib/wftopfa.-P- ghostscript-8.71/lib/wftopfa
+--- ghostscript-8.71/lib/wftopfa.-P-	2007-07-05 20:04:29.000000000 +0100
++++ ghostscript-8.71/lib/wftopfa	2010-08-25 16:03:34.259018034 +0100
+@@ -10,4 +10,4 @@ if test ! -x "$gs"; then
+ fi
+ GS_EXECUTABLE="$gs"
+ 
+-exec "$GS_EXECUTABLE" -q -dNODISPLAY -- wftopfa.ps "$@"
++exec "$GS_EXECUTABLE" -q -P- -dSAFER -dNODISPLAY -- wftopfa.ps "$@"
diff --git a/ghostscript-SEARCH_HERE_FIRST.patch b/ghostscript-SEARCH_HERE_FIRST.patch
index 17ef622..d69ce80 100644
--- a/ghostscript-SEARCH_HERE_FIRST.patch
+++ b/ghostscript-SEARCH_HERE_FIRST.patch
@@ -1,6 +1,6 @@
 diff -up ghostscript-8.71/base/bcwin32.mak.SEARCH_HERE_FIRST ghostscript-8.71/base/bcwin32.mak
 --- ghostscript-8.71/base/bcwin32.mak.SEARCH_HERE_FIRST	2009-11-05 22:24:30.000000000 +0000
-+++ ghostscript-8.71/base/bcwin32.mak	2010-08-25 14:00:12.290019965 +0100
++++ ghostscript-8.71/base/bcwin32.mak	2010-08-25 16:00:06.732142141 +0100
 @@ -78,13 +78,10 @@ GS_LIB_DEFAULT=$(GSROOTDIR)/Resource/Ini
  
  # Define whether or not searching for initialization files should always
@@ -19,7 +19,7 @@ diff -up ghostscript-8.71/base/bcwin32.mak.SEARCH_HERE_FIRST ghostscript-8.71/ba
  # Define the name of the interpreter initialization file.
 diff -up ghostscript-8.71/base/macos-mcp.mak.SEARCH_HERE_FIRST ghostscript-8.71/base/macos-mcp.mak
 --- ghostscript-8.71/base/macos-mcp.mak.SEARCH_HERE_FIRST	2009-11-05 22:24:30.000000000 +0000
-+++ ghostscript-8.71/base/macos-mcp.mak	2010-08-25 14:00:12.297143504 +0100
++++ ghostscript-8.71/base/macos-mcp.mak	2010-08-25 16:00:06.735142115 +0100
 @@ -53,12 +53,9 @@ GS_DOCDIR=:doc
  
  # Define whether or not searching for initialization files should always
@@ -37,7 +37,7 @@ diff -up ghostscript-8.71/base/macos-mcp.mak.SEARCH_HERE_FIRST ghostscript-8.71/
  # (There is no reason to change this.)
 diff -up ghostscript-8.71/base/macosx.mak.SEARCH_HERE_FIRST ghostscript-8.71/base/macosx.mak
 --- ghostscript-8.71/base/macosx.mak.SEARCH_HERE_FIRST	2008-10-02 20:33:22.000000000 +0100
-+++ ghostscript-8.71/base/macosx.mak	2010-08-25 14:00:12.327017571 +0100
++++ ghostscript-8.71/base/macosx.mak	2010-08-25 16:00:06.745019041 +0100
 @@ -78,12 +78,9 @@ GS_LIB_DEFAULT=$(gsdatadir)/Resource/Ini
  
  # Define whether or not searching for initialization files should always
@@ -55,7 +55,7 @@ diff -up ghostscript-8.71/base/macosx.mak.SEARCH_HERE_FIRST ghostscript-8.71/bas
  # (There is no reason to change this.)
 diff -up ghostscript-8.71/base/Makefile.in.SEARCH_HERE_FIRST ghostscript-8.71/base/Makefile.in
 --- ghostscript-8.71/base/Makefile.in.SEARCH_HERE_FIRST	2009-12-18 07:04:10.000000000 +0000
-+++ ghostscript-8.71/base/Makefile.in	2010-08-25 14:00:12.335142758 +0100
++++ ghostscript-8.71/base/Makefile.in	2010-08-25 16:00:06.767101477 +0100
 @@ -96,12 +96,9 @@ GS_CACHE_DIR="~/.ghostscript/cache/"
  
  # Define whether or not searching for initialization files should always
@@ -73,7 +73,7 @@ diff -up ghostscript-8.71/base/Makefile.in.SEARCH_HERE_FIRST ghostscript-8.71/ba
  # (There is no reason to change this.)
 diff -up ghostscript-8.71/base/msvclib.mak.SEARCH_HERE_FIRST ghostscript-8.71/base/msvclib.mak
 --- ghostscript-8.71/base/msvclib.mak.SEARCH_HERE_FIRST	2010-01-07 10:53:36.000000000 +0000
-+++ ghostscript-8.71/base/msvclib.mak	2010-08-25 14:00:12.359017810 +0100
++++ ghostscript-8.71/base/msvclib.mak	2010-08-25 16:00:06.790017275 +0100
 @@ -49,13 +49,10 @@ GS_LIB_DEFAULT=$(GSROOTDIR)/Resource/Ini
  
  # Define whether or not searching for initialization files should always
@@ -92,7 +92,7 @@ diff -up ghostscript-8.71/base/msvclib.mak.SEARCH_HERE_FIRST ghostscript-8.71/ba
  # Define the name of the interpreter initialization file.
 diff -up ghostscript-8.71/base/openvms.mak.SEARCH_HERE_FIRST ghostscript-8.71/base/openvms.mak
 --- ghostscript-8.71/base/openvms.mak.SEARCH_HERE_FIRST	2009-11-05 22:24:30.000000000 +0000
-+++ ghostscript-8.71/base/openvms.mak	2010-08-25 14:00:12.382018536 +0100
++++ ghostscript-8.71/base/openvms.mak	2010-08-25 16:00:06.819017200 +0100
 @@ -68,12 +68,9 @@ GS_LIB_DEFAULT=GS_ROOT:[RESOURCE.INIT],G
  
  # Define whether or not searching for initialization files should always
@@ -110,7 +110,7 @@ diff -up ghostscript-8.71/base/openvms.mak.SEARCH_HERE_FIRST ghostscript-8.71/ba
  # (There is no reason to change this.)
 diff -up ghostscript-8.71/base/openvms.mmk.SEARCH_HERE_FIRST ghostscript-8.71/base/openvms.mmk
 --- ghostscript-8.71/base/openvms.mmk.SEARCH_HERE_FIRST	2009-01-08 09:17:18.000000000 +0000
-+++ ghostscript-8.71/base/openvms.mmk	2010-08-25 14:00:12.408142641 +0100
++++ ghostscript-8.71/base/openvms.mmk	2010-08-25 16:00:06.834017369 +0100
 @@ -73,12 +73,9 @@ GS_LIB_DEFAULT=GS_LIB
  
  # Define whether or not searching for initialization files should always
@@ -128,7 +128,7 @@ diff -up ghostscript-8.71/base/openvms.mmk.SEARCH_HERE_FIRST ghostscript-8.71/ba
  # (There is no reason to change this.)
 diff -up ghostscript-8.71/base/ugcclib.mak.SEARCH_HERE_FIRST ghostscript-8.71/base/ugcclib.mak
 --- ghostscript-8.71/base/ugcclib.mak.SEARCH_HERE_FIRST	2008-11-05 20:41:22.000000000 +0000
-+++ ghostscript-8.71/base/ugcclib.mak	2010-08-25 14:00:12.446144216 +0100
++++ ghostscript-8.71/base/ugcclib.mak	2010-08-25 16:00:06.842017457 +0100
 @@ -30,7 +30,7 @@ gsdir = /usr/local/share/ghostscript
  gsdatadir = $(gsdir)/$(GS_DOT_VERSION)
  GS_DOCDIR=$(gsdatadir)/doc
@@ -140,7 +140,7 @@ diff -up ghostscript-8.71/base/ugcclib.mak.SEARCH_HERE_FIRST ghostscript-8.71/ba
  #GENOPT=-DDEBUG
 diff -up ghostscript-8.71/base/unixansi.mak.SEARCH_HERE_FIRST ghostscript-8.71/base/unixansi.mak
 --- ghostscript-8.71/base/unixansi.mak.SEARCH_HERE_FIRST	2009-11-05 22:24:30.000000000 +0000
-+++ ghostscript-8.71/base/unixansi.mak	2010-08-25 14:00:12.485143635 +0100
++++ ghostscript-8.71/base/unixansi.mak	2010-08-25 16:00:06.858017358 +0100
 @@ -73,12 +73,9 @@ GS_LIB_DEFAULT=$(gsdatadir)/Resource/Ini
  
  # Define whether or not searching for initialization files should always
@@ -158,7 +158,7 @@ diff -up ghostscript-8.71/base/unixansi.mak.SEARCH_HERE_FIRST ghostscript-8.71/b
  # (There is no reason to change this.)
 diff -up ghostscript-8.71/base/unix-gcc.mak.SEARCH_HERE_FIRST ghostscript-8.71/base/unix-gcc.mak
 --- ghostscript-8.71/base/unix-gcc.mak.SEARCH_HERE_FIRST	2009-11-11 15:50:28.000000000 +0000
-+++ ghostscript-8.71/base/unix-gcc.mak	2010-08-25 14:00:12.501143978 +0100
++++ ghostscript-8.71/base/unix-gcc.mak	2010-08-25 16:00:06.888017760 +0100
 @@ -77,12 +77,9 @@ GS_LIB_DEFAULT=$(gsdatadir)/Resource/Ini
  
  # Define whether or not searching for initialization files should always
@@ -176,7 +176,7 @@ diff -up ghostscript-8.71/base/unix-gcc.mak.SEARCH_HERE_FIRST ghostscript-8.71/b
  # (There is no reason to change this.)
 diff -up ghostscript-8.71/base/watclib.mak.SEARCH_HERE_FIRST ghostscript-8.71/base/watclib.mak
 --- ghostscript-8.71/base/watclib.mak.SEARCH_HERE_FIRST	2009-01-08 09:17:18.000000000 +0000
-+++ ghostscript-8.71/base/watclib.mak	2010-08-25 14:00:12.509143140 +0100
++++ ghostscript-8.71/base/watclib.mak	2010-08-25 16:00:06.896017307 +0100
 @@ -20,7 +20,7 @@ AROOTDIR=c:/gs
  GSROOTDIR=$(AROOTDIR)/gs$(GS_DOT_VERSION)
  GS_DOCDIR=$(GSROOTDIR)/doc
@@ -188,7 +188,7 @@ diff -up ghostscript-8.71/base/watclib.mak.SEARCH_HERE_FIRST ghostscript-8.71/ba
  !ifndef DEBUG
 diff -up ghostscript-8.71/base/watcw32.mak.SEARCH_HERE_FIRST ghostscript-8.71/base/watcw32.mak
 --- ghostscript-8.71/base/watcw32.mak.SEARCH_HERE_FIRST	2009-11-05 22:24:30.000000000 +0000
-+++ ghostscript-8.71/base/watcw32.mak	2010-08-25 14:00:12.525143422 +0100
++++ ghostscript-8.71/base/watcw32.mak	2010-08-25 16:00:06.914017272 +0100
 @@ -54,11 +54,8 @@ GS_LIB_DEFAULT=$(GSROOTDIR)/Resource/Ini
  # Define whether or not searching for initialization files should always
  # look in the current directory first.  This leads to well-known security
@@ -204,7 +204,7 @@ diff -up ghostscript-8.71/base/watcw32.mak.SEARCH_HERE_FIRST ghostscript-8.71/ba
  # (There is no reason to change this.)
 diff -up ghostscript-8.71/doc/Use.htm.SEARCH_HERE_FIRST ghostscript-8.71/doc/Use.htm
 --- ghostscript-8.71/doc/Use.htm.SEARCH_HERE_FIRST	2010-02-10 18:17:48.000000000 +0000
-+++ ghostscript-8.71/doc/Use.htm	2010-08-25 14:00:12.552143446 +0100
++++ ghostscript-8.71/doc/Use.htm	2010-08-25 16:00:06.949017319 +0100
 @@ -823,8 +823,8 @@ file name specifies an absolute path.
  using the name given.  Otherwise it tries directories in this order:
  
@@ -253,7 +253,7 @@ diff -up ghostscript-8.71/doc/Use.htm.SEARCH_HERE_FIRST ghostscript-8.71/doc/Use
  <h4><a name="Parameters"></a>Setting parameters</h4>
 diff -up ghostscript-8.71/man/gs.1.SEARCH_HERE_FIRST ghostscript-8.71/man/gs.1
 --- ghostscript-8.71/man/gs.1.SEARCH_HERE_FIRST	2010-02-10 18:17:48.000000000 +0000
-+++ ghostscript-8.71/man/gs.1	2010-08-25 14:00:12.562143368 +0100
++++ ghostscript-8.71/man/gs.1	2010-08-25 16:00:06.952017346 +0100
 @@ -208,6 +208,12 @@ whereas \fB\-sname=35\fR is equivalent t
  .br
  	/name (35) def
@@ -269,7 +269,7 @@ diff -up ghostscript-8.71/man/gs.1.SEARCH_HERE_FIRST ghostscript-8.71/man/gs.1
  equivalent of \fB\-dQUIET\fR.
 diff -up ghostscript-8.71/psi/msvc32.mak.SEARCH_HERE_FIRST ghostscript-8.71/psi/msvc32.mak
 --- ghostscript-8.71/psi/msvc32.mak.SEARCH_HERE_FIRST	2010-02-02 18:14:37.000000000 +0000
-+++ ghostscript-8.71/psi/msvc32.mak	2010-08-25 14:00:12.594142799 +0100
++++ ghostscript-8.71/psi/msvc32.mak	2010-08-25 16:00:06.954017446 +0100
 @@ -100,13 +100,10 @@ GS_LIB_DEFAULT=$(GSROOTDIR)/Resource/Ini
  
  # Define whether or not searching for initialization files should always
@@ -288,7 +288,7 @@ diff -up ghostscript-8.71/psi/msvc32.mak.SEARCH_HERE_FIRST ghostscript-8.71/psi/
  # Define the name of the interpreter initialization file.
 diff -up ghostscript-8.71/psi/os2.mak.SEARCH_HERE_FIRST ghostscript-8.71/psi/os2.mak
 --- ghostscript-8.71/psi/os2.mak.SEARCH_HERE_FIRST	2009-11-05 22:24:30.000000000 +0000
-+++ ghostscript-8.71/psi/os2.mak	2010-08-25 14:00:12.621143319 +0100
++++ ghostscript-8.71/psi/os2.mak	2010-08-25 16:00:06.956017546 +0100
 @@ -54,12 +54,9 @@ GS_LIB_DEFAULT=$(GSROOTDIR)/Resource/Ini
  
  # Define whether or not searching for initialization files should always
@@ -304,9 +304,221 @@ diff -up ghostscript-8.71/psi/os2.mak.SEARCH_HERE_FIRST ghostscript-8.71/psi/os2
  
  # Define the name of the interpreter initialization file.
  # (There is no reason to change this.)
+diff -up ghostscript-8.71/psi/zfile.c.SEARCH_HERE_FIRST ghostscript-8.71/psi/zfile.c
+--- ghostscript-8.71/psi/zfile.c.SEARCH_HERE_FIRST	2009-10-04 13:42:07.000000000 +0100
++++ ghostscript-8.71/psi/zfile.c	2010-08-25 16:02:45.521018186 +0100
+@@ -903,6 +903,91 @@ check_file_permissions_aux(i_ctx_t *i_ct
+ }
+ 
+ 
++/* return zero for success, -ve for error, +1 for continue */
++static int
++lib_file_open_search_with_no_combine(gs_file_path_ptr  lib_path, const gs_memory_t *mem, i_ctx_t *i_ctx_p,
++                                     const char *fname, uint flen, char *buffer, int blen, uint *pclen, ref *pfile,
++                                     gx_io_device *iodev, bool starting_arg_file, char *fmode)
++{
++    stream *s;
++    uint blen1 = blen;
++    if (gp_file_name_reduce(fname, flen, buffer, &blen1) != gp_combine_success)
++      goto skip;
++    if (iodev_os_open_file(iodev, (const char *)buffer, blen1,
++                           (const char *)fmode, &s, (gs_memory_t *)mem) == 0) {
++      if (starting_arg_file ||
++          check_file_permissions_aux(i_ctx_p, buffer, blen1) >= 0) {
++        *pclen = blen1;
++        make_stream_file(pfile, s, "r");
++        return 0;
++      }
++      sclose(s);
++      return_error(e_invalidfileaccess);
++    }
++ skip:;
++    return 1;
++}
++
++/* return zero for success, -ve for error, +1 for continue */
++static int
++lib_file_open_search_with_combine(gs_file_path_ptr  lib_path, const gs_memory_t *mem, i_ctx_t *i_ctx_p,
++                                  const char *fname, uint flen, char *buffer, int blen, uint *pclen, ref *pfile,
++                                  gx_io_device *iodev, bool starting_arg_file, char *fmode)
++{
++    stream *s;
++    const gs_file_path *pfpath = lib_path;
++    uint pi;
++
++    for (pi = 0; pi < r_size(&pfpath->list); ++pi) {
++        const ref *prdir = pfpath->list.value.refs + pi;
++        const char *pstr = (const char *)prdir->value.const_bytes;
++        uint plen = r_size(prdir), blen1 = blen;
++        gs_parsed_file_name_t pname;
++        gp_file_name_combine_result r;
++
++        /* We need to concatenate and parse the file name here
++         * if this path has a %device% prefix.              */
++        if (pstr[0] == '%') {
++            int code;
++
++            /* We concatenate directly since gp_file_name_combine_*
++             * rules are not correct for other devices such as %rom% */
++            code = gs_parse_file_name(&pname, pstr, plen);
++            if (code < 0)
++                continue;
++            memcpy(buffer, pname.fname, pname.len);
++            memcpy(buffer+pname.len, fname, flen);
++            code = pname.iodev->procs.open_file(pname.iodev, buffer, pname.len + flen, fmode,
++                                          &s, (gs_memory_t *)mem);
++            if (code < 0)
++                continue;
++            make_stream_file(pfile, s, "r");
++            /* fill in the buffer with the device concatenated */
++            memcpy(buffer, pstr, plen);
++            memcpy(buffer+plen, fname, flen);
++            *pclen = plen + flen;
++            return 0;
++        } else {
++            r = gp_file_name_combine(pstr, plen,
++                    fname, flen, false, buffer, &blen1);
++            if (r != gp_combine_success)
++                continue;
++            if (iodev_os_open_file(iodev, (const char *)buffer, blen1, (const char *)fmode,
++                                    &s, (gs_memory_t *)mem) == 0) {
++                if (starting_arg_file ||
++                    check_file_permissions_aux(i_ctx_p, buffer, blen1) >= 0) {
++                    *pclen = blen1;
++                    make_stream_file(pfile, s, "r");
++                    return 0;
++                }
++                sclose(s);
++                return_error(e_invalidfileaccess);
++            }
++        }
++    }
++    return 1;
++}
++
+ /* Return a file object of of the file searched for using the search paths. */
+ /* The fname cannot contain a device part (%...%) but the lib paths might. */
+ /* The startup code calls this to open the initialization file gs_init.ps. */
+@@ -917,8 +1002,9 @@ lib_file_open(gs_file_path_ptr  lib_path
+     bool search_with_no_combine = false;
+     bool search_with_combine = false;
+     char fmode[4] = { 'r', 0, 0, 0 };		/* room for binary suffix */
+-    stream *s;
+     gx_io_device *iodev = iodev_default;
++    gs_main_instance *minst = get_minst_from_memory(mem);
++    int code;
+ 
+     /* when starting arg files (@ files) iodev_default is not yet set */
+     if (iodev == 0)
+@@ -932,75 +1018,36 @@ lib_file_open(gs_file_path_ptr  lib_path
+        search_with_no_combine = starting_arg_file;
+        search_with_combine = true;
+     }
+-    if (search_with_no_combine) {
+-	uint blen1 = blen;
+-
+-	if (gp_file_name_reduce(fname, flen, buffer, &blen1) != gp_combine_success)
+-	    goto skip;
+-	if (iodev_os_open_file(iodev, (const char *)buffer, blen1,
+-				(const char *)fmode, &s, (gs_memory_t *)mem) == 0) {
+-	    if (starting_arg_file ||
+-			check_file_permissions_aux(i_ctx_p, buffer, blen1) >= 0) {
+-		*pclen = blen1;
+-		make_stream_file(pfile, s, "r");
+-		return 0;
+-	    }
+-	    sclose(s);
+-	    return_error(e_invalidfileaccess);
+-	}
+-	skip:;
+-    } 
+-    if (search_with_combine) {
+-	const gs_file_path *pfpath = lib_path;
+-	uint pi;
+-
+-	for (pi = 0; pi < r_size(&pfpath->list); ++pi) {
+-	    const ref *prdir = pfpath->list.value.refs + pi;
+-	    const char *pstr = (const char *)prdir->value.const_bytes;
+-	    uint plen = r_size(prdir), blen1 = blen;
+-    	    gs_parsed_file_name_t pname;
+-	    gp_file_name_combine_result r;
+-
+-	    /* We need to concatenate and parse the file name here
+-	     * if this path has a %device% prefix.		*/
+-	    if (pstr[0] == '%') {
+-		int code;
+-
+-		/* We concatenate directly since gp_file_name_combine_*
+-		 * rules are not correct for other devices such as %rom% */
+-		code = gs_parse_file_name(&pname, pstr, plen);
+-		if (code < 0)
+-		    continue;
+-		memcpy(buffer, pname.fname, pname.len);
+-		memcpy(buffer+pname.len, fname, flen);
+-		code = pname.iodev->procs.open_file(pname.iodev, buffer, pname.len + flen, fmode,
+-					      &s, (gs_memory_t *)mem);
+-		if (code < 0)
+-		    continue;
+-		make_stream_file(pfile, s, "r");
+-		/* fill in the buffer with the device concatenated */
+-		memcpy(buffer, pstr, plen);
+-		memcpy(buffer+plen, fname, flen);
+-		*pclen = plen + flen;
+-		return 0;
+-	    } else {
+-		r = gp_file_name_combine(pstr, plen, 
+-			fname, flen, false, buffer, &blen1);
+-		if (r != gp_combine_success)
+-		    continue;
+-		if (iodev_os_open_file(iodev, (const char *)buffer, blen1, (const char *)fmode,
+-					&s, (gs_memory_t *)mem) == 0) {
+-		    if (starting_arg_file ||
+-			check_file_permissions_aux(i_ctx_p, buffer, blen1) >= 0) {
+-			*pclen = blen1;
+-			make_stream_file(pfile, s, "r");
+-			return 0;
+-		    }
+-		    sclose(s);
+-		    return_error(e_invalidfileaccess);
+-		}
+-	    }
+-	}
++    if (minst->search_here_first) {
++      if (search_with_no_combine) {
++        code = lib_file_open_search_with_no_combine(lib_path, mem, i_ctx_p,
++                                                    fname, flen, buffer, blen, pclen, pfile,
++                                                    iodev, starting_arg_file, fmode);
++        if (code <= 0) /* +ve means continue continue */
++          return code;
++      }
++      if (search_with_combine) {
++        code = lib_file_open_search_with_combine(lib_path, mem, i_ctx_p,
++                                                 fname, flen, buffer, blen, pclen, pfile,
++                                                 iodev, starting_arg_file, fmode);
++        if (code <= 0) /* +ve means continue searching */
++          return code;
++      }
++    } else {
++      if (search_with_combine) {
++        code = lib_file_open_search_with_combine(lib_path, mem, i_ctx_p,
++                                                 fname, flen, buffer, blen, pclen, pfile,
++                                                 iodev, starting_arg_file, fmode);
++        if (code <= 0) /* +ve means continue searching */
++          return code;
++      }
++      if (search_with_no_combine) {
++        code = lib_file_open_search_with_no_combine(lib_path, mem, i_ctx_p,
++                                                    fname, flen, buffer, blen, pclen, pfile,
++                                                    iodev, starting_arg_file, fmode);
++        if (code <= 0) /* +ve means continue searching */
++          return code;
++      }
+     }
+     return_error(e_undefinedfilename);
+ }
 diff -up ghostscript-8.71/toolbin/msvcxml.bat.SEARCH_HERE_FIRST ghostscript-8.71/toolbin/msvcxml.bat
 --- ghostscript-8.71/toolbin/msvcxml.bat.SEARCH_HERE_FIRST	2009-01-26 17:16:47.000000000 +0000
-+++ ghostscript-8.71/toolbin/msvcxml.bat	2010-08-25 14:00:12.631143783 +0100
++++ ghostscript-8.71/toolbin/msvcxml.bat	2010-08-25 16:00:06.959017477 +0100
 @@ -1428,7 +1428,7 @@ echo   ^<UserMacro Name="GS_DOCDIR" Valu
  echo   ^<UserMacro Name="GS_INIT" Value="gs_init.ps" /^>
  echo   ^<UserMacro Name="GS_LIB_DEFAULT" Value="$(GSROOTDIR)/lib;$(GSROOTDIR)/Resource/Font;$(AROOTDIR)/fonts" /^>
diff --git a/ghostscript.spec b/ghostscript.spec
index a8406f8..e06b52e 100644
--- a/ghostscript.spec
+++ b/ghostscript.spec
@@ -5,7 +5,7 @@ Summary: A PostScript interpreter and renderer.
 Name: ghostscript
 Version: %{gs_ver}
 
-Release: 9%{?dist}
+Release: 10%{?dist}
 
 # Included CMap data is Redistributable, no modification permitted,
 # see http://bugzilla.redhat.com/487510
@@ -37,6 +37,7 @@ Patch19: ghostscript-tiff-fixes.patch
 Patch20: ghostscript-CVE-2010-1628.patch
 Patch21: ghostscript-jbig2-image-refcount.patch
 Patch22: ghostscript-SEARCH_HERE_FIRST.patch
+Patch23: ghostscript--P-.patch
 
 Requires: urw-fonts >= 1.1, ghostscript-fonts
 BuildRequires: xz
@@ -174,6 +175,9 @@ rm -rf libpng zlib jpeg jasper
 # (bug #599564).
 %patch22 -p1 -b .SEARCH_HERE_FIRST
 
+# Use -P- and -dSAFER in scripts (bug #599564).
+%patch23 -p1 -b .-P-
+
 # Convert manual pages to UTF-8
 from8859_1() {
 	iconv -f iso-8859-1 -t utf-8 < "$1" > "${1}_"
@@ -362,6 +366,10 @@ rm -rf $RPM_BUILD_ROOT
 %{_libdir}/libgs.so
 
 %changelog
+* Wed Aug 25 2010 Tim Waugh <twaugh at redhat.com> 8.71-10
+- Fix implementation of -P- (bug #599564).
+- Use -P- and -dSAFER in scripts (bug #599564).
+
 * Wed Aug 25 2010 Tim Waugh <twaugh at redhat.com> 8.71-9
 - Change SEARCH_HERE_FIRST default to make -P- default instead of -P
   (bug #599564).


More information about the scm-commits mailing list