Re: incorrect permissions on dnssd and lpd

Johannes Meixner <[email protected]>
Newsgroups gmane.comp.printing.cups.bugs
Message-ID <[email protected]>
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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.