From b5baedba0110c0c62f61bc08e430d6e57394e370 Mon Sep 17 00:00:00 2001 From: Dan Draper Date: Mon, 19 Oct 2026 11:11:29 +1100 Subject: [PATCH 1/7] build: take vitaminc 0.6.1, which reads data that is not plaintext from a transport frame with serde vitaminc-aead-frame 0.6.1 adds the serde adapter over the transport frame (the `serde` feature), which the control messages that follow read and write through. Every vitaminc requirement moves to 0.6.1 together, as the release did, and the four lockfiles that resolve vitaminc 0.6 follow. vitaminc-normalize is on crates.io now, so the comment saying a patch table supplied it goes. --- Cargo.lock | 128 +++++++++++----------- Cargo.toml | 17 ++- languages/golang/auth/guest/Cargo.lock | 94 ++++++++-------- languages/golang/encrypt/guest/Cargo.lock | 128 +++++++++++----------- languages/golang/encrypt/guest/Cargo.toml | 4 +- packages/eql/Cargo.lock | 118 ++++++++++---------- packages/stack-encrypt/fuzz/Cargo.lock | 118 ++++++++++---------- packages/stack-encrypt/fuzz/Cargo.toml | 2 +- 8 files changed, 304 insertions(+), 305 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index bac0275fe..182d8fa55 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3236,8 +3236,8 @@ dependencies = [ "tracing-subscriber", "url", "uuid", - "vitaminc 0.6.0", - "vitaminc-protected 0.6.0", + "vitaminc 0.6.1", + "vitaminc-protected 0.6.1", "web-time", "zeroize", "zerokms-protocol", @@ -3259,7 +3259,7 @@ dependencies = [ "tempfile", "tokio", "url", - "vitaminc-protected 0.6.0", + "vitaminc-protected 0.6.1", "zeroize", ] @@ -3298,12 +3298,12 @@ dependencies = [ "tokio", "trybuild", "uuid", - "vitaminc-aead 0.6.0", - "vitaminc-encrypt 0.6.0", + "vitaminc-aead 0.6.1", + "vitaminc-encrypt 0.6.1", "vitaminc-hmac", "vitaminc-normalize", "vitaminc-prf", - "vitaminc-protected 0.6.0", + "vitaminc-protected 0.6.1", "zeroize", "zerokms-protocol", ] @@ -3328,9 +3328,9 @@ dependencies = [ "proptest", "serde_json", "thiserror 1.0.69", - "vitaminc-aead 0.6.0", + "vitaminc-aead 0.6.1", "vitaminc-aead-frame", - "vitaminc-protected 0.6.0", + "vitaminc-protected 0.6.1", "zeroize", ] @@ -3362,8 +3362,8 @@ dependencies = [ "tracing", "url", "uuid", - "vitaminc 0.6.0", - "vitaminc-protected 0.6.0", + "vitaminc 0.6.1", + "vitaminc-protected 0.6.1", "zeroize", "zerokms-protocol", ] @@ -4128,16 +4128,16 @@ dependencies = [ [[package]] name = "vitaminc" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0c6b8dff9bfc94e076fcd5496395958e6c8dddb27605b6504c54123512c7c8e" +checksum = "ac5c15b6c25efcb9a6111f7108ab8101947a7bf7e9af3ff6d6a73358a1ace0da" dependencies = [ - "vitaminc-aead 0.6.0", - "vitaminc-context 0.6.0", - "vitaminc-encrypt 0.6.0", - "vitaminc-protected 0.6.0", - "vitaminc-random 0.6.0", - "vitaminc-traits 0.6.0", + "vitaminc-aead 0.6.1", + "vitaminc-context 0.6.1", + "vitaminc-encrypt 0.6.1", + "vitaminc-protected 0.6.1", + "vitaminc-random 0.6.1", + "vitaminc-traits 0.6.1", ] [[package]] @@ -4157,18 +4157,18 @@ dependencies = [ [[package]] name = "vitaminc-aead" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcea687f745050d80df32c93fbe7f8d18ed2cc5fb5e029814477dfe31449ec2e" +checksum = "71b8c5c4ced92545dce5fd7cf04581d08210def174cc81475cf227fa2506c5b7" dependencies = [ "bytes", "futures-util", "serde", "thiserror 2.0.18", - "vitaminc-aead-derive 0.6.0", - "vitaminc-context 0.6.0", - "vitaminc-protected 0.6.0", - "vitaminc-random 0.6.0", + "vitaminc-aead-derive 0.6.1", + "vitaminc-context 0.6.1", + "vitaminc-protected 0.6.1", + "vitaminc-random 0.6.1", "zeroize", ] @@ -4185,9 +4185,9 @@ dependencies = [ [[package]] name = "vitaminc-aead-derive" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "085afc8c77ffadb4c8a93c9c5fa2d897196a36ab38e17c08fe96f8b9c309e05f" +checksum = "4c546497a972d0f0498f2f8d5f537c514bad82df8662951c63d0c80023808900" dependencies = [ "proc-macro2", "quote", @@ -4196,11 +4196,11 @@ dependencies = [ [[package]] name = "vitaminc-aead-frame" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c253055230469c4af4791e902c41ce0ce55069c512249b33cf041dd5c58c517" +checksum = "e35992a269bcaa5b201f1938e54bfbf167bfa6fe975d83cbdbdb54c2a363c5ef" dependencies = [ - "vitaminc-aead 0.6.0", + "vitaminc-aead 0.6.1", ] [[package]] @@ -4215,12 +4215,12 @@ dependencies = [ [[package]] name = "vitaminc-context" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4d5679e511871da942ba2b29fcb1df198ee2359218bf7f11cfec4fd3dcfeee0" +checksum = "fa4c4bc2bd9811253eb427657565a45bd4826e2379e93ee1c4d00c808a769882" dependencies = [ "mutants", - "vitaminc-protected 0.6.0", + "vitaminc-protected 0.6.1", ] [[package]] @@ -4239,56 +4239,56 @@ dependencies = [ [[package]] name = "vitaminc-encrypt" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "061d55dc4084fcc2eaa7334dd28300cd8d321038339a41085b7bf2dc6ccf5d4c" +checksum = "f0923694602855b33a296d9af473e282e8096c1cfe1b30b8695d3b6651717fc5" dependencies = [ "aes-gcm", "aws-lc-rs", - "vitaminc-aead 0.6.0", - "vitaminc-protected 0.6.0", - "vitaminc-random 0.6.0", + "vitaminc-aead 0.6.1", + "vitaminc-protected 0.6.1", + "vitaminc-random 0.6.1", "zeroize", ] [[package]] name = "vitaminc-hmac" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "393354b2348eabce0420626fdc7cf70ac779870f82abb566fb491ea19eeea066" +checksum = "bd361f626e95cbe770b9d012e4a86c43cfefe4aefb3d5b3ed9339a83085bdc53" dependencies = [ "hmac", "sha2 0.11.0", "vitaminc-prf", - "vitaminc-protected 0.6.0", + "vitaminc-protected 0.6.1", "zeroize", ] [[package]] name = "vitaminc-normalize" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dda6ec7f852ba8cd7e0ba6e8e7eaa3045e6fb866007c6d7ad6128833d8980f0c" +checksum = "214b2a9d085924c3bc3c91f3ba74238e8848bf54990e5f48f170c71fbacea07a" dependencies = [ "thiserror 2.0.18", "unicode-general-category", "unicode-normalization", - "vitaminc-aead 0.6.0", - "vitaminc-protected 0.6.0", + "vitaminc-aead 0.6.1", + "vitaminc-protected 0.6.1", ] [[package]] name = "vitaminc-prf" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11de28e524ab1deecedbb023bd328916b6c023e2f52156521ac1df75a689d911" +checksum = "c2715cca25006b4656223bc932ab4fd7f70d387aa4ec63a4e2ef33aa8cd2b3a5" dependencies = [ "mutants", "thiserror 2.0.18", - "vitaminc-aead 0.6.0", - "vitaminc-context 0.6.0", + "vitaminc-aead 0.6.1", + "vitaminc-context 0.6.1", "vitaminc-normalize", - "vitaminc-protected 0.6.0", + "vitaminc-protected 0.6.1", ] [[package]] @@ -4310,9 +4310,9 @@ dependencies = [ [[package]] name = "vitaminc-protected" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "efe97c67b61fd749b20d84248416a6cc1dc3f024a4695e3f69eee63aee7cb7c2" +checksum = "b1bb76dd473f5aa89b844f92018ebe3041deb8e5390e7061cca4283d959ff855" dependencies = [ "bitvec", "digest 0.11.3", @@ -4321,7 +4321,7 @@ dependencies = [ "serde_bytes", "subtle", "thiserror 2.0.18", - "vitaminc-protected-derive 0.6.0", + "vitaminc-protected-derive 0.6.1", "zeroize", ] @@ -4338,9 +4338,9 @@ dependencies = [ [[package]] name = "vitaminc-protected-derive" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0483ecfcb3e874d45c9b2dc04d8e5ed55ff453023a9de98fddc4a24b315d9f6" +checksum = "e7478ed160c019059746e75fc613563dcdcd5266d155a34601d29377a1c4afc3" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -4365,16 +4365,16 @@ dependencies = [ [[package]] name = "vitaminc-random" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "693ae19994e6a79f9839e510220f532daab6f2ab0b4167fdd0d8379a027c653f" +checksum = "2b477af7c01c3d9ef2647e46952ad3df7f246b3f806b1d4009ee83beecec613a" dependencies = [ "chacha20", "getrandom 0.4.2", "rand 0.10.1", "thiserror 2.0.18", - "vitaminc-protected 0.6.0", - "vitaminc-random-derives 0.6.0", + "vitaminc-protected 0.6.1", + "vitaminc-random-derives 0.6.1", "zeroize", ] @@ -4391,9 +4391,9 @@ dependencies = [ [[package]] name = "vitaminc-random-derives" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fb9ad6bb972f7e1b0889eba0a3ed534afe86dd8e52f197a2de20ebe25ee9e56" +checksum = "ab5a0de8da428c6789dc067a578a0462e411099721d616736cf29e1622230c35" dependencies = [ "proc-macro2", "quote", @@ -4418,17 +4418,17 @@ dependencies = [ [[package]] name = "vitaminc-traits" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c9f86c930cb4f98eee9288f463a133f01774be039ba05a092f12148b45c430c" +checksum = "a900f0edcacd49c8557ab54722175869fec66926054a6fbdc53a05069db3c922" dependencies = [ "anyhow", "bytes", "rmp-serde", "serde", "thiserror 2.0.18", - "vitaminc-protected 0.6.0", - "vitaminc-random 0.6.0", + "vitaminc-protected 0.6.1", + "vitaminc-random 0.6.1", "zeroize", ] diff --git a/Cargo.toml b/Cargo.toml index 22e8a3d21..0629e45a6 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -120,16 +120,15 @@ web-time = "1.1" zeroize = { version = "1.8.1", features = ["derive"] } # This is needed because lock_api 0.4.6 was breaking things and the branch forces the use of 0.4.12 temp-env = { git = "https://github.com/cipherstash/temp-env", branch = "main" } -vitaminc = { version = "0.6.0", features = ["random", "protected", "encrypt"] } -vitaminc-aead = "0.6.0" +vitaminc = { version = "0.6.1", features = ["random", "protected", "encrypt"] } +vitaminc-aead = "0.6.1" # The transport frame and ciphertext codec every language binding carries # across its FFI boundary. Optional in stack-encrypt (the `dynamic` feature). -vitaminc-aead-frame = "0.6.0" -vitaminc-encrypt = "0.6.0" -vitaminc-hmac = "0.6.0" -# Not on crates.io yet: the `[patch.crates-io]` block below supplies it. +vitaminc-aead-frame = "0.6.1" +vitaminc-encrypt = "0.6.1" +vitaminc-hmac = "0.6.1" # Normalized equality terms (Unicode 16 NFC text, one integer encoding for # every width), which `vitaminc-prf`'s `normalize` feature derives over. -vitaminc-normalize = "0.6.0" -vitaminc-prf = { version = "0.6.0", features = ["normalize"] } -vitaminc-protected = "0.6.0" +vitaminc-normalize = "0.6.1" +vitaminc-prf = { version = "0.6.1", features = ["normalize"] } +vitaminc-protected = "0.6.1" diff --git a/languages/golang/auth/guest/Cargo.lock b/languages/golang/auth/guest/Cargo.lock index 58ae17c2a..9073d2b3f 100644 --- a/languages/golang/auth/guest/Cargo.lock +++ b/languages/golang/auth/guest/Cargo.lock @@ -1847,8 +1847,8 @@ dependencies = [ "tracing", "url", "uuid", - "vitaminc 0.6.0", - "vitaminc-protected 0.6.0", + "vitaminc 0.6.1", + "vitaminc-protected 0.6.1", "web-time", "zeroize", "zerokms-protocol", @@ -1867,7 +1867,7 @@ dependencies = [ "stack-profile", "tempfile", "url", - "vitaminc-protected 0.6.0", + "vitaminc-protected 0.6.1", "zeroize", ] @@ -1878,9 +1878,9 @@ dependencies = [ "miette", "serde_json", "thiserror 1.0.69", - "vitaminc-aead 0.6.0", + "vitaminc-aead 0.6.1", "vitaminc-aead-frame", - "vitaminc-protected 0.6.0", + "vitaminc-protected 0.6.1", "zeroize", ] @@ -2299,16 +2299,16 @@ dependencies = [ [[package]] name = "vitaminc" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0c6b8dff9bfc94e076fcd5496395958e6c8dddb27605b6504c54123512c7c8e" +checksum = "ac5c15b6c25efcb9a6111f7108ab8101947a7bf7e9af3ff6d6a73358a1ace0da" dependencies = [ - "vitaminc-aead 0.6.0", - "vitaminc-context 0.6.0", - "vitaminc-encrypt 0.6.0", - "vitaminc-protected 0.6.0", - "vitaminc-random 0.6.0", - "vitaminc-traits 0.6.0", + "vitaminc-aead 0.6.1", + "vitaminc-context 0.6.1", + "vitaminc-encrypt 0.6.1", + "vitaminc-protected 0.6.1", + "vitaminc-random 0.6.1", + "vitaminc-traits 0.6.1", ] [[package]] @@ -2328,18 +2328,18 @@ dependencies = [ [[package]] name = "vitaminc-aead" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcea687f745050d80df32c93fbe7f8d18ed2cc5fb5e029814477dfe31449ec2e" +checksum = "71b8c5c4ced92545dce5fd7cf04581d08210def174cc81475cf227fa2506c5b7" dependencies = [ "bytes", "futures-util", "serde", "thiserror 2.0.20", - "vitaminc-aead-derive 0.6.0", - "vitaminc-context 0.6.0", - "vitaminc-protected 0.6.0", - "vitaminc-random 0.6.0", + "vitaminc-aead-derive 0.6.1", + "vitaminc-context 0.6.1", + "vitaminc-protected 0.6.1", + "vitaminc-random 0.6.1", "zeroize", ] @@ -2356,9 +2356,9 @@ dependencies = [ [[package]] name = "vitaminc-aead-derive" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "085afc8c77ffadb4c8a93c9c5fa2d897196a36ab38e17c08fe96f8b9c309e05f" +checksum = "4c546497a972d0f0498f2f8d5f537c514bad82df8662951c63d0c80023808900" dependencies = [ "proc-macro2", "quote", @@ -2367,11 +2367,11 @@ dependencies = [ [[package]] name = "vitaminc-aead-frame" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c253055230469c4af4791e902c41ce0ce55069c512249b33cf041dd5c58c517" +checksum = "e35992a269bcaa5b201f1938e54bfbf167bfa6fe975d83cbdbdb54c2a363c5ef" dependencies = [ - "vitaminc-aead 0.6.0", + "vitaminc-aead 0.6.1", ] [[package]] @@ -2386,12 +2386,12 @@ dependencies = [ [[package]] name = "vitaminc-context" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4d5679e511871da942ba2b29fcb1df198ee2359218bf7f11cfec4fd3dcfeee0" +checksum = "fa4c4bc2bd9811253eb427657565a45bd4826e2379e93ee1c4d00c808a769882" dependencies = [ "mutants", - "vitaminc-protected 0.6.0", + "vitaminc-protected 0.6.1", ] [[package]] @@ -2410,15 +2410,15 @@ dependencies = [ [[package]] name = "vitaminc-encrypt" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "061d55dc4084fcc2eaa7334dd28300cd8d321038339a41085b7bf2dc6ccf5d4c" +checksum = "f0923694602855b33a296d9af473e282e8096c1cfe1b30b8695d3b6651717fc5" dependencies = [ "aes-gcm", "aws-lc-rs", - "vitaminc-aead 0.6.0", - "vitaminc-protected 0.6.0", - "vitaminc-random 0.6.0", + "vitaminc-aead 0.6.1", + "vitaminc-protected 0.6.1", + "vitaminc-random 0.6.1", "zeroize", ] @@ -2441,9 +2441,9 @@ dependencies = [ [[package]] name = "vitaminc-protected" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "efe97c67b61fd749b20d84248416a6cc1dc3f024a4695e3f69eee63aee7cb7c2" +checksum = "b1bb76dd473f5aa89b844f92018ebe3041deb8e5390e7061cca4283d959ff855" dependencies = [ "bitvec", "digest 0.11.3", @@ -2452,7 +2452,7 @@ dependencies = [ "serde_bytes", "subtle", "thiserror 2.0.20", - "vitaminc-protected-derive 0.6.0", + "vitaminc-protected-derive 0.6.1", "zeroize", ] @@ -2469,9 +2469,9 @@ dependencies = [ [[package]] name = "vitaminc-protected-derive" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0483ecfcb3e874d45c9b2dc04d8e5ed55ff453023a9de98fddc4a24b315d9f6" +checksum = "e7478ed160c019059746e75fc613563dcdcd5266d155a34601d29377a1c4afc3" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -2496,16 +2496,16 @@ dependencies = [ [[package]] name = "vitaminc-random" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "693ae19994e6a79f9839e510220f532daab6f2ab0b4167fdd0d8379a027c653f" +checksum = "2b477af7c01c3d9ef2647e46952ad3df7f246b3f806b1d4009ee83beecec613a" dependencies = [ "chacha20", "getrandom 0.4.3", "rand 0.10.3", "thiserror 2.0.20", - "vitaminc-protected 0.6.0", - "vitaminc-random-derives 0.6.0", + "vitaminc-protected 0.6.1", + "vitaminc-random-derives 0.6.1", "zeroize", ] @@ -2522,9 +2522,9 @@ dependencies = [ [[package]] name = "vitaminc-random-derives" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fb9ad6bb972f7e1b0889eba0a3ed534afe86dd8e52f197a2de20ebe25ee9e56" +checksum = "ab5a0de8da428c6789dc067a578a0462e411099721d616736cf29e1622230c35" dependencies = [ "proc-macro2", "quote", @@ -2549,17 +2549,17 @@ dependencies = [ [[package]] name = "vitaminc-traits" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c9f86c930cb4f98eee9288f463a133f01774be039ba05a092f12148b45c430c" +checksum = "a900f0edcacd49c8557ab54722175869fec66926054a6fbdc53a05069db3c922" dependencies = [ "anyhow", "bytes", "rmp-serde", "serde", "thiserror 2.0.20", - "vitaminc-protected 0.6.0", - "vitaminc-random 0.6.0", + "vitaminc-protected 0.6.1", + "vitaminc-random 0.6.1", "zeroize", ] diff --git a/languages/golang/encrypt/guest/Cargo.lock b/languages/golang/encrypt/guest/Cargo.lock index 189086c89..63f21677a 100644 --- a/languages/golang/encrypt/guest/Cargo.lock +++ b/languages/golang/encrypt/guest/Cargo.lock @@ -2062,8 +2062,8 @@ dependencies = [ "tracing", "url", "uuid", - "vitaminc 0.6.0", - "vitaminc-protected 0.6.0", + "vitaminc 0.6.1", + "vitaminc-protected 0.6.1", "web-time", "zeroize", "zerokms-protocol", @@ -2082,12 +2082,12 @@ dependencies = [ "stack-kms", "thiserror 1.0.69", "uuid", - "vitaminc-aead 0.6.0", - "vitaminc-encrypt 0.6.0", + "vitaminc-aead 0.6.1", + "vitaminc-encrypt 0.6.1", "vitaminc-hmac", "vitaminc-normalize", "vitaminc-prf", - "vitaminc-protected 0.6.0", + "vitaminc-protected 0.6.1", "zeroize", ] @@ -2117,7 +2117,7 @@ dependencies = [ "stack-kms", "uuid", "vitaminc-aead-frame", - "vitaminc-protected 0.6.0", + "vitaminc-protected 0.6.1", "zeroize", "zerokms-protocol", ] @@ -2129,9 +2129,9 @@ dependencies = [ "miette", "serde_json", "thiserror 1.0.69", - "vitaminc-aead 0.6.0", + "vitaminc-aead 0.6.1", "vitaminc-aead-frame", - "vitaminc-protected 0.6.0", + "vitaminc-protected 0.6.1", "zeroize", ] @@ -2157,8 +2157,8 @@ dependencies = [ "tracing", "url", "uuid", - "vitaminc 0.6.0", - "vitaminc-protected 0.6.0", + "vitaminc 0.6.1", + "vitaminc-protected 0.6.1", "zeroize", "zerokms-protocol", ] @@ -2627,16 +2627,16 @@ dependencies = [ [[package]] name = "vitaminc" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0c6b8dff9bfc94e076fcd5496395958e6c8dddb27605b6504c54123512c7c8e" +checksum = "ac5c15b6c25efcb9a6111f7108ab8101947a7bf7e9af3ff6d6a73358a1ace0da" dependencies = [ - "vitaminc-aead 0.6.0", - "vitaminc-context 0.6.0", - "vitaminc-encrypt 0.6.0", - "vitaminc-protected 0.6.0", - "vitaminc-random 0.6.0", - "vitaminc-traits 0.6.0", + "vitaminc-aead 0.6.1", + "vitaminc-context 0.6.1", + "vitaminc-encrypt 0.6.1", + "vitaminc-protected 0.6.1", + "vitaminc-random 0.6.1", + "vitaminc-traits 0.6.1", ] [[package]] @@ -2656,18 +2656,18 @@ dependencies = [ [[package]] name = "vitaminc-aead" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcea687f745050d80df32c93fbe7f8d18ed2cc5fb5e029814477dfe31449ec2e" +checksum = "71b8c5c4ced92545dce5fd7cf04581d08210def174cc81475cf227fa2506c5b7" dependencies = [ "bytes", "futures-util", "serde", "thiserror 2.0.20", - "vitaminc-aead-derive 0.6.0", - "vitaminc-context 0.6.0", - "vitaminc-protected 0.6.0", - "vitaminc-random 0.6.0", + "vitaminc-aead-derive 0.6.1", + "vitaminc-context 0.6.1", + "vitaminc-protected 0.6.1", + "vitaminc-random 0.6.1", "zeroize", ] @@ -2684,9 +2684,9 @@ dependencies = [ [[package]] name = "vitaminc-aead-derive" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "085afc8c77ffadb4c8a93c9c5fa2d897196a36ab38e17c08fe96f8b9c309e05f" +checksum = "4c546497a972d0f0498f2f8d5f537c514bad82df8662951c63d0c80023808900" dependencies = [ "proc-macro2", "quote", @@ -2695,11 +2695,11 @@ dependencies = [ [[package]] name = "vitaminc-aead-frame" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c253055230469c4af4791e902c41ce0ce55069c512249b33cf041dd5c58c517" +checksum = "e35992a269bcaa5b201f1938e54bfbf167bfa6fe975d83cbdbdb54c2a363c5ef" dependencies = [ - "vitaminc-aead 0.6.0", + "vitaminc-aead 0.6.1", ] [[package]] @@ -2714,12 +2714,12 @@ dependencies = [ [[package]] name = "vitaminc-context" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4d5679e511871da942ba2b29fcb1df198ee2359218bf7f11cfec4fd3dcfeee0" +checksum = "fa4c4bc2bd9811253eb427657565a45bd4826e2379e93ee1c4d00c808a769882" dependencies = [ "mutants", - "vitaminc-protected 0.6.0", + "vitaminc-protected 0.6.1", ] [[package]] @@ -2738,56 +2738,56 @@ dependencies = [ [[package]] name = "vitaminc-encrypt" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "061d55dc4084fcc2eaa7334dd28300cd8d321038339a41085b7bf2dc6ccf5d4c" +checksum = "f0923694602855b33a296d9af473e282e8096c1cfe1b30b8695d3b6651717fc5" dependencies = [ "aes-gcm", "aws-lc-rs", - "vitaminc-aead 0.6.0", - "vitaminc-protected 0.6.0", - "vitaminc-random 0.6.0", + "vitaminc-aead 0.6.1", + "vitaminc-protected 0.6.1", + "vitaminc-random 0.6.1", "zeroize", ] [[package]] name = "vitaminc-hmac" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "393354b2348eabce0420626fdc7cf70ac779870f82abb566fb491ea19eeea066" +checksum = "bd361f626e95cbe770b9d012e4a86c43cfefe4aefb3d5b3ed9339a83085bdc53" dependencies = [ "hmac", "sha2 0.11.0", "vitaminc-prf", - "vitaminc-protected 0.6.0", + "vitaminc-protected 0.6.1", "zeroize", ] [[package]] name = "vitaminc-normalize" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dda6ec7f852ba8cd7e0ba6e8e7eaa3045e6fb866007c6d7ad6128833d8980f0c" +checksum = "214b2a9d085924c3bc3c91f3ba74238e8848bf54990e5f48f170c71fbacea07a" dependencies = [ "thiserror 2.0.20", "unicode-general-category", "unicode-normalization", - "vitaminc-aead 0.6.0", - "vitaminc-protected 0.6.0", + "vitaminc-aead 0.6.1", + "vitaminc-protected 0.6.1", ] [[package]] name = "vitaminc-prf" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11de28e524ab1deecedbb023bd328916b6c023e2f52156521ac1df75a689d911" +checksum = "c2715cca25006b4656223bc932ab4fd7f70d387aa4ec63a4e2ef33aa8cd2b3a5" dependencies = [ "mutants", "thiserror 2.0.20", - "vitaminc-aead 0.6.0", - "vitaminc-context 0.6.0", + "vitaminc-aead 0.6.1", + "vitaminc-context 0.6.1", "vitaminc-normalize", - "vitaminc-protected 0.6.0", + "vitaminc-protected 0.6.1", ] [[package]] @@ -2809,9 +2809,9 @@ dependencies = [ [[package]] name = "vitaminc-protected" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "efe97c67b61fd749b20d84248416a6cc1dc3f024a4695e3f69eee63aee7cb7c2" +checksum = "b1bb76dd473f5aa89b844f92018ebe3041deb8e5390e7061cca4283d959ff855" dependencies = [ "bitvec", "digest 0.11.3", @@ -2820,7 +2820,7 @@ dependencies = [ "serde_bytes", "subtle", "thiserror 2.0.20", - "vitaminc-protected-derive 0.6.0", + "vitaminc-protected-derive 0.6.1", "zeroize", ] @@ -2837,9 +2837,9 @@ dependencies = [ [[package]] name = "vitaminc-protected-derive" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0483ecfcb3e874d45c9b2dc04d8e5ed55ff453023a9de98fddc4a24b315d9f6" +checksum = "e7478ed160c019059746e75fc613563dcdcd5266d155a34601d29377a1c4afc3" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -2864,16 +2864,16 @@ dependencies = [ [[package]] name = "vitaminc-random" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "693ae19994e6a79f9839e510220f532daab6f2ab0b4167fdd0d8379a027c653f" +checksum = "2b477af7c01c3d9ef2647e46952ad3df7f246b3f806b1d4009ee83beecec613a" dependencies = [ "chacha20", "getrandom 0.4.3", "rand 0.10.2", "thiserror 2.0.20", - "vitaminc-protected 0.6.0", - "vitaminc-random-derives 0.6.0", + "vitaminc-protected 0.6.1", + "vitaminc-random-derives 0.6.1", "zeroize", ] @@ -2890,9 +2890,9 @@ dependencies = [ [[package]] name = "vitaminc-random-derives" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fb9ad6bb972f7e1b0889eba0a3ed534afe86dd8e52f197a2de20ebe25ee9e56" +checksum = "ab5a0de8da428c6789dc067a578a0462e411099721d616736cf29e1622230c35" dependencies = [ "proc-macro2", "quote", @@ -2917,17 +2917,17 @@ dependencies = [ [[package]] name = "vitaminc-traits" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c9f86c930cb4f98eee9288f463a133f01774be039ba05a092f12148b45c430c" +checksum = "a900f0edcacd49c8557ab54722175869fec66926054a6fbdc53a05069db3c922" dependencies = [ "anyhow", "bytes", "rmp-serde", "serde", "thiserror 2.0.20", - "vitaminc-protected 0.6.0", - "vitaminc-random 0.6.0", + "vitaminc-protected 0.6.1", + "vitaminc-random 0.6.1", "zeroize", ] diff --git a/languages/golang/encrypt/guest/Cargo.toml b/languages/golang/encrypt/guest/Cargo.toml index 08acd7086..8947e7d5d 100644 --- a/languages/golang/encrypt/guest/Cargo.toml +++ b/languages/golang/encrypt/guest/Cargo.toml @@ -66,8 +66,8 @@ zerokms-protocol = "=0.12.31" # against (see the comment in packages/stack-encrypt/Cargo.toml). A # different version here fails at the `FfiValue: Decrypt` bound, since the # aead crate would be duplicated. -vitaminc-aead-frame = "0.6.0" -vitaminc-protected = "0.6.0" +vitaminc-aead-frame = "0.6.1" +vitaminc-protected = "0.6.1" futures = { version = "0.3", default-features = false, features = ["executor"] } serde = "1" diff --git a/packages/eql/Cargo.lock b/packages/eql/Cargo.lock index 993b20bbb..12a1ee68a 100644 --- a/packages/eql/Cargo.lock +++ b/packages/eql/Cargo.lock @@ -1244,7 +1244,7 @@ dependencies = [ "stack-kms", "tokio", "uuid", - "vitaminc-aead 0.6.0", + "vitaminc-aead 0.6.1", ] [[package]] @@ -4217,8 +4217,8 @@ dependencies = [ "tracing", "url", "uuid", - "vitaminc 0.6.0", - "vitaminc-protected 0.6.0", + "vitaminc 0.6.1", + "vitaminc-protected 0.6.1", "web-time", "zeroize", "zerokms-protocol", @@ -4237,12 +4237,12 @@ dependencies = [ "stack-kms", "thiserror 1.0.69", "uuid", - "vitaminc-aead 0.6.0", - "vitaminc-encrypt 0.6.0", + "vitaminc-aead 0.6.1", + "vitaminc-encrypt 0.6.1", "vitaminc-hmac", "vitaminc-normalize", "vitaminc-prf", - "vitaminc-protected 0.6.0", + "vitaminc-protected 0.6.1", "zeroize", ] @@ -4277,8 +4277,8 @@ dependencies = [ "tracing", "url", "uuid", - "vitaminc 0.6.0", - "vitaminc-protected 0.6.0", + "vitaminc 0.6.1", + "vitaminc-protected 0.6.1", "zeroize", "zerokms-protocol", ] @@ -5043,16 +5043,16 @@ dependencies = [ [[package]] name = "vitaminc" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0c6b8dff9bfc94e076fcd5496395958e6c8dddb27605b6504c54123512c7c8e" +checksum = "ac5c15b6c25efcb9a6111f7108ab8101947a7bf7e9af3ff6d6a73358a1ace0da" dependencies = [ - "vitaminc-aead 0.6.0", - "vitaminc-context 0.6.0", - "vitaminc-encrypt 0.6.0", - "vitaminc-protected 0.6.0", - "vitaminc-random 0.6.0", - "vitaminc-traits 0.6.0", + "vitaminc-aead 0.6.1", + "vitaminc-context 0.6.1", + "vitaminc-encrypt 0.6.1", + "vitaminc-protected 0.6.1", + "vitaminc-random 0.6.1", + "vitaminc-traits 0.6.1", ] [[package]] @@ -5085,18 +5085,18 @@ dependencies = [ [[package]] name = "vitaminc-aead" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcea687f745050d80df32c93fbe7f8d18ed2cc5fb5e029814477dfe31449ec2e" +checksum = "71b8c5c4ced92545dce5fd7cf04581d08210def174cc81475cf227fa2506c5b7" dependencies = [ "bytes", "futures-util", "serde", "thiserror 2.0.20", - "vitaminc-aead-derive 0.6.0", - "vitaminc-context 0.6.0", - "vitaminc-protected 0.6.0", - "vitaminc-random 0.6.0", + "vitaminc-aead-derive 0.6.1", + "vitaminc-context 0.6.1", + "vitaminc-protected 0.6.1", + "vitaminc-random 0.6.1", "zeroize", ] @@ -5113,9 +5113,9 @@ dependencies = [ [[package]] name = "vitaminc-aead-derive" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "085afc8c77ffadb4c8a93c9c5fa2d897196a36ab38e17c08fe96f8b9c309e05f" +checksum = "4c546497a972d0f0498f2f8d5f537c514bad82df8662951c63d0c80023808900" dependencies = [ "proc-macro2", "quote", @@ -5134,12 +5134,12 @@ dependencies = [ [[package]] name = "vitaminc-context" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4d5679e511871da942ba2b29fcb1df198ee2359218bf7f11cfec4fd3dcfeee0" +checksum = "fa4c4bc2bd9811253eb427657565a45bd4826e2379e93ee1c4d00c808a769882" dependencies = [ "mutants", - "vitaminc-protected 0.6.0", + "vitaminc-protected 0.6.1", ] [[package]] @@ -5172,56 +5172,56 @@ dependencies = [ [[package]] name = "vitaminc-encrypt" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "061d55dc4084fcc2eaa7334dd28300cd8d321038339a41085b7bf2dc6ccf5d4c" +checksum = "f0923694602855b33a296d9af473e282e8096c1cfe1b30b8695d3b6651717fc5" dependencies = [ "aes-gcm", "aws-lc-rs", - "vitaminc-aead 0.6.0", - "vitaminc-protected 0.6.0", - "vitaminc-random 0.6.0", + "vitaminc-aead 0.6.1", + "vitaminc-protected 0.6.1", + "vitaminc-random 0.6.1", "zeroize", ] [[package]] name = "vitaminc-hmac" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "393354b2348eabce0420626fdc7cf70ac779870f82abb566fb491ea19eeea066" +checksum = "bd361f626e95cbe770b9d012e4a86c43cfefe4aefb3d5b3ed9339a83085bdc53" dependencies = [ "hmac 0.13.0", "sha2 0.11.0", "vitaminc-prf", - "vitaminc-protected 0.6.0", + "vitaminc-protected 0.6.1", "zeroize", ] [[package]] name = "vitaminc-normalize" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dda6ec7f852ba8cd7e0ba6e8e7eaa3045e6fb866007c6d7ad6128833d8980f0c" +checksum = "214b2a9d085924c3bc3c91f3ba74238e8848bf54990e5f48f170c71fbacea07a" dependencies = [ "thiserror 2.0.20", "unicode-general-category", "unicode-normalization", - "vitaminc-aead 0.6.0", - "vitaminc-protected 0.6.0", + "vitaminc-aead 0.6.1", + "vitaminc-protected 0.6.1", ] [[package]] name = "vitaminc-prf" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11de28e524ab1deecedbb023bd328916b6c023e2f52156521ac1df75a689d911" +checksum = "c2715cca25006b4656223bc932ab4fd7f70d387aa4ec63a4e2ef33aa8cd2b3a5" dependencies = [ "mutants", "thiserror 2.0.20", - "vitaminc-aead 0.6.0", - "vitaminc-context 0.6.0", + "vitaminc-aead 0.6.1", + "vitaminc-context 0.6.1", "vitaminc-normalize", - "vitaminc-protected 0.6.0", + "vitaminc-protected 0.6.1", ] [[package]] @@ -5258,9 +5258,9 @@ dependencies = [ [[package]] name = "vitaminc-protected" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "efe97c67b61fd749b20d84248416a6cc1dc3f024a4695e3f69eee63aee7cb7c2" +checksum = "b1bb76dd473f5aa89b844f92018ebe3041deb8e5390e7061cca4283d959ff855" dependencies = [ "bitvec", "digest 0.11.3", @@ -5269,7 +5269,7 @@ dependencies = [ "serde_bytes", "subtle", "thiserror 2.0.20", - "vitaminc-protected-derive 0.6.0", + "vitaminc-protected-derive 0.6.1", "zeroize", ] @@ -5297,9 +5297,9 @@ dependencies = [ [[package]] name = "vitaminc-protected-derive" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0483ecfcb3e874d45c9b2dc04d8e5ed55ff453023a9de98fddc4a24b315d9f6" +checksum = "e7478ed160c019059746e75fc613563dcdcd5266d155a34601d29377a1c4afc3" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -5338,16 +5338,16 @@ dependencies = [ [[package]] name = "vitaminc-random" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "693ae19994e6a79f9839e510220f532daab6f2ab0b4167fdd0d8379a027c653f" +checksum = "2b477af7c01c3d9ef2647e46952ad3df7f246b3f806b1d4009ee83beecec613a" dependencies = [ "chacha20", "getrandom 0.4.2", "rand 0.10.1", "thiserror 2.0.20", - "vitaminc-protected 0.6.0", - "vitaminc-random-derives 0.6.0", + "vitaminc-protected 0.6.1", + "vitaminc-random-derives 0.6.1", "zeroize", ] @@ -5375,9 +5375,9 @@ dependencies = [ [[package]] name = "vitaminc-random-derives" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fb9ad6bb972f7e1b0889eba0a3ed534afe86dd8e52f197a2de20ebe25ee9e56" +checksum = "ab5a0de8da428c6789dc067a578a0462e411099721d616736cf29e1622230c35" dependencies = [ "proc-macro2", "quote", @@ -5418,17 +5418,17 @@ dependencies = [ [[package]] name = "vitaminc-traits" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c9f86c930cb4f98eee9288f463a133f01774be039ba05a092f12148b45c430c" +checksum = "a900f0edcacd49c8557ab54722175869fec66926054a6fbdc53a05069db3c922" dependencies = [ "anyhow", "bytes", "rmp-serde", "serde", "thiserror 2.0.20", - "vitaminc-protected 0.6.0", - "vitaminc-random 0.6.0", + "vitaminc-protected 0.6.1", + "vitaminc-random 0.6.1", "zeroize", ] diff --git a/packages/stack-encrypt/fuzz/Cargo.lock b/packages/stack-encrypt/fuzz/Cargo.lock index cb8b3eaa7..eb8dca476 100644 --- a/packages/stack-encrypt/fuzz/Cargo.lock +++ b/packages/stack-encrypt/fuzz/Cargo.lock @@ -2021,8 +2021,8 @@ dependencies = [ "tracing", "url", "uuid", - "vitaminc 0.6.0", - "vitaminc-protected 0.6.0", + "vitaminc 0.6.1", + "vitaminc-protected 0.6.1", "web-time", "zeroize", "zerokms-protocol", @@ -2041,12 +2041,12 @@ dependencies = [ "stack-kms", "thiserror 1.0.69", "uuid", - "vitaminc-aead 0.6.0", - "vitaminc-encrypt 0.6.0", + "vitaminc-aead 0.6.1", + "vitaminc-encrypt 0.6.1", "vitaminc-hmac", "vitaminc-normalize", "vitaminc-prf", - "vitaminc-protected 0.6.0", + "vitaminc-protected 0.6.1", "zeroize", ] @@ -2067,7 +2067,7 @@ dependencies = [ "libfuzzer-sys", "stack-encrypt", "uuid", - "vitaminc-protected 0.6.0", + "vitaminc-protected 0.6.1", ] [[package]] @@ -2092,8 +2092,8 @@ dependencies = [ "tracing", "url", "uuid", - "vitaminc 0.6.0", - "vitaminc-protected 0.6.0", + "vitaminc 0.6.1", + "vitaminc-protected 0.6.1", "zeroize", "zerokms-protocol", ] @@ -2532,16 +2532,16 @@ dependencies = [ [[package]] name = "vitaminc" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0c6b8dff9bfc94e076fcd5496395958e6c8dddb27605b6504c54123512c7c8e" +checksum = "ac5c15b6c25efcb9a6111f7108ab8101947a7bf7e9af3ff6d6a73358a1ace0da" dependencies = [ - "vitaminc-aead 0.6.0", - "vitaminc-context 0.6.0", - "vitaminc-encrypt 0.6.0", - "vitaminc-protected 0.6.0", - "vitaminc-random 0.6.0", - "vitaminc-traits 0.6.0", + "vitaminc-aead 0.6.1", + "vitaminc-context 0.6.1", + "vitaminc-encrypt 0.6.1", + "vitaminc-protected 0.6.1", + "vitaminc-random 0.6.1", + "vitaminc-traits 0.6.1", ] [[package]] @@ -2561,18 +2561,18 @@ dependencies = [ [[package]] name = "vitaminc-aead" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcea687f745050d80df32c93fbe7f8d18ed2cc5fb5e029814477dfe31449ec2e" +checksum = "71b8c5c4ced92545dce5fd7cf04581d08210def174cc81475cf227fa2506c5b7" dependencies = [ "bytes", "futures-util", "serde", "thiserror 2.0.18", - "vitaminc-aead-derive 0.6.0", - "vitaminc-context 0.6.0", - "vitaminc-protected 0.6.0", - "vitaminc-random 0.6.0", + "vitaminc-aead-derive 0.6.1", + "vitaminc-context 0.6.1", + "vitaminc-protected 0.6.1", + "vitaminc-random 0.6.1", "zeroize", ] @@ -2589,9 +2589,9 @@ dependencies = [ [[package]] name = "vitaminc-aead-derive" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "085afc8c77ffadb4c8a93c9c5fa2d897196a36ab38e17c08fe96f8b9c309e05f" +checksum = "4c546497a972d0f0498f2f8d5f537c514bad82df8662951c63d0c80023808900" dependencies = [ "proc-macro2", "quote", @@ -2610,12 +2610,12 @@ dependencies = [ [[package]] name = "vitaminc-context" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4d5679e511871da942ba2b29fcb1df198ee2359218bf7f11cfec4fd3dcfeee0" +checksum = "fa4c4bc2bd9811253eb427657565a45bd4826e2379e93ee1c4d00c808a769882" dependencies = [ "mutants", - "vitaminc-protected 0.6.0", + "vitaminc-protected 0.6.1", ] [[package]] @@ -2634,56 +2634,56 @@ dependencies = [ [[package]] name = "vitaminc-encrypt" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "061d55dc4084fcc2eaa7334dd28300cd8d321038339a41085b7bf2dc6ccf5d4c" +checksum = "f0923694602855b33a296d9af473e282e8096c1cfe1b30b8695d3b6651717fc5" dependencies = [ "aes-gcm", "aws-lc-rs", - "vitaminc-aead 0.6.0", - "vitaminc-protected 0.6.0", - "vitaminc-random 0.6.0", + "vitaminc-aead 0.6.1", + "vitaminc-protected 0.6.1", + "vitaminc-random 0.6.1", "zeroize", ] [[package]] name = "vitaminc-hmac" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "393354b2348eabce0420626fdc7cf70ac779870f82abb566fb491ea19eeea066" +checksum = "bd361f626e95cbe770b9d012e4a86c43cfefe4aefb3d5b3ed9339a83085bdc53" dependencies = [ "hmac", "sha2 0.11.0", "vitaminc-prf", - "vitaminc-protected 0.6.0", + "vitaminc-protected 0.6.1", "zeroize", ] [[package]] name = "vitaminc-normalize" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dda6ec7f852ba8cd7e0ba6e8e7eaa3045e6fb866007c6d7ad6128833d8980f0c" +checksum = "214b2a9d085924c3bc3c91f3ba74238e8848bf54990e5f48f170c71fbacea07a" dependencies = [ "thiserror 2.0.18", "unicode-general-category", "unicode-normalization", - "vitaminc-aead 0.6.0", - "vitaminc-protected 0.6.0", + "vitaminc-aead 0.6.1", + "vitaminc-protected 0.6.1", ] [[package]] name = "vitaminc-prf" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11de28e524ab1deecedbb023bd328916b6c023e2f52156521ac1df75a689d911" +checksum = "c2715cca25006b4656223bc932ab4fd7f70d387aa4ec63a4e2ef33aa8cd2b3a5" dependencies = [ "mutants", "thiserror 2.0.18", - "vitaminc-aead 0.6.0", - "vitaminc-context 0.6.0", + "vitaminc-aead 0.6.1", + "vitaminc-context 0.6.1", "vitaminc-normalize", - "vitaminc-protected 0.6.0", + "vitaminc-protected 0.6.1", ] [[package]] @@ -2705,9 +2705,9 @@ dependencies = [ [[package]] name = "vitaminc-protected" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "efe97c67b61fd749b20d84248416a6cc1dc3f024a4695e3f69eee63aee7cb7c2" +checksum = "b1bb76dd473f5aa89b844f92018ebe3041deb8e5390e7061cca4283d959ff855" dependencies = [ "bitvec", "digest 0.11.3", @@ -2716,7 +2716,7 @@ dependencies = [ "serde_bytes", "subtle", "thiserror 2.0.18", - "vitaminc-protected-derive 0.6.0", + "vitaminc-protected-derive 0.6.1", "zeroize", ] @@ -2733,9 +2733,9 @@ dependencies = [ [[package]] name = "vitaminc-protected-derive" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0483ecfcb3e874d45c9b2dc04d8e5ed55ff453023a9de98fddc4a24b315d9f6" +checksum = "e7478ed160c019059746e75fc613563dcdcd5266d155a34601d29377a1c4afc3" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -2760,16 +2760,16 @@ dependencies = [ [[package]] name = "vitaminc-random" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "693ae19994e6a79f9839e510220f532daab6f2ab0b4167fdd0d8379a027c653f" +checksum = "2b477af7c01c3d9ef2647e46952ad3df7f246b3f806b1d4009ee83beecec613a" dependencies = [ "chacha20", "getrandom 0.4.2", "rand 0.10.1", "thiserror 2.0.18", - "vitaminc-protected 0.6.0", - "vitaminc-random-derives 0.6.0", + "vitaminc-protected 0.6.1", + "vitaminc-random-derives 0.6.1", "zeroize", ] @@ -2786,9 +2786,9 @@ dependencies = [ [[package]] name = "vitaminc-random-derives" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fb9ad6bb972f7e1b0889eba0a3ed534afe86dd8e52f197a2de20ebe25ee9e56" +checksum = "ab5a0de8da428c6789dc067a578a0462e411099721d616736cf29e1622230c35" dependencies = [ "proc-macro2", "quote", @@ -2813,17 +2813,17 @@ dependencies = [ [[package]] name = "vitaminc-traits" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c9f86c930cb4f98eee9288f463a133f01774be039ba05a092f12148b45c430c" +checksum = "a900f0edcacd49c8557ab54722175869fec66926054a6fbdc53a05069db3c922" dependencies = [ "anyhow", "bytes", "rmp-serde", "serde", "thiserror 2.0.18", - "vitaminc-protected 0.6.0", - "vitaminc-random 0.6.0", + "vitaminc-protected 0.6.1", + "vitaminc-random 0.6.1", "zeroize", ] diff --git a/packages/stack-encrypt/fuzz/Cargo.toml b/packages/stack-encrypt/fuzz/Cargo.toml index 63378e06c..49a9ff34f 100644 --- a/packages/stack-encrypt/fuzz/Cargo.toml +++ b/packages/stack-encrypt/fuzz/Cargo.toml @@ -17,7 +17,7 @@ cargo-fuzz = true [dependencies] # `Protected`, for the check_record model's passthrough-of-bytes node: the # same line stack-encrypt builds on. -vitaminc-protected = "0.6.0" +vitaminc-protected = "0.6.1" libfuzzer-sys = "0.4" # Structure-aware inputs for `check_record` and `plan_build`: the mirror # types derive `Arbitrary`, so the fuzzer mutates trees and plans, not bytes. From 07dc450cf2578860f0cd8db9ac6745edf70cd29b Mon Sep 17 00:00:00 2001 From: Dan Draper Date: Sun, 18 Oct 2026 19:14:49 +1100 Subject: [PATCH 2/7] refactor(golang): read the call options and keyset selector with serde, not FfiValue The guest decoded a call's options, and a bare keyset selector, into an FfiValue tree and walked it by hand: about 80 lines of matching variants and refusing unknown, repeated and wrongly typed keys. They now read straight from the frame into private serde types (vitaminc_aead_frame::serde), which convert into the guest's existing Options and KeysetSelector. The wire is unchanged: {"keyset": {"default": {}}} and {"keyset": {"name": "acme"}, "context": "tenants/acme"} read as before. Each field type validates as it reads (a ZeroKMS name, a 16-byte id, a plain label), so a parsed value is already the guest's. A null context is still refused, not read as absent. An unknown key, a missing keyset, an unknown or doubled tag and a wrong type are all still STATUS_ENCODING, now with a message that names what was wrong and never the value. The tests build each input as raw frame bytes, so the repeated-key cases still reach the parser. Refs #1252. --- languages/golang/encrypt/guest/Cargo.lock | 2 + languages/golang/encrypt/guest/Cargo.toml | 2 +- languages/golang/encrypt/guest/src/abi.rs | 8 +- languages/golang/encrypt/guest/src/options.rs | 331 +++++++++++------- languages/golang/encrypt/guest/tests/leak.rs | 6 +- 5 files changed, 215 insertions(+), 134 deletions(-) diff --git a/languages/golang/encrypt/guest/Cargo.lock b/languages/golang/encrypt/guest/Cargo.lock index 63f21677a..dc8f911d9 100644 --- a/languages/golang/encrypt/guest/Cargo.lock +++ b/languages/golang/encrypt/guest/Cargo.lock @@ -2699,7 +2699,9 @@ version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e35992a269bcaa5b201f1938e54bfbf167bfa6fe975d83cbdbdb54c2a363c5ef" dependencies = [ + "serde", "vitaminc-aead 0.6.1", + "zeroize", ] [[package]] diff --git a/languages/golang/encrypt/guest/Cargo.toml b/languages/golang/encrypt/guest/Cargo.toml index 8947e7d5d..c09104f62 100644 --- a/languages/golang/encrypt/guest/Cargo.toml +++ b/languages/golang/encrypt/guest/Cargo.toml @@ -66,7 +66,7 @@ zerokms-protocol = "=0.12.31" # against (see the comment in packages/stack-encrypt/Cargo.toml). A # different version here fails at the `FfiValue: Decrypt` bound, since the # aead crate would be duplicated. -vitaminc-aead-frame = "0.6.1" +vitaminc-aead-frame = { version = "0.6.1", features = ["serde"] } vitaminc-protected = "0.6.1" futures = { version = "0.3", default-features = false, features = ["executor"] } diff --git a/languages/golang/encrypt/guest/src/abi.rs b/languages/golang/encrypt/guest/src/abi.rs index 76be06f9b..c1bad3007 100644 --- a/languages/golang/encrypt/guest/src/abi.rs +++ b/languages/golang/encrypt/guest/src/abi.rs @@ -139,7 +139,7 @@ fn with_keyset( opts: &[u8], f: impl FnOnce(&KeysetCipher<'_, GuestKms>) -> Result, ) -> Result { - let options = parse_options(decode(opts)?, Side::Mint)?; + let options = parse_options(opts, Side::Mint)?; with_cipher(|cipher| { let keyset = block_on(options.keyset.resolve(cipher))?; f(&keyset) @@ -152,7 +152,7 @@ fn with_scope( opts: &[u8], f: impl FnOnce(Scope<'_, GuestKms>) -> Result, ) -> Result { - let options = parse_options(decode(opts)?, Side::Open)?; + let options = parse_options(opts, Side::Open)?; with_cipher(|cipher| { let scope = block_on(scope_for(cipher, &options.keyset))?; f(scope) @@ -319,7 +319,7 @@ pub unsafe extern "C" fn se_keyset(sel_ptr: *const u8, sel_len: u32) -> u64 { export(|| { // SAFETY: host-owned ranges the export was handed; the borrows end // before it returns and before any wipe of an overlapping range. - let selector = parse_selector(decode(unsafe { input(sel_ptr, sel_len)? })?)?; + let selector = parse_selector(unsafe { input(sel_ptr, sel_len)? })?; if selector == KeysetSelector::Any { return Err(malformed(r#"{"any"} is not a keyset"#)); } @@ -440,7 +440,7 @@ pub unsafe extern "C" fn se_decrypt_record( let record = unsafe { input(rec_ptr, rec_len)? }; let plan = unsafe { input(plan_ptr, plan_len)? }; let opts = unsafe { input(opt_ptr, opt_len)? }; - let expected = parse_options(decode(opts)?, Side::Open)?.context; + let expected = parse_options(opts, Side::Open)?.context; ops::validate::record_tree(record, plan, expected.as_ref())?; with_scope(opts, |scope| { block_on(ops::decrypt_record(scope, record, plan, expected)) diff --git a/languages/golang/encrypt/guest/src/options.rs b/languages/golang/encrypt/guest/src/options.rs index 569b4d05c..ab2141027 100644 --- a/languages/golang/encrypt/guest/src/options.rs +++ b/languages/golang/encrypt/guest/src/options.rs @@ -1,7 +1,7 @@ //! The per-call options object, and the keyset selector it carries. //! //! Every export that touches a keyset takes one more codec-encoded -//! argument: an [`FfiValue::Object`] with one required key, `keyset`, whose +//! argument: a frame object with one required key, `keyset`, whose //! value is a tagged object naming the keyset the call binds to, and on //! `se_decrypt_record` one optional key, `context` (below): //! @@ -41,15 +41,14 @@ //! it is objects, strings, bytes and nothing else, and this module is its //! one home. The Go bindings plan points here. -use stack_encrypt::dynamic::FfiValue; use stack_encrypt::dynamic::Scope; use stack_encrypt::{KeysetCipher, Label, StackCipher}; use stack_kms::{IdentifiedBy, IndexKeySource}; use uuid::Uuid; -use vitaminc_protected::Controlled; use zerokms_protocol::Name; use stack_guest_abi::last_error::malformed; +use vitaminc_aead_frame::serde::from_slice; use crate::status::fail_error; #[cfg(any(doc, test))] @@ -88,84 +87,132 @@ pub struct Options { pub context: Option