diff --git a/cups.spec b/cups.spec index 56d4565..397eff7 100644 --- a/cups.spec +++ b/cups.spec @@ -13,6 +13,7 @@ Source: ftp://ftp.easysw.com/pub/cups/%{version}/cups-%{version}-source.tar.bz2 Source1: cups.init Source2: cupsprinter.png Source3: snmp-str1737.c +Source4: pstopdf Source5: cups-lpd Source6: pstoraster Source7: pstoraster.convs @@ -239,6 +240,11 @@ EOF install -c -m 755 %{SOURCE6} $RPM_BUILD_ROOT%{cups_serverbin}/filter install -c -m 644 %{SOURCE7} $RPM_BUILD_ROOT%{_sysconfdir}/cups +# Ship pstopdf for LSPP systems to deal with malicious postscript +%if %lspp +install -c -m 755 %{SOURCE14} $RPM_BUILD_ROOT%{cups_serverbin}/filter +%endif + # Ship a generic postscript PPD file (#73061) install -c -m 644 %{SOURCE8} $RPM_BUILD_ROOT%{_datadir}/cups/model @@ -411,6 +417,7 @@ rm -rf $RPM_BUILD_ROOT %changelog * Wed Aug 2 2006 Tim Waugh 1:1.2.2-7 - Updated LSPP patch from Matt Anderson. +- Ship pstopdf filter for LSPP. * Fri Jul 28 2006 Tim Waugh 1:1.2.2-6 - Use replacement snmp.c from STR #1737 (bug #193093). diff --git a/pstopdf b/pstopdf new file mode 100644 index 0000000..938efbe --- /dev/null +++ b/pstopdf @@ -0,0 +1,55 @@ +#!/bin/sh +# +# CUPS filter script for Ghostscript. +# +# Copyright 2001-2002 by Easy Software Products. +# Copyright 2006 by Hewlett-Packard Development Company, L.P. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# + +# Installation directories... +prefix=/usr +exec_prefix=${prefix} +bindir=${exec_prefix}/bin + +# Set the library/font path... +GS_FONTPATH="$CUPS_FONTPATH" +export GS_FONTPATH + +# Options we use with Ghostscript... +gsopts="-dQUIET -dDEBUG -dPARANOIDSAFER -dNOPAUSE -dBATCH " +gsopts="$gsopts -dNOMEDIAATTRS -sDEVICE=pdfwrite -sstdout=%stderr" + +# See if we have a profile=n,n,n,n,n,n,n,n,n,n,n option... +profile="" +for option in $5; do + case $option in + profile=*) + profile="-scupsProfile=`echo $option | awk -F= '{print $2}'`" + ;; + esac +done + +# See if we have a filename on the command-line... +if test -z "$6"; then + ifile="-" +else + ifile="$6" +fi + +# Now run Ghostscript... +$bindir/gs $gsopts -sOUTPUTFILE="%stdout" $profile $ifile +