[cups.bugs] [LOW] STR #2614: Web interface cannot modifyrawipp:queue

Till Kamppeter till.kamppeter at gmail.com
Tue Dec 4 06:01:58 PST 2007


Johannes Meixner wrote:
> I am puzzled.
> Could you describe the exact meaning of CUPS_PRINTER_REMOTE
> versus CUPS_PRINTER_DISCOVERED in more detail (preferaby with
> an example for each of the four possible combinations) please?
> 
> In the end a printer setup tool needs to determine reliably
> on which host the configuration of a destination is stored
> so that it can do the right "lpadmin -h <host> ..."
> to modify (or delete) it.

CUPS_PRINTER_DISCOVERED:
Nothing of the print queue is defined/configured locally. CUPS makes 
this queue available because another CUPS server broadcasts it and the 
local CUPS server accepts these broadcasts. A printer setup tool should 
show this queue and allow printing of test pages and nozzle cleaning, 
but it should not allow deleting the queue or modifying it in any form.

CUPS_PRINTER_REMOTE (and NOT CUPS_PRINTER_DISCOVERED):
This only tells that the driver is executed on a remote CUPS server. If 
CUPS_PRINTER_DISCOVERED is not set a raw IPP queue is defined locally 
(entry in printers.conf, no PPD in /etc/cups/ppd) and this queue points 
to a queue on a remote CUPS server. The printer options shown in 
printing dialogs are the ones defined in the PPD on the remote CUPS 
server. A printer setup tool should allow deleting these queues and 
modifying everything except the PPD options. Changing the PPD options 
would download the PPD to the local /etc/cups/ppd/ for saving the 
changes which means that the driver would be run locally and the driver 
is not necessarily installed locally. All the other parameters of the 
queue are saved in the local printers.conf file.

I have implemented this in system-config-printer (current SVN, rev 1772) 
and it works perfectly.

On pure Linux networks you have usually the first case: Server 
broadcasts with the CUPS protocol and client auto-creates queue. Printer 
setup tools like older versions of system-config-printer or printerdrake 
handle this correctly.

If there is a Mac OS X server, the second case comes up: The Mac OS X 
server broadcasts only in the DNS-SD format by default and with these 
broadcasts a client does not auto-create queues. The user has to create 
a raw IPP queue pointing to the queue on the Mac. These queues cannot be 
edited or deleted with the web interface or older system-config-printer 
versions. the current system-config-printer handles them correctly now.

For auto-discovering DNS-SD-broadcasted queues and also network printers 
with DNS-SD, use my dnssd backend from

http://www.linuxprinting.org/download/printing/dnssd

Please make sure you have the newest version, the first version does not 
detect remote CUPS queues.

    Till





More information about the cups mailing list