====== DNS interoperation ====== Although PawSD aspires to be a replacement for DNS, there are inevitably cases where it's necessary to use both at the same time. Therefore, there are standard mechanisms for transferring data from PawSD into DNS-centric software and vice versa. ===== PawSD data for DNS consumers ===== To allow DNS-based software (such as every Internetworked programme written in the last 40 years) to access information from PawSD zones, there is a suggested standard way to present zones and services as DNS zones, and to map common Internet-oriented PawSD tags to their equivalent DNS records. A PawSD-enabled DNS resolver should present this information as subdomains of ''pawsd.alt.'': * ''[keyhex].[keytype].pawsd.alt.'': reasonable default records selected via an unspecified algorithm from some or all of the services in the zone identified by the keytype (e.g. ''ed25519'') and key hexadecimal * ''[zone].name.pawsd.alt.'': as above, except that the zone is selected by searching for one with a self-proposed or local name similar (how?) to the given zone name * ''[service].[keyhex].[keytype].pawsd.alt.'' where [service] is an ASCII-encoded non-negative integer: records from the service with the given index (starting at 0) of the given zone * ''[service].[zone].name.pawsd.alt.'': as above but selecting both the zone and service by similar names **Todo:** more info about this translation, how should it work in practice, etc. ===== DNS data for PawSD consumers ===== **Todo:** this entire section