hickory-server 0.26.2

hickory-server is a library for integrating safe and secure DNS servers into an async Tokio application. It supports a variety of protocol features (DNSSEC, TSIG, SIG(0), DoT, DoQ, DoH). Servers can be operated in an authoritative role, or as a forwarding resolver, stub resolver, or a recursive resolver (experimental).
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2021"
rust-version = "1.88"
name = "hickory-server"
version = "0.26.2"
authors = ["The contributors to Hickory DNS"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = """
hickory-server is a library for integrating safe and secure DNS servers into
an async Tokio application. It supports a variety of protocol features
(DNSSEC, TSIG, SIG(0), DoT, DoQ, DoH). Servers can be operated in an authoritative
role, or as a forwarding resolver, stub resolver, or a recursive resolver
(experimental).
"""
homepage = "https://hickory-dns.org/"
documentation = "https://docs.rs/hickory-server"
readme = "README.md"
keywords = [
    "dns",
    "dnssec",
]
categories = ["network-programming"]
license = "MIT OR Apache-2.0"
repository = "https://github.com/hickory-dns/hickory-dns"

[package.metadata.docs.rs]
all-features = true
default-target = "x86_64-unknown-linux-gnu"
targets = [
    "x86_64-apple-darwin",
    "x86_64-pc-windows-msvc",
]
rustdoc-args = [
    "--cfg",
    "docsrs",
]

[package.metadata.cargo-all-features]
skip_optional_dependencies = true
max_combination_size = 2
denylist = [
    "__tls",
    "__https",
    "__quic",
    "__h3",
    "__dnssec",
]

[features]
__dnssec = []
__h3 = [
    "dep:h3",
    "dep:h3-quinn",
    "__quic",
]
__https = [
    "dep:h2",
    "dep:http",
    "__tls",
]
__quic = ["__tls"]
__tls = [
    "dep:rustls",
    "dep:tokio-rustls",
]
blocklist = ["resolver"]
dnssec-aws-lc-rs = [
    "hickory-proto/dnssec-aws-lc-rs",
    "hickory-resolver?/dnssec-aws-lc-rs",
    "serde/rc",
    "__dnssec",
]
dnssec-ring = [
    "hickory-proto/dnssec-ring",
    "hickory-resolver?/dnssec-ring",
    "serde/rc",
    "__dnssec",
]
h3-aws-lc-rs = [
    "hickory-net/h3-aws-lc-rs",
    "hickory-resolver?/h3-aws-lc-rs",
    "quic-aws-lc-rs",
    "__h3",
]
h3-ring = [
    "hickory-net/h3-ring",
    "hickory-resolver?/h3-ring",
    "quic-ring",
    "__h3",
]
https-aws-lc-rs = [
    "hickory-net/https-aws-lc-rs",
    "hickory-resolver?/https-aws-lc-rs",
    "tls-aws-lc-rs",
    "__https",
]
https-ring = [
    "hickory-net/https-ring",
    "hickory-resolver?/https-ring",
    "tls-ring",
    "__https",
]
metrics = [
    "hickory-resolver?/metrics",
    "dep:metrics",
]
quic-aws-lc-rs = [
    "hickory-net/quic-aws-lc-rs",
    "hickory-resolver?/quic-aws-lc-rs",
    "tls-aws-lc-rs",
    "__quic",
]
quic-ring = [
    "hickory-net/quic-ring",
    "hickory-resolver?/quic-ring",
    "tls-ring",
    "__quic",
]
recursor = ["hickory-resolver/recursor"]
resolver = ["dep:hickory-resolver"]
rustls-platform-verifier = ["hickory-resolver?/rustls-platform-verifier"]
sqlite = ["dep:rusqlite"]
testing = []
tls-aws-lc-rs = [
    "hickory-net/tls-aws-lc-rs",
    "hickory-resolver?/tls-aws-lc-rs",
    "__tls",
]
tls-ring = [
    "hickory-net/tls-ring",
    "hickory-resolver?/tls-ring",
    "__tls",
]
toml = [
    "dep:toml",
    "hickory-resolver?/toml",
]
webpki-roots = ["hickory-resolver?/webpki-roots"]

[lib]
name = "hickory_server"
path = "src/lib.rs"

[dependencies.async-trait]
version = "0.1.43"

[dependencies.bytes]
version = "1"

[dependencies.cfg-if]
version = "1"

[dependencies.data-encoding]
version = "2.2.0"
default-features = false

[dependencies.futures-util]
version = "0.3.5"
features = ["std"]
default-features = false

[dependencies.h2]
version = "0.4.0"
features = ["stream"]
optional = true

[dependencies.h3]
version = "0.0.8"
optional = true

[dependencies.h3-quinn]
version = "0.0.10"
optional = true

[dependencies.hickory-net]
version = "0.26.0"
features = ["tokio"]
default-features = false

[dependencies.hickory-proto]
version = "0.26.0"
features = [
    "std",
    "serde",
]
default-features = false

[dependencies.hickory-resolver]
version = "0.26.0"
features = [
    "serde",
    "system-config",
    "tokio",
]
optional = true
default-features = false

[dependencies.http]
version = "1.1"
optional = true

[dependencies.ipnet]
version = "2.11.0"
features = [
    "serde",
    "std",
]
default-features = false

[dependencies.metrics]
version = "0.24.1"
optional = true

[dependencies.prefix-trie]
version = "0.8.4"

[dependencies.rusqlite]
version = "0.39"
features = [
    "bundled",
    "time",
]
optional = true

[dependencies.rustls]
version = "0.23.23"
features = [
    "logging",
    "std",
    "tls12",
]
optional = true
default-features = false

[dependencies.serde]
version = "1.0"
features = ["derive"]

[dependencies.thiserror]
version = "2"
default-features = false

[dependencies.time]
version = "0.3"

[dependencies.tokio]
version = "1.36"
features = [
    "macros",
    "net",
    "sync",
]

[dependencies.tokio-rustls]
version = "0.26"
optional = true
default-features = false

[dependencies.tokio-util]
version = "0.7.9"

[dependencies.toml]
version = "1.0.1"
optional = true

[dependencies.tracing]
version = "0.1.30"
default-features = false

[dev-dependencies.futures-executor]
version = "0.3.5"
features = ["std"]
default-features = false

[dev-dependencies.tokio]
version = "1.36"
features = [
    "macros",
    "rt",
]

[dev-dependencies.tracing-subscriber]
version = "0.3.10"
features = [
    "env-filter",
    "fmt",
    "std",
]
default-features = false

[lints.clippy]
bool_to_int_with_if = "allow"
default_trait_access = "warn"
manual_let_else = "warn"
or_fun_call = "warn"
single_component_path_imports = "allow"
unimplemented = "warn"
upper_case_acronyms = "allow"
use_self = "warn"

[lints.rust]
non_snake_case = "warn"
non_upper_case_globals = "warn"
rust_2018_idioms = "warn"
unnameable_types = "warn"
unreachable_pub = "warn"
unused_extern_crates = "warn"
unused_import_braces = "warn"
unused_qualifications = "warn"

[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = ["cfg(nightly)"]