Skip to main content

Module resolver

Module resolver 

Source
Expand description

Transport-aware DNS resolver construction.

Both the validation pipeline and the dns query subcommand build Hickory resolvers from configured DNS endpoints. The resolver setup is identical for both surfaces; only the source of the configuration differs (legacy ValidationEndpointConfig for validation, the per-server [servers.dns|dot|doh|doq] blocks for query). This module provides:

DoQ support is gated behind the doq Cargo feature. On default builds, a target with ValidationTransport::Doq returns ValidationFailureKind::UnsupportedTransport.

Structs§

ResolverTarget
Minimal data a resolver build needs, transport-tagged.

Enums§

ResolverKind
Where a ResolverTarget was sourced from.

Constants§

DEFAULT_TIMEOUT_MS
Default per-attempt timeout when no override is supplied.

Functions§

build_resolver
Build a Hickory Resolver for a target with the target’s timeout.
classify_hickory_error
Map a Hickory error string into a stable ValidationFailureKind.
resolver_config
Build a ResolverConfig for a target.