1[package]
2name = "trust-dns-resolver"
3version = "0.20.3"
4authors = ["Benjamin Fry <benjaminfry@me.com>"]
5edition = "2018"
6
7# A short blurb about the package. This is not rendered in any format when
8# uploaded to crates.io (aka this is not markdown)
9description = """
10Trust-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.
11"""
12
13# These URLs point to more information about the repository
14documentation = "https://docs.rs/trust-dns-resolver"
15homepage = "http://www.trust-dns.org/index.html"
16repository = "https://github.com/bluejekyll/trust-dns"
17
18# This points to a file in the repository (relative to this Cargo.toml). The
19# contents of this file are stored and indexed in the registry.
20readme = "README.md"
21
22# This is a small list of keywords used to categorize and search for this
23# package.
24keywords = ["DNS", "BIND", "dig", "named", "dnssec"]
25categories = ["network-programming"]
26
27# This is a string description of the license for this package. Currently
28# crates.io will validate the license provided against a whitelist of known
29# license identifiers from http://spdx.org/licenses/. Multiple licenses can
30# be separated with a `/`
31license = "MIT/Apache-2.0"
32
33[badges]
34#github-actions = { repository = "bluejekyll/trust-dns", branch = "main", workflow = "test" }
35codecov = { repository = "bluejekyll/trust-dns", branch = "main", service = "github" }
36maintenance = { status = "actively-developed" }
37
38[features]
39default = ["system-config", "tokio-runtime"]
40backtrace = ["trust-dns-proto/backtrace"]
41dns-over-native-tls = ["dns-over-tls", "tokio-native-tls", "trust-dns-native-tls"]
42# DNS over TLS with OpenSSL currently needs a good way to set default CAs, use rustls or native-tls
43dns-over-openssl = ["dns-over-tls", "trust-dns-openssl", "tokio-openssl"]
44dns-over-rustls = ["dns-over-tls", "rustls", "tokio-rustls", "trust-dns-rustls", "webpki-roots"]
45dns-over-tls = []
46
47# This requires some TLS library, currently only rustls is supported
48dns-over-https-rustls = ["trust-dns-https", "dns-over-rustls", "dns-over-https"]
49dns-over-https = []
50
51dnssec-openssl = ["dnssec", "trust-dns-proto/dnssec-openssl"]
52dnssec-ring = ["dnssec", "trust-dns-proto/dnssec-ring"]
53dnssec = []
54
55serde-config = ["serde", "trust-dns-proto/serde-config"]
56system-config = ["ipconfig", "resolv-conf"]
57
58# enables experimental the mDNS (multicast) feature
59mdns = ["trust-dns-proto/mdns"]
60
61testing = []
62tokio-runtime = ["tokio/rt", "trust-dns-proto/tokio-runtime"]
63
64[lib]
65name = "trust_dns_resolver"
66path = "src/lib.rs"
67
68[dependencies]
69cfg-if = "1.0.0"
70futures-util = { version = "0.3.5", default-features = false, features = ["std"] }
71lazy_static = "1.0"
72log = "0.4"
73lru-cache = "0.1.2"
74parking_lot = "0.11"
75resolv-conf = { version = "0.7.0", optional = true, features = ["system"] }
76rustls = {version  = "0.19", optional = true}
77serde = { version = "1.0", features = ["derive"], optional = true }
78smallvec = "1.6"
79thiserror = "1.0.20"
80tokio = { version = "1.0", optional = true }
81tokio-native-tls = { version = "0.3", optional = true }
82tokio-openssl = { version = "0.6.0", optional = true }
83tokio-rustls = { version = "0.22", optional = true }
84trust-dns-https = { version = "0.20.3", path = "../https", optional = true }
85trust-dns-native-tls = { version = "0.20.3", path = "../native-tls", optional = true }
86trust-dns-openssl = { version = "0.20.3", path = "../openssl", optional = true }
87trust-dns-proto = { version = "0.20.3", path = "../proto", default-features = false }
88trust-dns-rustls = { version = "0.20.3", path = "../rustls", optional = true }
89webpki-roots = { version = "0.21", optional = true }
90
91[target.'cfg(windows)'.dependencies]
92ipconfig = { version = "0.2.2", optional = true }
93
94[dev-dependencies]
95env_logger = "0.8"
96futures-executor = { version = "0.3.5", default-features = false, features = ["std"] }
97