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

Net.DNSBase.EDNS.Option.EDE

Description

 
Synopsis

Documentation

data O_ede Source #

Extended DNS Error

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          INFO-CODE            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
/ EXTRA-TEXT ...                /
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

The decoded value carries the wire-format info-code and extra text alongside an optional friendly name (edeName) looked up from the resolver's EDE name table. An empty edeName denotes "no entry in the table": the Presentable instance falls back to a bare numeric code in that case.

The OptionExtensionVal for O_ede is the name registry — an IntMap from info-code to user-facing name. Applications can register new names or override standard ones via extendEdnsOptionWithValue on O_ede, passing the (code, name) pair to add.

Constructors

O_EDE 

Fields

Instances

Instances details
KnownEdnsOption O_ede Source # 
Instance details

Defined in Net.DNSBase.EDNS.Option.EDE

Associated Types

type OptionExtensionVal O_ede 
Instance details

Defined in Net.DNSBase.EDNS.Option.EDE

Methods

optionExtensionVal :: forall b -> b ~ O_ede => OptionExtensionVal O_ede Source #

optNum :: forall b -> b ~ O_ede => OptNum Source #

optPres :: forall b -> b ~ O_ede => Builder -> Builder Source #

optEncode :: forall s r. (Typeable r, Eq r, Show r) => O_ede -> SPut s r Source #

optDecode :: forall b -> b ~ O_ede => OptionExtensionVal b -> Int -> SGet EdnsOption Source #

Presentable O_ede Source #

Presentation form modelled after BIND dig:

9 (DNSKEY Missing): "no SEP matching the DS found for dnssec-failed.org."

The numeric code is always shown. The friendly name (parenthesised, raw — registry tags don't need quoting) and trailing colon+text (DNS text quoting applied — the EXTRA-TEXT is free-form payload) appear when present; an unregistered code with no extra text renders as just the bare number.

Instance details

Defined in Net.DNSBase.EDNS.Option.EDE

Show O_ede Source # 
Instance details

Defined in Net.DNSBase.EDNS.Option.EDE

Methods

showsPrec :: Int -> O_ede -> ShowS #

show :: O_ede -> String #

showList :: [O_ede] -> ShowS #

Eq O_ede Source # 
Instance details

Defined in Net.DNSBase.EDNS.Option.EDE

Methods

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

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

ValueExtensible O_ede (IntMap ShortByteString) Source # 
Instance details

Defined in Net.DNSBase.EDNS.Option.EDE

Associated Types

type ValueExtensionArg O_ede b 
Instance details

Defined in Net.DNSBase.EDNS.Option.EDE

Methods

extendByValue :: forall t -> t ~ O_ede => forall b. ValueExtensionArg t b => b -> IntMap ShortByteString -> IntMap ShortByteString Source #

type OptionExtensionVal O_ede Source # 
Instance details

Defined in Net.DNSBase.EDNS.Option.EDE

type ValueExtensionArg O_ede b Source # 
Instance details

Defined in Net.DNSBase.EDNS.Option.EDE