[cups.bugs] incorrect permissions on dnssd and lpd

Johannes Meixner jsmeix at suse.de
Thu May 3 03:49:01 PDT 2012


Hello Michael,

On Apr 30 10:33 Michael Sweet wrote (excerpt):
> On Apr 18, 2012, at 3:30 AM, Johannes Meixner wrote:
>> ...
>> I would appreciate it if the CUPS documentation provides explanatory
>> background information how this and that is meant in CUPS in particular
>> - what is a stable interface
>> - what is not stable in case of minor release updates
>> - what is not stable in any case (i.e. what is an implementation
>>   detail, in particular what is "private" e.g. private APIs)
>
> I will look into this (would be great to have a bug for this BTW! :),

http://www.cups.org/str.php?L4068

> and much of this is covered in the CUPS developer guide
> (http://www.cups.org/documentation.php/spec-cmp.html),

I am afraid, but at least for me it is not clear what the
general documentation in the CUPS developer guide actually
means in each particular case like in the following:

> For program interfaces (e.g. the filter and backend interface),
> the interface in any production release of CUPS is stable.
> However, the interface is only stable from the standpoint
> of the program being invoked, not for third-party applications
> that might try to simulate it.  For example, CUPS has added
> new environment variables and standard file descriptors to the
> CUPS filter and backend interface since the original 1.0 release.
> CUPS 1.0 filters and backends continue to work in the current
> release of CUPS, however a third-party application written for
> the CUPS 1.0 interface cannot run other CUPS filters and backends
> directly that were written for a later release of CUPS.

I think such kind of explanatory background information
could help a lot so that it is more clear how "stable"
is actually meant in each particular case.


> 2. What is not stable in case of minor release updates
>
> If you are referring to "patch" releases (CUPS major.minor.patch),
> we do not add new interfaces (or change existing interfaces)
> in patch releases. Except in extraodinary circumstances, only
> a "feature" release (CUPS major.minor.0) may contain new interfaces.

I meant "minor" as in major.minor.patch according to
http://www.cups.org/documentation.php/spec-cmp.html
(I really did read this before ;-)
because you wrote "we have changed the low-level interface to backends
in pretty much every minor release of CUPS".

Is it possible to provide some explanatory information what
such "extraodinary circumstances" might be?
I guess one such extraodinary case could be a severe security
issue where the only reasonable fix is a changed interface.
And I hope such an "extraodinary circumstance" is not when
a big boss at Apple decides he "must have a change right now" ;-)


Kind Regards
Johannes Meixner
-- 
SUSE LINUX Products GmbH -- Maxfeldstrasse 5 -- 90409 Nuernberg -- Germany
HRB 16746 (AG Nuernberg) GF: Jeff Hawn, Jennifer Guild, Felix Imendoerffer





More information about the cups mailing list