istopwg / ippeveselfcert

IPP Everywhere Printer Self-Certification Tools
https://www.pwg.org/ipp/everywhere.html
Apache License 2.0
21 stars 6 forks source link

'ippfind' tool doesn't support DNS-SD service instance names with leading "_" or "-" #2

Closed wifiprintguy closed 8 years ago

wifiprintguy commented 8 years ago

According to RFC 6763 section 4.1.1 (http://tools.ietf.org/html/rfc6763#section-4.1.1) a DNS-SD instance name may contain up to 63 octets of printable (non-control character) Net-Unicode characters. There is no restriction on the allowable characters for the first character. That includes the underscore ("_") and dash ("-") characters.

The 'ippfind' tool supports the following option and argument syntaxes: ippfind [ options ] regtype[,subtype][.domain.] ... [ expression... ] ippfind [ options ] name[.regtype[.domain.]] ... [ expression... ]

If 'ippfind' is used with a printer whose service instance name is "Smitty Normal Printer._ipp._tcp.local.", the 'ippfind' tool will assume the form being used is the first form, but the user will be wanting it to use the second form.

There is the "-n" or "--name" argument, which can be used as a workaround, but it would be better to collapse them into a single form and depend on the "-n" argument for all instances where the name is provided.

michaelrsweet commented 8 years ago

Historically a leading underscore means "I want to look up a service type", even for the dns-sd command.

I think we should just track this over in the CUPS project since we have a workaround for this one:

https://github.com/apple/cups/issues/4833