[package] name = "trust-dns-proto" version = "0.22.0" edition = "2018" authors = ["Benjamin Fry "] # 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 is the foundational DNS protocol library for all Trust-DNS projects. """ # These URLs point to more information about the repository documentation = "https://docs.rs/trust-dns-proto" 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] dns-over-tls = [] dns-over-rustls = ["dns-over-tls", "rustls", "rustls-pemfile", "tokio-rustls", "webpki"] dns-over-native-tls = ["dns-over-tls", "native-tls", "tokio-native-tls"] dns-over-openssl = ["dns-over-tls", "openssl", "tokio-openssl"] dns-over-https-rustls = ["dns-over-https", "dns-over-rustls", "webpki-roots"] dns-over-https = ["bytes", "dns-over-tls", "h2", "http"] dns-over-quic = ["quinn", "rustls/quic", "dns-over-rustls", "bytes", "webpki-roots"] dnssec-openssl = ["dnssec", "openssl"] dnssec-ring = ["dnssec", "ring"] dnssec = [] testing = [] tokio-runtime = ["tokio/net", "tokio/rt", "tokio/time", "tokio/rt-multi-thread"] default = ["tokio-runtime"] serde-config = ["serde", "url/serde"] # enables experimental the mDNS (multicast) feature mdns = ["socket2/all"] # WARNING: there is a bug in the mutual tls auth code at the moment see issue #100 # mtls = ["tls"] wasm-bindgen = ["wasm-bindgen-crate", "js-sys"] [lib] name = "trust_dns_proto" path = "src/lib.rs" [dependencies] async-trait = "0.1.43" backtrace = { version = "0.3.50", optional = true } bytes = { version = "1", optional = true } cfg-if = "1" data-encoding = "2.2.0" enum-as-inner = "0.5" futures-channel = { version = "0.3.5", default-features = false, features = ["std"] } futures-io = { version = "0.3.5", default-features = false, features = ["std"] } futures-util = { version = "0.3.5", default-features = false, features = ["std"] } h2 = { version = "0.3.0", features = ["stream"], optional = true } http = { version = "0.2", optional = true } idna = "0.2.3" ipnet = "2.3.0" js-sys = { version = "0.3.44", optional = true } lazy_static = "1.2.0" native-tls = { version = "0.2", optional = true } openssl = { version = "0.10", features = ["v102", "v110"], optional = true } quinn = { version = "0.8.2", optional = true } rand = "0.8" ring = { version = "0.16", optional = true, features = ["std"] } rustls = { version = "0.20.0", optional = true } rustls-pemfile = { version = "1.0.0", optional = true } serde = { version = "1.0", features = ["derive"], optional = true } smallvec = "1.6" socket2 = { version = "0.4.0", optional = true } thiserror = "1.0.20" tinyvec = { version = "1.1.1", features = ["alloc"] } tracing = "0.1.30" tokio = { version = "1.0", features = ["io-util"], optional = true } tokio-native-tls = { version = "0.3.0", optional = true } tokio-openssl = { version = "0.6.0", optional = true } tokio-rustls = { version = "0.23.0", optional = true, features = ["early-data"] } url = "2.1.0" wasm-bindgen-crate = { version = "0.2.58", optional = true, package = "wasm-bindgen" } webpki = { version = "0.22.0", optional = true } webpki-roots = { version = "0.22.1", optional = true } [dev-dependencies] futures-executor = { version = "0.3.5", default-features = false, features = ["std"] } openssl = { version = "0.10", features = ["v102", "v110"] } tokio = { version = "1.0", features = ["rt", "time", "macros"] } 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"]