trust-dns-resolver 0.22.0

Trust-DNS is a safe and secure DNS library. This Resolver library uses the Client library to perform all DNS queries. The Resolver is intended to be a high-level library for any DNS record resolution see Resolver and AsyncResolver for supported resolution types. The Client can be used for other queries.
Documentation
[package]
name = "trust-dns-resolver"
version = "0.22.0"
authors = ["Benjamin Fry <benjaminfry@me.com>"]
edition = "2018"

# A short blurb about the package. This is not rendered in any format when
# uploaded to crates.io (aka this is not markdown)
description = """
Trust-DNS is a safe and secure DNS library. This Resolver library  uses the Client library to perform all DNS queries. The Resolver is intended to be a high-level library for any DNS record resolution see Resolver and AsyncResolver for supported resolution types. The Client can be used for other queries.
"""

# These URLs point to more information about the repository
documentation = "https://docs.rs/trust-dns-resolver"
homepage = "http://www.trust-dns.org/index.html"
repository = "https://github.com/bluejekyll/trust-dns"

# This points to a file in the repository (relative to this Cargo.toml). The
# contents of this file are stored and indexed in the registry.
readme = "README.md"

# This is a small list of keywords used to categorize and search for this
# package.
keywords = ["DNS", "BIND", "dig", "named", "dnssec"]
categories = ["network-programming"]

# This is a string description of the license for this package. Currently
# crates.io will validate the license provided against a whitelist of known
# license identifiers from http://spdx.org/licenses/. Multiple licenses can
# be separated with a `/`
license = "MIT/Apache-2.0"

[badges]
#github-actions = { repository = "bluejekyll/trust-dns", branch = "main", workflow = "test" }
codecov = { repository = "bluejekyll/trust-dns", branch = "main", service = "github" }
maintenance = { status = "actively-developed" }

[features]
default = ["system-config", "tokio-runtime"]
#backtrace = ["dep:backtrace", "trust-dns-proto/backtrace"]
dns-over-native-tls = ["dns-over-tls", "tokio-native-tls", "trust-dns-proto/dns-over-native-tls"]
# DNS over TLS with OpenSSL currently needs a good way to set default CAs, use rustls or native-tls
dns-over-openssl = ["dns-over-tls", "trust-dns-proto/dns-over-openssl", "tokio-openssl"]
dns-over-rustls = ["dns-over-tls", "rustls", "tokio-rustls", "trust-dns-proto/dns-over-rustls", "webpki-roots"]
dns-over-tls = []

# This requires some TLS library, currently only rustls is supported
dns-over-https-rustls = ["trust-dns-proto/dns-over-https-rustls", "dns-over-rustls", "dns-over-https"]
dns-over-https = ["trust-dns-proto/dns-over-https"]

dns-over-quic = ["rustls/quic", "dns-over-rustls", "trust-dns-proto/dns-over-quic"]

dnssec-openssl = ["dnssec", "trust-dns-proto/dnssec-openssl"]
dnssec-ring = ["dnssec", "trust-dns-proto/dnssec-ring"]
dnssec = []

serde-config = ["serde", "trust-dns-proto/serde-config"]
system-config = ["ipconfig", "resolv-conf"]

# # enables experimental the mDNS (multicast) feature
# TODO: we will be revisiting how mdns is built into the resolver...
#mdns = ["trust-dns-proto/mdns"]

testing = []
tokio-runtime = ["tokio/rt", "trust-dns-proto/tokio-runtime"]

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

[dependencies]
#backtrace = { version = "0.3.50", optional = true }
cfg-if = "1.0.0"
futures-util = { version = "0.3.5", default-features = false, features = ["std"] }
lazy_static = "1.2.0"
lru-cache = "0.1.2"
parking_lot = "0.12"
resolv-conf = { version = "0.7.0", optional = true, features = ["system"] }
rustls = { version = "0.20.0", optional = true }
serde = { version = "1.0", features = ["derive"], optional = true }
smallvec = "1.6"
thiserror = "1.0.20"
tracing = "0.1.30"
tokio = { version = "1.0", optional = true }
tokio-native-tls = { version = "0.3", optional = true }
tokio-openssl = { version = "0.6.0", optional = true }
tokio-rustls = { version = "0.23.0", optional = true }
trust-dns-proto = { version = "0.22.0", path = "../proto", default-features = false }
webpki-roots = { version = "0.22.1", optional = true }

[target.'cfg(windows)'.dependencies]
ipconfig = { version = "0.3.0", optional = true }

[dev-dependencies]
futures-executor = { version = "0.3.5", default-features = false, features = ["std"] }
tracing-subscriber = { version = "0.3", features = ["std", "fmt", "env-filter"] }

[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"]