[cups-devel] Recognition of whether a DNS-SD record is from a remote CUPS printer or a physical IPP network printer

Till Kamppeter till.kamppeter at gmail.com
Tue Apr 3 07:15:25 PDT 2018


Hi,

I only want to inform you about this problem I ran into recently when 
trying to find out whether a DNS-SD advertised printer is a remote CUPS 
printer.

In cups-browsed (part of cups-filters) I used to consider the advertised 
printer a remote CUPS queue if ir has a URI like:

ipp(s)://<host>:<port>/printers/<name>

This worked well for a long time, intil I received this bug report for 
Ubuntu:

https://bugs.launchpad.net/bugs/1731417

Here a user has probvlems with the HP LaserJet M1212nf and it turned out 
that it uses the IPP URI

ipp://<host>:<port>/printers/Laserjet

and so cups-browsed identified it as CUPS queue and used the wrong 
method to create a local queue pointing to it and failed to create the 
queue.

See the "avahi-browse -v -t -r -a" output on the user's system here:

https://launchpadlibrarian.net/362110132/avahi.txt

I have found a better way to identify printers as remote CUPS queue, and 
that is checking whether there is a "printer-type" field in the TXT 
record with a hex number in it. I am using this method in cups-browsed now.

So please check CUPS itself or any software using CUPS whether it tries 
to identify remote CUPS queues somewhere using the URI. This needs to 
get changed to another, like the "printer-type" TXT record method.

    Till


More information about the cups-devel mailing list