mirror of
https://github.com/signalapp/libsignal.git
synced 2025-12-05 01:10:27 +00:00
232 lines
6.8 KiB
TOML
232 lines
6.8 KiB
TOML
[workspace]
|
|
# When adding new members, consider updating the log filter in rust/bridge/shared/src/logging.rs.
|
|
members = [
|
|
"rust/attest",
|
|
"rust/crypto",
|
|
"rust/device-transfer",
|
|
"rust/keytrans",
|
|
"rust/media",
|
|
"rust/message-backup",
|
|
"rust/net",
|
|
"rust/net/chat",
|
|
"rust/net/infra",
|
|
"rust/account-keys",
|
|
"rust/poksho",
|
|
"rust/protocol",
|
|
"rust/usernames",
|
|
"rust/zkcredential",
|
|
"rust/zkgroup",
|
|
"rust/bridge/ffi",
|
|
"rust/bridge/jni",
|
|
"rust/bridge/jni/impl",
|
|
"rust/bridge/jni/testing",
|
|
"rust/bridge/node",
|
|
]
|
|
default-members = [
|
|
"rust/crypto",
|
|
"rust/device-transfer",
|
|
"rust/media",
|
|
"rust/message-backup",
|
|
"rust/account-keys",
|
|
"rust/poksho",
|
|
"rust/protocol",
|
|
"rust/usernames",
|
|
"rust/zkcredential",
|
|
"rust/zkgroup",
|
|
]
|
|
resolver = "2" # so that our dev-dependency features don't leak into products
|
|
|
|
[workspace.package]
|
|
version = "0.86.6"
|
|
authors = ["Signal Messenger LLC"]
|
|
license = "AGPL-3.0-only"
|
|
rust-version = "1.85"
|
|
|
|
[workspace.lints.clippy]
|
|
# Prefer TryFrom between integers unless truncation is desired.
|
|
# For converting between floats and integers, there may not be an alternative.
|
|
cast_possible_truncation = "warn"
|
|
|
|
[workspace.lints.rust]
|
|
unexpected_cfgs = { level = "warn", check-cfg = [
|
|
'cfg(fuzzing)',
|
|
'cfg(tokio_unstable)',
|
|
] }
|
|
|
|
[workspace.dependencies]
|
|
# Our own crates, so that we don't have to depend on them by inter-crate paths
|
|
attest = { path = "rust/attest" }
|
|
device-transfer = { path = "rust/device-transfer" }
|
|
libsignal-account-keys = { path = "rust/account-keys" }
|
|
libsignal-cli-utils = { path = "rust/cli-utils" }
|
|
libsignal-core = { path = "rust/core" }
|
|
libsignal-keytrans = { path = "rust/keytrans" }
|
|
libsignal-message-backup = { path = "rust/message-backup" }
|
|
libsignal-net = { path = "rust/net" }
|
|
libsignal-net-chat = { path = "rust/net/chat" }
|
|
libsignal-net-grpc = { path = "rust/net/grpc" }
|
|
libsignal-protocol = { path = "rust/protocol" }
|
|
libsignal-svrb = { path = "rust/svrb" }
|
|
poksho = { path = "rust/poksho" }
|
|
signal-crypto = { path = "rust/crypto" }
|
|
signal-media = { path = "rust/media" }
|
|
usernames = { path = "rust/usernames" }
|
|
zkcredential = { path = "rust/zkcredential" }
|
|
zkgroup = { path = "rust/zkgroup" }
|
|
|
|
libsignal-bridge = { path = "rust/bridge/shared" }
|
|
libsignal-bridge-macros = { path = "rust/bridge/shared/macros" }
|
|
libsignal-bridge-testing = { path = "rust/bridge/shared/testing" }
|
|
libsignal-bridge-types = { path = "rust/bridge/shared/types" }
|
|
libsignal-jni-impl = { path = "rust/bridge/jni/impl" }
|
|
signal-neon-futures = { path = "rust/bridge/node/futures" }
|
|
|
|
# Our forks of some dependencies, accessible as xxx_signal so that usages of them are obvious in source code. Crates
|
|
# that want to use the real things can depend on those directly.
|
|
|
|
boring-signal = { git = "https://github.com/signalapp/boring", tag = "signal-v4.18.0", package = "boring", default-features = false }
|
|
curve25519-dalek-signal = { git = 'https://github.com/signalapp/curve25519-dalek', package = "curve25519-dalek", tag = 'signal-curve25519-4.1.3' }
|
|
spqr = { git = "https://github.com/signalapp/SparsePostQuantumRatchet.git", tag = "v1.2.0" }
|
|
tokio-boring-signal = { git = "https://github.com/signalapp/boring", package = "tokio-boring", tag = "signal-v4.18.0" }
|
|
|
|
aes = "0.8.3"
|
|
aes-gcm-siv = "0.11.1"
|
|
anyhow = "1.0.97"
|
|
argon2 = "0.5.0"
|
|
arrayvec = "0.7.4"
|
|
asn1 = "0.21.0"
|
|
assert_cmd = "2.0.13"
|
|
assert_matches = "1.5"
|
|
async-compression = "0.4.5"
|
|
async-trait = "0.1.79"
|
|
atomic-take = "1.1.0"
|
|
auto_enums = "0.8.7"
|
|
base64 = "0.22.1"
|
|
bincode = "1.3.2"
|
|
bitflags = "2.9"
|
|
bitstream-io = "1.10.0"
|
|
blake2 = "0.10.6"
|
|
boring = { version = "4.6.0", default-features = false }
|
|
boring-sys = { version = "4.6.0", default-features = false }
|
|
bytes = "1.9.0"
|
|
cbc = "0.1.2"
|
|
cfg-if = "1.0.0"
|
|
chacha20poly1305 = "0.10.1"
|
|
chrono = "0.4.23"
|
|
clap = "4.4.11"
|
|
clap-stdin = "0.6.0"
|
|
const-str = "0.6.2"
|
|
criterion = "0.5"
|
|
ctr = "0.9.2"
|
|
curve25519-dalek = "4.1.3"
|
|
data-encoding-macro = "0.1.18"
|
|
derive-where = "1.2.7"
|
|
derive_more = "2.0.0"
|
|
dir-test = "0.4.1"
|
|
displaydoc = "0.2.5"
|
|
ed25519-dalek = "2.1.0"
|
|
either = "1.13.0"
|
|
env_logger = "0.11.7"
|
|
flate2 = { version = "1.1.1", default-features = false }
|
|
foreign-types = "0.5"
|
|
futures = "0.3"
|
|
futures-util = "0.3"
|
|
ghash = "0.5.0"
|
|
heck = "0.5"
|
|
hex = "0.4.3"
|
|
hickory-proto = "0.24.1"
|
|
hkdf = "0.12"
|
|
hmac = "0.12.0"
|
|
hpke-rs = "0.4.0"
|
|
hpke-rs-crypto = "0.3.0"
|
|
http = "1.3.0"
|
|
http-body = "1.0.1"
|
|
http-body-util = "0.1.3"
|
|
hyper = "1.7"
|
|
hyper-util = "0.1.17"
|
|
indexmap = "2.1.0"
|
|
intmap = "3.1.2"
|
|
itertools = "0.14.0"
|
|
jni = "0.21"
|
|
libc = "0.2.175"
|
|
libcrux-ml-kem = { version = "0.0.2", default-features = false }
|
|
linkme = "0.3.33"
|
|
log = "0.4.21"
|
|
log-panics = "2.1.0"
|
|
macro_rules_attribute = "0.2.0"
|
|
mediasan-common = "0.5.3"
|
|
minidump = { version = "0.22.1", default-features = false }
|
|
minidump-processor = { version = "0.22.1", default-features = false }
|
|
minidump-unwind = { version = "0.22.1", default-features = false }
|
|
mp4san = "0.5.3"
|
|
neon = { version = "1.1.0", default-features = false }
|
|
nonzero_ext = "0.3.0"
|
|
once_cell = "1.19.0"
|
|
partial-default = "0.1.0"
|
|
paste = "1.0.15"
|
|
pin-project = "1.1.5"
|
|
pretty_assertions = "1.4.0"
|
|
proc-macro2 = "1.0.93"
|
|
proptest = "1.7"
|
|
proptest-state-machine = "0.4"
|
|
prost = "0.13.5"
|
|
prost-build = "0.13.5"
|
|
protobuf = "3.7.2"
|
|
protobuf-codegen = "3.7.2"
|
|
protobuf-json-mapping = "3.7.2"
|
|
quote = "1.0.38"
|
|
rand = "0.9"
|
|
rand_chacha = "0.9"
|
|
rand_core = "0.9"
|
|
rangemap = "1.5.1"
|
|
rayon = "1.8.0"
|
|
rcgen = "0.13.0"
|
|
rustls = { version = "0.23.25", default-features = false }
|
|
rustls-platform-verifier = "0.5.1"
|
|
scopeguard = "1.0"
|
|
serde = "1.0.203"
|
|
serde_json = "1.0.45"
|
|
serde_json5 = "0.2.1"
|
|
serde_with = "3.1.0"
|
|
sha1 = "0.10"
|
|
sha2 = "0.10"
|
|
snow = { version = "0.10", default-features = false }
|
|
socks5-server = "0.10.1"
|
|
static_assertions = "1.1"
|
|
strum = "0.27.0"
|
|
subtle = "2.6"
|
|
syn = "2.0.98"
|
|
syn-mid = "0.6"
|
|
test-case = "3.3"
|
|
test-log = "0.2.16"
|
|
testing_logger = "0.1.1"
|
|
thiserror = "2.0.11"
|
|
tls-parser = "0.12.2"
|
|
tokio = "1.45"
|
|
tokio-socks = "0.5.2"
|
|
tokio-stream = "0.1.16"
|
|
tokio-tungstenite = "0.27.0"
|
|
tokio-util = "0.7.11"
|
|
tonic = { version = "0.13.1", default-features = false }
|
|
tonic-build = "0.13.1"
|
|
tower-service = "0.3.3"
|
|
tungstenite = "0.27.0"
|
|
unicode-segmentation = "1.12.0"
|
|
url = "2.4.1"
|
|
uuid = "1.5"
|
|
visibility = "0.1.1"
|
|
warp = "0.4.2"
|
|
webpsan = { version = "0.5.3", default-features = false }
|
|
x25519-dalek = "2.0.0"
|
|
zerocopy = "0.8.24"
|
|
|
|
[patch.crates-io]
|
|
# When building libsignal, just use our forks so we don't end up with two different versions of the libraries.
|
|
|
|
boring = { git = 'https://github.com/signalapp/boring', tag = 'signal-v4.18.0' }
|
|
boring-sys = { git = 'https://github.com/signalapp/boring', tag = 'signal-v4.18.0' }
|
|
curve25519-dalek = { git = 'https://github.com/signalapp/curve25519-dalek', tag = 'signal-curve25519-4.1.3' }
|
|
|
|
[profile.dev.package.argon2]
|
|
opt-level = 2 # libsignal-account-keys unit tests are too slow with an unoptimized argon2
|