[package]
name = "trust-dns"
description = """
Trust-DNS is a safe and secure DNS server with DNSSEC support.
Eventually this could be a replacement for BIND9. The DNSSEC support allows
for live signing of all records, in it does not currently support
records signed offline. The server supports dynamic DNS with SIG0 authenticated
requests. 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 = "https://docs.rs/trust-dns-server"
readme = "README.md"
version.workspace = true
authors.workspace = true
edition.workspace = true
rust-version.workspace = true
homepage.workspace = true
repository.workspace = true
keywords.workspace = true
categories.workspace = true
license.workspace = true
[badges]
codecov = { repository = "bluejekyll/trust-dns", branch = "main", service = "github" }
maintenance = { status = "actively-developed" }
[features]
default = ["sqlite", "resolver"]
dnssec-openssl = ["dnssec", "trust-dns-client/dnssec-openssl", "trust-dns-proto/dnssec-openssl", "trust-dns-server/dnssec-openssl"]
dnssec-ring = ["dnssec", "trust-dns-client/dnssec-ring", "trust-dns-proto/dnssec-ring", "trust-dns-server/dnssec-ring"]
dnssec = []
recursor = ["trust-dns-server/recursor"]
resolver = ["trust-dns-server/resolver"]
sqlite = ["trust-dns-server/sqlite"]
dns-over-https-rustls = ["dns-over-https", "dns-over-rustls", "trust-dns-proto/dns-over-https-rustls", "trust-dns-client/dns-over-https-rustls", "trust-dns-server/dns-over-https-rustls"]
dns-over-https = ["trust-dns-server/dns-over-https"]
dns-over-quic = ["dns-over-rustls", "trust-dns-server/dns-over-quic"]
dns-over-openssl = ["dns-over-tls", "dnssec-openssl", "trust-dns-proto/dns-over-openssl", "trust-dns-client/dns-over-openssl", "trust-dns-server/dns-over-openssl"]
dns-over-rustls = ["dns-over-tls", "dnssec-ring", "rustls", "trust-dns-proto/dns-over-rustls", "trust-dns-client/dns-over-rustls", "trust-dns-server/dns-over-rustls"]
dns-over-tls = []
tls-openssl = ["dns-over-openssl"]
tls = ["dns-over-openssl"]
[[bin]]
name = "trust-dns"
path = "src/trust-dns.rs"
[dependencies]
clap = { workspace = true, default-features = false, features = ["std", "cargo", "help", "derive", "suggestions"] }
futures = { workspace = true, default-features = false, features = ["std"] }
rustls = { workspace = true, optional = true }
time.workspace = true
tracing.workspace = true
tracing-subscriber = { workspace = true, features = ["std", "fmt", "env-filter"] }
tokio = { workspace = true, features = ["time", "rt"] }
trust-dns-client.workspace = true
trust-dns-proto.workspace = true
trust-dns-server.workspace = true
[dev-dependencies]
native-tls.workspace = true
regex.workspace = true
trust-dns-proto = { workspace = true, features = ["testing", "dns-over-native-tls"] }
trust-dns-resolver.workspace = true
webpki-roots.workspace = true