Skip to content

Commit 0c959a0

Browse files
committed
Merge pull-request #575
2 parents f83f547 + 0c7c3ba commit 0c959a0

File tree

17 files changed

+151
-120
lines changed

17 files changed

+151
-120
lines changed

src/Cargo.lock

Lines changed: 1 addition & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/Cargo.toml

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,3 +24,52 @@ exclude = [
2424
# enabled just because some tests need it.
2525
# https://nickb.dev/blog/cargo-workspace-and-the-feature-unification-pitfall/
2626
resolver = "2"
27+
28+
[workspace.dependencies]
29+
# External dependencies
30+
aes-gcm = { version = "0.10.3", features = ["aes", "alloc"], default-features = false }
31+
aws-nitro-enclaves-cose = { version = "0.5", default-features = false }
32+
aws-nitro-enclaves-nsm-api = { version = "0.4", default-features = false }
33+
axum = { version = "0.6.20", features = ["http1", "tokio", "json"], default-features = false }
34+
borsh = { version = "1.0", features = ["std", "derive"], default-features = false }
35+
chunked_transfer = { version = "1.5.0", default-features = false }
36+
hex-literal = "0.4.0"
37+
hickory-resolver = { version = "0.25.2", features = ["tokio", "dnssec-ring"], default-features = false }
38+
hkdf = { version = "0.12", default-features = false }
39+
hmac = { version = "0.12", default-features = false }
40+
httparse = { version = "1.9.4", default-features = false }
41+
lazy_static = "1.4"
42+
libc = "=0.2.172"
43+
nix = { version = "0.26", features = ["socket"], default-features = false }
44+
p256 = { version = "0.12.0", default-features = false }
45+
p384 = { version = "0.13", features = ["ecdsa", "std"], default-features = false }
46+
rand = "0.9"
47+
rand_core = { version = "0.9", default-features = false, features = ["os_rng"] }
48+
rpassword = { version = "7", default-features = false }
49+
rustls = { version = "0.23.5" }
50+
serde = { version = "1", features = ["derive"], default-features = false }
51+
serde_bytes = { version = "0.11", default-features = false }
52+
serde_json = { version = "1" }
53+
sha2 = { version = "0.10", default-features = false }
54+
thiserror = { version = "2.0.12", features = ["std"], default-features = false }
55+
tokio = { version = "1.43.1", features = ["macros", "rt-multi-thread"], default-features = false }
56+
ureq = { version = "2.9", default-features = false }
57+
vsss-rs = { version = "5.1", default-features = false, features = ["std", "zeroize"] }
58+
webpki = { version = "0.22.4", default-features = false }
59+
webpki-roots = { version = "1.0.2" }
60+
x509 = { version = "0.2", default-features = false }
61+
x509-cert = { version = "0.2.5", features = ["pem"], default-features = false }
62+
yubikey = { version = "0.7", features = ["untested"], default-features = false }
63+
zeroize = { version = "1.6", default-features = false }
64+
65+
# Internal workspace dependencies
66+
integration = { path = "integration" }
67+
qos_client = { path = "qos_client", default-features = false }
68+
qos_core = { path = "qos_core", default-features = false }
69+
qos_crypto = { path = "qos_crypto", default-features = false }
70+
qos_hex = { path = "qos_hex", default-features = false }
71+
qos_host = { path = "qos_host", default-features = false }
72+
qos_net = { path = "qos_net", default-features = false }
73+
qos_nsm = { path = "qos_nsm", default-features = false }
74+
qos_p256 = { path = "qos_p256" }
75+
qos_test_primitives = { path = "qos_test_primitives" }

src/integration/Cargo.toml

Lines changed: 15 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -5,22 +5,21 @@ edition = "2021"
55
publish = false
66

77
[dependencies]
8-
qos_core = { path = "../qos_core", features = ["mock"], default-features = false }
9-
qos_nsm = { path = "../qos_nsm", features = ["mock"], default-features = false }
10-
qos_host = { path = "../qos_host", default-features = false }
11-
qos_client = { path = "../qos_client", default-features = false }
12-
qos_net = { path = "../qos_net", default-features = false }
13-
qos_crypto = { path = "../qos_crypto" }
14-
qos_hex = { path = "../qos_hex" }
15-
qos_p256 = { path = "../qos_p256", features = ["mock"] }
16-
qos_test_primitives = { path = "../qos_test_primitives" }
8+
qos_core = { workspace = true, features = ["mock"], default-features = false }
9+
qos_nsm = { workspace = true, features = ["mock"], default-features = false }
10+
qos_host = { workspace = true, default-features = false }
11+
qos_net = { workspace = true, default-features = false }
12+
qos_crypto = { workspace = true }
13+
qos_hex = { workspace = true }
14+
qos_p256 = { workspace = true, features = ["mock"] }
15+
qos_test_primitives = { workspace = true }
1716

18-
tokio = { version = "1.43.1", features = ["macros", "rt-multi-thread"], default-features = false }
19-
borsh = { version = "1.0", features = ["std", "derive"] , default-features = false}
20-
nix = { version = "0.26", features = ["socket"], default-features = false }
21-
rustls = { version = "0.23.5" }
22-
webpki-roots = { version = "1.0.2" }
17+
tokio = { workspace = true, features = ["macros", "rt-multi-thread"] }
18+
borsh = { workspace = true }
19+
nix = { workspace = true }
20+
rustls = { workspace = true }
21+
webpki-roots = { workspace = true }
2322

2423
[dev-dependencies]
25-
rand = "0.9"
26-
ureq = { version = "2.9", features = ["json"], default-features = false }
24+
rand = { workspace = true, features = ["thread_rng"] }
25+
ureq = { workspace = true, features = ["json"] }

src/integration/tests/genesis.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ use qos_crypto::{sha_512, shamir::shares_reconstruct};
1212
use qos_nsm::nitro::unsafe_attestation_doc_from_der;
1313
use qos_p256::{P256Pair, P256Public};
1414
use qos_test_primitives::{ChildWrapper, PathWrapper};
15-
use rand::{seq::SliceRandom, rng};
15+
use rand::{rng, seq::SliceRandom};
1616

1717
const DR_KEY_PUBLIC_PATH: &str = "./mock/mock_p256_dr.pub";
1818
const DR_KEY_PRIVATE_PATH: &str = "./mock/mock_p256_dr.secret.keep";

src/qos_client/Cargo.toml

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -5,32 +5,32 @@ edition = "2021"
55
publish = false
66

77
[dependencies]
8-
qos_core = { path = "../qos_core", default-features = false }
9-
qos_crypto = { path = "../qos_crypto", default-features = false }
10-
qos_hex = { path = "../qos_hex" }
11-
qos_p256 = { path = "../qos_p256" }
12-
qos_nsm = { path = "../qos_nsm", default-features = false }
8+
qos_core = { workspace = true, default-features = false }
9+
qos_crypto = { workspace = true, default-features = false }
10+
qos_hex = { workspace = true }
11+
qos_p256 = { workspace = true }
12+
qos_nsm = { workspace = true, default-features = false }
1313

1414
# Third party
15-
ureq = { version = "2.9", default-features = false }
16-
aws-nitro-enclaves-nsm-api = { version = "0.4", default-features = false }
17-
borsh = { version = "1.0", features = ["std", "derive"] , default-features = false}
18-
p256 = { version = "0.12.0", default-features = false }
19-
rand_core = { version = "0.9", features = ["os_rng"], default-features = false }
20-
zeroize = { version = "1.6", default-features = false }
21-
rpassword = { version = "7", default-features = false }
22-
serde_json = { version = "1" }
15+
ureq = { workspace = true }
16+
aws-nitro-enclaves-nsm-api = { workspace = true }
17+
borsh = { workspace = true }
18+
p256 = { workspace = true }
19+
rand_core = { workspace = true, features = ["os_rng"] }
20+
zeroize = { workspace = true }
21+
rpassword = { workspace = true }
22+
serde_json = { workspace = true }
2323

24-
x509 = { version = "0.2", default-features = false, optional = true }
24+
x509 = { workspace = true, optional = true }
2525
# As of 7/2025, upgrading this to 0.8.0 is blocked due to dependency conflicts
26-
yubikey = { version = "0.7", features = ["untested"], default-features = false, optional = true }
26+
yubikey = { workspace = true, optional = true }
2727

2828
[dev-dependencies]
2929
# We need mock enabled to grab things related to the mock NSM.
30-
qos_core = { path = "../qos_core", features = ["mock"], default-features = false }
31-
lazy_static = "1.4"
32-
qos_test_primitives = { path = "../qos_test_primitives" }
33-
qos_p256 = { path = "../qos_p256", features = ["mock"] }
30+
qos_core = { workspace = true, features = ["mock"], default-features = false }
31+
lazy_static = { workspace = true }
32+
qos_test_primitives = { workspace = true }
33+
qos_p256 = { workspace = true, features = ["mock"] }
3434

3535
[features]
3636
default = ["smartcard"]

src/qos_core/Cargo.toml

Lines changed: 15 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -5,28 +5,27 @@ edition = "2021"
55
publish = false
66

77
[dependencies]
8-
qos_crypto = { path = "../qos_crypto" }
9-
qos_hex = { path = "../qos_hex", features = ["serde"] }
10-
qos_p256 = { path = "../qos_p256" }
11-
qos_nsm = { path = "../qos_nsm", default-features = false }
8+
qos_crypto = { workspace = true }
9+
qos_hex = { workspace = true, features = ["serde"] }
10+
qos_p256 = { workspace = true }
11+
qos_nsm = { workspace = true, default-features = false }
1212

13-
nix = { version = "0.26", features = ["socket"], default-features = false }
14-
libc = "=0.2.172"
15-
borsh = { version = "1.0", features = ["std", "derive"] , default-features = false}
16-
vsss-rs = { version = "5.1", default-features = false, features = ["std", "zeroize"] }
13+
nix = { workspace = true }
14+
libc = { workspace = true }
15+
borsh = { workspace = true }
1716

1817
# For AWS Nitro
19-
aws-nitro-enclaves-nsm-api = { version = "0.4", default-features = false }
18+
aws-nitro-enclaves-nsm-api = { workspace = true }
2019

21-
serde_bytes = { version = "0.11", default-features = false }
22-
serde = { version = "1", features = ["derive"], default-features = false }
20+
serde_bytes = { workspace = true }
21+
serde = { workspace = true }
2322

2423
[dev-dependencies]
25-
qos_test_primitives = { path = "../qos_test_primitives" }
26-
qos_p256 = { path = "../qos_p256", features = ["mock"] }
27-
qos_nsm = { path = "../qos_nsm", features = ["mock"], default-features = false }
28-
rustls = { version = "0.23.5" }
29-
webpki-roots = { version = "1.0.2" }
24+
qos_test_primitives = { workspace = true }
25+
qos_p256 = { workspace = true, features = ["mock"] }
26+
qos_nsm = { workspace = true, features = ["mock"], default-features = false }
27+
rustls = { workspace = true }
28+
webpki-roots = { workspace = true }
3029

3130
[features]
3231
# Support for VSOCK

src/qos_crypto/Cargo.toml

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,11 @@ edition = "2021"
55
publish = false
66

77
[dependencies]
8-
sha2 = { version = "0.10", default-features = false }
9-
thiserror = { version = "2.0.12", features = ["std"], default-features = false }
10-
vsss-rs = { version = "5.1", default-features = false, features = ["std", "zeroize"] }
11-
# dependent on rand_core version used in vsss-rs
12-
rand = { version = "0.8", default-features = false, features = ["std", "std_rng"] }
13-
# dependent on rand_core version used in vsss-rs
14-
rand_core = { version = "0.6.4", default-features = false }
8+
sha2 = { workspace = true }
9+
thiserror = { workspace = true }
10+
vsss-rs = { workspace = true }
11+
rand = { workspace = true, features = ["std", "std_rng"] }
12+
1513

1614
[dev-dependencies]
17-
qos_hex = { path = "../qos_hex" }
15+
qos_hex = { workspace = true }

src/qos_crypto/src/shamir.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
//! Shamir Secret Sharing module. We use the [`vsss-rs`](https://crates.io/crates/vsss-rs)
2-
use rand_core::OsRng;
2+
use vsss_rs::elliptic_curve::rand_core::OsRng;
33
use vsss_rs::Gf256;
44

55
use crate::QosCryptoError;

src/qos_hex/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ edition = "2021"
55
publish = false
66

77
[dependencies]
8-
serde = { version = "1", optional = true, default-features = false }
8+
serde = { workspace = true, optional = true }
99

1010
[features]
1111
serde = ["dep:serde"]

src/qos_host/Cargo.toml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,15 @@ edition = "2021"
55
publish = false
66

77
[dependencies]
8-
qos_core = { path = "../qos_core", default-features = false }
9-
qos_hex = { path = "../qos_hex", features = ["serde"], default-features = false }
8+
qos_core = { workspace = true, default-features = false }
9+
qos_hex = { workspace = true, features = ["serde"], default-features = false }
1010

1111
# Third party
12-
axum = { version = "0.6.20", features = ["http1", "tokio", "json"], default-features = false }
13-
tokio = { version = "1.43.1", features = ["macros", "rt-multi-thread"], default-features = false }
14-
borsh = { version = "1.0", features = ["std", "derive"] , default-features = false}
15-
serde_json = { version = "1" }
16-
serde = { version = "1", features = ["derive"], default-features = false }
12+
axum = { workspace = true }
13+
tokio = { workspace = true, features = ["macros", "rt-multi-thread"] }
14+
borsh = { workspace = true }
15+
serde_json = { workspace = true }
16+
serde = { workspace = true }
1717

1818
[features]
1919
vm = ["qos_core/vm"]

0 commit comments

Comments
 (0)