# 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 = "2018"
name = "trust-dns-resolver"
version = "0.22.0"
authors = ["Benjamin Fry <benjaminfry@me.com>"]
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.
"""
homepage = "http://www.trust-dns.org/index.html"
documentation = "https://docs.rs/trust-dns-resolver"
readme = "README.md"
keywords = [
    "DNS",
    "BIND",
    "dig",
    "named",
    "dnssec",
]
categories = ["network-programming"]
license = "MIT/Apache-2.0"
repository = "https://github.com/bluejekyll/trust-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",
]

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

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

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

[dependencies.lazy_static]
version = "1.2.0"

[dependencies.lru-cache]
version = "0.1.2"

[dependencies.parking_lot]
version = "0.12"

[dependencies.resolv-conf]
version = "0.7.0"
features = ["system"]
optional = true

[dependencies.rustls]
version = "0.20.0"
optional = true

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

[dependencies.smallvec]
version = "1.6"

[dependencies.thiserror]
version = "1.0.20"

[dependencies.tokio]
version = "1.0"
optional = true

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

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

[dependencies.tokio-rustls]
version = "0.23.0"
optional = true

[dependencies.tracing]
version = "0.1.30"

[dependencies.trust-dns-proto]
version = "0.22.0"
default-features = false

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

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

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

[features]
default = [
    "system-config",
    "tokio-runtime",
]
dns-over-https = ["trust-dns-proto/dns-over-https"]
dns-over-https-rustls = [
    "trust-dns-proto/dns-over-https-rustls",
    "dns-over-rustls",
    "dns-over-https",
]
dns-over-native-tls = [
    "dns-over-tls",
    "tokio-native-tls",
    "trust-dns-proto/dns-over-native-tls",
]
dns-over-openssl = [
    "dns-over-tls",
    "trust-dns-proto/dns-over-openssl",
    "tokio-openssl",
]
dns-over-quic = [
    "rustls/quic",
    "dns-over-rustls",
    "trust-dns-proto/dns-over-quic",
]
dns-over-rustls = [
    "dns-over-tls",
    "rustls",
    "tokio-rustls",
    "trust-dns-proto/dns-over-rustls",
    "webpki-roots",
]
dns-over-tls = []
dnssec = []
dnssec-openssl = [
    "dnssec",
    "trust-dns-proto/dnssec-openssl",
]
dnssec-ring = [
    "dnssec",
    "trust-dns-proto/dnssec-ring",
]
serde-config = [
    "serde",
    "trust-dns-proto/serde-config",
]
system-config = [
    "ipconfig",
    "resolv-conf",
]
testing = []
tokio-runtime = [
    "tokio/rt",
    "trust-dns-proto/tokio-runtime",
]

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

[badges.codecov]
branch = "main"
repository = "bluejekyll/trust-dns"
service = "github"

[badges.maintenance]
status = "actively-developed"
