diff --git a/Cargo.toml b/Cargo.toml index 95dac574a..a37b0d482 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -163,6 +163,54 @@ uuid = "1.1.2" visibility = "0.1.1" x25519-dalek = "2.0.0" zerocopy = "0.7.34" +argon2 = "0.5.0" +arrayref = "0.3.6" +assert_cmd = "2.0.13" +async-compression = "0.4.5" +auto_enums = "0.8.7" +bitstream-io = "1.10.0" +blake2 = "0.10" +bytes = "1.4.0" +clap-stdin = "0.6.0" +cmake = ">=0.1, <0.1.49" +colored = "3.0" +dir-test = "0.4.1" +either = "1.10.0" +ghash = "0.5.0" +hickory-proto = "0.24.1" +http-body-util = "0.1.1" +hyper = "1.3.1" +hyper-util = "0.1.3" +intmap = "3.0.0" +json5 = "0.4.1" +libcrux-ml-kem = "0.0.2-alpha.3" +libsignal-message-backup-macros = { path = "rust/message-backup/macros" } +libsignal-net-infra = { path = "rust/net/infra" } +macro_rules_attribute = "0.2.0" +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" +pqcrypto-kyber = { version = "0.7.6", default-features = false } +pqcrypto-ml-kem = { version = "0.8.0", default-features = false } +pqcrypto-traits = "0.3.4" +proptest-state-machine = "0.3.1" +protobuf = "3.3.0" +protobuf-codegen = "3.3.0" +protobuf-json-mapping = "3.3.0" +rangemap = "1.5.1" +rcgen = "0.13.0" +rustls = { version = "0.23.4", default-features = false } +signal-neon-futures-tests = { path = "rust/bridge/node/futures/tests-node-module" } +socks5-server = "0.10.1" +tls-parser = "0.12.2" +tokio-socks = "0.5.2" +tokio-tungstenite = "0.23.0" +tokio-util = "0.7.9" +tungstenite = "0.23.0" +url = "2.4.1" +warp = "0.3.6" +webpsan = { version = "0.5.3", default-features = false } [patch.crates-io] # When building libsignal, just use our forks so we don't end up with two different versions of the libraries. diff --git a/rust/account-keys/Cargo.toml b/rust/account-keys/Cargo.toml index fa83fa94c..c3a4e82fc 100644 --- a/rust/account-keys/Cargo.toml +++ b/rust/account-keys/Cargo.toml @@ -17,7 +17,7 @@ workspace = true [dependencies] libsignal-core = { workspace = true } -argon2 = { version = "0.5.0", features = ["zeroize"] } +argon2 = { workspace = true, features = ["zeroize"] } derive_more = { workspace = true, features = ["from"] } displaydoc = { workspace = true } hkdf = { workspace = true } diff --git a/rust/attest/Cargo.toml b/rust/attest/Cargo.toml index 39a37418d..4744a9a61 100644 --- a/rust/attest/Cargo.toml +++ b/rust/attest/Cargo.toml @@ -18,7 +18,7 @@ workspace = true asn1 = { workspace = true } base64 = { workspace = true } bitflags = { workspace = true } -blake2 = "0.10" +blake2 = { workspace = true } boring-signal = { workspace = true } chacha20poly1305 = { workspace = true } chrono = { workspace = true, features = ["serde"] } diff --git a/rust/bridge/node/Cargo.toml b/rust/bridge/node/Cargo.toml index e40fc3d1a..c6bb5fb6a 100644 --- a/rust/bridge/node/Cargo.toml +++ b/rust/bridge/node/Cargo.toml @@ -25,12 +25,12 @@ libsignal-protocol = { workspace = true } futures = { workspace = true } log = { workspace = true } log-panics = { workspace = true, features = ["with-backtrace"] } -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 } -neon = { version = "1.0.0", default-features = false, features = ["napi-6"] } +minidump = { workspace = true } +minidump-processor = { workspace = true } +minidump-unwind = { workspace = true } +neon = { workspace = true, features = ["napi-6"] } [build-dependencies] # cmake 0.1.49 breaks no-toolchain Windows cross-compilation using Visual Studio # https://github.com/rust-lang/cmake-rs/pull/158#issuecomment-1544695163 -cmake = ">= 0.1, < 0.1.49" +cmake = { workspace = true } diff --git a/rust/bridge/node/futures/Cargo.toml b/rust/bridge/node/futures/Cargo.toml index 4d93fba1f..b870e459e 100644 --- a/rust/bridge/node/futures/Cargo.toml +++ b/rust/bridge/node/futures/Cargo.toml @@ -28,7 +28,7 @@ futures-util = { workspace = true } neon = { workspace = true, features = ["napi-4"] } [dev-dependencies] -signal-neon-futures-tests = { path = "tests-node-module" } +signal-neon-futures-tests = { workspace = true } [features] napi-6 = ["neon/napi-6"] diff --git a/rust/bridge/node/futures/tests-node-module/Cargo.toml b/rust/bridge/node/futures/tests-node-module/Cargo.toml index b21b78410..f4d96ec62 100644 --- a/rust/bridge/node/futures/tests-node-module/Cargo.toml +++ b/rust/bridge/node/futures/tests-node-module/Cargo.toml @@ -16,7 +16,7 @@ edition = "2021" crate-type = ["cdylib"] [dependencies] -signal-neon-futures = { path = ".." } +signal-neon-futures = { workspace = true } futures-util = { workspace = true } neon = { workspace = true, default-features = false, features = ["napi-1"] } diff --git a/rust/bridge/shared/Cargo.toml b/rust/bridge/shared/Cargo.toml index 35b50d974..7ead25458 100644 --- a/rust/bridge/shared/Cargo.toml +++ b/rust/bridge/shared/Cargo.toml @@ -30,7 +30,7 @@ signal-media = { workspace = true, optional = true } usernames = { workspace = true } zkgroup = { workspace = true } -aes-gcm-siv = "0.11.1" +aes-gcm-siv = { workspace = true } base64 = { workspace = true } bincode = { workspace = true } futures-util = { workspace = true } diff --git a/rust/crypto/Cargo.toml b/rust/crypto/Cargo.toml index 1130f8ab9..09c394eb2 100644 --- a/rust/crypto/Cargo.toml +++ b/rust/crypto/Cargo.toml @@ -18,7 +18,7 @@ aes = { workspace = true, features = ["zeroize"] } cbc = { workspace = true, features = ["std", "zeroize"] } ctr = { workspace = true, features = ["zeroize"] } displaydoc = { workspace = true } -ghash = { version = "0.5.0", features = ["zeroize"] } +ghash = { workspace = true, features = ["zeroize"] } hmac = { workspace = true, features = ["reset"] } sha1 = { workspace = true } sha2 = { workspace = true } @@ -31,7 +31,7 @@ hex = { workspace = true } hex-literal = { workspace = true } rand = { workspace = true } serde = { workspace = true } -serde_json = "1.0" +serde_json = { workspace = true } [[bench]] name = "aes_gcm" diff --git a/rust/media/Cargo.toml b/rust/media/Cargo.toml index f3ada70b5..aa1eff4af 100644 --- a/rust/media/Cargo.toml +++ b/rust/media/Cargo.toml @@ -11,9 +11,9 @@ workspace = true [dependencies] futures-util = { workspace = true } mediasan-common = { workspace = true } -mp4san = { version = "0.5.3", optional = true } +mp4san = { workspace = true, optional = true } thiserror = { workspace = true } -webpsan = { version = "0.5.3", optional = true, default-features = false } +webpsan = { workspace = true, optional = true } [features] default = ["mp4san", "webpsan"] diff --git a/rust/message-backup/Cargo.toml b/rust/message-backup/Cargo.toml index 9ac31bc71..ffbc3b9b6 100644 --- a/rust/message-backup/Cargo.toml +++ b/rust/message-backup/Cargo.toml @@ -39,7 +39,7 @@ required-features = ["test-util"] [dependencies] libsignal-account-keys = { workspace = true } libsignal-core = { workspace = true } -libsignal-message-backup-macros = { path = "macros" } +libsignal-message-backup-macros = { workspace = true } libsignal-protocol = { workspace = true } signal-crypto = { workspace = true } usernames = { workspace = true } @@ -49,11 +49,11 @@ zkgroup = { workspace = true } aes = { workspace = true } arrayvec = { workspace = true } assert_matches = { workspace = true } -async-compression = { version = "0.4.5", features = ["futures-io", "gzip"] } +async-compression = { workspace = true, features = ["futures-io", "gzip"] } async-trait = { workspace = true } cbc = { workspace = true } clap = { workspace = true, features = ["derive"] } -clap-stdin = "0.6.0" +clap-stdin = { workspace = true } derive-where = { workspace = true } derive_more = { workspace = true, features = ["from", "into_iterator"] } displaydoc = { workspace = true } @@ -62,14 +62,14 @@ futures = { workspace = true } hex = { workspace = true, features = ["serde"] } hkdf = { workspace = true } hmac = { workspace = true } -intmap = "3.0.0" +intmap = { workspace = true } itertools = { workspace = true } log = { workspace = true } -macro_rules_attribute = "0.2.0" +macro_rules_attribute = { workspace = true } mediasan-common = { workspace = true } num_enum = { workspace = true } -protobuf = "3.3.0" -protobuf-json-mapping = { version = "3.3.0", optional = true } +protobuf = { workspace = true } +protobuf-json-mapping = { workspace = true, optional = true } rand = { workspace = true, optional = true } serde = { workspace = true, features = ["derive", "rc"] } serde_json = { workspace = true, optional = true, features = ["preserve_order"] } @@ -82,26 +82,26 @@ uuid = { workspace = true, features = ["serde"] } visibility = { workspace = true } [dev-dependencies] -libsignal-message-backup = { path = "./", features = ["json", "scramble", "test-util"] } +libsignal-message-backup = { workspace = true, features = ["json", "scramble", "test-util"] } signal-crypto = { workspace = true } array-concat = { workspace = true } -assert_cmd = "2.0.13" +assert_cmd = { workspace = true } criterion = { workspace = true } -dir-test = "0.4.1" +dir-test = { workspace = true } futures = { workspace = true, features = ["executor"] } hex-literal = { workspace = true } -json5 = "0.4.1" +json5 = { workspace = true } nonzero_ext = { workspace = true } once_cell = { workspace = true } pretty_assertions = { workspace = true } test-case = { workspace = true } -test-log = "0.2.14" +test-log = { workspace = true } uuid = { workspace = true, features = ["v4"] } [build-dependencies] -protobuf = "3.3.0" -protobuf-codegen = "3.3.0" +protobuf = { workspace = true } +protobuf-codegen = { workspace = true } # Enable sha2 asm for local builds (there is a similar block in libsignal-bridge-types). [target.'cfg(not(any(windows, target_arch = "x86")))'.dev-dependencies] diff --git a/rust/net/Cargo.toml b/rust/net/Cargo.toml index 8c240266d..801642cca 100644 --- a/rust/net/Cargo.toml +++ b/rust/net/Cargo.toml @@ -16,19 +16,19 @@ workspace = true attest = { workspace = true } libsignal-core = { workspace = true } libsignal-keytrans = { workspace = true } -libsignal-net-infra = { path = "./infra" } +libsignal-net-infra = { workspace = true } libsignal-protocol = { workspace = true } libsignal-svr3 = { workspace = true } async-trait = { workspace = true } base64 = { workspace = true } bincode = { workspace = true } -bytes = "1.4.0" +bytes = { workspace = true } const-str = { workspace = true, features = ["std"] } derive-where = { workspace = true } derive_more = { workspace = true, features = ["from"] } displaydoc = { workspace = true } -either = "1.10.0" +either = { workspace = true } futures-util = { workspace = true } hex = { workspace = true } hex-literal = { workspace = true } @@ -43,7 +43,7 @@ pin-project = { workspace = true } prost = { workspace = true } rand = { workspace = true } rand_core = { workspace = true } -rustls = { version = "0.23.4", default-features = false, features = ["ring", "std", "tls12"] } +rustls = { workspace = true, features = ["ring", "std", "tls12"] } rustls-platform-verifier = { workspace = true } scopeguard = { workspace = true } serde = { workspace = true, features = ["derive"] } @@ -56,9 +56,9 @@ thiserror = { workspace = true } tokio = { workspace = true, features = ["rt", "time", "macros"] } tokio-boring-signal = { workspace = true } tokio-stream = { workspace = true } -tokio-tungstenite = "0.23.0" -tungstenite = { version = "0.23.0", features = ["url"] } -url = "2.4.1" +tokio-tungstenite = { workspace = true } +tungstenite = { workspace = true, features = ["url"] } +url = { workspace = true } uuid = { workspace = true } visibility = { workspace = true } zerocopy = { workspace = true } @@ -69,18 +69,18 @@ prost-build = { workspace = true } [dev-dependencies] assert_matches = { workspace = true } clap = { workspace = true, features = ["derive"] } -colored = "3.0" +colored = { workspace = true } env_logger = { workspace = true } hex-literal = { workspace = true } -libsignal-net = { path = ".", features = ["test-util"] } -libsignal-net-infra = { path = "./infra", features = ["test-util"] } +libsignal-net = { workspace = true, features = ["test-util"] } +libsignal-net-infra = { workspace = true, features = ["test-util"] } proptest = { workspace = true } -proptest-state-machine = "0.3.1" +proptest-state-machine = { workspace = true } snow = { workspace = true, features = ["default-resolver"] } test-case = { workspace = true } test-log = { workspace = true } tokio = { workspace = true, features = ["test-util", "io-std", "rt-multi-thread"] } -warp = { version = "0.3.6", features = ["tls"] } +warp = { workspace = true, features = ["tls"] } [[example]] name = "svr3_prop_test" diff --git a/rust/net/infra/Cargo.toml b/rust/net/infra/Cargo.toml index a9d3ef0ce..c8d7c941b 100644 --- a/rust/net/infra/Cargo.toml +++ b/rust/net/infra/Cargo.toml @@ -17,21 +17,21 @@ dev-util = [] attest = { workspace = true } async-trait = { workspace = true } -auto_enums = { version = "0.8.7", features = ["tokio1"] } +auto_enums = { workspace = true, features = ["tokio1"] } base64 = { workspace = true } -bitstream-io = "1.10.0" +bitstream-io = { workspace = true } boring-signal = { workspace = true } -bytes = "1.4.0" +bytes = { workspace = true } const-str = { workspace = true, features = ["std"] } derive-where = { workspace = true } derive_more = { workspace = true, features = ["from", "into", "into_iterator"] } displaydoc = { workspace = true } -either = "1.10.0" +either = { workspace = true } futures-util = { workspace = true } http = { workspace = true } -http-body-util = "0.1.1" -hyper = { version = "1.3.1", features = ["http1", "http2", "client"] } -hyper-util = { version = "0.1.3", features = ["tokio"] } +http-body-util = { workspace = true } +hyper = { workspace = true, features = ["http1", "http2", "client"] } +hyper-util = { workspace = true, features = ["tokio"] } indexmap = { workspace = true } itertools = { workspace = true } log = { workspace = true } @@ -41,8 +41,8 @@ pin-project = { workspace = true } prost = { workspace = true } rand = { workspace = true } rand_core = { workspace = true } -rangemap = "1.5.1" -rustls = { version = "0.23.4", default-features = false, features = ["ring", "std", "tls12"] } +rangemap = { workspace = true } +rustls = { workspace = true, features = ["ring", "std", "tls12"] } rustls-platform-verifier = { workspace = true } snow = { workspace = true } static_assertions = { workspace = true } @@ -50,28 +50,28 @@ strum = { workspace = true, features = ["derive"] } thiserror = { workspace = true } tokio = { workspace = true, features = ["rt", "time", "macros"] } tokio-boring-signal = { workspace = true } -tokio-socks = "0.5.2" +tokio-socks = { workspace = true } tokio-stream = { workspace = true } -tokio-tungstenite = "0.23.0" -tokio-util = "0.7.9" -tungstenite = { version = "0.23.0", features = ["url"] } -url = "2.4.1" +tokio-tungstenite = { workspace = true } +tokio-util = { workspace = true } +tungstenite = { workspace = true, features = ["url"] } +url = { workspace = true } visibility = { workspace = true } -warp = { version = "0.3.6", features = ["tls"], optional = true } +warp = { workspace = true, features = ["tls"], optional = true } [dev-dependencies] assert_matches = { workspace = true } env_logger = { workspace = true } -hickory-proto = "0.24.1" -hyper = { version = "1.3.1", features = ["http1", "server"] } +hickory-proto = { workspace = true } +hyper = { workspace = true, features = ["http1", "server"] } lazy_static = { workspace = true } pretty_assertions = { workspace = true } proptest = { workspace = true } -rcgen = "0.13.0" +rcgen = { workspace = true } snow = { workspace = true, features = ["default-resolver"] } -socks5-server = "0.10.1" +socks5-server = { workspace = true } test-case = { workspace = true } test-log = { workspace = true } -tls-parser = "0.12.2" +tls-parser = { workspace = true } tokio = { workspace = true, features = ["test-util", "io-std", "rt-multi-thread"] } -warp = { version = "0.3.6", features = ["tls"] } +warp = { workspace = true, features = ["tls"] } diff --git a/rust/protocol/Cargo.toml b/rust/protocol/Cargo.toml index ab120b22d..9ff6a791d 100644 --- a/rust/protocol/Cargo.toml +++ b/rust/protocol/Cargo.toml @@ -19,7 +19,7 @@ signal-crypto = { workspace = true } aes = { workspace = true, features = ["zeroize"] } aes-gcm-siv = { workspace = true } -arrayref = "0.3.6" +arrayref = { workspace = true } assert_matches = { workspace = true } async-trait = { workspace = true } ctr = { workspace = true, features = ["zeroize"] } @@ -33,8 +33,8 @@ indexmap = { workspace = true } itertools = { workspace = true } log = { workspace = true } num_enum = { workspace = true } -pqcrypto-kyber = { version = "0.7.6", default-features = false, features = ["std"] } -pqcrypto-traits = "0.3.4" +pqcrypto-kyber = { workspace = true, features = ["std"] } +pqcrypto-traits = { workspace = true } prost = { workspace = true } rand = { workspace = true } rayon = { workspace = true } @@ -47,7 +47,7 @@ zerocopy = { workspace = true, features = ["derive"] } # WARNING: pqcrypto-kyber 0.8 and 0.7 don't actually coexist, they both depend on the same C symbols. # We keep this here for if/when that gets cleared up. -pqcrypto-ml-kem = { version = "0.8.0", default-features = false, features = ["std"], package = "pqcrypto-kyber", optional = true } +pqcrypto-ml-kem = { workspace = true, features = ["std"], optional = true } [features] kyber768 = [] diff --git a/rust/zkcredential/Cargo.toml b/rust/zkcredential/Cargo.toml index efd375fc7..92ae6e457 100644 --- a/rust/zkcredential/Cargo.toml +++ b/rust/zkcredential/Cargo.toml @@ -29,7 +29,7 @@ subtle = { workspace = true } thiserror = { workspace = true } # If rayon is enabled, certain operations will use rayon's thread pool. -rayon = { version = "1.8.0", optional = true } +rayon = { workspace = true, optional = true } [dev-dependencies] bincode = { workspace = true }