rsReticulum/Cargo.toml
2026-07-26 12:53:08 -06:00

91 lines
2.3 KiB
TOML

[workspace]
resolver = "2"
members = [
"crates/rns-crypto",
"crates/rns-wire",
"crates/rns-identity",
"crates/rns-transport",
"crates/rns-link",
"crates/rns-protocol",
"crates/rns-interface",
"crates/rns-runtime",
"crates/rns-tools",
"crates/rns-ratkey",
]
[workspace.package]
version = "1.1.0"
edition = "2024"
license = "AGPL-3.0-or-later"
rust-version = "1.85"
[workspace.dependencies]
# Crypto
x25519-dalek = { version = "2", features = ["static_secrets"] }
ed25519-dalek = { version = "2", features = ["hazmat", "rand_core"] }
aes = "0.8"
des = "0.8"
cbc = { version = "0.1", features = ["alloc"] }
hkdf = "0.12"
hmac = "0.12"
md-5 = "0.10"
sha2 = "0.10"
subtle = "2"
zeroize = { version = "1", features = ["derive"] }
rand = "0.8"
rand_core = { version = "0.6", features = ["getrandom"] }
# Encoding
base64 = "0.22"
# Serialization
rmp-serde = "1"
rmpv = "1"
serde = { version = "1", features = ["derive"] }
serde_bytes = "0.11"
serde_json = "1"
# Async
tokio = { version = "1", features = ["full"] }
# Compression
bzip2 = "0.6"
# Serial
serialport = { version = "4", default-features = false }
# Networking
# AutoInterface requires fe80::/10 discovery addresses. if-addrs filters them
# unless this feature is enabled, which leaves Linux/Windows with no adopted NICs.
if-addrs = { version = "0.13", features = ["link-local"] }
socket2 = { version = "0.5", features = ["all"] }
# CLI
clap = { version = "4", features = ["derive"] }
# Logging
tracing = "0.1"
tracing-subscriber = "0.3"
# Error handling
thiserror = "2"
# Misc
hex = "0.4"
byteorder = "1"
bytes = "1"
nix = { version = "0.29", features = ["term", "fs"] }
# Testing
proptest = "1"
# Workspace crates
rns-crypto = { path = "crates/rns-crypto", version = "1.1.0", default-features = false }
rns-wire = { path = "crates/rns-wire", version = "1.1.0", default-features = false }
rns-identity = { path = "crates/rns-identity", version = "1.1.0" }
rns-transport = { path = "crates/rns-transport", version = "1.1.0" }
rns-link = { path = "crates/rns-link", version = "1.1.0" }
rns-protocol = { path = "crates/rns-protocol", version = "1.1.0" }
rns-interface = { path = "crates/rns-interface", version = "1.1.0" }
rns-runtime = { path = "crates/rns-runtime", version = "1.1.0" }
rns-ratkey = { path = "crates/rns-ratkey", version = "1.1.0" }