OpenPrinting / cups

OpenPrinting CUPS Sources
https://openprinting.github.io/cups
Apache License 2.0
1.05k stars 187 forks source link

Interface that exports DNS-SD details for consuption by unicast DNS server #945

Closed aragilar closed 5 months ago

aragilar commented 5 months ago

Is your feature request related to a problem? Please describe. This is basically #319, except rather than CUPS consuming unicast DNS-SD records, it would create the required records (as it does for mDNS DNS-SD). As naturally CUPS is not a DNS server, it shouldn't be serving this out via port 53 or similar, but have some means to export this on request (e.g send records to a socket, serve this out via some HTTP/REST API, RFC 2136). I figure if CUPS provides a simple-to-use interface that handles the contents of the TXT records, which can be passed on as opaque strings by a (third-party) bridging tool to the appropriate unicast DNS server, then updates to the DNS format would not require significant changes to the bridging tool.

Describe the solution you'd like I'm not suggesting a specific solution/implementation (there are advantages and disadvantages to each of the export mechanisms suggested above), but something that makes it easy to write bridging tools and to maintain within the cups server would be best.

Describe alternatives you've considered I guess someone could write a tool to scrape said information from the local mDNS server, but that is somewhat awkward, and would couple the tool to a specific mDNS implementation.

Additional context http://www.dns-sd.org/ServerStaticSetup.html#AirPrint

michaelrsweet commented 5 months ago

I can't see adding a separate API for this, but the current DNS-SD API provides access to everything needed to export the necessary information to a zone file or provide it to a server for incorporation into a DNS zone - no need for a different implementation.