[cups.general] Changes to filters in 1.4

Matt LaPlante mattl at google.com
Mon Jul 26 21:22:04 PDT 2010


On Mon, Jul 26, 2010 at 11:05 PM, Michael Sweet <msweet at apple.com> wrote:
>
> On Jul 26, 2010, at 8:53 PM, Matt LaPlante wrote:
>
>> On Mon, Jul 26, 2010 at 10:20 PM, Michael Sweet <msweet at apple.com> wrote:
>>> This is an Ubuntu issue, not CUPS...
>>>
>>
>> So the implication then is that non-ubuntu versions of cups 1.4.3 do
>> not require printers to have Filter lines?
>
> No, the implication is that non-Ubuntu versions of CUPS will have the necessary filters installed so that CUPS will see and use them...

What filters are supposedly missing?

Lets say this is my printer config using 1.3.11...

<Printer printer1>
Info HP laserjet
Location The Office
MakeModel HP LaserJet Postscript (recommended)
DeviceURI socket://printer1:9100
State Idle
StateTime 1280202033
Type 8425684
Accepting Yes
Shared Yes
JobSheets none none
QuotaPeriod 0
PageLimit 0
KLimit 0
OpPolicy default
ErrorPolicy stop-printer
</Printer>

This exact config does not work under 1.4.3.  But change it to this...

<Printer printer1>
Info HP laserjet
Location The Office
MakeModel HP LaserJet Postscript (recommended)
DeviceURI socket://printer1:9100
State Idle
StateTime 1280202033
Type 8425684
Filter application/vnd.cups-raw 0 -
Filter application/vnd.cups-command 0 commandtops
Filter application/vnd.cups-postscript 0 -
Accepting Yes
Shared Yes
JobSheets none none
QuotaPeriod 0
PageLimit 0
KLimit 0
OpPolicy default
ErrorPolicy stop-printer
</Printer>

And it works as expected.  I don't see how filters are "missing" if
adding lines to the config suddenly makes them work.

A debug2 log under 1.3.11 shows the following for each printer:
d [26/Jul/2010:20:39:31 -0700] cupsdFindPolicyOp: Found wildcard match...
d [26/Jul/2010:20:39:31 -0700] add_printer_filter: printer1: adding
filter application/vnd.cups-raw printer/printer1 0 -
d [26/Jul/2010:20:39:31 -0700] add_printer_filter: printer1: adding
filter application/vnd.cups-postscript printer/printer1r 0 -
d [26/Jul/2010:20:39:31 -0700] add_printer_formats: 47 types, 71 filters
Followed by a bunch of add_printer_formats: lines, many of which say
needs 1/2 filters

The log under 1.4.3 shows this instead:
d [27/Jul/2010:03:25:19 +0000] cupsdFindPolicyOp: Found wildcard match...
D [27/Jul/2010:03:25:19 +0000] load_ppd: Loading /var/cache/cups/printer1.ipp...
d [27/Jul/2010:03:25:19 +0000]
cupsdSetPrinterReasons(p=0x7fdb2b22df30(printer1),s="-cups-missing-filter-warning,cups-insecure-filter-warning"
d [27/Jul/2010:03:25:19 +0000] add_printer_formats: 49 types, 77 filters
Followed by a bunch of add_printer_formats: lines, which conclude "not
supported"

Add the Filter lines back under 1.4.3, though, and things start
working as expected:
d [27/Jul/2010:03:25:19 +0000] cupsdFindPolicyOp: Found wildcard match...
D [27/Jul/2010:03:25:19 +0000] load_ppd: Loading /var/cache/cups/printer1.ipp...
d [27/Jul/2010:03:25:19 +0000]
cupsdSetPrinterReasons(p=0x7fdb2b226f90(printer1),s="-cups-missing-filter-warning,cups-insecure-filter-warning"
d [27/Jul/2010:03:25:19 +0000] add_printer_filter: printer1: adding
filter application/vnd.cups-raw printer/printer1 0 -
d [27/Jul/2010:03:25:19 +0000] add_printer_filter: printer1: adding
filter application/vnd.cups-command printer/printer1 0 commandtops
d [27/Jul/2010:03:25:19 +0000] add_printer_filter: printer1: adding
filter application/vnd.cups-postscript printer/printer1 0 -
d [27/Jul/2010:03:25:19 +0000] add_printer_formats: 49 types, 77 filters

All this seems to imply that cups 1.4 is requiring all printers to
have Filter directives, or that 1.3 was doing some extra work to
detect which filters to use on the fly.

>
>>
>>> On Jul 26, 2010, at 6:48 PM, Matt LaPlante wrote:
>>>
>>>> I'm attempting to upgrade an existing server from 1.3 to 1.4 (Ubuntu
>>>> versions).
>>>>
>>>> The problem I've run into is that printing to any of the existing
>>>> printers results in cups throwing an error that the type is unknown
>>>> (postscript or raw).  This used to just work, and the
>>>> mime.types/mime.convs do have application/vnd.cups-raw etc
>>>> uncommented.
>>>>
>>>> I re-created one of the existing printer configs using the UI, and I
>>>> noticed that now it's inserting Filter directives in printers.conf
>>>> where there were not previously any.  This indeed seems to fix the
>>>> problem of unknown types.  But why is it necessary, and where is it
>>>> documented that this changed?  The release notes don't mention it (at
>>>> least in a way that's apparent to me).  Why isn't having these types
>>>> in mime.* enough anymore?
>>>>
>>>> _______________________________________________
>>>> cups mailing list
>>>> cups at easysw.com
>>>> http://lists.easysw.com/mailman/listinfo/cups
>>>
>>> ________________________________________________________________________
>>> Michael Sweet, Senior Printing System Engineer, PWG Chair
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> cups mailing list
>>> cups at easysw.com
>>> http://lists.easysw.com/mailman/listinfo/cups
>>>
>>
>> _______________________________________________
>> cups mailing list
>> cups at easysw.com
>> http://lists.easysw.com/mailman/listinfo/cups
>
> ________________________________________________________________________
> Michael Sweet, Senior Printing System Engineer, PWG Chair
>
>
>
>
> _______________________________________________
> cups mailing list
> cups at easysw.com
> http://lists.easysw.com/mailman/listinfo/cups
>





More information about the cups mailing list