[cups.bugs] incorrect permissions on dnssd and lpd

Johannes Meixner jsmeix at suse.de
Fri Apr 13 01:19:14 PDT 2012


Hello Michael,

On Apr 12 15:57 Michael Sweet wrote (excerpt):
> This is documented in the online help:
> http://www.cups.org/documentation.php/api-filter.html
> and the makefile has "RBACKENDS" and "UBACKENDS" that installs
> with the corresponding permissions.
....
> Running the backend directly is definitely not supported.
> CUPS provides an API for this (cupsGetDevices)...

Can you explain why it is not supported to run a CUPS backend directly?

I neither see a reason for it in the documentation nor can I imagine
what would fail in general if a CUPS backend is run directly.

In particular I think that it should work when the same CUPS backend
is run reveral times simultaneously (e.g. when there are several
print queues for the same printer device and all do active printing)
then the backend should do "the right thing" what is needed for
mutual exclusion for the particular case of the particular backend.

Furthermore by default the most often used CUPS backends "socket"
and "usb" are installed with execute permissions for all users
according to CUPS 1.5.2 backend/Makefile:
-----------------------------------------------------------------------
RBACKENDS =     ipp lpd $(DNSSD_BACKEND)
UBACKENDS =     $(LEGACY_BACKENDS) serial snmp socket usb
....
$(INSTALL_DIR) -m 755 $(SERVERBIN)/backend
for file in $(RBACKENDS); do \
         $(LIBTOOL) $(INSTALL_BIN) -m 700 $$file $(SERVERBIN)/backend; \
done
for file in $(UBACKENDS); do \
         $(INSTALL_BIN) $$file $(SERVERBIN)/backend; \
done
-----------------------------------------------------------------------
This seems to indicate that any user is allowed to run the UBACKENDS
directly as he likes.


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