~nickbp/kapiti

ref: 9d460d0b7ab39ac1e39576b34fa6217049c65edb kapiti/Cargo.toml -rw-r--r-- 2.2 KiB
9d460d0bNick Parker Update dependencies to latest along with corresponding code changes 2 months ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
[package]
name = "kapiti"
version = "0.0.1"
authors = ["Nick Parker <nick@nickbp.com>"]
license-file = "LICENCE.md"
edition = "2018"
readme = "README-CRATES.md"
description = "The Kapiti DNS Server"
documentation = "https://kapiti.io"
homepage = "https://kapiti.io"
repository = "https://sr.ht/~nickbp/kapiti/"

[dependencies]
anyhow = "1.0"
async-channel = "1.5"
async-lock = "2.3"
async-net = "1.5"
# All rust https implementations:
# - async-native-tls: native-tls doesn't support ALPN, which seems to be needed for DoH and HTTP/2? "http2 error: protocol error: frame with invalid size", see https://github.com/sfackler/rust-native-tls/issues/49
# - async-rustls: rustls doesn't support IP endpoints, required for DoT, see https://github.com/ctz/hyper-rustls/issues/56, https://github.com/ctz/rustls/issues/184, and https://github.com/briansmith/webpki/issues/54
# So we either get DoH or DoT. For now lets just use rustls and get DoH, hopefully webpki will get fixed someday.
async-rustls = "0.2"
async-trait = "0.1"
async-io = "1.3"
bytecheck = "0.6"
byteorder = "1.3"
bytes = "1.0"
chrono = "0.4"
flate2 = "1.0"
futures-lite = "1.11"
git-testament = "0.2"
http = "0.2.1"
hyper = { version = "0.14", default-features = false, features = ["client", "http1", "http2", "stream", "tcp"] }
lazy_static = "1.4"
libc = "0.2"
nix = "0.22"
packed_struct = "0.6"
packed_struct_codegen = "0.6"
rand = "0.8"
redis = { version = "0.21", default-features = false, features = ["script"] } # disable redis async
retainer = "0.2"
rkyv = { version = "0.7.3", features = ["validation"] }
rustls = "0.19"
rustls-native-certs = "0.5"
scopeguard = "1.1"
serde = { version = "1.0", features = ["derive"] }
sha2 = "0.9"
signal-hook = "0.3.8"
smol = "1.2"
tokio = { version = "1.0.1", default-features = false } # for hyper-smol compatibility shim
toml = "0.5"
tracing = "0.1"
tracing-attributes = "0.1"
tracing-futures = "0.2"
tracing-subscriber = "0.2"
webpki = "0.22"
zstd = "0.9"

[dev-dependencies]
criterion = { version = "0.3", features = ["html_reports"] } # for benchmarks
csv = "1.1" # for examples/update_specs
futures-delay-queue = "0.5" # for benchmarks
proptest = "1.0" # for property tests
tempfile = "3" # for benchmarks

[[bench]]
name = "server"
harness = false