hickory-proto 0.25.0-alpha.4

Hickory DNS is a safe and secure DNS library. This is the foundational DNS protocol library for all Hickory DNS projects.
Documentation
[[bench]]
name = "lib"
path = "benches/lib.rs"

[[bench]]
name = "lower_name_benches"
path = "benches/lower_name_benches.rs"

[[bench]]
name = "name_benches"
path = "benches/name_benches.rs"

[dependencies.async-recursion]
version = "1.0.0"

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

[dependencies.backtrace]
optional = true
version = "0.3.50"

[dependencies.bitflags]
optional = true
version = "2.4.1"

[dependencies.bytes]
optional = true
version = "1"

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

[dependencies.data-encoding]
version = "2.2.0"

[dependencies.enum-as-inner]
version = "0.6"

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

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

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

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

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

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

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

[dependencies.idna]
version = "1.0"

[dependencies.ipnet]
version = "2.3.0"

[dependencies.js-sys]
optional = true
version = "0.3.44"

[dependencies.native-tls]
optional = true
version = "0.2"

[dependencies.once_cell]
version = "1.20.0"

[dependencies.openssl]
features = ["v102", "v110"]
optional = true
version = "0.10.55"

[dependencies.pin-project-lite]
optional = true
version = "0.2"

[dependencies.quinn]
default-features = false
features = ["log", "runtime-tokio", "rustls"]
optional = true
version = "0.11.2"

[dependencies.rand]
version = "0.8"

[dependencies.ring]
features = ["std"]
optional = true
version = "0.17"

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

[dependencies.rustls-native-certs]
optional = true
version = "0.8"

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

[dependencies.socket2]
optional = true
version = "0.5"

[dependencies.thiserror]
version = "2"

[dependencies.time]
optional = true
version = "0.3"

[dependencies.tinyvec]
features = ["alloc"]
version = "1.1.1"

[dependencies.tokio]
features = ["io-util", "macros"]
optional = true
version = "1.21"

[dependencies.tokio-native-tls]
optional = true
version = "0.3.0"

[dependencies.tokio-openssl]
optional = true
version = "0.6.0"

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

[dependencies.tracing]
version = "0.1.30"

[dependencies.url]
version = "2.4.0"

[dependencies.wasm-bindgen-crate]
optional = true
package = "wasm-bindgen"
version = "0.2.58"

[dependencies.webpki-roots]
optional = true
version = "0.26"

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

[dev-dependencies.openssl]
features = ["v102", "v110"]
version = "0.10.55"

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

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

[features]
backtrace = ["dep:backtrace"]
default = ["tokio-runtime"]
dns-over-h3 = ["dep:h3", "dep:h3-quinn", "dep:quinn", "dep:http", "dns-over-quic"]
dns-over-https-rustls = ["dep:bytes", "dep:h2", "dep:http", "dns-over-rustls", "tokio-runtime"]
dns-over-native-tls = ["dns-over-tls", "dep:native-tls", "dep:tokio-native-tls", "tokio-runtime"]
dns-over-openssl = ["dns-over-tls", "dep:openssl", "dep:tokio-openssl", "tokio-runtime"]
dns-over-quic = ["dep:quinn", "dns-over-rustls", "dep:bytes", "dep:pin-project-lite", "tokio-runtime"]
dns-over-rustls = ["dns-over-tls", "rustls/ring", "dep:tokio-rustls", "tokio-runtime"]
dns-over-tls = []
dnssec = ["dep:bitflags", "dep:time"]
dnssec-openssl = ["dnssec", "dep:openssl"]
dnssec-ring = ["dnssec", "dep:ring"]
mdns = ["socket2/all"]
native-certs = ["dep:rustls-native-certs"]
serde = ["dep:serde", "url/serde"]
testing = []
text-parsing = []
tokio-runtime = ["tokio/net", "tokio/rt", "tokio/time", "tokio/rt-multi-thread"]
wasm-bindgen = ["dep:wasm-bindgen-crate", "dep:js-sys"]

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

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

[package]
authors = ["The contributors to Hickory DNS"]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = false
categories = ["network-programming"]
description = """
Hickory DNS is a safe and secure DNS library. This is the foundational DNS protocol library for all Hickory DNS projects.
"""
documentation = "https://docs.rs/hickory-proto"
edition = "2021"
homepage = "https://hickory-dns.org/"
keywords = ["DNS", "BIND", "dig", "named", "dnssec"]
license = "MIT OR Apache-2.0"
name = "hickory-proto"
readme = "README.md"
repository = "https://github.com/hickory-dns/hickory-dns"
rust-version = "1.71.1"
version = "0.25.0-alpha.4"

[package.metadata.cargo-all-features]
denylist = ["dnssec"]
max_combination_size = 2
skip_optional_dependencies = true

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

[[test]]
name = "integration"
path = "tests/integration/main.rs"