Introduce central crate version management

This commit is contained in:
YISH 2023-03-18 02:40:36 +08:00 committed by Benjamin Fry
parent 72f2a07c90
commit 590b47a3f2
13 changed files with 294 additions and 208 deletions

12
Cargo.lock generated
View File

@ -554,17 +554,6 @@ dependencies = [
"waker-fn",
]
[[package]]
name = "futures-macro"
version = "0.3.24"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "42cd15d1c7456c04dbdf7e88bcd69760d74f3a798d6444e16974b505b0e62f17"
dependencies = [
"proc-macro2",
"quote",
"syn",
]
[[package]]
name = "futures-sink"
version = "0.3.24"
@ -586,7 +575,6 @@ dependencies = [
"futures-channel",
"futures-core",
"futures-io",
"futures-macro",
"futures-sink",
"futures-task",
"memchr",

View File

@ -3,7 +3,7 @@ members = [
"crates/proto",
"crates/resolver",
"crates/recursor",
"crates/client",
"crates/client",
"crates/server",
"crates/async-std-resolver",
"bin",
@ -12,11 +12,107 @@ members = [
"tests/integration-tests",
]
exclude = [
"fuzz",
]
exclude = ["fuzz"]
[patch.crates-io]
# tokio = { path = "../tokio/tokio" }
# mio = { git = "https://github.com/tokio-rs/mio.git" }
# h2 = { git = "https://github.com/hyperium/h2.git" }
[workspace.dependencies]
# trustdns
trust-dns-client = { version = "0.22.0", path = "crates/client" }
trust-dns-recursor = { version = "0.22.0", path = "crates/recursor" }
trust-dns-resolver = { version = "0.22.0", path = "crates/resolver" }
trust-dns-server = { version = "0.22.0", path = "crates/server" }
trust-dns-proto = { version = "0.22.0", path = "crates/proto" }
# logging
tracing = "0.1.30"
tracing-subscriber = { version = "0.3", features = [
"std",
"fmt",
"env-filter",
] }
thiserror = "1.0.20"
# async/await
async-recursion = "1.0.0"
async-trait = "0.1.43"
futures = { version = "0.3.5", default-features = false, features = [
"std",
"executor",
] }
futures-channel = { version = "0.3.5", default-features = false, features = [
"std",
] }
futures-executor = { 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",
] }
async-std = { version = "1.6", features = ["unstable"] }
tokio = { version = "1.0", default-features = false, features = ["io-util"] }
tokio-native-tls = "0.3.0"
tokio-openssl = "0.6.0"
tokio-rustls = { version = "0.23.0", features = ["early-data"] }
parking_lot = "0.12"
# ssl
native-tls = "0.2"
openssl = { version = "0.10", features = ["v102", "v110"] }
rustls = "0.20.0"
rustls-pemfile = "1.0.0"
webpki = "0.22.0"
webpki-roots = "0.22.1"
ring = { version = "0.16", features = ["std"] }
# net proto
quinn = "0.9"
quinn-udp = "0.3.2"
h2 = { version = "0.3.0", features = ["stream"] }
http = "0.2"
# others
backtrace = "0.3.50"
bytes = "1"
cfg-if = "1"
clap = { version = "4.0", default-features = false, features = [
"std",
"cargo",
"help",
"derive",
"suggestions",
] }
console = "0.15.0"
data-encoding = "2.2.0"
enum-as-inner = "0.5"
idna = "0.3.0"
ipconfig = "0.3.0"
ipnet = "2.3.0"
js-sys = "0.3.44"
lazy_static = "1.2.0"
libfuzzer-sys = "0.4"
lru-cache = "0.1.2"
pin-utils = "0.1.0"
radix_trie = "0.2.0"
rand = "0.8"
regex = "1.3.4"
resolv-conf = { version = "0.7.0", features = ["system"] }
rusqlite = { version = "0.28.0", features = ["bundled", "time"] }
serde = { version = "1.0", features = ["derive"] }
smallvec = "1.6"
socket2 = "0.4.2"
time = "0.3"
tinyvec = { version = "1.1.1", features = ["alloc"] }
toml = "0.7"
url = "2.3.1"
wasm-bindgen-crate = { version = "0.2.58", package = "wasm-bindgen" }

View File

@ -80,20 +80,20 @@ path = "src/trust-dns.rs"
# - suggestion for advanced help with error in cli
# - derive for clap derive api
# - help to generate --help
clap = { version = "4.0", default-features = false, features = ["std", "cargo", "help", "derive", "suggestions"] }
futures = { version = "0.3.5", default-features = false, features = ["std"] }
rustls = { version = "0.20", optional = true }
time = "0.3"
tracing = "0.1.30"
tracing-subscriber = { version = "0.3", features = ["std", "fmt", "env-filter"] }
tokio = { version = "1.21", features = ["time", "rt"] }
trust-dns-client = { version = "0.22.0", path = "../crates/client" }
trust-dns-proto = { version = "0.22.0", path = "../crates/proto" }
trust-dns-server = { version = "0.22.0", path = "../crates/server" }
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 = "0.2"
regex = "1.3.4"
trust-dns-proto = { version = "0.22.0", path = "../crates/proto", features = ["testing", "dns-over-native-tls"] }
trust-dns-resolver = { version = "0.22.0", path = "../crates/resolver" }
webpki-roots = "0.22.1"
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

View File

@ -65,14 +65,14 @@ name = "async_std_resolver"
path = "src/lib.rs"
[dependencies]
async-std = { version = "1.6", features = ["unstable"] }
async-trait = "0.1.43"
futures-io = { version = "0.3.5", default-features = false, features = ["std"] }
futures-util = { version = "0.3.5", default-features = false, features = ["std"] }
pin-utils = "0.1.0"
trust-dns-resolver = { version = "0.22.0", path = "../resolver", default-features = false }
socket2 = "0.4.2"
async-std = { workspace = true, features = ["unstable"] }
async-trait.workspace = true
futures-io = { workspace = true, default-features = false, features = ["std"] }
futures-util = { workspace = true, default-features = false, features = ["std"] }
pin-utils.workspace = true
trust-dns-resolver = { workspace = true, default-features = false }
socket2.workspace = true
[dev-dependencies]
async-std = { version = "1.6", features = ["attributes"] }
trust-dns-resolver = { version = "0.22.0", path = "../resolver", default-features = false, features = ["testing"] }
async-std = { workspace = true, features = ["attributes"] }
trust-dns-resolver = { workspace = true, default-features = false, features = ["testing"] }

View File

@ -70,29 +70,29 @@ name = "trust_dns_client"
path = "src/lib.rs"
[dependencies]
cfg-if = "1"
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.2.0"
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.20.0", optional = true }
serde = { version = "1.0", features = ["derive"], optional = true }
thiserror = "1.0.20"
time = "0.3"
tracing = "0.1.30"
tokio = { version = "1.0", features = ["rt"] }
trust-dns-proto = { version = "0.22.0", path = "../proto", features = ["text-parsing"] }
webpki = { version = "0.22.0", optional = true }
cfg-if.workspace = true
data-encoding.workspace = true
futures-channel = { workspace = true, default-features = false, features = ["std"] }
futures-util = { workspace = true, default-features = false, features = ["std"] }
lazy_static.workspace = true
openssl = { workspace = true, features = ["v102", "v110"], optional = true }
radix_trie.workspace = true
rand.workspace = true
ring = { workspace = true, optional = true, features = ["std"]}
rustls = { workspace = true, optional = true }
serde = { workspace = true, features = ["derive"], optional = true }
thiserror.workspace = true
time.workspace = true
tracing.workspace = true
tokio = { workspace = true, features = ["rt"] }
trust-dns-proto = { workspace = true, features = ["text-parsing"] }
webpki = { workspace = true, optional = true }
[dev-dependencies]
futures = { version = "0.3.5", default-features = false, features = ["std", "executor"] }
openssl = { version = "0.10", features = ["v102", "v110"], optional = false }
tokio = { version = "1.0", features = ["rt", "macros"] }
tracing-subscriber = { version = "0.3", features = ["std", "fmt", "env-filter"] }
futures = { workspace = true, default-features = false, features = ["std", "executor"] }
openssl = { workspace = true, features = ["v102", "v110"], optional = false }
tokio = { workspace = true, features = ["rt", "macros"] }
tracing-subscriber = { workspace = true, features = ["std", "fmt", "env-filter"] }
[package.metadata.docs.rs]
all-features = true

View File

@ -67,54 +67,56 @@ mdns = ["socket2/all"]
wasm-bindgen = ["wasm-bindgen-crate", "js-sys"]
backtrace = ["dep:backtrace"]
[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.3.0"
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.9", optional = true }
quinn-udp = {version ="0.3.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.3.1"
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 }
async-trait.workspace = true
backtrace = { workspace = true, optional = true }
bytes = { workspace = true, optional = true }
cfg-if.workspace = true
data-encoding.workspace = true
enum-as-inner.workspace = true
futures-channel = { workspace = true, default-features = false, features = ["std"] }
futures-io = { workspace = true, default-features = false, features = ["std"] }
futures-util = { workspace = true, default-features = false, features = ["std"] }
h2 = { workspace = true, features = ["stream"], optional = true }
http = { workspace = true, optional = true }
idna.workspace = true
ipnet.workspace = true
js-sys = { workspace = true, optional = true }
lazy_static.workspace = true
native-tls = { workspace = true, optional = true }
openssl = { workspace = true, features = ["v102", "v110"], optional = true }
quinn = { workspace = true, optional = true }
quinn-udp = {workspace = true, optional = true}
rand.workspace = true
ring = { workspace = true, optional = true, features = ["std"] }
rustls = { workspace = true, optional = true }
rustls-pemfile = { workspace = true, optional = true }
serde = { workspace = true, features = ["derive"], optional = true }
smallvec.workspace = true
socket2 = { workspace = true, optional = true }
thiserror.workspace = true
tinyvec = { workspace = true, features = ["alloc"] }
tracing.workspace = true
tokio = { workspace = true, features = ["io-util"], optional = true }
tokio-native-tls = { workspace = true, optional = true }
tokio-openssl = { workspace = true, optional = true }
tokio-rustls = { workspace = true, optional = true, features = ["early-data"] }
url.workspace = true
wasm-bindgen-crate = { workspace = true, optional = true, package = "wasm-bindgen" }
webpki = { workspace = true, optional = true }
webpki-roots = { workspace = true, 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"] }
futures-executor = { workspace = true, default-features = false, features = ["std"] }
openssl = { workspace = true, features = ["v102", "v110"] }
tokio = { workspace = true, features = ["rt", "time", "macros"] }
tracing-subscriber = { workspace = true, features = ["std", "fmt", "env-filter"] }
[package.metadata.docs.rs]
all-features = true

View File

@ -72,28 +72,28 @@ name = "trust_dns_recursor"
path = "src/lib.rs"
[dependencies]
async-trait = "0.1.43"
async-recursion = "1.0.0"
async-trait.workspace = true
async-recursion.workspace = true
#backtrace = { version = "0.3.50", optional = true }
bytes = "1"
cfg-if = "1"
enum-as-inner = "0.5"
futures-executor = { version = "0.3.5", default-features = false, features = ["std"] }
futures-util = { version = "0.3.5", default-features = false, features = ["std"] }
lru-cache = "0.1.2"
parking_lot = "0.12"
serde = { version = "1.0.114", features = ["derive"], optional = true }
thiserror = "1.0.20"
time = "0.3"
tracing = "0.1.30"
tokio = { version = "1.0", features = ["net"] }
toml = "0.7"
trust-dns-proto = { version = "0.22.0", path = "../proto" }
trust-dns-resolver = { version = "0.22.0", path = "../resolver" }
bytes.workspace = true
cfg-if.workspace = true
enum-as-inner.workspace = true
futures-executor = { workspace = true, default-features = false, features = ["std"] }
futures-util = { workspace = true, default-features = false, features = ["std"] }
lru-cache.workspace = true
parking_lot.workspace = true
serde = { workspace = true, features = ["derive"], optional = true }
thiserror.workspace = true
time.workspace = true
tracing.workspace = true
tokio = { workspace = true, features = ["net"] }
toml.workspace = true
trust-dns-proto.workspace = true
trust-dns-resolver.workspace = true
[dev-dependencies]
tokio = { version="1.0", features = ["macros", "rt"] }
tracing-subscriber = { version = "0.3", features = ["std", "fmt", "env-filter"] }
tokio = { workspace = true, features = ["macros", "rt"] }
tracing-subscriber = { workspace = true, features = ["std", "fmt", "env-filter"] }
[package.metadata.docs.rs]
all-features = true

View File

@ -71,32 +71,32 @@ path = "src/lib.rs"
[dependencies]
#backtrace = { version = "0.3.50", optional = true }
cfg-if = "1.0.0"
futures-util = { version = "0.3.5", default-features = false, features = ["std"] }
lazy_static = "1.2.0"
lru-cache = "0.1.2"
parking_lot = "0.12"
rand = "0.8"
resolv-conf = { version = "0.7.0", optional = true, features = ["system"] }
rustls = { version = "0.20.0", optional = true }
serde = { version = "1.0", features = ["derive"], optional = true }
smallvec = "1.6"
thiserror = "1.0.20"
tracing = "0.1.30"
tokio = { version = "1.21", optional = true }
tokio-native-tls = { version = "0.3", optional = true }
tokio-openssl = { version = "0.6.0", optional = true }
tokio-rustls = { version = "0.23.0", optional = true }
trust-dns-proto = { version = "0.22.0", path = "../proto", default-features = false }
webpki-roots = { version = "0.22.1", optional = true }
cfg-if.workspace = true
futures-util = { workspace = true, default-features = false, features = ["std"] }
lazy_static.workspace = true
lru-cache.workspace = true
parking_lot.workspace = true
rand.workspace = true
resolv-conf = { workspace = true, optional = true, features = ["system"] }
rustls = { workspace = true, optional = true }
serde = { workspace = true, features = ["derive"], optional = true }
smallvec.workspace = true
thiserror.workspace = true
tracing.workspace = true
tokio = { workspace = true, optional = true }
tokio-native-tls = { workspace = true, optional = true }
tokio-openssl = { workspace = true, optional = true }
tokio-rustls = { workspace = true, optional = true }
trust-dns-proto = { workspace = true, default-features = false }
webpki-roots = { workspace = true, optional = true }
[target.'cfg(windows)'.dependencies]
ipconfig = { version = "0.3.0", optional = true }
ipconfig = { workspace = true, optional = true }
[dev-dependencies]
futures-executor = { version = "0.3.5", default-features = false, features = ["std"] }
tokio = { version="1.0", features = ["macros", "test-util"] }
tracing-subscriber = { version = "0.3", features = ["std", "fmt", "env-filter"] }
futures-executor = { workspace = true, default-features = false, features = ["std"] }
tokio = { workspace = true, features = ["macros", "test-util"] }
tracing-subscriber = { workspace = true, features = ["std", "fmt", "env-filter"] }
[package.metadata.docs.rs]
all-features = true

View File

@ -78,32 +78,32 @@ name = "trust_dns_server"
path = "src/lib.rs"
[dependencies]
async-trait = "0.1.43"
bytes = "1"
cfg-if = "1"
enum-as-inner = "0.5"
futures-executor = { 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 }
openssl = { version = "0.10", features = ["v102", "v110"], optional = true }
rusqlite = { version = "0.28.0", features = ["bundled", "time"], optional = true }
rustls = { version = "0.20", optional = true }
serde = { version = "1.0.114", features = ["derive"] }
thiserror = "1.0.20"
time = "0.3"
tracing = "0.1.30"
tokio = { version = "1.21", features = ["net", "sync"] }
tokio-openssl = { version = "0.6.0", optional = true }
tokio-rustls = { version = "0.23.0", optional = true }
toml = "0.7"
trust-dns-proto = { version = "0.22.0", path = "../proto", features = ["text-parsing"] }
trust-dns-recursor = { version = "0.22.0", path = "../recursor", features = ["serde-config"], optional = true }
trust-dns-resolver = { version = "0.22.0", path = "../resolver", features = ["serde-config"], optional = true }
async-trait.workspace = true
bytes.workspace = true
cfg-if.workspace = true
enum-as-inner.workspace = true
futures-executor = { workspace = true, default-features = false, features = ["std"] }
futures-util = { workspace = true, default-features = false, features = ["std"] }
h2 = { workspace = true, features = ["stream"], optional = true }
http = { workspace = true, optional = true }
openssl = { workspace = true, features = ["v102", "v110"], optional = true }
rusqlite = { workspace = true, features = ["bundled", "time"], optional = true }
rustls = { workspace = true, optional = true }
serde = { workspace = true, features = ["derive"] }
thiserror.workspace = true
time.workspace = true
tracing.workspace = true
tokio = { workspace = true, features = ["net", "sync"] }
tokio-openssl = { workspace = true, optional = true }
tokio-rustls = { workspace = true, optional = true }
toml.workspace = true
trust-dns-proto = { workspace = true, features = ["text-parsing"] }
trust-dns-recursor = { workspace = true, features = ["serde-config"], optional = true }
trust-dns-resolver = { workspace = true, features = ["serde-config"], optional = true }
[dev-dependencies]
tokio = { version="1.21", features = ["macros", "rt"] }
tracing-subscriber = { version = "0.3", features = ["std", "fmt", "env-filter"] }
tokio = { workspace = true, features = ["macros", "rt"] }
tracing-subscriber = { workspace = true, features = ["std", "fmt", "env-filter"] }
[package.metadata.docs.rs]
all-features = true

View File

@ -10,8 +10,8 @@ rust-version = "1.60.0"
cargo-fuzz = true
[dependencies]
libfuzzer-sys = "0.4"
trust-dns-proto = { path = "../crates/proto"}
libfuzzer-sys.workspace = true
trust-dns-proto.workspace = true
[[bin]]
name = "message"

View File

@ -47,9 +47,9 @@ name = "trust_dns_compatibility"
path = "src/lib.rs"
[dependencies]
data-encoding = "2.2.0"
futures = "0.3.5"
openssl = { version = "0.10", features = ["v102", "v110"] }
rand = "0.8"
time = "0.3"
trust-dns-client= { version = "0.22.0", path="../../crates/client", features = ["dnssec-openssl"] }
data-encoding.workspace = true
futures.workspace = true
openssl = { workspace = true, features = ["v102", "v110"] }
rand.workspace = true
time.workspace = true
trust-dns-client= { workspace = true, features = ["dnssec-openssl"] }

View File

@ -71,24 +71,24 @@ dns-over-tls = []
sqlite = ["rusqlite", "trust-dns-server/sqlite"]
[dependencies]
async-trait = "0.1.43"
lazy_static = "1.2.0"
futures = "0.3.5"
openssl = { version = "0.10", features = ["v102", "v110"] }
rand = "0.8"
rusqlite = { version = "0.28.0", features = ["bundled"], optional = true }
rustls = "0.20"
time = "0.3"
tokio = { version = "1.0", features = ["time", "rt"] }
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["std", "fmt", "env-filter"] }
trust-dns-client= { version = "0.22.0", path = "../../crates/client" }
trust-dns-proto = { version = "0.22.0", path = "../../crates/proto", features = ["testing"] }
trust-dns-resolver = { version = "0.22.0", path = "../../crates/resolver" }
trust-dns-recursor = { version = "0.22.0", path = "../../crates/recursor" }
trust-dns-server = { version = "0.22.0", path = "../../crates/server", features = ["testing"] }
webpki-roots = { version = "0.22", optional = true }
async-trait.workspace = true
lazy_static.workspace = true
futures.workspace = true
openssl = { workspace = true, features = ["v102", "v110"] }
rand.workspace = true
rusqlite = { workspace = true, features = ["bundled"], optional = true }
rustls.workspace = true
time.workspace = true
tokio = { workspace = true, features = ["time", "rt"] }
tracing.workspace = true
tracing-subscriber = { workspace = true, features = ["std", "fmt", "env-filter"] }
trust-dns-client.workspace = true
trust-dns-proto = { workspace = true, features = ["testing"] }
trust-dns-resolver.workspace = true
trust-dns-recursor.workspace = true
trust-dns-server = { workspace = true, features = ["testing"] }
webpki-roots = { workspace = true, optional = true }
[dev-dependencies]
futures = { version = "0.3.5", features = ["thread-pool"] }
tokio = { version="1.0", features = ["macros", "rt"] }
futures = { workspace = true, features = ["thread-pool"] }
tokio = { workspace = true, features = ["macros", "rt"] }

View File

@ -75,17 +75,17 @@ name = "recurse"
path = "src/recurse.rs"
[dependencies]
clap = { version = "4.0", default-features = false, features = ["std", "cargo", "derive", "color", "suggestions", "help", "usage"] }
console = "0.15.0"
data-encoding = "2.2.0"
openssl = { version = "0.10", features = ["v102", "v110"], optional = true }
rustls = { version = "0.20.0", features = ["dangerous_configuration"], optional = true }
tracing = "0.1.30"
tracing-subscriber = { version = "0.3", features = ["std", "fmt", "env-filter"] }
trust-dns-client = { version = "0.22.0", path = "../crates/client" }
trust-dns-proto = { version = "0.22.0", path = "../crates/proto" }
trust-dns-recursor = { version = "0.22.0", path = "../crates/recursor" }
trust-dns-resolver = { version = "0.22.0", path = "../crates/resolver" }
tokio = { version = "1.0", features = ["rt-multi-thread", "macros", "time"] }
webpki = { version = "0.22.0", optional = true }
webpki-roots = { version = "0.22.1", optional = true }
clap = { workspace = true, default-features = false, features = ["std", "cargo", "derive", "color", "suggestions", "help", "usage"] }
console.workspace = true
data-encoding.workspace = true
openssl = { workspace = true, features = ["v102", "v110"], optional = true }
rustls = { workspace = true, features = ["dangerous_configuration"], optional = true }
tracing.workspace = true
tracing-subscriber = { workspace = true, features = ["std", "fmt", "env-filter"] }
trust-dns-client.workspace = true
trust-dns-proto.workspace = true
trust-dns-recursor.workspace = true
trust-dns-resolver.workspace = true
tokio = { workspace = true, features = ["rt-multi-thread", "macros", "time"] }
webpki = { workspace = true, optional = true }
webpki-roots = { workspace = true, optional = true }