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

Net.DNSBase.RData.SOA

Description

Two zone-administration RR types: T_soa is the mandatory zone-apex record describing zone serial, refresh retry expire / negative-TTL timing, and the responsible operator's mailbox. T_rp is an optional record pointing at a person responsible for a name plus a separate TXT record with free-form contact details.

Synopsis

Documentation

data T_soa Source #

The SOA resource record (RFC 1035 section 3.3.13) — the mandatory zone-apex record carrying zone serial, refresh, retry, expire, and negative-response TTL alongside the master nameserver and the operator's mailbox. Returned in negative responses to convey the negative-cache TTL, and in the AXFR zone-transfer protocol.

The mname and rname fields are subject to wire-form name compression on encode (RFC 3597 section 4) and canonicalise to lower case (RFC 4034 section 6.2). The Eq and Ord instances compare the two domain fields in their canonical wire form (via equalWireHost / compareWireHost) and the remaining fields in wire-encoding order, so Ord is canonical: it agrees with lexicographic ordering of the full canonical wire form.

See T_rp for the responsible-person record.

Constructors

T_SOA 

Fields

Instances

Instances details
Presentable T_soa Source # 
Instance details

Defined in Net.DNSBase.RData.SOA

KnownRData T_soa Source # 
Instance details

Defined in Net.DNSBase.RData.SOA

Associated Types

type RDataExtensionVal T_soa 
Instance details

Defined in Net.DNSBase.RData.SOA

Methods

rdataExtensionVal :: forall b -> b ~ T_soa => RDataExtensionVal T_soa Source #

rdType :: forall b -> b ~ T_soa => RRTYPE Source #

rdTypePres :: forall b -> b ~ T_soa => Builder -> Builder Source #

rdDecode :: forall b -> b ~ T_soa => RDataExtensionVal T_soa -> Int -> SGet RData Source #

rdEncode :: T_soa -> SPut s RData Source #

cnEncode :: T_soa -> SPut s RData Source #

Show T_soa Source # 
Instance details

Defined in Net.DNSBase.RData.SOA

Methods

showsPrec :: Int -> T_soa -> ShowS #

show :: T_soa -> String #

showList :: [T_soa] -> ShowS #

Eq T_soa Source #

Equality compares the mname and rname fields in canonical wire form, the remaining fields pointwise.

Instance details

Defined in Net.DNSBase.RData.SOA

Methods

(==) :: T_soa -> T_soa -> Bool #

(/=) :: T_soa -> T_soa -> Bool #

Ord T_soa Source #

Canonical: compares the mname and rname fields in canonical wire form and the remaining fields in wire-encoding order, so the result matches lexicographic comparison of the canonical wire form.

Instance details

Defined in Net.DNSBase.RData.SOA

Methods

compare :: T_soa -> T_soa -> Ordering #

(<) :: T_soa -> T_soa -> Bool #

(<=) :: T_soa -> T_soa -> Bool #

(>) :: T_soa -> T_soa -> Bool #

(>=) :: T_soa -> T_soa -> Bool #

max :: T_soa -> T_soa -> T_soa #

min :: T_soa -> T_soa -> T_soa #

type RDataExtensionVal T_soa Source # 
Instance details

Defined in Net.DNSBase.RData.SOA

data T_rp Source #

The RP resource record (RFC 1183 section 2.2) — the responsible person for a name: an mbox-dname encoding an email address (the first label is the local part, per the usual DNS mailbox-name convention), and a txt-dname pointing at a T_txt record with free-form contact details.

 +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
 /                   mbox-dname                  /
 +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
 /                   txt-dname                   /
 +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+

Neither field is wire-form name-compressed on encode (RFC 3597 section 4) but compression is tolerated on decode. Both fields canonicalise to lower case (RFC 4034 section 6.2, RFC 6840 section 5.1). The Eq and Ord instances compare both fields in canonical wire form (via equalWireHost / compareWireHost); since the field order matches the wire encoding, Ord is canonical.

See T_soa for the mandatory zone-apex record.

Constructors

T_RP 

Fields

Instances

Instances details
Presentable T_rp Source # 
Instance details

Defined in Net.DNSBase.RData.SOA

KnownRData T_rp Source # 
Instance details

Defined in Net.DNSBase.RData.SOA

Associated Types

type RDataExtensionVal T_rp 
Instance details

Defined in Net.DNSBase.RData.SOA

Methods

rdataExtensionVal :: forall b -> b ~ T_rp => RDataExtensionVal T_rp Source #

rdType :: forall b -> b ~ T_rp => RRTYPE Source #

rdTypePres :: forall b -> b ~ T_rp => Builder -> Builder Source #

rdDecode :: forall b -> b ~ T_rp => RDataExtensionVal T_rp -> Int -> SGet RData Source #

rdEncode :: T_rp -> SPut s RData Source #

cnEncode :: T_rp -> SPut s RData Source #

Show T_rp Source # 
Instance details

Defined in Net.DNSBase.RData.SOA

Methods

showsPrec :: Int -> T_rp -> ShowS #

show :: T_rp -> String #

showList :: [T_rp] -> ShowS #

Eq T_rp Source # 
Instance details

Defined in Net.DNSBase.RData.SOA

Methods

(==) :: T_rp -> T_rp -> Bool #

(/=) :: T_rp -> T_rp -> Bool #

Ord T_rp Source # 
Instance details

Defined in Net.DNSBase.RData.SOA

Methods

compare :: T_rp -> T_rp -> Ordering #

(<) :: T_rp -> T_rp -> Bool #

(<=) :: T_rp -> T_rp -> Bool #

(>) :: T_rp -> T_rp -> Bool #

(>=) :: T_rp -> T_rp -> Bool #

max :: T_rp -> T_rp -> T_rp #

min :: T_rp -> T_rp -> T_rp #

type RDataExtensionVal T_rp Source # 
Instance details

Defined in Net.DNSBase.RData.SOA