| Copyright | (c) Viktor Dukhovni 2026 |
|---|---|
| License | BSD-3-Clause |
| Maintainer | ietf-dane@dukhovni.org |
| Stability | unstable |
| Safe Haskell | None |
| Language | GHC2024 |
Net.DNSBase.RCODE
Contents
Description
The RCODE that the server returns in a DNS response. The
original RCODE was a 4-bit field in the DNS header
(RFC 1035 section 4.1.1);
EDNS extends it to 12 bits via the EXTENDED-RCODE field of
the OPT pseudo-RR
(RFC 6891 section 6.1.3).
See the
IANA DNS RCODEs registry
for the full list.
Synopsis
- data RCODE where
- pattern BADALG :: RCODE
- pattern BADCOOKIE :: RCODE
- pattern BADKEY :: RCODE
- pattern BADMODE :: RCODE
- pattern BADNAME :: RCODE
- pattern BADSIG :: RCODE
- pattern BADTIME :: RCODE
- pattern BADTRUNC :: RCODE
- pattern BADVERS :: RCODE
- pattern DSOTYPENI :: RCODE
- pattern FORMERR :: RCODE
- pattern NOERROR :: RCODE
- pattern NOTAUTH :: RCODE
- pattern NOTIMP :: RCODE
- pattern NOTZONE :: RCODE
- pattern NXDOMAIN :: RCODE
- pattern NXRRSET :: RCODE
- pattern RCODE :: Word16 -> RCODE
- pattern REFUSED :: RCODE
- pattern SERVFAIL :: RCODE
- pattern YXDOMAIN :: RCODE
- pattern YXRRSET :: RCODE
DNS Message response codes
The extended (12-bit) DNS RCODE consisting of 4 bits from the basic DNS header, possibly augmented with 8 more bits from the EDNS header.
Should always be zero in well-formed requests. When decoding replies, the
high eight bits from any EDNS response are combined with the 4-bit RCODE
from the DNS header. When encoding a message, if EDNS is disabled RCODE
values larger than 15 are mapped to FORMERR.
RCODES 12 through 15 are reserved, see IANA
Bundled Patterns
| pattern BADALG :: RCODE | BADALG - [RFC2930] |
| pattern BADCOOKIE :: RCODE | BADCOOKIE - [RFC7873] |
| pattern BADKEY :: RCODE | BADKEY - [RFC2845] |
| pattern BADMODE :: RCODE | BADMODE - [RFC2930] |
| pattern BADNAME :: RCODE | BADNAME - [RFC2930] |
| pattern BADSIG :: RCODE | BADSIG - [RFC2845] |
| pattern BADTIME :: RCODE | BADTIME - [RFC2845] |
| pattern BADTRUNC :: RCODE | BADTRUNC - [RFC4635] |
| pattern BADVERS :: RCODE | BADVERS - [RFC6891] |
| pattern DSOTYPENI :: RCODE | DSOTYPENI - [RFC8490] |
| pattern FORMERR :: RCODE | FORMERR - [RFC1035] |
| pattern NOERROR :: RCODE | NOERROR - [RFC1035] |
| pattern NOTAUTH :: RCODE | NOTAUTH - [RFC2136] |
| pattern NOTIMP :: RCODE | NOTIMP - [RFC1035] |
| pattern NOTZONE :: RCODE | NOTZONE - [RFC2136] |
| pattern NXDOMAIN :: RCODE | NXDOMAIN - [RFC1035] |
| pattern NXRRSET :: RCODE | NXRRSET - [RFC2136] |
| pattern RCODE :: Word16 -> RCODE | Smart constructor ensures provided values are valid. Attempts to construct a values larger than 4095 raises an error. |
| pattern REFUSED :: RCODE | REFUSED - [RFC1035] |
| pattern SERVFAIL :: RCODE | SERVFAIL - [RFC1035] |
| pattern YXDOMAIN :: RCODE | YXDOMAIN - [RFC2136][RFC6672] |
| pattern YXRRSET :: RCODE | YXRRSET - [RFC2136] |
Instances
| Presentable RCODE Source # | |
Defined in Net.DNSBase.Internal.RCODE Methods present :: RCODE -> Builder -> Builder Source # presentLazy :: RCODE -> ByteString -> ByteString Source # | |
| Bounded RCODE Source # | |
| Enum RCODE Source # | |
Defined in Net.DNSBase.Internal.RCODE | |
| Show RCODE Source # | |
| Eq RCODE Source # | |
| Ord RCODE Source # | |