[cups.general] IPP Get-Printer-Attributes in 1.3

Michael R Sweet msweet at apple.com
Thu Feb 28 12:48:33 PST 2008


Phil Race wrote:
> Hello Michael,
> 
> I located the bug ID 2513 under which this was fixed.
> One strange thing is that bug describes the provision
> of a default value as "new" in 1.3.0 and "fixed" in 1.3.2.
> http://www.cups.org/str.php?L2513+P0+S-1+C0+I0+E0+M50+Q2513
> 
> However we see a default value in earlier versions of CUPS (1.2),
> so perhaps the problem in 1.3.0 was something else?
> And isn't this bug fix now an incompatible change?

No.

The orientation-requested-default attribute in releases prior to
CUPS 1.3.0 was hard-coded to IPP_ORIENT_PORTRAIT, but the print
filters never saw this value.

In CUPS 1.3 we added real support for the -default attributes, so
when a job is submitted without a particular attribute, the
corresponding attribute (if defined) is filled in with the default.
This functionality provides support for real server-side defaults.

The bug in question was for the orientation defaulting to portrait,
which broke the previous auto-rotate behavior in CUPS 1.2.x and
earlier.

> Note that this apparently broke some Ubuntu printer configuration
> utility as well as us :
> https://bugs.launchpad.net/ubuntu/+source/cupsys/+bug/140887

Conforming IPP applications MUST support all of the value and group
tags defined in RFC 2911.  In particular, noValue is used for any
-default attribute when there is no default defined - the attribute
itself must always be present.

Yes, this can be confusing, especially when we didn't implement it
correctly for so many years...

> Also I'd actually expect a default value for this attribute.

You can set one, but if none is set we use noValue and base the
default orientation on the incoming document which is the
interpretation required by the IPP spec...

-- 
______________________________________________________________________
Michael R Sweet                        Senior Printing System Engineer





More information about the cups mailing list