Files
kumomta/Cargo.toml
T
Wez Furlong 617612a9cf deps: upgrade hickory to 0.25
There are a few breaking changes in the API that we need to tackle
here, but they're generally fine.

Since our libunbound crate uses hickory-proto, I had to upgrade
that dep over there and reference the updated git rev here in
this commit; we don't publish that to crates.io.

The main thing that stood out in the upgrade is that the zone
file parser used by the TestResolver now seems to create
records with varying FQDN-ness. This may just be that it is
now passing data through from the underlying zone data, but
it caused a number of the SPF and DKIM test cases to fail
without canonicalizing the names to FQDN.  I chose to do that
in the TestResolver rather than reviewing all the input zone
data, with the rationale being that it is least surprising
to have the test resolver fix that up than to puzzle over
records not resolving due to a missing trailing dot when
more tests are written in the future.

This commit doesn't try to take advantage of the improvements
to DNSSEC that are available in this version of hickory,
it's just upgrading to the API changes.

closes: https://github.com/KumoCorp/kumomta/pull/361
2025-03-24 07:54:34 -07:00

210 lines
6.0 KiB
TOML

[workspace]
members = [
"crates/bounce-classify",
"crates/cidr-map",
"crates/domain-map",
"crates/integration-tests",
"crates/kcli",
"crates/kumo-chrono-helper",
"crates/kumo-prometheus",
"crates/kumod",
"crates/mailparsing",
"crates/mod-time",
"crates/mod-uuid",
"crates/mta-sts",
"crates/proxy-server",
"crates/regex-set-map",
"crates/rfc5321",
"crates/kumo-spf",
"crates/spool",
"crates/spool-util",
"crates/tailer",
"crates/throttle",
"crates/timeq",
"crates/tls-probe",
"crates/toml2jsonc",
"crates/traffic-gen",
"crates/tsa-daemon",
"crates/uuid-helper",
"crates/validate-bounces",
"crates/validate-shaping",
"crates/version-info",
"crates/kumo-dmarc",
"crates/kumo-template",
"crates/summarize-memory",
"crates/kumo-address",
]
resolver = "2"
[profile.release]
opt-level = 3
debug = 1 # include line tables for more meaningful backtraces
[workspace.dependencies]
ahash = "0.8.11"
amqprs = {version="2.0", features=["tls", "traces"]}
anyhow = "1.0"
arc-swap = "1.6"
async-stream = "0.3"
async-trait = "0.1"
axum = "0.7"
axum-client-ip = "0.6"
axum-server = "0.7"
axum-streams = {version="0.19", features=["text"]}
backtrace = "0.3"
bitflags = "2.3"
bitstring = "0.2"
bytes = "1.0"
camino = "1.1"
caps = "0.5"
cgroups-rs = "0.3"
charset = "0.1"
chrono = { version = "0.4.26", default-features = false }
chrono-tz = {version="0.10", features=["serde"]}
cidr = {version="0.3", features=["serde", "bitstring"]}
clap = {version="4.5", features=["derive", "wrap_help"]}
clap-markdown = "0.1"
criterion = "0.5"
crossbeam-queue= "0.3"
crossbeam-skiplist= "0.1"
crossterm = { version = "0.27.0", features = ["event-stream"] }
dashmap = "6.1"
data-encoding = "2.6"
data-encoding-macro = "0.1"
deadpool = {version="0.12", features=["rt_tokio_1"]}
derive-where = "1.2.7"
ed25519-dalek = "2.0"
env_logger = "0.11"
fancy-regex = "0.14"
filenamegen = "0.2.7"
flume = "0.11"
foreign-types = "0.3"
futures = "0.3.28"
futures-util = "0.3"
futures-lite = "2.3"
gcd = "2.3"
gethostname = "0.5"
getrandom = "0.2"
git2 = { version = "0.20", default-features = false }
hdrhistogram = "7.5"
hex = "0.4"
# Be sure to update the link to the docs in docs/reference/kumo.dns/configure_resolver.md
# to match the version that we are using when you update this dep
hickory-resolver = "0.25"
hickory-proto = "0.25"
hierarchical_hash_wheel_timer = {version="1.2", default-features=false, features=["fx-hash"]}
human_bytes = "0.4.3"
humanize-rs = "0.1"
humantime = "2.1"
humansize = "2.1"
idna = "1.0.3"
incr_stats = "1.0"
indexmap = "2.2"
indoc = "2.0.5"
instant-xml = "0.5"
intrusive-collections = "0.9.7"
json_comments = "0.2"
jwalk = "0.8"
k9 = "0.12"
lapin = {version="2.5", default-features=false, features=["native-tls"]}
lexicmp = "0.1"
libc = "0.2.139"
linkme = "0.3"
libunbound = {git="https://github.com/KumoCorp/libunbound-rs.git", rev="19b39a551b3cf7cbc69a7eb24fef4801e66c6260"}
lipsum = "0.9"
log = "0.4"
lru-cache = "0.1"
mac_address = "1.1"
mail-builder = "0.2"
mailparse = "0.14"
maplit = "1.0"
map_vec = "0.6"
memchr = "2.5"
metrics = "0.24"
metrics-prometheus = "0.8"
metrics-tracing-context = "0.17"
minijinja = {version="2.7.0",features=["loader", "builtins", "json", "loop_controls"]}
minijinja-contrib = {version="2.7.0",features=["datetime", "pycompat", "rand", "textwrap", "unicode_wordwrap", "wordcount", "timezone"]}
mlua = "0.10"
nix = "0.28"
nom = "7.1.0"
nom_locate = "4.1"
notify = "7"
num-format = "0.4.4"
openssl = { version="=0.10.65" } # pinned; see patch below
openssl-sys = { version="0.9" }
ordermap = {version="0.5", features=["serde"]}
parking_lot = "0.12"
paste = "1"
percent-encoding = "2.3"
pest = "2.7"
pest_derive = "2.7"
ppp = "2.2"
prometheus = "0.13"
psl = "2.1.46"
quoted_printable = "0.5"
rand = "0.8"
ratatui = { version = "0.26.2", features = ["crossterm", "unstable-widget-ref"] }
rcgen = "0.13"
rdkafka = "0.36"
redis = {version="0.29", features=["cluster", "cluster-async", "connection-manager", "tokio-comp", "tls-native-tls", "tokio-native-tls-comp"]}
regex = "1.7"
reqwest = {version="0.12", default-features=false, features=["rustls-tls", "rustls-tls-native-roots"]}
ring = "0.17"
rocksdb = {version="0.22", features=["jemalloc"]}
rustls = "0.23"
rustls-platform-verifier = "0.5"
self_cell = "1.0"
serde = {version="1.0", features=["derive"]}
serde_bytes = "0.11"
serde_json = "1.0"
serde_path_to_error = "0.1"
serde_with = "3.4"
serde_yaml = "0.9"
sha-1 = { version = "0.10", features = ["oid"] }
sha2 = "0.10"
slog = "2.7"
smallvec = "1.13"
socksv5 = {version="0.3", default-features=false, features=["tokio"]}
sqlite = "0.36"
strum = { version = "0.26", features = ["derive"] }
tabout = "0.3"
tempfile = "3.10"
test-log = {version="0.2", features = ["trace"]}
testcontainers-modules = { version = "0.11", default-features = false }
textwrap = "0.16"
thiserror = "1"
tikv-jemallocator = {version="0.5", features=["background_threads", "stats"]}
tikv-jemalloc-ctl = {version="0.5"}
tikv-jemalloc-sys = {version="0.5", features=["profiling", "unprefixed_malloc_on_supported_platforms", "stats"]}
tokio = "1.32"
tokio-executor-trait = "2.1.0"
tokio-metrics = "0.3.1"
tokio-metrics-collector = "0.2.1"
tokio-openssl = "0.6.4"
tokio-reactor-trait = "1.1.0"
tokio-rustls = "0.26"
tokio-splice = "0.2"
tokio-tungstenite = "0.24"
toml = "0.8"
toml_edit = "0.22"
tower-http = {version="0.6", features=["trace", "compression-deflate", "compression-gzip"]}
tracing = "0.1"
tracing-appender = "0.2"
tracing-subscriber = {version="0.3", features=["env-filter", "std", "fmt", "json"]}
utoipa = {version="4", features=["axum_extras", "time", "uuid"]}
utoipa-rapidoc = { version="4.0", features = ["axum"] }
url = "2.4"
uuid = "1.4"
vaultrs = "0.7"
walkdir = "2.3"
which = "7"
zstd = "0.13"
zstd-safe = {version="7.0", features=["std"]}
[patch.crates-io]
# Can be removed once dane support is upstreamed
openssl = { version="0.10.65", git="https://github.com/KumoCorp/rust-openssl.git", branch="dane" }
# Can be removed once dane support is upstreamed
openssl-sys = { version="0.9", git="https://github.com/KumoCorp/rust-openssl.git", branch="dane" }