[cups.general] DNS-SD-(Zeroconf)-based CUPS backend to discover network printers

Till Kamppeter till.kamppeter at gmail.com
Tue Nov 27 05:51:43 PST 2007


I have improved the dnssd CUPS backend now.

It does not simply suppress printer entries coming from computers any 
more. It only suppresses entries from the local machine, as we do not 
want to clone the local CUPS queues by creating local IPP queues, and 
entries from remote CUPS queues which got already broadcasted to the 
local machine.

This means that if a remote CUPS server broadcasts only via DNS-SD (like 
a Mac OS X server or a server with "BrowseProtocols dnssd" in 
cupsd.conf) its queues get listed.

So this version should fulfill all requirements needed for common CUPS 
network environments.

It is downloadable at the same place as the old version:

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

    Till

Michael R Sweet wrote:
> Till Kamppeter wrote:
>> I have met Mike Sweet on the Printing Summit in Montreal this week and 
>> he suggests letting the dnssd backend display the CUPS (IPP) queues of 
>> Mac OS X workstations but not of other workstations. And I think even 
>> better could be listing the queues of remote CUPS servers if they do not 
>> broadcast their queues via CUPS' native IPP method.
>>
>> Now I have two questions:
>>
>> 1. How can on determine the operating system which a remote machine is 
>> running, preferably by means of simple command line tools?
> 
> There is no way to determine the OS, specifically, but any CUPS
> registrations will have an "rp" key with a value of "printers/foo"
> or "classes/foo".  Only _ipp service registrations can be CUPS
> printers.
> 
>> 2. How can one easily determine whether a remote CUPS server is 
>> broadcasting its queues, without waiting up to 30 sec for the next 
>> broadcast?
> 
> The local cupsd will know about any printers accessible via the CUPS
> browse protocol, so just so a CUPS_GET_PRINTERS request with the
> printer-type attribute set to "CUPS_PRINTER_DISCOVERED" and
> printer-type-mask attribute set to "CUPS_PRINTER_DISCOVERED |
> CUPS_PRINTER_IMPLICIT".  Use the device-uri attribute value, and
> compare the resolved IP address from the device-uri to the one you
> get from the mDNS lookup, along with the printers/foo or classes/foo
> parts...
> 





More information about the cups mailing list