trust-dns-client 0.20.1

Trust-DNS is a safe and secure DNS library. This is the Client library with DNSec support. DNSSec with NSEC validation for negative records, is complete. The client supports dynamic DNS with SIG0 authenticated requests, implementing easy to use high level funtions. Trust-DNS is based on the Tokio and Futures libraries, which means it should be easily integrated into other software that also use those libraries.
Documentation
[package]
name = "trust-dns-client"
version = "0.20.1"
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 is the Client library with DNSec support.
 DNSSec with NSEC validation for negative records, is complete. The client supports
 dynamic DNS with SIG0 authenticated requests, implementing easy to use high level
 funtions. Trust-DNS is based on the Tokio and Futures libraries, which means
 it should be easily integrated into other software that also use those
 libraries.
"""

# These URLs point to more information about the repository
documentation = "https://docs.rs/trust-dns"
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]
backtrace = ["trust-dns-proto/backtrace"]
# TODO: the rustls and openssl crates are not deps... should we change that to make them easier to use?
#  or change this to also be external?
dns-over-https-openssl = ["dns-over-https", "dns-over-openssl"]
dns-over-https-rustls = ["dns-over-https", "dns-over-rustls"]
dns-over-https = ["trust-dns-https"]

dns-over-openssl = ["dns-over-tls", "dnssec-openssl", "openssl"]
dns-over-rustls = ["dns-over-tls", "dnssec-ring", "rustls", "webpki"]
dns-over-tls = []

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

serde-config = ["serde"]

# enables experimental the mDNS (multicast) feature
mdns = ["trust-dns-proto/mdns"]

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

[dependencies]
cfg-if = "1"
chrono = "0.4"
data-encoding = "2.2.0"
futures-channel = { version = "0.3.5", default-features = false, features = ["std"] }
futures-util = { version = "0.3.5", default-features = false, features = ["std"] }
lazy_static = "1.0"
log = "0.4"
openssl = { version = "0.10", features = ["v102", "v110"], optional = true }
radix_trie = "0.2.0"
rand = "0.8"
ring = { version = "0.16", optional = true, features = ["std"]}
rustls = { version = "0.19", optional = true }
serde = { version = "1.0", features = ["derive"], optional = true }
thiserror = "1.0.20"
tokio = { version = "1.0", features = ["rt"] }
trust-dns-https = { version = "0.20.1", path = "../https", optional = true }
trust-dns-proto = { version = "0.20.1", path = "../proto", features = ["dnssec"]}
webpki = { version = "0.21", optional = true }

[dev-dependencies]
futures = { version = "0.3.5", default-features = false, features = ["std", "executor"] }
openssl = { version = "0.10", features = ["v102", "v110"], optional = false }