dnsbase
Copyright(c) Viktor Dukhovni 2026
LicenseBSD-3-Clause
Maintainerietf-dane@dukhovni.org
Stabilityunstable
Safe HaskellNone
LanguageGHC2024

Net.DNSBase.Decode.Domain

Description

Two SGet actions for reading a Domain from wire form: getDomain follows DNS name-compression pointers (RFC 1035 section 4.1.4) for RR types that allow compressed names on input; getDomainNC rejects compression pointers, for RR types that forbid them (such as RRSIG's signer name and the SVCB target).

Synopsis

Read domain names from wire messages

getDomain :: SGet Domain Source #

Parse a wire-form domain with name compression (pointer labels) allowed

This function should only be used when decoding the owner name of resource records, as well as for fields of the initial set of RData types defined in RFC 1035 and several others listed in section 4 of RFC 3597, which also states that future RData types MUST NOT use name compression

getDomainNC :: SGet Domain Source #

Parse a wire-form domain with "No Compression" (i.e. treat pointer labels as invalid)

When defining the decoders for newly standardized RData types, it is generally required to use this function to decode transparent domain fields, as name compression is explicitly forbidden for domain fields of future RData types (see getDomain for reference)