Hi Dave,
Dave Ebersole (Quark):we declare the data using a file path, application/vnd.cups-postscript, instead of using "stdout". This will build the most straightforward chain:
Job Data>Backend
Agreed regarding perventing the pstops filter from jumping in.
But how do you do that and why using a file path and not by simply piping the postscript stream into the spool system and assigning the correct mime-type "application/vnd.cups-postscript" as metadata to achieve correct behaviour and preventing Adobe's backend from running into that permission problem?
I would assume that you use something like
lp -dpdf800 -o document-format=application/vnd.cups-postscript $ps-file
whereas
cat $ps-file | lp -dpdf800 -o document-format=application/vnd.cups-postscript -
would do the trick (piping the print job into the backend in question on stdin and delegating permission settings of a temporary file to the backend as well).
And BTW... why do you store the temporary file in /private/var/spool/cups directly and not where CUPS' $TempDir variable points to?
Dave Ebersole (Quark):1. One of the quickest fixes is to apply a permissions change to the CUPS spool folder.
Since there existed (and maybe even exist) many CUPS vulnerabilities this is not that good as it might sound ;-)
Dave Ebersole (Quark):Copy and paste the following text in Terminal: sudo chmod 755 /private/var/spool/cups
Then enter an administrator password. This will have to be repeated every time you restart your Mac.
The permissions of CUPS' spool folder will be fixed each and every time the CUPS scheduler restarts (which will normally occur only on reboot -- agreed :-)
But Quark could simply fix that
if Quark thinks that is a real solution. Simply supply your users with a simple StartupItem that will be called by SystemStarter after Apples own PrintingServices StartupItem that changes the permissions of CUPS' spool directory.
Dave Ebersole (Quark):2. Print to a PostScript file to run through Acrobat Distiller. I know a lot of you do not consider this an acceptable solution but the reality is this will give you the same results as printing to the Adobe PDF Printer with a couple of extra steps. You can even create a Watched Folder via Distiller that will process any PostScript files automatically. In Acrobat Distiller, go to Settings > Watched Folders and you can then add any number of folders, each with different settings applied.
And there exist CUPS backends on the Mac that will automagically scan a folder for configured Distiller hotfolders and present all those hotfolders as simple to use printer queues one can directly print into... but as you already pointed out this variant of creating PostScript output is deprecated in favor of using the PDF export way to create PostScript files...
Regards,
Thomas