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

Net.DNSBase.RData.CAA

Description

 
Synopsis

Certification Authority Authorisation

data T_caa Source #

The CAA resource record (RFC 8659 section 4.1) — three fields: an 8-bit flag byte, an ASCII-alphanumeric property tag (1..255 bytes), and the property's value (free-form bytes).

Tags are compared case-sensitively when comparing T_caa RData objects. CAs are required by RFC 8659 to handle tags case-insensitively; that's a check for application-layer code, not for the wire-format codec. Use validCaaTag to verify a tag's syntactic constraints before encoding.

The Ord instance compares the flag byte, then tag length, then tag bytes, then value bytes — wire-encoding order, so it agrees with the canonical RR-content ordering of RFC 4034 section 6.2.

Instances

Instances details
Presentable T_caa Source # 
Instance details

Defined in Net.DNSBase.RData.CAA

KnownRData T_caa Source # 
Instance details

Defined in Net.DNSBase.RData.CAA

Associated Types

type RDataExtensionVal T_caa 
Instance details

Defined in Net.DNSBase.RData.CAA

Methods

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

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

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

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

rdEncode :: T_caa -> SPut s RData Source #

cnEncode :: T_caa -> SPut s RData Source #

Show T_caa Source # 
Instance details

Defined in Net.DNSBase.RData.CAA

Methods

showsPrec :: Int -> T_caa -> ShowS #

show :: T_caa -> String #

showList :: [T_caa] -> ShowS #

Eq T_caa Source # 
Instance details

Defined in Net.DNSBase.RData.CAA

Methods

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

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

Ord T_caa Source # 
Instance details

Defined in Net.DNSBase.RData.CAA

Methods

compare :: T_caa -> T_caa -> Ordering #

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

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

(>) :: T_caa -> T_caa -> Bool #

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

max :: T_caa -> T_caa -> T_caa #

min :: T_caa -> T_caa -> T_caa #

type RDataExtensionVal T_caa Source # 
Instance details

Defined in Net.DNSBase.RData.CAA

validCaaTag :: ShortByteString -> Bool Source #

Verify a CAA tag's syntactic constraints: non-empty and made entirely of ASCII alphanumeric bytes (RFC 8659 section 4.2). Required before encoding; the decoder applies the same check and rejects a wire-form T_caa whose tag fails it.