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