Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/base/iana/class.rs
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ int_enum! {
/// See [RFC 1034] for the introduction of classes, section 3.2 of
/// [RFC 6895] for a discussion of the current state of afairs, and
/// the [DNS CLASSes IANA registry] for an overview of assigned values.
/// This type is complete as of the registry update of 2019-01-28.
/// This type is complete as of the registry update of 2026-07-06.
///
/// [RFC 1034]: https://tools.ietf.org/html/rfc1034
/// [RFC 6895]: https://tools.ietf.org/html/rfc6895
Expand Down
18 changes: 17 additions & 1 deletion src/base/iana/digestalg.rs
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ int_enum! {
/// key digest in the record has been generated.
///
/// For the currently registered values see the [IANA registration].
/// This type is complete as of the registry update of 2012-04-13.
/// This type is complete as of the registry update of 2026-01-13.
///
/// [IANA registration]: https://www.iana.org/assignments/ds-rr-types/ds-rr-types.xhtml#ds-rr-types-1
=>
Expand Down Expand Up @@ -40,6 +40,22 @@ int_enum! {
///
/// [RFC 6605]: https://tools.ietf.org/html/rfc6605
(SHA384 => 4, "SHA-384")

/// Specifies that the GOST R 34.11-2012 hash function is used.
///
/// Use of this hash function is described in [RFC 9558]. Implementing
/// the function is optional.
///
/// [RFC 9558]: https://tools.ietf.org/html/rfc9558
(GOST_R_34_11_2012 => 5, "GOST R 34.11-2012")

/// Specifies that the SM3 hash function is used.
///
/// Use of this hash function is described in [RFC 9563]. Implementing
/// the function is optional.
///
/// [RFC 9563]: https://tools.ietf.org/html/rfc9563
(SM3 => 6, "SM3")
}

int_enum_str_decimal!(DigestAlgorithm, u8);
Expand Down
34 changes: 33 additions & 1 deletion src/base/iana/exterr.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,8 @@ int_enum! {
/// A complementary data can be put in EDNS opt, providing
/// additional information about the cause of DNS errors. Defined
/// in [RFC 8914]. Current registered values can be found in [IANA
/// registry].
/// registry]. This type is complete as of the registry update of
/// 2026-01-13.
///
/// [RFC 8914]: https://tools.ietf.org/html/rfc8914
/// [IANA registry]: https://www.iana.org/assignments/dns-parameters/dns-parameters.xhtml#extended-dns-error-codes
Expand Down Expand Up @@ -150,12 +151,43 @@ int_enum! {
/// its most recent zone being too old or having expired.
(INVALID_DATA => 24, "Invalid Data")

/// The resolver attempted to perform DNSSEC validation, but no signatures
/// are presently valid and at least some have an expiry date before the
/// inception date.
(SIGNATURE_EXPIRED_BEFORE_VALID => 25, "Signature Expired before Valid")

/// The client tried to use QUIC session Zero Round Trip Time (0-RTT) with
/// a non-replayable transaction. The server is not allowed to process
/// that and therefore responds with this error.
(TOO_EARLY => 26, "Too Early")

/// The resolver encountered an NSEC3 iteration value greater than 0.
(UNSUPPORTED_NSEC3_ITERATIONS_VALUE => 27, "Unsupported NSEC3 Iterations Value")

/// The error is returned when the proxy cannot meet the requirements in a
/// PROXY CONTROL Option or the option is malformed.
(UNABLE_TO_CONFORM_TO_POLICY => 28, "Unable to conform to policy")

/// The recursor decided to synthesise (construct an answer without
/// getting it verbatim from an authoritative server previously).
(SYNTHESIZED => 29, "Synthesized")

/// The requested resource record type should not appear in a query.
(INVALID_QUERY_TYPE => 30, "Invalid Query Type")

/// The query is rate-limited, e.g., due to the effect of DNS Response
/// Rate Limiting (RRL) or client IP-address based rate limiting.
(RATE_LIMITED => 31, "Rate Limited")

/// The query caused an over-quota condition.
(OVER_QUOTA => 32, "Over Quota")

/// The resolver is configured with a Negative Trust Anchor for the
/// queried name, disabling DNSSEC validation.
(NEGATIVE_TRUST_ANCHOR => 33, "Negative Trust Anchor")

/// When there are no NS records for a delegated zone.
(NEW_DELEGATION_ONLY => 34, "New Delegation Only")
}

/// Start of the private range for EDE codes.
Expand Down
6 changes: 3 additions & 3 deletions src/base/iana/ipseckey.rs
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@ int_enum! {
/// This type identifies the public key's cryptographic algorithm of the
/// [IPSECKEY].
///
/// For the currently registered values see the [IANA registration]. This
/// type is complete as of 2025-09-09.
/// For the currently registered values see the [IANA registration].
/// This type is complete as of the registry update of 2023-03-15.
///
/// [IPSECKEY]: ../../../rdata/ipseckey/index.html
/// [IANA registration]: https://www.iana.org/assignments/ipseckey-rr-parameters/ipseckey-rr-parameters.xhtml#ipseckey-rr-parameters-1
Expand Down Expand Up @@ -47,7 +47,7 @@ int_enum! {
/// the gateway field of the [IPSECKEY].
///
/// For the currently registered values see the [IANA registration]. This
/// type is complete as of 2025-09-09.
/// type is complete as of the registry update of 2023-03-15.
///
/// [IPSECKEY]: ../../../rdata/ipseckey/index.html
/// [IANA registration]: https://www.iana.org/assignments/ipseckey-rr-parameters/ipseckey-rr-parameters.xhtml#ipseckey-rr-parameters-2
Expand Down
2 changes: 1 addition & 1 deletion src/base/iana/nsec3.rs
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ int_enum! {
/// the [NSEC3].
///
/// For the currently registered values see the [IANA registration]. This
/// type is complete as of 2008-03-05.
/// type is complete as of the registry update of 2021-12-03.
///
/// [NSEC3]: ../../../rdata/rfc5155/index.html
/// [IANA registration]: https://www.iana.org/assignments/dnssec-nsec3-parameters/dnssec-nsec3-parameters.xhtml#dnssec-nsec3-parameters-3
Expand Down
2 changes: 1 addition & 1 deletion src/base/iana/opcode.rs
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ int_enum! {
/// The opcode and its initial set of values are defined in [RFC 1035].
/// Additional values have been defined over time. All currently assigned
/// values can be found in the [IANA registry]. This type is complete as
/// of 2019-12-23.
/// of 2026-07-06.
///
/// [RFC 1035]: https://tools.ietf.org/html/rfc1035
/// [IANA registry]: http://www.iana.org/assignments/dns-parameters/dns-parameters.xhtml#dns-parameters-5
Expand Down
91 changes: 89 additions & 2 deletions src/base/iana/opt.rs
Original file line number Diff line number Diff line change
Expand Up @@ -163,11 +163,98 @@ int_enum! {
/// [draft-bellis-dnsop-edns-tags]: https://datatracker.ietf.org/doc/draft-bellis-dnsop-edns-tags/
(SERVER_TAG => 17, "EDNS-Server-Tag")

/// DeviceID (26946).
/// Report-Channel (18).
///
/// DNS error reporting is a lightweight reporting mechanism that provides
/// the operator of an authoritative server with reports on DNS resource
/// records that fail to resolve or validate. Defined in [RFC9567].
///
/// [RFC9567]: https://datatracker.ietf.org/doc/html/rfc9567
(REPORT_CHANNEL => 18, "Report-Channel")

/// ZONEVERSION (19).
///
/// The DNS ZONEVERSION option is a way for DNS clients to request, and
/// for authoritative DNS servers to provide, information regarding the
/// version of the zone from which a response is generated. Defined in
/// [RFC9660].
///
/// [RFC9660]: https://datatracker.ietf.org/doc/html/rfc9660
(ZONEVERSION => 19, "ZONEVERSION")

/// MQTYPE-Query (20).
///
/// Client to request additional DNS record types to be delivered
/// alongside the primary record type specified in the question section of
/// a DNS QUERY (OpCode=0). Defined in [RFC-ietf-dnssd-multi-qtypes].
///
/// [RFC-ietf-dnssd-multi-qtypes]: https://datatracker.ietf.org/doc/html/draft-ietf-dnssd-multi-qtypes
(MQTYPE_QUERY => 20, "MQTYPE-Query")

/// MQTYPE-Response (21).
///
/// Server to respond with additional DNS records delivered alongside the
/// primary record type specified in the question section of a DNS QUERY
/// (OpCode=0). Defined in [RFC-ietf-dnssd-multi-qtypes].
///
/// [RFC-ietf-dnssd-multi-qtypes]: https://datatracker.ietf.org/doc/html/draft-ietf-dnssd-multi-qtypes
(MQTYPE_RESPONSE => 21, "MQTYPE-Response")

/// EDE-EXTRA-TEXT-LANGUAGE (22).
///
/// This option specifies the language that is used in the EXTRA-TEXT
/// field of EDNS Extended DNS Error options in the same DNS message.
/// Defined in [draft-muks-dns-filtering].
///
/// [draft-muks-dns-filtering]: https://datatracker.ietf.org/doc/html/draft-muks-dns-filtering#name-ede-extra-text-language-edn
(EDE_EXTRA_TEXT_LANGUAGE => 22, "EDE-EXTRA-TEXT-LANGUAGE")

/// FILTERING-CONTACT (23).
///
/// When DNS queries cause filtering to be performed by nameservers and
/// negative responses to be returned due to it, the nameserver MAY return
/// zero or more FILTERING-CONTACT EDNS options in responses, containing
/// contact information of the party that performed the filtering.
/// Defined in [draft-muks-dns-filtering].
///
/// [draft-muks-dns-filtering]: https://datatracker.ietf.org/doc/html/draft-muks-dns-filtering#name-filtering-contact-edns-opti
(FILTERING_CONTACT => 23, "FILTERING-CONTACT")

/// FILTERING-ORGANIZATION (24).
///
/// When DNS queries cause filtering to be performed by nameservers and
/// negative responses to be returned due to it, the nameserver MAY return
/// zero or one FILTERING-ORGANIZATION EDNS option in responses,
/// containing the name of the organization that performed the filtering.
/// Defined in [draft-muks-dns-filtering].
///
/// [draft-muks-dns-filtering]: https://datatracker.ietf.org/doc/html/draft-muks-dns-filtering#name-filtering-organization-edns
(FILTERING_ORGANIZATION => 24, "FILTERING-ORGANIZATION")

/// FILTERING-DB (25).
///
/// When DNS queries cause filtering to be performed by nameservers and
/// negative responses to be returned due to it, the nameserver MAY return
/// zero or one FILTERING-DB EDNS option in responses, containing the
/// identifier, name, or description of the filtering database against
/// which a matched query caused the filtering to occur.
/// Defined in [draft-muks-dns-filtering].
///
/// [draft-muks-dns-filtering]: https://datatracker.ietf.org/doc/html/draft-muks-dns-filtering#name-filtering-db-edns-option
(FILTERING_DB => 25, "FILTERING-DB")

/// Umbrella Ident (20292).
///
/// Ths option is used by the [Cisco Umbrella network device API].
///
/// [Cisco Umbrella network device API]: https://docs.umbrella.com/developer/networkdevices-api/identifying-dns-traffic2
/// [Cisco Umbrella network device API]: https://developer.cisco.com/docs/cloud-security/network-devices-with-cisco-umbrella-dns/#network-devices-with-cisco-umbrella-dns
(UMBRELLA_IDENT => 20292, "Umbrella Ident")

/// DeviceID (26946).
///
/// This option is used by the [Cisco Umbrella network device API].
///
/// [Cisco Umbrella network device API]: https://developer.cisco.com/docs/cloud-security/network-devices-with-cisco-umbrella-dns/#network-devices-with-cisco-umbrella-dns
(DEVICE_ID => 26946, "DeviceId")
}

Expand Down
3 changes: 2 additions & 1 deletion src/base/iana/rcode.rs
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,8 @@ use core::str::FromStr;
/// represented by [TsigRcode].
///
/// All three codes share the same name space. Their values are defined in
/// one registry, [IANA DNS RCODEs]. This type is complete as of 2019-01-28.
/// one registry, [IANA DNS RCODEs]. This type is complete as of the registry
/// update of 2026-07-06.
///
/// [IANA DNS RCODEs]: http://www.iana.org/assignments/dns-parameters/dns-parameters.xhtml#dns-parameters-6
/// [RFC 1035]: https://tools.ietf.org/html/rfc1035
Expand Down
40 changes: 39 additions & 1 deletion src/base/iana/rtype.rs
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ int_enum! {
/// questions. This type represents both these types.
///
/// The currently assigned values are maintained in an [IANA registry].
/// This type is complete as of 2019-01-28.
/// This type is complete as of the registry update of 2026-07-06.
///
/// [IANA registry]: http://www.iana.org/assignments/dns-parameters/dns-parameters.xhtml#dns-parameters-4
///
Expand Down Expand Up @@ -309,6 +309,21 @@ int_enum! {
/// See draft-ietf-dnsop-svcb-httpssvc
(HTTPS => 65, "HTTPS")

/// DSYNC Endpoint discovery for delegation synchronization.
///
/// See RFC 9859.
(DSYNC => 66, "DSYNC")

/// HHIT Hierarchical Host Identity Tag.
///
/// See RFC 9886.
(HHIT => 67, "HHIT")

/// BRID UAS Broadcast Remote Identification
///
/// See RFC 9886.
(BRID => 68, "BRID")

/// SPF.
///
/// RFC 7208.
Expand Down Expand Up @@ -420,6 +435,29 @@ int_enum! {
/// See draft-durand-doa-over-dns.
(DOA => 259, "DOA")

/// AMTRELAY Automatic Multicast Tunneling Relay.
///
/// See RFC 8777.
(AMTRELAY => 260, "AMTRELAY")

/// RESINFO Resolver Information as Key/Value Pairs.
///
/// See RFC 9606.
(RESINFO => 261, "RESINFO")

/// WALLET Public wallet address
(WALLET => 262, "WALLET")

/// CLA BP Convergence Layer Adapter.
///
/// See draft-johnson-dns-ipn-cla-07.
(CLA => 263, "CLA")

/// IPN BP Node Number.
///
/// See draft-johnson-dns-ipn-cla-07.
(IPN => 264, "IPN")

/// DNSSEC trust authorities.
(TA => 32768, "TA")

Expand Down
17 changes: 16 additions & 1 deletion src/base/iana/secalg.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,9 @@ int_enum! {
/// These numbers are used in various security related record types.
///
/// For the currently registered values see the [IANA registration].
/// This type is complete as of the registry update of 2026-01-13.
///
/// [IANA registration]: http://www.iana.org/assignments/dns-sec-alg-numbers/dns-sec-alg-numbers.xhtml#dns-sec-alg-numbers-1].
/// [IANA registration]: http://www.iana.org/assignments/dns-sec-alg-numbers/dns-sec-alg-numbers.xhtml#dns-sec-alg-numbers-1
=>
SecurityAlgorithm, u8;

Expand Down Expand Up @@ -100,6 +101,20 @@ int_enum! {
/// This algorithm is described in RFC 8080.
(ED448 => 16, "ED448")

/// SM2 signing algorithm with SM3 hashing algorithm
///
/// This algorithm is described in [RFC 9563].
///
/// [RFC 9563]: https://datatracker.ietf.org/doc/html/rfc9563
(SM2SM3 => 17, "SM2SM3")

/// GOST R 34.10-2012
///
/// This algorithm is described in [RFC 9558].
///
/// [RFC 9558]: https://datatracker.ietf.org/doc/html/rfc9558
(ECC_GOST12 => 23, "ECC-GOST12")

/// Reserved for Indirect Keys
///
/// This value is reserved by RFC 4034.
Expand Down
4 changes: 2 additions & 2 deletions src/base/iana/sshfp.rs
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ int_enum! {
/// [`Sshfp`] record.
///
/// For the currently registered values see the [IANA registration]. This
/// type is complete as of 2025-09-04.
/// type is complete as of the registry update of 2020-02-25.
///
/// [`Sshfp`]: crate::rdata::sshfp::Sshfp
/// [IANA registration]: https://www.iana.org/assignments/dns-sshfp-rr-parameters/dns-sshfp-rr-parameters.xhtml#dns-sshfp-rr-parameters-2
Expand Down Expand Up @@ -49,7 +49,7 @@ int_enum! {
/// This type selects the algorithm of the public key associated with the [`Sshfp`].
///
/// For the currently registered values see the [IANA registration]. This
/// type is complete as of 2025-09-04.
/// type is complete as of the registry update of 2020-02-25.
///
/// [`Sshfp`]: crate::rdata::sshfp::Sshfp
/// [IANA registration]: https://www.iana.org/assignments/dns-sshfp-rr-parameters/dns-sshfp-rr-parameters.xhtml#dns-sshfp-rr-parameters-1
Expand Down
Loading