From 9d5a762786a2295868f8aba6512cc85022222cb9 Mon Sep 17 00:00:00 2001 From: Magnus Kulke Date: Wed, 20 Nov 2024 10:08:49 +0100 Subject: [PATCH] cdh: move storage and secret crates to cdh modules the storage and secret crate is used exclusively by cdh, so we don't need to we don't need to maintain those as individual crates, helping with naming conflicts and reducing build complexity. the storage crate has a dep on the secret crate, so we have to cover them in a single change. Signed-off-by: Magnus Kulke --- .github/workflows/cdh_basic.yml | 6 +- Cargo.lock | 1167 +++++++++-------- Cargo.toml | 2 - README.md | 2 +- api-server-rest/openapi/api.json | 17 +- .../src/ttrpc_proto/attestation_agent.rs | 4 +- .../src/ttrpc_proto/confidential_data_hub.rs | 4 +- .../token_provider/aa/attestation_agent.rs | 4 +- confidential-data-hub/docs/SEALED_SECRET.md | 8 +- confidential-data-hub/docs/SECURE_STORAGE.md | 4 +- .../secure-mount-with-block-device.md | 4 +- confidential-data-hub/hub/Cargo.toml | 29 +- confidential-data-hub/hub/src/api.rs | 2 +- .../hub/src/bin/cdh-oneshot.rs | 3 +- .../hub/src/bin/grpc-cdh-tool.rs | 2 +- .../hub/src/bin/grpc_server/mod.rs | 6 +- .../hub/src/bin/protos/api.rs | 4 +- .../hub/src/bin/protos/keyprovider.rs | 4 +- .../{secret => hub}/src/bin/secret_cli.rs | 6 +- .../hub/src/bin/ttrpc-cdh-tool.rs | 2 +- .../hub/src/bin/ttrpc_server/mod.rs | 6 +- confidential-data-hub/hub/src/error.rs | 2 +- confidential-data-hub/hub/src/hub.rs | 5 +- confidential-data-hub/hub/src/lib.rs | 2 + .../{secret/src => hub/src/secret}/error.rs | 0 .../src/secret/layout/envelope.rs | 0 .../{secret => hub}/src/secret/layout/mod.rs | 0 .../src/secret/layout/vault.rs | 2 +- .../{secret => hub}/src/secret/mod.rs | 23 +- .../src}/secret/tests/envelope-1.json | 0 .../PrivateKmsCA_kst-bjj6____.pem | 0 .../clientKey_KAAP.2bc4____.json | 0 .../password_KAAP.2bc4____.json | 0 .../credential_16f3____.json | 0 .../src}/secret/tests/test_hsm_secrets.rs | 0 .../{ => hub/src}/secret/tests/vault-1.json | 0 .../hub/src/secret/tests/vault-12json | 0 .../{ => hub/src}/secret/tests/vault-2.json | 0 .../{storage/src => hub/src/storage}/error.rs | 2 +- .../src/lib.rs => hub/src/storage/mod.rs} | 3 +- .../src}/storage/scripts/luks-encrypt-storage | 0 .../src/storage}/volume_type/aliyun/error.rs | 0 .../src/storage}/volume_type/aliyun/mod.rs | 1 + .../storage}/volume_type/blockdevice/error.rs | 0 .../volume_type/blockdevice/luks/mod.rs | 0 .../storage}/volume_type/blockdevice/mod.rs | 1 + .../src/storage}/volume_type/mod.rs | 2 +- confidential-data-hub/secret/Cargo.toml | 41 - confidential-data-hub/secret/src/lib.rs | 22 - confidential-data-hub/storage/Cargo.toml | 32 - .../resource/kbs/ttrpc_proto/getresource.rs | 4 +- ocicrypt-rs/src/utils/ttrpc/keyprovider.rs | 4 +- 52 files changed, 687 insertions(+), 745 deletions(-) rename confidential-data-hub/{secret => hub}/src/bin/secret_cli.rs (98%) rename confidential-data-hub/{secret/src => hub/src/secret}/error.rs (100%) rename confidential-data-hub/{secret => hub}/src/secret/layout/envelope.rs (100%) rename confidential-data-hub/{secret => hub}/src/secret/layout/mod.rs (100%) rename confidential-data-hub/{secret => hub}/src/secret/layout/vault.rs (97%) rename confidential-data-hub/{secret => hub}/src/secret/mod.rs (87%) rename confidential-data-hub/{ => hub/src}/secret/tests/envelope-1.json (100%) rename confidential-data-hub/{ => hub/src}/secret/tests/envelope_secret_aliyun_config_sample/PrivateKmsCA_kst-bjj6____.pem (100%) rename confidential-data-hub/{ => hub/src}/secret/tests/envelope_secret_aliyun_config_sample/clientKey_KAAP.2bc4____.json (100%) rename confidential-data-hub/{ => hub/src}/secret/tests/envelope_secret_aliyun_config_sample/password_KAAP.2bc4____.json (100%) rename confidential-data-hub/{ => hub/src}/secret/tests/envelope_secret_ehsm_config_sample/credential_16f3____.json (100%) rename confidential-data-hub/{ => hub/src}/secret/tests/test_hsm_secrets.rs (100%) rename confidential-data-hub/{ => hub/src}/secret/tests/vault-1.json (100%) create mode 100644 confidential-data-hub/hub/src/secret/tests/vault-12json rename confidential-data-hub/{ => hub/src}/secret/tests/vault-2.json (100%) rename confidential-data-hub/{storage/src => hub/src/storage}/error.rs (96%) rename confidential-data-hub/{storage/src/lib.rs => hub/src/storage/mod.rs} (99%) rename confidential-data-hub/{ => hub/src}/storage/scripts/luks-encrypt-storage (100%) rename confidential-data-hub/{storage/src => hub/src/storage}/volume_type/aliyun/error.rs (100%) rename confidential-data-hub/{storage/src => hub/src/storage}/volume_type/aliyun/mod.rs (99%) rename confidential-data-hub/{storage/src => hub/src/storage}/volume_type/blockdevice/error.rs (100%) rename confidential-data-hub/{storage/src => hub/src/storage}/volume_type/blockdevice/luks/mod.rs (100%) rename confidential-data-hub/{storage/src => hub/src/storage}/volume_type/blockdevice/mod.rs (99%) rename confidential-data-hub/{storage/src => hub/src/storage}/volume_type/mod.rs (98%) delete mode 100644 confidential-data-hub/secret/Cargo.toml delete mode 100644 confidential-data-hub/secret/src/lib.rs delete mode 100644 confidential-data-hub/storage/Cargo.toml diff --git a/.github/workflows/cdh_basic.yml b/.github/workflows/cdh_basic.yml index 33a2e82a0..713ce9302 100644 --- a/.github/workflows/cdh_basic.yml +++ b/.github/workflows/cdh_basic.yml @@ -67,13 +67,13 @@ jobs: - name: Run cargo test run: | - sudo -E PATH=$PATH -s cargo test --features kbs,aliyun,sev,bin -p kms -p confidential-data-hub -p secret + sudo -E PATH=$PATH -s cargo test --features kbs,aliyun,sev,bin -p kms -p confidential-data-hub - name: Run cargo fmt check run: | - sudo -E PATH=$PATH -s cargo fmt -p kms -p confidential-data-hub -p secret -- --check + sudo -E PATH=$PATH -s cargo fmt -p kms -p confidential-data-hub -- --check - name: Run rust lint check run: | # We are getting error in generated code due to derive_partial_eq_without_eq check, so ignore it for now - sudo -E PATH=$PATH -s cargo clippy -p kms -p confidential-data-hub -p secret -- -D warnings -A clippy::derive-partial-eq-without-eq + sudo -E PATH=$PATH -s cargo clippy -p kms -p confidential-data-hub -- -D warnings -A clippy::derive-partial-eq-without-eq diff --git a/Cargo.lock b/Cargo.lock index 48c902eac..ece9a72c9 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4,19 +4,13 @@ version = 3 [[package]] name = "addr2line" -version = "0.21.0" +version = "0.24.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" +checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1" dependencies = [ "gimli", ] -[[package]] -name = "adler" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" - [[package]] name = "adler2" version = "2.0.0" @@ -30,7 +24,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d122413f284cf2d62fb1b7db97e02edb8cda96d769b16e443a4f6195e35662b0" dependencies = [ "crypto-common", - "generic-array", + "generic-array 0.14.7", ] [[package]] @@ -120,14 +114,14 @@ dependencies = [ [[package]] name = "anstream" -version = "0.6.15" +version = "0.6.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64e15c1ab1f89faffbf04a634d5e1962e9074f2741eef6d97f3c4e322426d526" +checksum = "8acc5369981196006228e28809f761875c0327210a891e941f4c683b3a99529b" dependencies = [ "anstyle", "anstyle-parse", "anstyle-query", - "anstyle-wincon 3.0.4", + "anstyle-wincon 3.0.6", "colorchoice", "is_terminal_polyfill", "utf8parse", @@ -135,26 +129,26 @@ dependencies = [ [[package]] name = "anstyle" -version = "1.0.6" +version = "1.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8901269c6307e8d93993578286ac0edf7f195079ffff5ebdeea6a59ffb7e36bc" +checksum = "55cc3b69f167a1ef2e161439aa98aed94e6028e5f9a59be9a6ffb47aef1651f9" [[package]] name = "anstyle-parse" -version = "0.2.3" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c75ac65da39e5fe5ab759307499ddad880d724eed2f6ce5b5e8a26f4f387928c" +checksum = "3b2d16507662817a6a20a9ea92df6652ee4f94f914589377d69f3b21bc5798a9" dependencies = [ "utf8parse", ] [[package]] name = "anstyle-query" -version = "1.0.2" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e28923312444cdd728e4738b3f9c9cac739500909bb3d3c94b43551b16517648" +checksum = "79947af37f4177cfead1110013d678905c37501914fba0efea834c3fe9a8d60c" dependencies = [ - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -169,12 +163,12 @@ dependencies = [ [[package]] name = "anstyle-wincon" -version = "3.0.4" +version = "3.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5bf74e1b6e971609db8ca7a9ce79fd5768ab6ae46441c572e46cf596f59e57f8" +checksum = "2109dbce0e72be3ec00bed26e6a7479ca384ad226efdd66db8fa2e3a38c83125" dependencies = [ "anstyle", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -191,8 +185,8 @@ dependencies = [ "async-trait", "clap 4.2.7", "form_urlencoded", - "hyper 0.14.28", - "protobuf 3.5.1", + "hyper 0.14.31", + "protobuf 3.7.1", "serde_json", "tokio", "ttrpc", @@ -208,15 +202,15 @@ checksum = "69f7f8c3906b62b754cd5326047894316021dcfe5a194c8ea52bdd94934a3457" [[package]] name = "arrayref" -version = "0.3.7" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b4930d2cb77ce62f89ee5d5289b4ac049559b1c45539271f5ed4fdc7db34545" +checksum = "76a2e8124351fda1ef8aaaa3bbd7ebbcb486bbcd4225aca0aa0d84bb2db8fecb" [[package]] name = "arrayvec" -version = "0.7.4" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" +checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" [[package]] name = "ascii-canvas" @@ -271,9 +265,9 @@ dependencies = [ [[package]] name = "async-stream" -version = "0.3.5" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd56dd203fef61ac097dd65721a419ddccb106b2d2b70ba60a6b529f03961a51" +checksum = "0b5a71a6f37880a80d1d7f19efd781e4b5de42c88f0722cc13bcb6cc2cfe8476" dependencies = [ "async-stream-impl", "futures-core", @@ -282,9 +276,9 @@ dependencies = [ [[package]] name = "async-stream-impl" -version = "0.3.5" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" +checksum = "c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d" dependencies = [ "proc-macro2", "quote", @@ -325,7 +319,7 @@ dependencies = [ "kbs_protocol", "log", "prost 0.13.3", - "protobuf 3.5.1", + "protobuf 3.7.1", "reqwest 0.12.9", "rstest", "serde", @@ -355,7 +349,7 @@ dependencies = [ "codicon", "csv-rs", "hex", - "hyper 0.14.28", + "hyper 0.14.31", "hyper-tls 0.5.0", "kbs-types", "log", @@ -366,7 +360,7 @@ dependencies = [ "serde", "serde_json", "serde_with", - "sev 3.1.1", + "sev 3.2.0", "sha2 0.10.8", "strum", "tdx-attest-rs", @@ -388,22 +382,22 @@ dependencies = [ [[package]] name = "autocfg" -version = "1.1.0" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" +checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" [[package]] name = "axum" -version = "0.7.5" +version = "0.7.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a6c9af12842a67734c9a2e355436e5d03b22383ed60cf13cd0c18fbfe3dcbcf" +checksum = "edca88bc138befd0323b20752846e6587272d3b03b0343c8ea28a6f819e6e71f" dependencies = [ "async-trait", "axum-core", "bytes", "futures-util", "http 1.1.0", - "http-body 1.0.0", + "http-body 1.0.1", "http-body-util", "itoa", "matchit", @@ -414,27 +408,27 @@ dependencies = [ "rustversion", "serde", "sync_wrapper 1.0.1", - "tower", + "tower 0.5.1", "tower-layer", "tower-service", ] [[package]] name = "axum-core" -version = "0.4.3" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a15c63fd72d41492dc4f497196f5da1fb04fb7529e631d73630d1b491e47a2e3" +checksum = "09f2bd6146b97ae3359fa0cc6d6b376d9539582c7b4220f041a33ec24c226199" dependencies = [ "async-trait", "bytes", "futures-util", "http 1.1.0", - "http-body 1.0.0", + "http-body 1.0.1", "http-body-util", "mime", "pin-project-lite", "rustversion", - "sync_wrapper 0.1.2", + "sync_wrapper 1.0.1", "tower-layer", "tower-service", ] @@ -447,7 +441,7 @@ checksum = "3f7ef43d012a8cf77739366d7ccdb895fb284e03bb1579d8d1792644ef3e6148" dependencies = [ "bincode", "jsonwebkey", - "memoffset 0.9.0", + "memoffset 0.9.1", "openssl", "serde", "serde-big-array", @@ -476,33 +470,33 @@ dependencies = [ [[package]] name = "az-tdx-vtpm" -version = "0.7.0" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55802d75ce5ef102b03f687b220dab76a626e0ca4c79e3f4af3c544734152356" +checksum = "80875afa68553e2035bc45836d00101ab80c94ec386de66f2fb14af480514711" dependencies = [ "az-cvm-vtpm", "base64-url", "bincode", "serde", "serde_json", - "thiserror 1.0.69", + "thiserror 2.0.3", "ureq", "zerocopy", ] [[package]] name = "backtrace" -version = "0.3.69" +version = "0.3.74" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837" +checksum = "8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a" dependencies = [ "addr2line", - "cc", "cfg-if", "libc", - "miniz_oxide 0.7.2", + "miniz_oxide", "object", "rustc-demangle", + "windows-targets 0.52.6", ] [[package]] @@ -608,14 +602,14 @@ dependencies = [ [[package]] name = "bindgen" -version = "0.69.4" +version = "0.69.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a00dc851838a2120612785d195287475a3ac45514741da670b735818822129a0" +checksum = "271383c67ccabffb7381723dea0672a673f292304fcb45c01cc648c7a8d58088" dependencies = [ "bitflags 2.6.0", "cexpr", "clang-sys", - "itertools 0.11.0", + "itertools 0.12.1", "lazy_static", "lazycell", "proc-macro2", @@ -690,9 +684,9 @@ dependencies = [ [[package]] name = "blake3" -version = "1.5.3" +version = "1.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9ec96fe9a81b5e365f9db71fe00edc4fe4ca2cc7dcb7861f0603012a7caa210" +checksum = "d82033247fd8e890df8f740e407ad4d038debb9eb1f40533fffb32e7d17dc6f7" dependencies = [ "arrayref", "arrayvec", @@ -707,7 +701,7 @@ version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4" dependencies = [ - "generic-array", + "generic-array 0.14.7", ] [[package]] @@ -716,7 +710,7 @@ version = "0.10.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" dependencies = [ - "generic-array", + "generic-array 0.14.7", ] [[package]] @@ -725,7 +719,7 @@ version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a8894febbff9f758034a5b8e12d87918f56dfc64a8e1fe757d65e29041538d93" dependencies = [ - "generic-array", + "generic-array 0.14.7", ] [[package]] @@ -760,9 +754,9 @@ dependencies = [ [[package]] name = "bstr" -version = "1.10.0" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40723b8fb387abc38f4f4a37c09073622e41dd12327033091ef8950659e6dc0c" +checksum = "1a68f1f47cdf0ec8ee4b941b2eee2a80cb796db73118c0dd09ac63fbe405be22" dependencies = [ "memchr", "regex-automata", @@ -795,9 +789,9 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.5.0" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223" +checksum = "9ac0150caa2ae65ca5bd83f25c7de183dea78d4d366469f148435e2acfbad0da" [[package]] name = "bzip2" @@ -860,9 +854,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.1.24" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "812acba72f0a070b003d3697490d2b55b837230ae7c6c6497f05cc2ddbb8d938" +checksum = "fd9de9f2205d5ef3fd67e685b0df337994ddd4495e2a28d185500d0e1edfea47" dependencies = [ "jobserver", "libc", @@ -933,9 +927,9 @@ dependencies = [ [[package]] name = "clang-sys" -version = "1.7.0" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67523a3b4be3ce1989d607a828d036249522dd9c1c8de7f4dd2dae43a37369d1" +checksum = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4" dependencies = [ "glob", "libc", @@ -1012,9 +1006,9 @@ dependencies = [ [[package]] name = "cmake" -version = "0.1.50" +version = "0.1.51" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a31c789563b815f77f4250caee12365734369f942439b7defd71e18a48197130" +checksum = "fb1e43aa7fd152b1f968787f7dbcdeb306d1867ff373c69955211876c053f91a" dependencies = [ "cc", ] @@ -1066,9 +1060,9 @@ checksum = "12170080f3533d6f09a19f81596f836854d0fa4867dc32c8172b8474b4e9de61" [[package]] name = "colorchoice" -version = "1.0.0" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7" +checksum = "5b63caa9aa9397e2d9480a9b13673856c78d8ac123288526c37d7839f2a86990" [[package]] name = "combine" @@ -1085,6 +1079,7 @@ name = "confidential-data-hub" version = "0.1.0" dependencies = [ "anyhow", + "assert-json-diff", "assert_cmd", "async-trait", "attestation-agent", @@ -1100,14 +1095,14 @@ dependencies = [ "log", "nix 0.29.0", "prost 0.13.3", - "protobuf 3.5.1", + "protobuf 3.7.1", + "rand", "resource_uri", "rstest", - "secret", "serde", "serde_json", "serial_test", - "storage", + "strum", "tempfile", "thiserror 2.0.3", "tokio", @@ -1115,6 +1110,7 @@ dependencies = [ "tonic-build", "ttrpc", "ttrpc-codegen", + "zeroize", ] [[package]] @@ -1170,9 +1166,9 @@ dependencies = [ [[package]] name = "constant_time_eq" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7144d30dcf0fafbce74250a3963025d8d52177934239851c917d29f1df280c2" +checksum = "7c74b8349d32d297c9134b8c88677813a227df8f779daa29bfc29c183fe3dca6" [[package]] name = "cookie" @@ -1187,12 +1183,13 @@ dependencies = [ [[package]] name = "cookie_store" -version = "0.21.0" +version = "0.21.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4934e6b7e8419148b6ef56950d277af8561060b56afd59e2aadf98b59fce6baa" +checksum = "2eac901828f88a5241ee0600950ab981148a18f2f756900ffba1b125ca6a3ef9" dependencies = [ "cookie", - "idna 0.5.0", + "document-features", + "idna", "log", "publicsuffix", "serde", @@ -1212,26 +1209,36 @@ dependencies = [ "libc", ] +[[package]] +name = "core-foundation" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b55271e5c8c478ad3f38ad24ef34923091e0548492a266d19b3c0b4d82574c63" +dependencies = [ + "core-foundation-sys", + "libc", +] + [[package]] name = "core-foundation-sys" -version = "0.8.6" +version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" +checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" [[package]] name = "cpufeatures" -version = "0.2.12" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504" +checksum = "0ca741a962e1b0bff6d724a1a0958b686406e853bb14061f218562e1896f95e6" dependencies = [ "libc", ] [[package]] name = "crc32fast" -version = "1.4.0" +version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3855a8a784b474f333699ef2bbca9db2c4a1f6d9088a90a2d25b1eb53111eaa" +checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" dependencies = [ "cfg-if", ] @@ -1251,9 +1258,9 @@ dependencies = [ [[package]] name = "crossbeam-channel" -version = "0.5.12" +version = "0.5.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab3db02a9c5b5121e1e42fbdb1aeb65f5e02624cc58c43f2884c6ccac0b82f95" +checksum = "33480d6946193aa8033910124896ca395333cae7e2d1113d1fef6c3272217df2" dependencies = [ "crossbeam-utils", ] @@ -1288,9 +1295,9 @@ dependencies = [ [[package]] name = "crossbeam-utils" -version = "0.8.19" +version = "0.8.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345" +checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" [[package]] name = "crunchy" @@ -1324,7 +1331,7 @@ version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" dependencies = [ - "generic-array", + "generic-array 0.14.7", "rand_core", "subtle", "zeroize", @@ -1336,7 +1343,7 @@ version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" dependencies = [ - "generic-array", + "generic-array 0.14.7", "rand_core", "typenum", ] @@ -1347,7 +1354,7 @@ version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "58bcd97a54c7ca5ce2f6eb16f6bede5b0ab5f0055fedc17d2f0b4466e21671ca" dependencies = [ - "generic-array", + "generic-array 0.14.7", "subtle", ] @@ -1359,7 +1366,7 @@ checksum = "b9d6cf87adf719ddf43a805e92c6870a531aedda35ff640442cbaf8674e141e1" dependencies = [ "aead", "cipher", - "generic-array", + "generic-array 0.14.7", "poly1305", "salsa20", "subtle", @@ -1375,7 +1382,7 @@ dependencies = [ "bitflags 1.3.2", "codicon", "dirs", - "hyper 0.14.28", + "hyper 0.14.31", "hyper-tls 0.5.0", "iocuddle", "libc", @@ -1415,24 +1422,24 @@ dependencies = [ [[package]] name = "curl" -version = "0.4.46" +version = "0.4.47" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e2161dd6eba090ff1594084e95fd67aeccf04382ffea77999ea94ed42ec67b6" +checksum = "d9fb4d13a1be2b58f14d60adba57c9834b78c62fd86c3e76a148f732686e9265" dependencies = [ "curl-sys", "libc", "openssl-probe", "openssl-sys", "schannel", - "socket2 0.5.5", + "socket2 0.5.7", "windows-sys 0.52.0", ] [[package]] name = "curl-sys" -version = "0.4.72+curl-8.6.0" +version = "0.4.78+curl-8.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29cbdc8314c447d11e8fd156dcdd031d9e02a7a976163e396b548c03153bc9ea" +checksum = "8eec768341c5c7789611ae51cf6c459099f22e64a5d5d0ce4892434e33821eaf" dependencies = [ "cc", "libc", @@ -1555,7 +1562,7 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bd2735a791158376708f9347fe8faba9667589d82427ef3aed6794a8981de3d9" dependencies = [ - "generic-array", + "generic-array 0.14.7", ] [[package]] @@ -1566,9 +1573,9 @@ checksum = "5440d1dc8ea7cae44cda3c64568db29bfa2434aba51ae66a50c00488841a65a3" [[package]] name = "der" -version = "0.7.8" +version = "0.7.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fffa369a668c8af7dbf8b5e56c9f744fbd399949ed171606040001947de40b1c" +checksum = "f55bf8e7b65898637379c1b74eb1551107c8294ed26d855ceb9fd1a09cfc9bc0" dependencies = [ "const-oid", "der_derive", @@ -1611,18 +1618,18 @@ dependencies = [ [[package]] name = "derive_builder" -version = "0.20.0" +version = "0.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0350b5cb0331628a5916d6c5c0b72e97393b8b6b03b47a9284f4e7f5a405ffd7" +checksum = "507dfb09ea8b7fa618fcf76e953f4f5e192547945816d5358edffe39f6f94947" dependencies = [ "derive_builder_macro", ] [[package]] name = "derive_builder_core" -version = "0.20.0" +version = "0.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d48cda787f839151732d396ac69e3473923d54312c070ee21e9effcaa8ca0b1d" +checksum = "2d5bcf7b024d6835cfb3d473887cd966994907effbe9227e8c8219824d06c4e8" dependencies = [ "darling 0.20.10", "proc-macro2", @@ -1632,9 +1639,9 @@ dependencies = [ [[package]] name = "derive_builder_macro" -version = "0.20.0" +version = "0.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "206868b8242f27cecce124c19fd88157fbd0dd334df2587f36417bafbc85097b" +checksum = "ab63b0e2bf4d5928aff72e83a7dace85d7bba5fe12dcc3c5a572d78caffd3f3c" dependencies = [ "derive_builder_core", "syn 2.0.87", @@ -1673,7 +1680,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3d6681f5413e2094480381a97b8299f548c0579f07095ee20fe58e0a28cb34b5" dependencies = [ - "bindgen 0.69.4", + "bindgen 0.69.5", ] [[package]] @@ -1688,7 +1695,7 @@ version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066" dependencies = [ - "generic-array", + "generic-array 0.14.7", ] [[package]] @@ -1779,6 +1786,15 @@ version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10" +[[package]] +name = "document-features" +version = "0.2.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb6969eaabd2421f8a2775cfd2471a2b634372b4a25d41e3bd647b79912850a0" +dependencies = [ + "litrs", +] + [[package]] name = "dsa" version = "0.6.3" @@ -1895,9 +1911,9 @@ dependencies = [ [[package]] name = "either" -version = "1.10.0" +version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11157ac094ffbdde99aa67b23417ebdd801842852b500e395a45a9c0aac03e4a" +checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" [[package]] name = "elliptic-curve" @@ -1909,7 +1925,7 @@ dependencies = [ "crypto-bigint", "digest 0.10.7", "ff", - "generic-array", + "generic-array 0.14.7", "group", "hkdf", "pem-rfc7468", @@ -1931,27 +1947,27 @@ dependencies = [ [[package]] name = "encoding_rs" -version = "0.8.34" +version = "0.8.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b45de904aa0b010bce2ab45264d0631681847fa7b6f2eaa7dab7619943bc4f59" +checksum = "75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3" dependencies = [ "cfg-if", ] [[package]] name = "enumflags2" -version = "0.7.9" +version = "0.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3278c9d5fb675e0a51dabcf4c0d355f692b064171535ba72361be1528a9d8e8d" +checksum = "d232db7f5956f3f14313dc2f87985c58bd2c695ce124c8cdd984e08e15ac133d" dependencies = [ "enumflags2_derive", ] [[package]] name = "enumflags2_derive" -version = "0.7.9" +version = "0.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c785274071b1b420972453b306eeca06acf4633829db4223b58a2a8c5953bc4" +checksum = "de0d48a183585823424a4ce1aa132d174a6a81bd540895822eb4c8373a8e49e8" dependencies = [ "proc-macro2", "quote", @@ -1987,7 +2003,7 @@ version = "0.11.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e13fa619b91fb2381732789fc5de83b45675e882f66623b7d8cb4f643017018d" dependencies = [ - "anstream 0.6.15", + "anstream 0.6.18", "anstyle", "env_filter", "humantime", @@ -2013,9 +2029,9 @@ dependencies = [ [[package]] name = "errno" -version = "0.3.8" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245" +checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" dependencies = [ "libc", "windows-sys 0.52.0", @@ -2033,9 +2049,9 @@ dependencies = [ [[package]] name = "fastrand" -version = "2.1.1" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8c02a5121d4ea3eb16a80748c74f5549a5665e4c21333c6098f283870fbdea6" +checksum = "486f806e73c5707928240ddc295403b1b93c96a02038563881c4a2fd84b81ac4" [[package]] name = "ff" @@ -2061,7 +2077,7 @@ checksum = "35c0522e981e68cbfa8c3f978441a5f34b30b96e146b33cd3359176b50fe8586" dependencies = [ "cfg-if", "libc", - "libredox 0.1.3", + "libredox", "windows-sys 0.59.0", ] @@ -2091,7 +2107,7 @@ checksum = "c936bfdafb507ebbf50b8074c54fa31c5be9a1e7e5f467dd659697041407d07c" dependencies = [ "crc32fast", "libz-sys", - "miniz_oxide 0.8.0", + "miniz_oxide", ] [[package]] @@ -2222,9 +2238,9 @@ checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" [[package]] name = "futures-timer" -version = "3.0.2" +version = "3.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e64b03909df88034c26dc1547e8970b91f98bdb65165d6a4e9110d94263dbb2c" +checksum = "f288b0a4f20f9a56b5d1da57e2227c661b7b16168e2f72365f57b63326e29b24" [[package]] name = "futures-util" @@ -2255,11 +2271,20 @@ dependencies = [ "zeroize", ] +[[package]] +name = "generic-array" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96512db27971c2c3eece70a1e106fbe6c87760234e31e8f7e5634912fe52794a" +dependencies = [ + "typenum", +] + [[package]] name = "getrandom" -version = "0.2.12" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5" +checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" dependencies = [ "cfg-if", "js-sys", @@ -2270,14 +2295,14 @@ dependencies = [ [[package]] name = "getset" -version = "0.1.2" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e45727250e75cc04ff2846a66397da8ef2b3db8e40e0cef4df67950a07621eb9" +checksum = "f636605b743120a8d32ed92fc27b6cde1a769f8f936c065151eb66f88ded513c" dependencies = [ - "proc-macro-error", + "proc-macro-error2", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.87", ] [[package]] @@ -2292,9 +2317,9 @@ dependencies = [ [[package]] name = "gimli" -version = "0.28.1" +version = "0.31.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" +checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" [[package]] name = "git2" @@ -2338,7 +2363,7 @@ dependencies = [ "futures-sink", "futures-util", "http 0.2.12", - "indexmap 2.2.3", + "indexmap 2.6.0", "slab", "tokio", "tokio-util", @@ -2347,9 +2372,9 @@ dependencies = [ [[package]] name = "h2" -version = "0.4.5" +version = "0.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa82e28a107a8cc405f0839610bdc9b15f1e25ec7d696aa5cf173edbcb1486ab" +checksum = "ccae279728d634d083c00f6099cb58f01cc99c145b84b8be2f6c74618d79922e" dependencies = [ "atomic-waker", "bytes", @@ -2357,7 +2382,7 @@ dependencies = [ "futures-core", "futures-sink", "http 1.1.0", - "indexmap 2.2.3", + "indexmap 2.6.0", "slab", "tokio", "tokio-util", @@ -2375,9 +2400,9 @@ dependencies = [ [[package]] name = "hashbrown" -version = "0.14.3" +version = "0.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604" +checksum = "3a9bfc1af68b1726ea47d3d5109de126281def866b33970e10fbab11b5dafab3" [[package]] name = "heck" @@ -2415,6 +2440,12 @@ version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" +[[package]] +name = "hermit-abi" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbf6a919d6cf397374f7dfeeea91d974c7c0a7221d0d0f4f20d859d329e53fcc" + [[package]] name = "hex" version = "0.4.3" @@ -2512,9 +2543,9 @@ dependencies = [ [[package]] name = "http-auth" -version = "0.1.9" +version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "643c9bbf6a4ea8a656d6b4cd53d34f79e3f841ad5203c1a55fb7d761923bc255" +checksum = "150fa4a9462ef926824cf4519c84ed652ca8f4fbae34cb8af045b5cbcaf98822" dependencies = [ "memchr", ] @@ -2532,9 +2563,9 @@ dependencies = [ [[package]] name = "http-body" -version = "1.0.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cac85db508abc24a2e48553ba12a996e87244a0395ce011e62b37158745d643" +checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" dependencies = [ "bytes", "http 1.1.0", @@ -2542,22 +2573,22 @@ dependencies = [ [[package]] name = "http-body-util" -version = "0.1.1" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0475f8b2ac86659c21b64320d5d653f9efe42acd2a4e560073ec61a155a34f1d" +checksum = "793429d76616a256bcb62c2a2ec2bed781c8307e797e2598c50010f2bee2544f" dependencies = [ "bytes", - "futures-core", + "futures-util", "http 1.1.0", - "http-body 1.0.0", + "http-body 1.0.1", "pin-project-lite", ] [[package]] name = "httparse" -version = "1.8.0" +version = "1.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" +checksum = "7d71d3574edd2771538b901e6549113b4006ece66150fb69c0fb6d9a2adae946" [[package]] name = "httpdate" @@ -2573,9 +2604,9 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" [[package]] name = "hyper" -version = "0.14.28" +version = "0.14.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf96e135eb83a2a8ddf766e426a841d8ddd7449d5f00d34ea02b41d2f19eef80" +checksum = "8c08302e8fa335b151b788c775ff56e7a03ae64ff85c548ee820fecb70356e85" dependencies = [ "bytes", "futures-channel", @@ -2588,7 +2619,7 @@ dependencies = [ "httpdate", "itoa", "pin-project-lite", - "socket2 0.5.5", + "socket2 0.5.7", "tokio", "tower-service", "tracing", @@ -2597,16 +2628,16 @@ dependencies = [ [[package]] name = "hyper" -version = "1.3.1" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe575dd17d0862a9a33781c8c4696a55c320909004a67a00fb286ba8b1bc496d" +checksum = "97818827ef4f364230e16705d4706e2897df2bb60617d6ca15d598025a3c481f" dependencies = [ "bytes", "futures-channel", "futures-util", - "h2 0.4.5", + "h2 0.4.7", "http 1.1.0", - "http-body 1.0.0", + "http-body 1.0.1", "httparse", "httpdate", "itoa", @@ -2618,13 +2649,13 @@ dependencies = [ [[package]] name = "hyper-rustls" -version = "0.27.2" +version = "0.27.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ee4be2c948921a1a5320b629c4193916ed787a7f7f293fd3f7f5a6c9de74155" +checksum = "08afdbb5c31130e3034af566421053ab03787c640246a446327f550d11bcb333" dependencies = [ "futures-util", "http 1.1.0", - "hyper 1.3.1", + "hyper 1.5.1", "hyper-util", "rustls", "rustls-pki-types", @@ -2636,11 +2667,11 @@ dependencies = [ [[package]] name = "hyper-timeout" -version = "0.5.1" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3203a961e5c83b6f5498933e78b6b263e208c197b63e9c6c53cc82ffd3f63793" +checksum = "2b90d566bffbce6a75bd8b09a05aa8c2cb1fabb6cb348f8840c9e4c90a0d83b0" dependencies = [ - "hyper 1.3.1", + "hyper 1.5.1", "hyper-util", "pin-project-lite", "tokio", @@ -2654,7 +2685,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905" dependencies = [ "bytes", - "hyper 0.14.28", + "hyper 0.14.31", "native-tls", "tokio", "tokio-native-tls", @@ -2668,7 +2699,7 @@ checksum = "70206fc6890eaca9fde8a0bf71caa2ddfc9fe045ac9e5c70df101a7dbde866e0" dependencies = [ "bytes", "http-body-util", - "hyper 1.3.1", + "hyper 1.5.1", "hyper-util", "native-tls", "tokio", @@ -2678,29 +2709,28 @@ dependencies = [ [[package]] name = "hyper-util" -version = "0.1.5" +version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b875924a60b96e5d7b9ae7b066540b1dd1cbd90d1828f54c92e02a283351c56" +checksum = "df2dcfbe0677734ab2f3ffa7fa7bfd4706bfdc1ef393f2ee30184aed67e631b4" dependencies = [ "bytes", "futures-channel", "futures-util", "http 1.1.0", - "http-body 1.0.0", - "hyper 1.3.1", + "http-body 1.0.1", + "hyper 1.5.1", "pin-project-lite", - "socket2 0.5.5", + "socket2 0.5.7", "tokio", - "tower", "tower-service", "tracing", ] [[package]] name = "iana-time-zone" -version = "0.1.60" +version = "0.1.61" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141" +checksum = "235e081f3925a06703c2d0117ea8b91f042756fd6e7a6e5d901e8ca1a996b220" dependencies = [ "android_system_properties", "core-foundation-sys", @@ -2852,26 +2882,6 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" -[[package]] -name = "idna" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6" -dependencies = [ - "unicode-bidi", - "unicode-normalization", -] - -[[package]] -name = "idna" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" -dependencies = [ - "unicode-bidi", - "unicode-normalization", -] - [[package]] name = "idna" version = "1.0.3" @@ -2922,7 +2932,7 @@ dependencies = [ "oci-spec", "ocicrypt-rs", "prost 0.13.3", - "protobuf 3.5.1", + "protobuf 3.7.1", "reqwest 0.12.9", "resource_uri", "ring", @@ -2962,12 +2972,12 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.2.3" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "233cf39063f058ea2caae4091bf4a3ef70a653afbc026f5c4a4135d114e3c177" +checksum = "707907fe3c25f5424cce2cb7e1cbcafee6bdbe735ca90ef77c29e84591e5b9da" dependencies = [ "equivalent", - "hashbrown 0.14.3", + "hashbrown 0.15.1", "serde", ] @@ -2978,7 +2988,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5" dependencies = [ "block-padding", - "generic-array", + "generic-array 0.14.7", ] [[package]] @@ -2999,17 +3009,17 @@ checksum = "d8972d5be69940353d5347a1344cb375d9b457d6809b428b05bb1ca2fb9ce007" [[package]] name = "ipnet" -version = "2.9.0" +version = "2.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" +checksum = "ddc24109865250148c2e0f3d25d4f0f479571723792d3802153c60922a4fb708" [[package]] name = "is-terminal" -version = "0.4.12" +version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f23ff5ef2b80d608d61efee834934d862cd92461afc0560dedf493e4c033738b" +checksum = "261f68e344040fbd0edea105bef17c66edf46f984ddb1115b775ce31be948f4b" dependencies = [ - "hermit-abi 0.3.9", + "hermit-abi 0.4.0", "libc", "windows-sys 0.52.0", ] @@ -3044,11 +3054,29 @@ dependencies = [ "either", ] +[[package]] +name = "itertools" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" +dependencies = [ + "either", +] + +[[package]] +name = "itertools" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" +dependencies = [ + "either", +] + [[package]] name = "itoa" -version = "1.0.10" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c" +checksum = "7a73e9fe3c49d7afb2ace819fa181a287ce54a0983eda4e0eb05c22f82ffe534" [[package]] name = "jni" @@ -3083,14 +3111,13 @@ dependencies = [ [[package]] name = "josekit" -version = "0.8.6" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0953340cf63354cec4a385f1fbcb3f409a5823778cae236078892f6030ed4565" +checksum = "a603084e34e151e215d232e401df0d9299bdced264b8054e4888ea614e59bb06" dependencies = [ "anyhow", - "base64 0.21.7", + "base64 0.22.1", "flate2", - "once_cell", "openssl", "regex", "serde", @@ -3101,18 +3128,18 @@ dependencies = [ [[package]] name = "js-sys" -version = "0.3.69" +version = "0.3.72" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d" +checksum = "6a88f1bda2bd75b0452a14784937d796722fdebfe50df998aeb3f0b7603019a9" dependencies = [ "wasm-bindgen", ] [[package]] name = "json-number" -version = "0.4.8" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c54d19ae7e6fc83aafa649707655a9a0ac956a0f62793bde4cfd193b0693fdf" +checksum = "66994b2bac615128d07a1e4527ad29e98b004dd1a1769e7b8fbc1173ccf43006" dependencies = [ "lexical", "ryu-js", @@ -3158,7 +3185,7 @@ checksum = "c57c852b14147e2bd58c14fde40398864453403ef632b1101db130282ee6e2cc" dependencies = [ "base64 0.13.1", "bitflags 1.3.2", - "generic-array", + "generic-array 0.14.7", "num-bigint", "serde", "serde_json", @@ -3220,9 +3247,9 @@ dependencies = [ [[package]] name = "k256" -version = "0.13.3" +version = "0.13.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "956ff9b67e26e1a6a866cb758f12c6f8746208489e3e4a4b5580802f2f0a587b" +checksum = "f6e3919bbaa2945715f0bb6d3934a173d1e9a59ac23767fbaaef277265a7411b" dependencies = [ "cfg-if", "ecdsa", @@ -3282,7 +3309,7 @@ dependencies = [ "jwt-simple", "kbs-types", "log", - "protobuf 3.5.1", + "protobuf 3.7.1", "reqwest 0.12.9", "resource_uri", "rstest", @@ -3367,7 +3394,7 @@ dependencies = [ "ena", "itertools 0.11.0", "lalrpop-util", - "petgraph 0.6.4", + "petgraph 0.6.5", "regex", "regex-syntax", "string_cache", @@ -3403,18 +3430,18 @@ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" [[package]] name = "lexical" -version = "6.1.1" +version = "7.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7aefb36fd43fef7003334742cbf77b243fcd36418a1d1bdd480d613a67968f6" +checksum = "2c273bdc23e7f987014f5e4c7dc0e11f309c9b04fb27cbde41d067a7f53ab1b3" dependencies = [ "lexical-core", ] [[package]] name = "lexical-core" -version = "0.8.5" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2cde5de06e8d4c2faabc400238f9ae1c74d5412d03a7bd067645ccbc47070e46" +checksum = "0431c65b318a590c1de6b8fd6e72798c92291d27762d94c9e6c37ed7a73d8458" dependencies = [ "lexical-parse-float", "lexical-parse-integer", @@ -3425,9 +3452,9 @@ dependencies = [ [[package]] name = "lexical-parse-float" -version = "0.8.5" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "683b3a5ebd0130b8fb52ba0bdc718cc56815b6a097e28ae5a6997d0ad17dc05f" +checksum = "eb17a4bdb9b418051aa59d41d65b1c9be5affab314a872e5ad7f06231fb3b4e0" dependencies = [ "lexical-parse-integer", "lexical-util", @@ -3436,9 +3463,9 @@ dependencies = [ [[package]] name = "lexical-parse-integer" -version = "0.8.6" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d0994485ed0c312f6d965766754ea177d07f9c00c9b82a5ee62ed5b47945ee9" +checksum = "5df98f4a4ab53bf8b175b363a34c7af608fe31f93cc1fb1bf07130622ca4ef61" dependencies = [ "lexical-util", "static_assertions", @@ -3446,18 +3473,18 @@ dependencies = [ [[package]] name = "lexical-util" -version = "0.8.5" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5255b9ff16ff898710eb9eb63cb39248ea8a5bb036bea8085b1a767ff6c4e3fc" +checksum = "85314db53332e5c192b6bca611fb10c114a80d1b831ddac0af1e9be1b9232ca0" dependencies = [ "static_assertions", ] [[package]] name = "lexical-write-float" -version = "0.8.5" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "accabaa1c4581f05a3923d1b4cfd124c329352288b7b9da09e766b0668116862" +checksum = "6e7c3ad4e37db81c1cbe7cf34610340adc09c322871972f74877a712abc6c809" dependencies = [ "lexical-util", "lexical-write-integer", @@ -3466,9 +3493,9 @@ dependencies = [ [[package]] name = "lexical-write-integer" -version = "0.8.5" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1b6f3d1f4422866b68192d62f77bc5c700bee84f3069f2469d7bc8c77852446" +checksum = "eb89e9f6958b83258afa3deed90b5de9ef68eef090ad5086c791cd2345610162" dependencies = [ "lexical-util", "static_assertions", @@ -3476,9 +3503,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.162" +version = "0.2.164" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18d287de67fe55fd7e1581fe933d965a5a9477b38e949cfa9f8574ef01506398" +checksum = "433bfe06b8c75da9b2e3fbea6e5329ff87748f0b144ef75306e674c3f6f7c13f" [[package]] name = "libgit2-sys" @@ -3494,9 +3521,9 @@ dependencies = [ [[package]] name = "libloading" -version = "0.8.3" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c2a198fb6b0eada2a8df47933734e6d35d350665a33a3593d7164fa52c75c19" +checksum = "4979f22fdb869068da03c9f7528f8297c6fd2606bc3a4affe42e6a823fdb8da4" dependencies = [ "cfg-if", "windows-targets 0.52.6", @@ -3504,20 +3531,9 @@ dependencies = [ [[package]] name = "libm" -version = "0.2.8" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058" - -[[package]] -name = "libredox" -version = "0.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85c833ca1e66078851dba29046874e38f08b2c883700aa29a03ddd3b23814ee8" -dependencies = [ - "bitflags 2.6.0", - "libc", - "redox_syscall 0.4.1", -] +checksum = "8355be11b20d696c8f18f6cc018c4e372165b1fa8126cef092399c9951984ffa" [[package]] name = "libredox" @@ -3561,11 +3577,17 @@ version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "643cb0b8d4fcc284004d5fd0d67ccf61dfffadb7f75e1e71bc420f4688a3a704" +[[package]] +name = "litrs" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4ce301924b7887e9d637144fdade93f9dfff9b60981d4ac161db09720d39aa5" + [[package]] name = "lock_api" -version = "0.4.11" +version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45" +checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" dependencies = [ "autocfg", "scopeguard", @@ -3607,19 +3629,18 @@ dependencies = [ [[package]] name = "lz4" -version = "1.26.0" +version = "1.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "958b4caa893816eea05507c20cfe47574a43d9a697138a7872990bba8a0ece68" +checksum = "4d1febb2b4a79ddd1980eede06a8f7902197960aa0383ffcfdd62fe723036725" dependencies = [ - "libc", "lz4-sys", ] [[package]] name = "lz4-sys" -version = "1.10.0" +version = "1.11.1+lz4-1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "109de74d5d2353660401699a4174a4ff23fcc649caf553df71933c7fb45ad868" +checksum = "6bd8c0d6c6ed0cd30b3652886bb8711dc4bb01d637a68105a3d5158039b418e6" dependencies = [ "cc", "libc", @@ -3653,9 +3674,9 @@ dependencies = [ [[package]] name = "memchr" -version = "2.7.2" +version = "2.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d" +checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" [[package]] name = "memoffset" @@ -3677,9 +3698,9 @@ dependencies = [ [[package]] name = "memoffset" -version = "0.9.0" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c" +checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a" dependencies = [ "autocfg", ] @@ -3702,15 +3723,6 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" -[[package]] -name = "miniz_oxide" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7" -dependencies = [ - "adler", -] - [[package]] name = "miniz_oxide" version = "0.8.0" @@ -3734,9 +3746,9 @@ dependencies = [ [[package]] name = "mio" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4569e456d394deccd22ce1c1913e6ea0e54519f577285001215d33557431afe4" +checksum = "80e04d1dcff3aae0704555fe5fee3bcfaf3d1fdf8a7e521d5b9d2b42acb52cec" dependencies = [ "hermit-abi 0.3.9", "libc", @@ -3750,13 +3762,18 @@ version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a" +[[package]] +name = "multimap" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "defc4c55412d89136f966bbb339008b474350e5e6e78d2714439c386b3137a03" + [[package]] name = "native-tls" -version = "0.2.11" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e" +checksum = "a8614eb2c83d59d1c8cc974dd3f920198647674a0a035e1af1fa58707e317466" dependencies = [ - "lazy_static", "libc", "log", "openssl", @@ -3829,11 +3846,10 @@ dependencies = [ [[package]] name = "num-bigint" -version = "0.4.4" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "608e7659b5c3d7cba262d894801b9ec9d00de989e8a82bd4bef91d08da45cdc0" +checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9" dependencies = [ - "autocfg", "num-integer", "num-traits", ] @@ -3883,9 +3899,9 @@ dependencies = [ [[package]] name = "num-iter" -version = "0.1.44" +version = "0.1.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d869c01cc0c455284163fd0092f1f93835385ccab5a98a0dcc497b2f8bf055a9" +checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf" dependencies = [ "autocfg", "num-integer", @@ -3894,9 +3910,9 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.18" +version = "0.2.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" dependencies = [ "autocfg", "libm", @@ -4057,9 +4073,9 @@ dependencies = [ [[package]] name = "object" -version = "0.32.2" +version = "0.36.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441" +checksum = "aedf0a2d09c573ed1d8d85b30c119153926a2b36dce0ab28322c09a117a4683e" dependencies = [ "memchr", ] @@ -4163,7 +4179,7 @@ dependencies = [ "openssl", "pin-project-lite", "prost 0.13.3", - "protobuf 3.5.1", + "protobuf 3.7.1", "resource_uri", "ring", "serde", @@ -4188,9 +4204,9 @@ dependencies = [ [[package]] name = "olpc-cjson" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d637c9c15b639ccff597da8f4fa968300651ad2f1e968aefc3b4927a6fb2027a" +checksum = "696183c9b5fe81a7715d074fd632e8bd46f4ccc0231a3ed7fc580a80de5f7083" dependencies = [ "serde", "serde_json", @@ -4199,9 +4215,9 @@ dependencies = [ [[package]] name = "once_cell" -version = "1.19.0" +version = "1.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" +checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775" [[package]] name = "opaque-debug" @@ -4243,9 +4259,9 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "openssl-src" -version = "300.2.3+3.2.1" +version = "300.4.1+3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cff92b6f71555b61bb9315f7c64da3ca43d87531622120fea0195fc761b4843" +checksum = "faa4eac4138c62414b5622d1b31c5c304f34b406b013c079c2bbc652fdd6678c" dependencies = [ "cc", ] @@ -4336,9 +4352,9 @@ dependencies = [ [[package]] name = "parking_lot" -version = "0.12.1" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" +checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" dependencies = [ "lock_api", "parking_lot_core", @@ -4346,15 +4362,15 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.9" +version = "0.9.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e" +checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" dependencies = [ "cfg-if", "libc", - "redox_syscall 0.4.1", + "redox_syscall 0.5.7", "smallvec", - "windows-targets 0.48.5", + "windows-targets 0.52.6", ] [[package]] @@ -4370,9 +4386,9 @@ dependencies = [ [[package]] name = "pathdiff" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8835116a5c179084a830efb3adc117ab007512b535bc1a21c991d3b32a6b44dd" +checksum = "d61c5ce1153ab5b689d0c074c4e7fc613e942dfb7dd9eea5ab202d2ad91fe361" [[package]] name = "pbkdf2" @@ -4417,9 +4433,9 @@ checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] name = "pest" -version = "2.7.11" +version = "2.7.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd53dff83f26735fdc1ca837098ccf133605d794cdae66acfc2bfac3ec809d95" +checksum = "879952a81a83930934cbf1786752d6dedc3b1f29e8f8fb2ad1d0a36f377cf442" dependencies = [ "memchr", "thiserror 1.0.69", @@ -4428,9 +4444,9 @@ dependencies = [ [[package]] name = "pest_derive" -version = "2.7.11" +version = "2.7.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a548d2beca6773b1c244554d36fcf8548a8a58e74156968211567250e48e49a" +checksum = "d214365f632b123a47fd913301e14c946c61d1c183ee245fa76eb752e59a02dd" dependencies = [ "pest", "pest_generator", @@ -4438,9 +4454,9 @@ dependencies = [ [[package]] name = "pest_generator" -version = "2.7.11" +version = "2.7.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c93a82e8d145725dcbaf44e5ea887c8a869efdcc28706df2d08c69e17077183" +checksum = "eb55586734301717aea2ac313f50b2eb8f60d2fc3dc01d190eefa2e625f60c4e" dependencies = [ "pest", "pest_meta", @@ -4451,9 +4467,9 @@ dependencies = [ [[package]] name = "pest_meta" -version = "2.7.11" +version = "2.7.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a941429fea7e08bedec25e4f6785b6ffaacc6b755da98df5ef3e7dcf4a124c4f" +checksum = "b75da2a70cf4d9cb76833c990ac9cd3923c9a8905a8929789ce347c84564d03d" dependencies = [ "once_cell", "pest", @@ -4472,12 +4488,12 @@ dependencies = [ [[package]] name = "petgraph" -version = "0.6.4" +version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1d3afd2628e69da2be385eb6f2fd57c8ac7977ceeff6dc166ff1657b0e386a9" +checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" dependencies = [ "fixedbitset 0.4.2", - "indexmap 2.2.3", + "indexmap 2.6.0", ] [[package]] @@ -4526,18 +4542,18 @@ dependencies = [ [[package]] name = "pin-project" -version = "1.1.5" +version = "1.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6bf43b791c5b9e34c3d182969b4abb522f9343702850a2e57f460d00d09b4b3" +checksum = "be57f64e946e500c8ee36ef6331845d40a93055567ec57e8fae13efd33759b95" dependencies = [ "pin-project-internal", ] [[package]] name = "pin-project-internal" -version = "1.1.5" +version = "1.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" +checksum = "3c0f5fad0874fc7abcd4d750e76917eaebbecaa2c20bde22e1dbeeba8beb758c" dependencies = [ "proc-macro2", "quote", @@ -4596,9 +4612,9 @@ dependencies = [ [[package]] name = "pkg-config" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" +checksum = "953ec861398dccce10c670dfeaf3ec4911ca479e9c02154b3a215178c5f566f2" [[package]] name = "poly1305" @@ -4625,9 +4641,9 @@ dependencies = [ [[package]] name = "portable-atomic" -version = "1.7.0" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da544ee218f0d287a911e9c99a39a8c9bc8fcad3cb8db5959940044ecfc67265" +checksum = "cc9c68a3f6da06753e9335d63e27f6b9754dd1920d941135b7ea8224f141adb2" [[package]] name = "powerfmt" @@ -4637,9 +4653,12 @@ checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" [[package]] name = "ppv-lite86" -version = "0.2.17" +version = "0.2.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" +checksum = "77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04" +dependencies = [ + "zerocopy", +] [[package]] name = "precomputed-hash" @@ -4676,9 +4695,9 @@ dependencies = [ [[package]] name = "prettyplease" -version = "0.2.17" +version = "0.2.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d3928fb5db768cb86f891ff014f0144589297e3c6a1aba6ed7cecfdace270c7" +checksum = "64d1ec885c64d0457d564db4ec299b2dae3f9c02808b8ad9c3a089c591b18033" dependencies = [ "proc-macro2", "syn 2.0.87", @@ -4717,6 +4736,28 @@ dependencies = [ "version_check", ] +[[package]] +name = "proc-macro-error-attr2" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96de42df36bb9bba5542fe9f1a054b8cc87e172759a1868aa05c1f3acc89dfc5" +dependencies = [ + "proc-macro2", + "quote", +] + +[[package]] +name = "proc-macro-error2" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11ec05c52be0a07b08061f7dd003e7d7092e0472bc731b4af7bb1ef876109802" +dependencies = [ + "proc-macro-error-attr2", + "proc-macro2", + "quote", + "syn 2.0.87", +] + [[package]] name = "proc-macro2" version = "1.0.89" @@ -4756,7 +4797,7 @@ dependencies = [ "heck 0.3.3", "itertools 0.10.5", "log", - "multimap", + "multimap 0.8.3", "petgraph 0.5.1", "prost 0.8.0", "prost-types 0.8.0", @@ -4766,20 +4807,20 @@ dependencies = [ [[package]] name = "prost-build" -version = "0.13.2" +version = "0.13.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8650aabb6c35b860610e9cff5dc1af886c9e25073b7b1712a68972af4281302" +checksum = "0c1318b19085f08681016926435853bbf7858f9c082d0999b80550ff5d9abe15" dependencies = [ "bytes", "heck 0.5.0", - "itertools 0.11.0", + "itertools 0.13.0", "log", - "multimap", + "multimap 0.10.0", "once_cell", - "petgraph 0.6.4", + "petgraph 0.6.5", "prettyplease", "prost 0.13.3", - "prost-types 0.13.2", + "prost-types 0.13.3", "regex", "syn 2.0.87", "tempfile", @@ -4805,7 +4846,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e9552f850d5f0964a4e4d0bf306459ac29323ddfbae05e35a7c0d35cb0803cc5" dependencies = [ "anyhow", - "itertools 0.11.0", + "itertools 0.13.0", "proc-macro2", "quote", "syn 2.0.87", @@ -4823,9 +4864,9 @@ dependencies = [ [[package]] name = "prost-types" -version = "0.13.2" +version = "0.13.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60caa6738c7369b940c3d49246a8d1749323674c65cb13010134f5c9bad5b519" +checksum = "4759aa0d3a6232fb8dbdb97b61de2c20047c68aca932c7ed76da9d788508d670" dependencies = [ "prost 0.13.3", ] @@ -4838,9 +4879,9 @@ checksum = "106dd99e98437432fed6519dedecfade6a06a73bb7b2a1e019fdd2bee5778d94" [[package]] name = "protobuf" -version = "3.5.1" +version = "3.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bcc343da15609eaecd65f8aa76df8dc4209d325131d8219358c0aaaebab0bf6" +checksum = "a3a7c64d9bf75b1b8d981124c14c179074e8caa7dfe7b6a12e6222ddcd0c8f72" dependencies = [ "once_cell", "protobuf-support", @@ -4858,13 +4899,13 @@ dependencies = [ [[package]] name = "protobuf-codegen" -version = "3.5.1" +version = "3.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4d0cde5642ea4df842b13eb9f59ea6fafa26dcb43e3e1ee49120e9757556189" +checksum = "e26b833f144769a30e04b1db0146b2aaa53fd2fd83acf10a6b5f996606c18144" dependencies = [ "anyhow", "once_cell", - "protobuf 3.5.1", + "protobuf 3.7.1", "protobuf-parse", "regex", "tempfile", @@ -4873,14 +4914,14 @@ dependencies = [ [[package]] name = "protobuf-parse" -version = "3.5.1" +version = "3.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b0e9b447d099ae2c4993c0cbb03c7a9d6c937b17f2d56cfc0b1550e6fcfdb76" +checksum = "322330e133eab455718444b4e033ebfac7c6528972c784fcde28d2cc783c6257" dependencies = [ "anyhow", - "indexmap 2.2.3", + "indexmap 2.6.0", "log", - "protobuf 3.5.1", + "protobuf 3.7.1", "protobuf-support", "tempfile", "thiserror 1.0.69", @@ -4889,9 +4930,9 @@ dependencies = [ [[package]] name = "protobuf-support" -version = "3.5.1" +version = "3.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0766e3675a627c327e4b3964582594b0e8741305d628a98a5de75a1d15f99b9" +checksum = "b088fd20b938a875ea00843b6faf48579462630015c3788d397ad6a786663252" dependencies = [ "thiserror 1.0.69", ] @@ -4904,19 +4945,19 @@ checksum = "33cb294fe86a74cbcf50d4445b37da762029549ebeea341421c7c70370f86cac" [[package]] name = "publicsuffix" -version = "2.2.3" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96a8c1bda5ae1af7f99a2962e49df150414a43d62404644d98dd5c3a93d07457" +checksum = "6f42ea446cab60335f76979ec15e12619a2165b5ae2c12166bef27d283a9fadf" dependencies = [ - "idna 0.3.0", + "idna", "psl-types", ] [[package]] name = "quinn" -version = "0.11.3" +version = "0.11.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b22d8e7369034b9a7132bc2008cac12f2013c8132b45e0554e6e20e2617f2156" +checksum = "62e96808277ec6f97351a2380e6c25114bc9e67037775464979f3037c92d05ef" dependencies = [ "bytes", "pin-project-lite", @@ -4924,47 +4965,51 @@ dependencies = [ "quinn-udp", "rustc-hash 2.0.0", "rustls", - "socket2 0.5.5", - "thiserror 1.0.69", + "socket2 0.5.7", + "thiserror 2.0.3", "tokio", "tracing", ] [[package]] name = "quinn-proto" -version = "0.11.7" +version = "0.11.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea0a9b3a42929fad8a7c3de7f86ce0814cfa893328157672680e9fb1145549c5" +checksum = "a2fe5ef3495d7d2e377ff17b1a8ce2ee2ec2a18cde8b6ad6619d65d0701c135d" dependencies = [ "bytes", + "getrandom", "rand", "ring", "rustc-hash 2.0.0", "rustls", + "rustls-pki-types", "slab", - "thiserror 1.0.69", + "thiserror 2.0.3", "tinyvec", "tracing", + "web-time", ] [[package]] name = "quinn-udp" -version = "0.5.4" +version = "0.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8bffec3605b73c6f1754535084a85229fa8a30f86014e6c81aeec4abb68b0285" +checksum = "7d5a626c6807713b15cac82a6acaccd6043c9a5408c24baae07611fec3f243da" dependencies = [ + "cfg_aliases", "libc", "once_cell", - "socket2 0.5.5", + "socket2 0.5.7", "tracing", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] name = "quote" -version = "1.0.35" +version = "1.0.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef" +checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" dependencies = [ "proc-macro2", ] @@ -5046,15 +5091,6 @@ dependencies = [ "bitflags 1.3.2", ] -[[package]] -name = "redox_syscall" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" -dependencies = [ - "bitflags 1.3.2", -] - [[package]] name = "redox_syscall" version = "0.5.7" @@ -5066,20 +5102,20 @@ dependencies = [ [[package]] name = "redox_users" -version = "0.4.4" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a18479200779601e498ada4e8c1e1f50e3ee19deb0259c25825a98b5603b2cb4" +checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" dependencies = [ "getrandom", - "libredox 0.0.1", + "libredox", "thiserror 1.0.69", ] [[package]] name = "regex" -version = "1.10.6" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4219d74c6b67a3654a9fbebc4b419e22126d13d2f3c4a07ee0cb61ff79a79619" +checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" dependencies = [ "aho-corasick", "memchr", @@ -5089,9 +5125,9 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.6" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea" +checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908" dependencies = [ "aho-corasick", "memchr", @@ -5100,9 +5136,9 @@ dependencies = [ [[package]] name = "regex-syntax" -version = "0.8.3" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adad44e29e4c806119491a7f06f03de4d1af22c3a680dd47f1e6e179439d1f56" +checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" [[package]] name = "reqwest" @@ -5118,7 +5154,7 @@ dependencies = [ "h2 0.3.26", "http 0.2.12", "http-body 0.4.6", - "hyper 0.14.28", + "hyper 0.14.31", "hyper-tls 0.5.0", "ipnet", "js-sys", @@ -5157,11 +5193,11 @@ dependencies = [ "encoding_rs", "futures-core", "futures-util", - "h2 0.4.5", + "h2 0.4.7", "http 1.1.0", - "http-body 1.0.0", + "http-body 1.0.1", "http-body-util", - "hyper 1.3.1", + "hyper 1.5.1", "hyper-rustls", "hyper-tls 0.6.0", "hyper-util", @@ -5175,7 +5211,7 @@ dependencies = [ "pin-project-lite", "quinn", "rustls", - "rustls-pemfile 2.1.2", + "rustls-pemfile 2.2.0", "rustls-pki-types", "serde", "serde_json", @@ -5336,9 +5372,9 @@ dependencies = [ [[package]] name = "rustc-demangle" -version = "0.1.23" +version = "0.1.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" +checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" [[package]] name = "rustc-hash" @@ -5354,21 +5390,21 @@ checksum = "583034fd73374156e66797ed8e5b0d5690409c9226b22d87cb7f19821c05d152" [[package]] name = "rustc_version" -version = "0.4.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" +checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" dependencies = [ "semver", ] [[package]] name = "rustix" -version = "0.38.40" +version = "0.38.41" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99e4ea3e1cdc4b559b8e5650f9c8e5998e3e5c1343b4eaf034565f32318d63c0" +checksum = "d7f649912bc1495e167a6edee79151c84b1bad49748cb4f1f1167f459f6224f6" dependencies = [ "bitflags 2.6.0", - "errno 0.3.8", + "errno 0.3.9", "libc", "linux-raw-sys", "windows-sys 0.52.0", @@ -5376,9 +5412,9 @@ dependencies = [ [[package]] name = "rustls" -version = "0.23.7" +version = "0.23.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebbbdb961df0ad3f2652da8f3fdc4b36122f568f968f45ad3316f26c025c677b" +checksum = "7f1a745511c54ba6d4465e8d5dfbd81b45791756de28d4981af70d6dca128f1e" dependencies = [ "once_cell", "ring", @@ -5399,25 +5435,27 @@ dependencies = [ [[package]] name = "rustls-pemfile" -version = "2.1.2" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29993a25686778eb88d4189742cd713c9bce943bc54251a33509dc63cbacf73d" +checksum = "dce314e5fee3f39953d46bb63bb8a46d40c2f8fb7cc5a3b6cab2bde9721d6e50" dependencies = [ - "base64 0.22.1", "rustls-pki-types", ] [[package]] name = "rustls-pki-types" -version = "1.3.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "048a63e5b3ac996d78d402940b5fa47973d2d080c6c6fffa1d0f19c4445310b7" +checksum = "16f1201b3c9a7ee8039bcadc17b7e605e2945b27eee7631788c1bd2b0643674b" +dependencies = [ + "web-time", +] [[package]] name = "rustls-webpki" -version = "0.102.3" +version = "0.102.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3bce581c0dd41bce533ce695a1437fa16a7ab5ac3ccfa99fe1a620a7885eabf" +checksum = "64ca1bc8749bd4cf37b5ce386cc146580777b4e8572c7b97baf22c83f444bee9" dependencies = [ "ring", "rustls-pki-types", @@ -5426,15 +5464,15 @@ dependencies = [ [[package]] name = "rustversion" -version = "1.0.14" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4" +checksum = "0e819f2bc632f285be6d7cd36e25940d45b2391dd6d9b939e79de557f7014248" [[package]] name = "ryu" -version = "1.0.17" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e86697c916019a8588c99b5fac3cead74ec0b4b819707a682fd4d23fa0ce1ba1" +checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" [[package]] name = "ryu-js" @@ -5494,20 +5532,20 @@ dependencies = [ [[package]] name = "scc" -version = "2.1.6" +version = "2.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05ccfb12511cdb770157ace92d7dda771e498445b78f9886e8cdbc5140a4eced" +checksum = "66b202022bb57c049555430e11fc22fea12909276a80a4c3d368da36ac1d88ed" dependencies = [ "sdd", ] [[package]] name = "schannel" -version = "0.1.23" +version = "0.1.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534" +checksum = "1f29ebaa345f945cec9fbbc532eb307f0fdad8161f281b6369539c8d84876b3d" dependencies = [ - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -5556,9 +5594,9 @@ dependencies = [ [[package]] name = "sdd" -version = "2.1.0" +version = "3.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "177258b64c0faaa9ffd3c65cd3262c2bc7e2588dbbd9c1641d0346145c1bbda8" +checksum = "49c1eeaf4b6a87c7479688c6d52b9f1153cedd3c489300564f932b065c6eab95" [[package]] name = "sec1" @@ -5568,43 +5606,20 @@ checksum = "d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc" dependencies = [ "base16ct", "der", - "generic-array", + "generic-array 0.14.7", "pkcs8", "subtle", "zeroize", ] -[[package]] -name = "secret" -version = "0.1.0" -dependencies = [ - "anyhow", - "assert-json-diff", - "assert_cmd", - "async-trait", - "base64 0.22.1", - "clap 4.2.7", - "crypto", - "kms", - "rand", - "rstest", - "serde", - "serde_json", - "strum", - "tempfile", - "thiserror 2.0.3", - "tokio", - "zeroize", -] - [[package]] name = "security-framework" -version = "2.9.2" +version = "2.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05b64fb303737d99b81884b2c63433e9ae28abebe5eb5045dcdd175dc2ecf4de" +checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" dependencies = [ - "bitflags 1.3.2", - "core-foundation", + "bitflags 2.6.0", + "core-foundation 0.9.4", "core-foundation-sys", "libc", "security-framework-sys", @@ -5612,9 +5627,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.9.1" +version = "2.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e932934257d3b408ed8f30db49d85ea163bfe74961f017f405b025af298f0c7a" +checksum = "fa39c7303dc58b5543c94d22c1766b0d31f2ee58306363ea622b10bbc075eaa2" dependencies = [ "core-foundation-sys", "libc", @@ -5622,9 +5637,9 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.22" +version = "1.0.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92d43fe69e652f3df9bdc2b85b2854a0825b86e4fb76bc44d945137d053639ca" +checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" [[package]] name = "sequoia-openpgp" @@ -5657,7 +5672,7 @@ dependencies = [ "flate2", "getrandom", "idea", - "idna 1.0.3", + "idna", "lalrpop", "lalrpop-util", "lazy_static", @@ -5704,9 +5719,9 @@ dependencies = [ [[package]] name = "serde_bytes" -version = "0.11.14" +version = "0.11.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b8497c313fd43ab992087548117643f6fcd935cbf36f176ffda0aacf9591734" +checksum = "387cc504cb06bb40a96c8e04e951fe01854cf6bc921053c954e4a606d9675c6a" dependencies = [ "serde", ] @@ -5728,7 +5743,7 @@ version = "1.0.133" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c7fceb2473b9166b2294ef05efcb65a3db80803f0b03ef86a5fc88a2b85ee377" dependencies = [ - "indexmap 2.2.3", + "indexmap 2.6.0", "itoa", "memchr", "ryu", @@ -5748,9 +5763,9 @@ dependencies = [ [[package]] name = "serde_spanned" -version = "0.6.7" +version = "0.6.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb5b1b31579f3811bf615c144393417496f152e12ac8b7663bf664f4a815306d" +checksum = "87607cb1398ed59d48732e575a4c28a7a8ebf2454b964fe3f224f2afc07909e1" dependencies = [ "serde", ] @@ -5796,7 +5811,7 @@ version = "0.9.34+deprecated" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47" dependencies = [ - "indexmap 2.2.3", + "indexmap 2.6.0", "itoa", "ryu", "serde", @@ -5837,13 +5852,13 @@ dependencies = [ [[package]] name = "sev" -version = "3.1.1" +version = "3.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2890179f8ef689340f441ba05f0b268bc14f672ae4b36d629cc2266d0d747ab" +checksum = "35156eab65ff1b63432b5a11a06b770e92120033e2831c7dee064865de5dbbbd" dependencies = [ - "base64 0.21.7", + "base64 0.22.1", "bincode", - "bitfield 0.13.2", + "bitfield 0.15.0", "bitflags 1.3.2", "byteorder", "codicon", @@ -5909,7 +5924,7 @@ checksum = "1f606421e4a6012877e893c399822a4ed4b089164c5969424e1b9d1e66e6964b" dependencies = [ "const-oid", "digest 0.10.7", - "generic-array", + "generic-array 1.1.0", ] [[package]] @@ -5957,9 +5972,9 @@ checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" [[package]] name = "signal-hook-registry" -version = "1.4.1" +version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1" +checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1" dependencies = [ "libc", ] @@ -6060,9 +6075,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.13.1" +version = "1.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7" +checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" [[package]] name = "socket2" @@ -6076,12 +6091,12 @@ dependencies = [ [[package]] name = "socket2" -version = "0.5.5" +version = "0.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9" +checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c" dependencies = [ "libc", - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] @@ -6112,26 +6127,6 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" -[[package]] -name = "storage" -version = "0.1.0" -dependencies = [ - "anyhow", - "async-trait", - "base64 0.22.1", - "kms", - "log", - "rand", - "rstest", - "secret", - "serde", - "serde_json", - "strum", - "tempfile", - "thiserror 2.0.3", - "tokio", -] - [[package]] name = "string_cache" version = "0.8.7" @@ -6187,15 +6182,15 @@ dependencies = [ [[package]] name = "subtle" -version = "2.5.0" +version = "2.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc" +checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" [[package]] name = "superboring" -version = "0.1.2" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbde97f499e51ef384f585dc8f8fb6a9c3a71b274b8d12469b516758e6540607" +checksum = "cee25cd9d145d2c1ef92a52720376eeb510c8870dfa0f84edb371901ec6a12ca" dependencies = [ "getrandom", "hmac-sha256", @@ -6259,7 +6254,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" dependencies = [ "bitflags 1.3.2", - "core-foundation", + "core-foundation 0.9.4", "system-configuration-sys 0.5.0", ] @@ -6270,7 +6265,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b" dependencies = [ "bitflags 2.6.0", - "core-foundation", + "core-foundation 0.9.4", "system-configuration-sys 0.6.0", ] @@ -6296,9 +6291,9 @@ dependencies = [ [[package]] name = "tar" -version = "0.4.41" +version = "0.4.43" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb797dad5fb5b76fcf519e702f4a589483b5ef06567f160c392832c1f5e44909" +checksum = "c65998313f8e17d0d553d28f91a0df93e4dbbbf770279c7bc21ca0f09ea1a1f6" dependencies = [ "filetime", "libc", @@ -6307,9 +6302,9 @@ dependencies = [ [[package]] name = "target-lexicon" -version = "0.12.13" +version = "0.12.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69758bda2e78f098e4ccb393021a0963bb3442eac05f135c30f61b7370bbafae" +checksum = "61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1" [[package]] name = "tdx-attest-rs" @@ -6490,9 +6485,9 @@ dependencies = [ [[package]] name = "tinyvec" -version = "1.6.0" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" +checksum = "445e881f4f6d382d5f27c034e25eb92edd7c784ceab92a0937db7f2e9471b938" dependencies = [ "tinyvec_macros", ] @@ -6533,11 +6528,11 @@ dependencies = [ "backtrace", "bytes", "libc", - "mio 1.0.1", + "mio 1.0.2", "parking_lot", "pin-project-lite", "signal-hook-registry", - "socket2 0.5.5", + "socket2 0.5.7", "tokio-macros", "windows-sys 0.52.0", ] @@ -6657,11 +6652,11 @@ dependencies = [ [[package]] name = "toml_edit" -version = "0.22.20" +version = "0.22.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "583c44c02ad26b0c3f3066fe629275e50627026c51ac2e595cca4c230ce1ce1d" +checksum = "4ae48d6208a266e853d946088ed816055e556cc6028c5e8e2b84d9fa5dd7c7f5" dependencies = [ - "indexmap 2.2.3", + "indexmap 2.6.0", "serde", "serde_spanned", "toml_datetime", @@ -6679,20 +6674,20 @@ dependencies = [ "axum", "base64 0.22.1", "bytes", - "h2 0.4.5", + "h2 0.4.7", "http 1.1.0", - "http-body 1.0.0", + "http-body 1.0.1", "http-body-util", - "hyper 1.3.1", + "hyper 1.5.1", "hyper-timeout", "hyper-util", "percent-encoding", "pin-project", "prost 0.13.3", - "socket2 0.5.5", + "socket2 0.5.7", "tokio", "tokio-stream", - "tower", + "tower 0.4.13", "tower-layer", "tower-service", "tracing", @@ -6706,8 +6701,8 @@ checksum = "9557ce109ea773b399c9b9e5dca39294110b74f1f342cb347a80d1fce8c26a11" dependencies = [ "prettyplease", "proc-macro2", - "prost-build 0.13.2", - "prost-types 0.13.2", + "prost-build 0.13.3", + "prost-types 0.13.3", "quote", "syn 2.0.87", ] @@ -6732,17 +6727,31 @@ dependencies = [ "tracing", ] +[[package]] +name = "tower" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2873938d487c3cfb9aed7546dc9f2711d867c9f90c46b889989a2cb84eba6b4f" +dependencies = [ + "futures-core", + "futures-util", + "pin-project-lite", + "sync_wrapper 0.1.2", + "tower-layer", + "tower-service", +] + [[package]] name = "tower-layer" -version = "0.3.2" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0" +checksum = "121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e" [[package]] name = "tower-service" -version = "0.3.2" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" +checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" [[package]] name = "tracing" @@ -6828,8 +6837,8 @@ dependencies = [ "libc", "log", "nix 0.26.4", - "protobuf 3.5.1", - "protobuf-codegen 3.5.1", + "protobuf 3.7.1", + "protobuf-codegen 3.7.1", "thiserror 1.0.69", "tokio", "tokio-vsock", @@ -6843,7 +6852,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94d7f7631d7a9ebed715a47cd4cb6072cbc7ae1d4ec01598971bbec0024340c2" dependencies = [ "protobuf 2.28.0", - "protobuf-codegen 3.5.1", + "protobuf-codegen 3.7.1", "protobuf-support", "ttrpc-compiler", ] @@ -6900,66 +6909,57 @@ dependencies = [ [[package]] name = "tzdb_data" -version = "0.1.2" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1889fdffac09d65c1d95c42d5202e9b21ad8c758f426e9fe09088817ea998d6" +checksum = "654c1ec546942ce0594e8d220e6b8e3899e0a0a8fe70ddd54d32a376dfefe3f8" dependencies = [ "tz-rs", ] [[package]] name = "ucd-trie" -version = "0.1.6" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed646292ffc8188ef8ea4d1e0e0150fb15a5c2e12ad9b8fc191ae7a8a7f3c4b9" +checksum = "2896d95c02a80c6d6a5d6e953d479f5ddf2dfdb6a244441010e373ac0fb88971" [[package]] name = "unicase" -version = "2.7.0" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7d2d4dafb69621809a81864c9c1b864479e1235c0dd4e199924b9742439ed89" -dependencies = [ - "version_check", -] - -[[package]] -name = "unicode-bidi" -version = "0.3.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" +checksum = "7e51b68083f157f853b6379db119d1c1be0e6e4dec98101079dec41f6f5cf6df" [[package]] name = "unicode-ident" -version = "1.0.12" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" +checksum = "adb9e6ca4f869e1180728b7950e35922a7fc6397f7b641499e8f3ef06e50dc83" [[package]] name = "unicode-normalization" -version = "0.1.23" +version = "0.1.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5" +checksum = "5033c97c4262335cded6d6fc3e5c18ab755e1a3dc96376350f3d8e9f009ad956" dependencies = [ "tinyvec", ] [[package]] name = "unicode-segmentation" -version = "1.11.0" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202" +checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493" [[package]] name = "unicode-width" -version = "0.1.11" +version = "0.1.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85" +checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" [[package]] name = "unicode-xid" -version = "0.2.4" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" +checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" [[package]] name = "universal-hash" @@ -6985,11 +6985,11 @@ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" [[package]] name = "ureq" -version = "2.9.6" +version = "2.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11f214ce18d8b2cbe84ed3aa6486ed3f5b285cf8d8fbdbce9f3f767a724adc35" +checksum = "b74fc6b57825be3373f7054754755f03ac3a8f5d70015ccad699ba2029956f4a" dependencies = [ - "base64 0.21.7", + "base64 0.22.1", "log", "once_cell", "serde", @@ -7004,7 +7004,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8d157f1b96d14500ffdc1f10ba712e780825526c03d9a49b4d0324b0d9113ada" dependencies = [ "form_urlencoded", - "idna 1.0.3", + "idna", "percent-encoding", ] @@ -7028,9 +7028,9 @@ checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" [[package]] name = "utf8parse" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" +checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" [[package]] name = "utoipa" @@ -7038,7 +7038,7 @@ version = "5.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "514a48569e4e21c86d0b84b5612b5e73c0b2cf09db63260134ba426d4e8ea714" dependencies = [ - "indexmap 2.2.3", + "indexmap 2.6.0", "serde", "serde_json", "utoipa-gen", @@ -7080,9 +7080,9 @@ checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191" [[package]] name = "version_check" -version = "0.9.4" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" +checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" [[package]] name = "vm-memory" @@ -7159,19 +7159,20 @@ dependencies = [ [[package]] name = "wasm-bindgen" -version = "0.2.92" +version = "0.2.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8" +checksum = "128d1e363af62632b8eb57219c8fd7877144af57558fb2ef0368d0087bddeb2e" dependencies = [ "cfg-if", + "once_cell", "wasm-bindgen-macro", ] [[package]] name = "wasm-bindgen-backend" -version = "0.2.92" +version = "0.2.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da" +checksum = "cb6dd4d3ca0ddffd1dd1c9c04f94b868c37ff5fac97c30b97cff2d74fce3a358" dependencies = [ "bumpalo", "log", @@ -7184,9 +7185,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-futures" -version = "0.4.42" +version = "0.4.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0" +checksum = "cc7ec4f8827a71586374db3e87abdb5a2bb3a15afed140221307c3ec06b1f63b" dependencies = [ "cfg-if", "js-sys", @@ -7196,9 +7197,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.92" +version = "0.2.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726" +checksum = "e79384be7f8f5a9dd5d7167216f022090cf1f9ec128e6e6a482a2cb5c5422c56" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -7206,9 +7207,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.92" +version = "0.2.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" +checksum = "26c6ab57572f7a24a4985830b120de1594465e5d500f24afe89e16b4e833ef68" dependencies = [ "proc-macro2", "quote", @@ -7219,15 +7220,15 @@ dependencies = [ [[package]] name = "wasm-bindgen-shared" -version = "0.2.92" +version = "0.2.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" +checksum = "65fc09f10666a9f147042251e0dda9c18f166ff7de300607007e96bdebc1068d" [[package]] name = "wasm-streams" -version = "0.4.0" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b65dc4c90b63b118468cf747d8bf3566c1913ef60be765b5730ead9e0a3ba129" +checksum = "15053d8d85c7eccdbefef60f06769760a563c7f0a9d6902a13d35c7800b0ad65" dependencies = [ "futures-util", "js-sys", @@ -7238,9 +7239,19 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.69" +version = "0.3.72" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef" +checksum = "f6488b90108c040df0fe62fa815cbdee25124641df01814dd7282749234c6112" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "web-time" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb" dependencies = [ "js-sys", "wasm-bindgen", @@ -7248,12 +7259,12 @@ dependencies = [ [[package]] name = "webbrowser" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "425ba64c1e13b1c6e8c5d2541c8fac10022ca584f33da781db01b5756aef1f4e" +checksum = "2e5f07fb9bc8de2ddfe6b24a71a75430673fd679e568c48b52716cef1cfae923" dependencies = [ "block2", - "core-foundation", + "core-foundation 0.10.0", "home", "jni", "log", @@ -7266,9 +7277,9 @@ dependencies = [ [[package]] name = "webpki-roots" -version = "0.26.2" +version = "0.26.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c452ad30530b54a4d8e71952716a212b08efd0f3562baa66c29a618b07da7c3" +checksum = "841c67bff177718f1d4dfefde8d8f0e78f9b6589319ba88312f567fc5841a958" dependencies = [ "rustls-pki-types", ] @@ -7303,11 +7314,11 @@ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" [[package]] name = "winapi-util" -version = "0.1.6" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596" +checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" dependencies = [ - "winapi", + "windows-sys 0.59.0", ] [[package]] @@ -7571,9 +7582,9 @@ checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" [[package]] name = "winnow" -version = "0.6.18" +version = "0.6.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68a9bda4691f099d435ad181000724da8e5899daa10713c2d432552b9ccd3a6f" +checksum = "36c1fec1a2bb5866f07c25f68c26e565c4c200aebb96d7e55710c19d3e8ac49b" dependencies = [ "memchr", ] @@ -7692,9 +7703,9 @@ dependencies = [ [[package]] name = "zerocopy" -version = "0.7.32" +version = "0.7.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be" +checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" dependencies = [ "byteorder", "zerocopy-derive", @@ -7702,9 +7713,9 @@ dependencies = [ [[package]] name = "zerocopy-derive" -version = "0.7.32" +version = "0.7.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6" +checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", diff --git a/Cargo.toml b/Cargo.toml index 95c5eda5c..4bec4e106 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -12,8 +12,6 @@ members = [ "attestation-agent/coco_keyprovider", "confidential-data-hub/hub", "confidential-data-hub/kms", - "confidential-data-hub/secret", - "confidential-data-hub/storage", "image-rs", "ocicrypt-rs", ] diff --git a/README.md b/README.md index 8c53655c2..7e707f61f 100644 --- a/README.md +++ b/README.md @@ -26,7 +26,7 @@ CoCo Keyprovider. Used to encrypt the container images. ## Tools -[secret-cli](confidential-data-hub/secret) +[secret-cli](confidential-data-hub/hub/src/bin/secret_cli.rs) Utility for sealing and unsealing sealed secrets [CDH Client](confidential-data-hub/hub/src/bin) diff --git a/api-server-rest/openapi/api.json b/api-server-rest/openapi/api.json index dd0caf465..0d2f3c3f8 100644 --- a/api-server-rest/openapi/api.json +++ b/api-server-rest/openapi/api.json @@ -1,5 +1,5 @@ { - "openapi": "3.0.3", + "openapi": "3.1.0", "info": { "title": "CoCo Restful API", "description": "HTTP based API for CoCo containers to get resource/evidence/token from confidential-data-hub and attestation-agent.", @@ -20,9 +20,7 @@ "paths": { "/aa/evidence": { "get": { - "tags": [ - "crate" - ], + "tags": [], "operationId": "_evidence", "parameters": [ { @@ -67,9 +65,7 @@ }, "/aa/token": { "get": { - "tags": [ - "crate" - ], + "tags": [], "operationId": "_token", "parameters": [ { @@ -114,9 +110,7 @@ }, "/cdh/resource/{repository}/{type}/{tag}": { "get": { - "tags": [ - "crate" - ], + "tags": [], "operationId": "_resource", "responses": { "200": { @@ -144,5 +138,6 @@ } } } - } + }, + "components": {} } \ No newline at end of file diff --git a/api-server-rest/src/ttrpc_proto/attestation_agent.rs b/api-server-rest/src/ttrpc_proto/attestation_agent.rs index b1c66c9d8..ff9e89578 100644 --- a/api-server-rest/src/ttrpc_proto/attestation_agent.rs +++ b/api-server-rest/src/ttrpc_proto/attestation_agent.rs @@ -1,4 +1,4 @@ -// This file is generated by rust-protobuf 3.5.1. Do not edit +// This file is generated by rust-protobuf 3.7.1. Do not edit // .proto file is parsed by pure // @generated @@ -22,7 +22,7 @@ /// Generated files are compatible only with the same version /// of protobuf runtime. -const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_3_5_1; +const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_3_7_1; // @@protoc_insertion_point(message:attestation_agent.GetEvidenceRequest) #[derive(PartialEq,Clone,Default,Debug)] diff --git a/api-server-rest/src/ttrpc_proto/confidential_data_hub.rs b/api-server-rest/src/ttrpc_proto/confidential_data_hub.rs index 0902e6217..0a0268254 100644 --- a/api-server-rest/src/ttrpc_proto/confidential_data_hub.rs +++ b/api-server-rest/src/ttrpc_proto/confidential_data_hub.rs @@ -1,4 +1,4 @@ -// This file is generated by rust-protobuf 3.5.1. Do not edit +// This file is generated by rust-protobuf 3.7.1. Do not edit // .proto file is parsed by pure // @generated @@ -22,7 +22,7 @@ /// Generated files are compatible only with the same version /// of protobuf runtime. -const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_3_5_1; +const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_3_7_1; // @@protoc_insertion_point(message:api.GetResourceRequest) #[derive(PartialEq,Clone,Default,Debug)] diff --git a/attestation-agent/kbs_protocol/src/token_provider/aa/attestation_agent.rs b/attestation-agent/kbs_protocol/src/token_provider/aa/attestation_agent.rs index 5ce4693dc..ba0e0ce1c 100644 --- a/attestation-agent/kbs_protocol/src/token_provider/aa/attestation_agent.rs +++ b/attestation-agent/kbs_protocol/src/token_provider/aa/attestation_agent.rs @@ -1,4 +1,4 @@ -// This file is generated by rust-protobuf 3.5.1. Do not edit +// This file is generated by rust-protobuf 3.7.1. Do not edit // .proto file is parsed by pure // @generated @@ -22,7 +22,7 @@ /// Generated files are compatible only with the same version /// of protobuf runtime. -const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_3_5_1; +const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_3_7_1; // @@protoc_insertion_point(message:attestation_agent.GetEvidenceRequest) #[derive(PartialEq,Clone,Default,Debug)] diff --git a/confidential-data-hub/docs/SEALED_SECRET.md b/confidential-data-hub/docs/SEALED_SECRET.md index 4793140f1..33351d423 100644 --- a/confidential-data-hub/docs/SEALED_SECRET.md +++ b/confidential-data-hub/docs/SEALED_SECRET.md @@ -10,8 +10,11 @@ in conjunction with an attestation. The Confidential Data Hub provides an API for unsealing secrets inside of a confidential guest. -There is also a [secret cli](../secret/src/bin) tool that can be used to generate sealed -secrets. +You can also use the secret cli tool to generate a sealed secret: + +```bash +cargo run -p confidential-data-hub --bin secret +``` ## Kubernetes Secrets @@ -173,7 +176,6 @@ Start with a sealed secret such as } } ``` -You can use the [secret cli](../secret/src/bin) tool to generate a sealed secret. Encode the payload in BASE64URL ``` diff --git a/confidential-data-hub/docs/SECURE_STORAGE.md b/confidential-data-hub/docs/SECURE_STORAGE.md index 83826f365..e9439ffab 100644 --- a/confidential-data-hub/docs/SECURE_STORAGE.md +++ b/confidential-data-hub/docs/SECURE_STORAGE.md @@ -17,7 +17,7 @@ We reuse [direct block device assigned volume feature](https://github.com/kata-c [Aliyun OSS](https://www.alibabacloud.com/product/object-storage-service) is an object storage service provided by Alibaba Cloud (Aliyun). -The [plugin](../storage/src/volume_type/aliyun) provides two different modes for secure mount. +The [plugin](../hub/src/storage/volume_type/aliyun) provides two different modes for secure mount. Confidential Data Hub's `secure_mount()` [API](../hub/protos/api.proto) will help to instrument this. @@ -65,7 +65,7 @@ For more details, please refer to [the guide](use-cases/secure-mount-with-aliyun ### Block Device -The [plugin](../storage/src/volume_type/blockdevice) provides ways to encrypt a block device and mount it to a specific mount point. Currently only support LUKS in [cryptsetup](https://gitlab.com/cryptsetup/cryptsetup/) for block device encryption. +The [plugin](../hub/src/storage/volume_type/blockdevice) provides ways to encrypt a block device and mount it to a specific mount point. Currently only support LUKS in [cryptsetup](https://gitlab.com/cryptsetup/cryptsetup/) for block device encryption. #### LUKS Encryption diff --git a/confidential-data-hub/docs/use-cases/secure-mount-with-block-device.md b/confidential-data-hub/docs/use-cases/secure-mount-with-block-device.md index ac626da08..5d48a993b 100644 --- a/confidential-data-hub/docs/use-cases/secure-mount-with-block-device.md +++ b/confidential-data-hub/docs/use-cases/secure-mount-with-block-device.md @@ -30,7 +30,7 @@ Follow the instructions in the [CDH README](../../README.md#confidential-data-hu 2. Install `luks-encrypt-storage` -Install [luks-encrypt-storage](../../storage/scripts/luks-encrypt-storage) into `/usr/local/bin` +Install [luks-encrypt-storage](../../hub/src/storage/scripts/luks-encrypt-storage) into `/usr/local/bin` 3. Run CDH ```shell @@ -74,4 +74,4 @@ $ lsblk |grep "encrypted_disk" # Expected output: └─encrypted_disk_OEyEj_dif 253:1 0 968.6M 0 crypt └─encrypted_disk_OEyEj 253:2 0 968.6M 0 crypt /mnt/test-path -``` \ No newline at end of file +``` diff --git a/confidential-data-hub/hub/Cargo.toml b/confidential-data-hub/hub/Cargo.toml index 43457b5bf..57fe37199 100644 --- a/confidential-data-hub/hub/Cargo.toml +++ b/confidential-data-hub/hub/Cargo.toml @@ -26,6 +26,11 @@ required-features = ["bin", "grpc"] name = "cdh-oneshot" required-features = ["bin"] +[[bin]] +name = "secret" +path = "src/bin/secret_cli.rs" +required-features = ["cli"] + [dependencies] anyhow = { workspace = true, optional = true } async-trait.workspace = true @@ -43,42 +48,50 @@ log.workspace = true prost = { workspace = true, optional = true } protobuf = { workspace = true, optional = true } resource_uri.path = "../../attestation-agent/deps/resource_uri" -secret.path = "../secret" -storage.path = "../storage" +rand.workspace = true serde = { workspace = true, optional = true } serde_json.workspace = true +strum = { workspace = true, features = ["derive"] } +tempfile = { workspace = true, optional = true } thiserror.workspace = true -tokio = { workspace = true, features = [ "rt-multi-thread", "macros", "sync" ] } +tokio = { workspace = true, features = [ "fs", "macros", "io-util", "process", "rt-multi-thread", "sync" ] } tonic = { workspace = true, optional = true } ttrpc = { workspace = true, features = ["async"], optional = true } +zeroize.workspace = true [build-dependencies] +anyhow.workspace = true tonic-build = { workspace = true, optional = true } ttrpc-codegen = { workspace = true, optional = true } [dev-dependencies] assert_cmd.workspace = true +assert-json-diff.workspace = true nix.workspace = true rstest.workspace = true serial_test.workspace = true tempfile.workspace = true +tokio = { workspace = true, features = ["rt", "macros" ] } [features] -default = ["kbs", "bin", "ttrpc", "grpc"] +default = ["aliyun", "kbs", "bin", "ttrpc", "grpc", "cli"] # support aliyun stacks (KMS, ..) -aliyun = ["secret/aliyun"] +aliyun = ["tempfile"] # support coco-KBS to provide confidential resources -kbs = ["kms/kbs", "secret/kbs"] +kbs = ["kms/kbs"] # support sev to provide confidential resources -sev = ["kms/sev", "secret/sev"] +sev = ["kms/sev"] # support eHSM stacks (KMS, ...) -ehsm = ["secret/ehsm"] +ehsm = [] # Binary RPC type bin = [ "anyhow", "attestation-agent", "cfg-if", "clap", "config", "env_logger", "serde" ] ttrpc = ["dep:ttrpc", "protobuf", "ttrpc-codegen", "tokio/signal"] grpc = ["prost", "tonic", "tonic-build", "tokio/signal"] + +# for secret_cli +cli = ["clap/derive", "tokio/rt-multi-thread", "tokio/sync", "tokio/macros"] diff --git a/confidential-data-hub/hub/src/api.rs b/confidential-data-hub/hub/src/api.rs index 37f941443..77bf9d56c 100644 --- a/confidential-data-hub/hub/src/api.rs +++ b/confidential-data-hub/hub/src/api.rs @@ -5,8 +5,8 @@ use async_trait::async_trait; +use crate::storage::volume_type::Storage; use crate::Result; -use storage::volume_type::Storage; /// The APIs of the DataHub. See /// for diff --git a/confidential-data-hub/hub/src/bin/cdh-oneshot.rs b/confidential-data-hub/hub/src/bin/cdh-oneshot.rs index 58216b905..c1e1f9888 100644 --- a/confidential-data-hub/hub/src/bin/cdh-oneshot.rs +++ b/confidential-data-hub/hub/src/bin/cdh-oneshot.rs @@ -9,9 +9,8 @@ use base64::{engine::general_purpose::STANDARD, Engine}; use clap::{Args, Parser, Subcommand}; -use confidential_data_hub::{hub::Hub, CdhConfig, DataHub}; +use confidential_data_hub::{hub::Hub, storage::volume_type::Storage, CdhConfig, DataHub}; use log::warn; -use storage::volume_type::Storage; #[derive(Parser)] #[command(name = "cdh_oneshot")] diff --git a/confidential-data-hub/hub/src/bin/grpc-cdh-tool.rs b/confidential-data-hub/hub/src/bin/grpc-cdh-tool.rs index 3d877876c..6b51efea0 100644 --- a/confidential-data-hub/hub/src/bin/grpc-cdh-tool.rs +++ b/confidential-data-hub/hub/src/bin/grpc-cdh-tool.rs @@ -16,7 +16,7 @@ use api::{ }; use base64::{engine::general_purpose::STANDARD, Engine}; use clap::{Args, Parser, Subcommand}; -use storage::volume_type::Storage; +use confidential_data_hub::storage::volume_type::Storage; mod api { tonic::include_proto!("api"); diff --git a/confidential-data-hub/hub/src/bin/grpc_server/mod.rs b/confidential-data-hub/hub/src/bin/grpc_server/mod.rs index 24b7fb1ea..497607e43 100644 --- a/confidential-data-hub/hub/src/bin/grpc_server/mod.rs +++ b/confidential-data-hub/hub/src/bin/grpc_server/mod.rs @@ -5,10 +5,12 @@ use anyhow::*; -use confidential_data_hub::{hub::Hub, DataHub}; +use confidential_data_hub::{ + storage::volume_type::Storage, + {hub::Hub, DataHub}, +}; use log::{debug, error}; use std::{error::Error as _, net::SocketAddr, sync::Arc}; -use storage::volume_type::Storage; use tonic::{transport::Server, Request, Response, Status}; use crate::{ diff --git a/confidential-data-hub/hub/src/bin/protos/api.rs b/confidential-data-hub/hub/src/bin/protos/api.rs index ec5b63ecc..d20b85bce 100644 --- a/confidential-data-hub/hub/src/bin/protos/api.rs +++ b/confidential-data-hub/hub/src/bin/protos/api.rs @@ -1,4 +1,4 @@ -// This file is generated by rust-protobuf 3.5.1. Do not edit +// This file is generated by rust-protobuf 3.7.1. Do not edit // .proto file is parsed by pure // @generated @@ -22,7 +22,7 @@ /// Generated files are compatible only with the same version /// of protobuf runtime. -const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_3_5_1; +const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_3_7_1; // @@protoc_insertion_point(message:api.UnsealSecretInput) #[derive(PartialEq,Clone,Default,Debug)] diff --git a/confidential-data-hub/hub/src/bin/protos/keyprovider.rs b/confidential-data-hub/hub/src/bin/protos/keyprovider.rs index a5e5c412c..606647028 100644 --- a/confidential-data-hub/hub/src/bin/protos/keyprovider.rs +++ b/confidential-data-hub/hub/src/bin/protos/keyprovider.rs @@ -1,4 +1,4 @@ -// This file is generated by rust-protobuf 3.5.1. Do not edit +// This file is generated by rust-protobuf 3.7.1. Do not edit // .proto file is parsed by pure // @generated @@ -22,7 +22,7 @@ /// Generated files are compatible only with the same version /// of protobuf runtime. -const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_3_5_1; +const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_3_7_1; // @@protoc_insertion_point(message:keyprovider.KeyProviderKeyWrapProtocolInput) #[derive(PartialEq,Clone,Default,Debug)] diff --git a/confidential-data-hub/secret/src/bin/secret_cli.rs b/confidential-data-hub/hub/src/bin/secret_cli.rs similarity index 98% rename from confidential-data-hub/secret/src/bin/secret_cli.rs rename to confidential-data-hub/hub/src/bin/secret_cli.rs index f50b8bd8e..52e1c3aac 100644 --- a/confidential-data-hub/secret/src/bin/secret_cli.rs +++ b/confidential-data-hub/hub/src/bin/secret_cli.rs @@ -7,6 +7,10 @@ use std::{env, path::Path}; use base64::{engine::general_purpose::STANDARD, Engine}; use clap::{command, Args, Parser, Subcommand}; +use confidential_data_hub::secret::{ + layout::{envelope::EnvelopeSecret, vault::VaultSecret}, + Secret, SecretContent, VERSION, +}; use crypto::WrapType; #[cfg(feature = "aliyun")] use kms::plugins::aliyun::AliyunKmsClient; @@ -14,8 +18,6 @@ use kms::plugins::aliyun::AliyunKmsClient; use kms::plugins::ehsm::EhsmKmsClient; use kms::{Encrypter, ProviderSettings}; use rand::Rng; -use secret::secret::layout::{envelope::EnvelopeSecret, vault::VaultSecret}; -use secret::secret::{Secret, SecretContent, VERSION}; #[cfg(feature = "ehsm")] use serde_json::Value; use tokio::{fs, io::AsyncWriteExt}; diff --git a/confidential-data-hub/hub/src/bin/ttrpc-cdh-tool.rs b/confidential-data-hub/hub/src/bin/ttrpc-cdh-tool.rs index 6a7a67103..da72e2fce 100644 --- a/confidential-data-hub/hub/src/bin/ttrpc-cdh-tool.rs +++ b/confidential-data-hub/hub/src/bin/ttrpc-cdh-tool.rs @@ -9,6 +9,7 @@ use base64::{engine::general_purpose::STANDARD, Engine}; use clap::{Args, Parser, Subcommand}; +use confidential_data_hub::storage::volume_type::Storage; use protos::{ api::*, api_ttrpc::{ @@ -18,7 +19,6 @@ use protos::{ keyprovider::*, keyprovider_ttrpc::KeyProviderServiceClient, }; -use storage::volume_type::Storage; use ttrpc::context; mod protos; diff --git a/confidential-data-hub/hub/src/bin/ttrpc_server/mod.rs b/confidential-data-hub/hub/src/bin/ttrpc_server/mod.rs index 448c49323..671912061 100644 --- a/confidential-data-hub/hub/src/bin/ttrpc_server/mod.rs +++ b/confidential-data-hub/hub/src/bin/ttrpc_server/mod.rs @@ -7,9 +7,11 @@ use std::error::Error as _; use anyhow::Result; use async_trait::async_trait; -use confidential_data_hub::{hub::Hub, CdhConfig, DataHub}; +use confidential_data_hub::{ + storage::volume_type::Storage, + {hub::Hub, CdhConfig, DataHub}, +}; use log::{debug, error}; -use storage::volume_type::Storage; use ttrpc::{asynchronous::TtrpcContext, Code, Error, Status}; use crate::{ diff --git a/confidential-data-hub/hub/src/error.rs b/confidential-data-hub/hub/src/error.rs index fee920e33..8b31eaff2 100644 --- a/confidential-data-hub/hub/src/error.rs +++ b/confidential-data-hub/hub/src/error.rs @@ -3,7 +3,7 @@ // SPDX-License-Identifier: Apache-2.0 // -use crate::image; +use crate::{image, secret, storage}; use thiserror::Error; pub type Result = std::result::Result; diff --git a/confidential-data-hub/hub/src/hub.rs b/confidential-data-hub/hub/src/hub.rs index 18fc42b08..a850703e7 100644 --- a/confidential-data-hub/hub/src/hub.rs +++ b/confidential-data-hub/hub/src/hub.rs @@ -9,12 +9,13 @@ use async_trait::async_trait; use image_rs::{builder::ClientBuilder, config::ImageConfig, image::ImageClient}; use kms::{Annotations, ProviderSettings}; use log::{debug, info}; -use storage::volume_type::Storage; use tokio::sync::{Mutex, OnceCell}; -use crate::{image, CdhConfig, DataHub, Error, Result}; +use crate::storage::volume_type::Storage; +use crate::{image, secret, CdhConfig, DataHub, Error, Result}; pub struct Hub { + #[allow(dead_code)] pub(crate) credentials: HashMap, image_client: OnceCell>, config: CdhConfig, diff --git a/confidential-data-hub/hub/src/lib.rs b/confidential-data-hub/hub/src/lib.rs index 468abeff0..0118fb138 100644 --- a/confidential-data-hub/hub/src/lib.rs +++ b/confidential-data-hub/hub/src/lib.rs @@ -17,3 +17,5 @@ pub mod config; pub use config::*; pub mod image; +pub mod secret; +pub mod storage; diff --git a/confidential-data-hub/secret/src/error.rs b/confidential-data-hub/hub/src/secret/error.rs similarity index 100% rename from confidential-data-hub/secret/src/error.rs rename to confidential-data-hub/hub/src/secret/error.rs diff --git a/confidential-data-hub/secret/src/secret/layout/envelope.rs b/confidential-data-hub/hub/src/secret/layout/envelope.rs similarity index 100% rename from confidential-data-hub/secret/src/secret/layout/envelope.rs rename to confidential-data-hub/hub/src/secret/layout/envelope.rs diff --git a/confidential-data-hub/secret/src/secret/layout/mod.rs b/confidential-data-hub/hub/src/secret/layout/mod.rs similarity index 100% rename from confidential-data-hub/secret/src/secret/layout/mod.rs rename to confidential-data-hub/hub/src/secret/layout/mod.rs diff --git a/confidential-data-hub/secret/src/secret/layout/vault.rs b/confidential-data-hub/hub/src/secret/layout/vault.rs similarity index 97% rename from confidential-data-hub/secret/src/secret/layout/vault.rs rename to confidential-data-hub/hub/src/secret/layout/vault.rs index 2b9d6962b..24bc60adc 100644 --- a/confidential-data-hub/secret/src/secret/layout/vault.rs +++ b/confidential-data-hub/hub/src/secret/layout/vault.rs @@ -3,11 +3,11 @@ // SPDX-License-Identifier: Apache-2.0 // -use kms::ProviderSettings; use serde::{Deserialize, Serialize}; use thiserror::Error; pub use kms::Annotations; +pub use kms::ProviderSettings; pub type Result = std::result::Result; diff --git a/confidential-data-hub/secret/src/secret/mod.rs b/confidential-data-hub/hub/src/secret/mod.rs similarity index 87% rename from confidential-data-hub/secret/src/secret/mod.rs rename to confidential-data-hub/hub/src/secret/mod.rs index f1ad97cb4..e17ef0dbc 100644 --- a/confidential-data-hub/secret/src/secret/mod.rs +++ b/confidential-data-hub/hub/src/secret/mod.rs @@ -3,6 +3,7 @@ // SPDX-License-Identifier: Apache-2.0 // +pub mod error; pub mod layout; use base64::{engine::general_purpose::URL_SAFE_NO_PAD as b64, Engine}; @@ -10,7 +11,7 @@ use serde::{Deserialize, Serialize}; use self::layout::{envelope::EnvelopeSecret, vault::VaultSecret}; -use crate::{Result, SecretError}; +pub use error::{Result, SecretError}; #[derive(Serialize, Deserialize, PartialEq, Debug)] #[serde(tag = "type", rename_all = "lowercase")] @@ -29,6 +30,14 @@ pub struct Secret { pub const VERSION: &str = "0.1.0"; +pub async fn unseal_secret(secret: &[u8]) -> Result> { + let secret_string = String::from_utf8(secret.to_vec()) + .map_err(|_| SecretError::ParseFailed("Secret string must be UTF-8"))?; + + let secret = Secret::from_signed_base64_string(secret_string)?; + secret.unseal().await +} + impl Secret { pub async fn unseal(&self) -> Result> { if self.version != VERSION { @@ -81,15 +90,15 @@ mod tests { use crypto::WrapType; use rstest::rstest; - use crate::{ - secret::layout::{envelope::EnvelopeSecret, vault::VaultSecret}, - Annotations, ProviderSettings, + use crate::secret::layout::{ + envelope::EnvelopeSecret, + vault::{Annotations, ProviderSettings, VaultSecret}, }; use super::{Secret, SecretContent}; #[rstest] - #[case(include_str!("../../tests/envelope-1.json"), Secret { + #[case(include_str!("./tests/envelope-1.json"), Secret { version: "0.1.0".into(), r#type: SecretContent::Envelope(EnvelopeSecret { provider: "aliyun".into(), @@ -102,7 +111,7 @@ mod tests { annotations: Annotations::default(), }), })] - #[case(include_str!("../../tests/vault-1.json"), Secret { + #[case(include_str!("./tests/vault-1.json"), Secret { version: "0.1.0".into(), r#type: SecretContent::Vault(VaultSecret { provider: "aliyun".into(), @@ -111,7 +120,7 @@ mod tests { name: "xxx".into(), }), })] - #[case(include_str!("../../tests/vault-2.json"), Secret { + #[case(include_str!("./tests/vault-2.json"), Secret { version: "0.1.0".into(), r#type: SecretContent::Vault(VaultSecret { provider: "kbs".into(), diff --git a/confidential-data-hub/secret/tests/envelope-1.json b/confidential-data-hub/hub/src/secret/tests/envelope-1.json similarity index 100% rename from confidential-data-hub/secret/tests/envelope-1.json rename to confidential-data-hub/hub/src/secret/tests/envelope-1.json diff --git a/confidential-data-hub/secret/tests/envelope_secret_aliyun_config_sample/PrivateKmsCA_kst-bjj6____.pem b/confidential-data-hub/hub/src/secret/tests/envelope_secret_aliyun_config_sample/PrivateKmsCA_kst-bjj6____.pem similarity index 100% rename from confidential-data-hub/secret/tests/envelope_secret_aliyun_config_sample/PrivateKmsCA_kst-bjj6____.pem rename to confidential-data-hub/hub/src/secret/tests/envelope_secret_aliyun_config_sample/PrivateKmsCA_kst-bjj6____.pem diff --git a/confidential-data-hub/secret/tests/envelope_secret_aliyun_config_sample/clientKey_KAAP.2bc4____.json b/confidential-data-hub/hub/src/secret/tests/envelope_secret_aliyun_config_sample/clientKey_KAAP.2bc4____.json similarity index 100% rename from confidential-data-hub/secret/tests/envelope_secret_aliyun_config_sample/clientKey_KAAP.2bc4____.json rename to confidential-data-hub/hub/src/secret/tests/envelope_secret_aliyun_config_sample/clientKey_KAAP.2bc4____.json diff --git a/confidential-data-hub/secret/tests/envelope_secret_aliyun_config_sample/password_KAAP.2bc4____.json b/confidential-data-hub/hub/src/secret/tests/envelope_secret_aliyun_config_sample/password_KAAP.2bc4____.json similarity index 100% rename from confidential-data-hub/secret/tests/envelope_secret_aliyun_config_sample/password_KAAP.2bc4____.json rename to confidential-data-hub/hub/src/secret/tests/envelope_secret_aliyun_config_sample/password_KAAP.2bc4____.json diff --git a/confidential-data-hub/secret/tests/envelope_secret_ehsm_config_sample/credential_16f3____.json b/confidential-data-hub/hub/src/secret/tests/envelope_secret_ehsm_config_sample/credential_16f3____.json similarity index 100% rename from confidential-data-hub/secret/tests/envelope_secret_ehsm_config_sample/credential_16f3____.json rename to confidential-data-hub/hub/src/secret/tests/envelope_secret_ehsm_config_sample/credential_16f3____.json diff --git a/confidential-data-hub/secret/tests/test_hsm_secrets.rs b/confidential-data-hub/hub/src/secret/tests/test_hsm_secrets.rs similarity index 100% rename from confidential-data-hub/secret/tests/test_hsm_secrets.rs rename to confidential-data-hub/hub/src/secret/tests/test_hsm_secrets.rs diff --git a/confidential-data-hub/secret/tests/vault-1.json b/confidential-data-hub/hub/src/secret/tests/vault-1.json similarity index 100% rename from confidential-data-hub/secret/tests/vault-1.json rename to confidential-data-hub/hub/src/secret/tests/vault-1.json diff --git a/confidential-data-hub/hub/src/secret/tests/vault-12json b/confidential-data-hub/hub/src/secret/tests/vault-12json new file mode 100644 index 000000000..e69de29bb diff --git a/confidential-data-hub/secret/tests/vault-2.json b/confidential-data-hub/hub/src/secret/tests/vault-2.json similarity index 100% rename from confidential-data-hub/secret/tests/vault-2.json rename to confidential-data-hub/hub/src/secret/tests/vault-2.json diff --git a/confidential-data-hub/storage/src/error.rs b/confidential-data-hub/hub/src/storage/error.rs similarity index 96% rename from confidential-data-hub/storage/src/error.rs rename to confidential-data-hub/hub/src/storage/error.rs index 6693b4375..ef57cc3f1 100644 --- a/confidential-data-hub/storage/src/error.rs +++ b/confidential-data-hub/hub/src/storage/error.rs @@ -5,7 +5,7 @@ use thiserror::Error; -use crate::volume_type; +use super::volume_type; pub type Result = std::result::Result; diff --git a/confidential-data-hub/storage/src/lib.rs b/confidential-data-hub/hub/src/storage/mod.rs similarity index 99% rename from confidential-data-hub/storage/src/lib.rs rename to confidential-data-hub/hub/src/storage/mod.rs index 391985321..964deed03 100644 --- a/confidential-data-hub/storage/src/lib.rs +++ b/confidential-data-hub/hub/src/storage/mod.rs @@ -4,6 +4,5 @@ // pub mod error; -pub mod volume_type; - pub use error::*; +pub mod volume_type; diff --git a/confidential-data-hub/storage/scripts/luks-encrypt-storage b/confidential-data-hub/hub/src/storage/scripts/luks-encrypt-storage similarity index 100% rename from confidential-data-hub/storage/scripts/luks-encrypt-storage rename to confidential-data-hub/hub/src/storage/scripts/luks-encrypt-storage diff --git a/confidential-data-hub/storage/src/volume_type/aliyun/error.rs b/confidential-data-hub/hub/src/storage/volume_type/aliyun/error.rs similarity index 100% rename from confidential-data-hub/storage/src/volume_type/aliyun/error.rs rename to confidential-data-hub/hub/src/storage/volume_type/aliyun/error.rs diff --git a/confidential-data-hub/storage/src/volume_type/aliyun/mod.rs b/confidential-data-hub/hub/src/storage/volume_type/aliyun/mod.rs similarity index 99% rename from confidential-data-hub/storage/src/volume_type/aliyun/mod.rs rename to confidential-data-hub/hub/src/storage/volume_type/aliyun/mod.rs index e4b44547b..fd04229fb 100644 --- a/confidential-data-hub/storage/src/volume_type/aliyun/mod.rs +++ b/confidential-data-hub/hub/src/storage/volume_type/aliyun/mod.rs @@ -19,6 +19,7 @@ use tokio::{ process::Command, }; +use crate::secret; use error::{AliyunError, Result}; use super::SecureMount; diff --git a/confidential-data-hub/storage/src/volume_type/blockdevice/error.rs b/confidential-data-hub/hub/src/storage/volume_type/blockdevice/error.rs similarity index 100% rename from confidential-data-hub/storage/src/volume_type/blockdevice/error.rs rename to confidential-data-hub/hub/src/storage/volume_type/blockdevice/error.rs diff --git a/confidential-data-hub/storage/src/volume_type/blockdevice/luks/mod.rs b/confidential-data-hub/hub/src/storage/volume_type/blockdevice/luks/mod.rs similarity index 100% rename from confidential-data-hub/storage/src/volume_type/blockdevice/luks/mod.rs rename to confidential-data-hub/hub/src/storage/volume_type/blockdevice/luks/mod.rs diff --git a/confidential-data-hub/storage/src/volume_type/blockdevice/mod.rs b/confidential-data-hub/hub/src/storage/volume_type/blockdevice/mod.rs similarity index 99% rename from confidential-data-hub/storage/src/volume_type/blockdevice/mod.rs rename to confidential-data-hub/hub/src/storage/volume_type/blockdevice/mod.rs index c8f14ccb0..27e76fd44 100644 --- a/confidential-data-hub/storage/src/volume_type/blockdevice/mod.rs +++ b/confidential-data-hub/hub/src/storage/volume_type/blockdevice/mod.rs @@ -6,6 +6,7 @@ pub mod error; pub mod luks; use super::SecureMount; +use crate::secret; use async_trait::async_trait; use error::{BlockDeviceError, Result}; use kms::{Annotations, ProviderSettings}; diff --git a/confidential-data-hub/storage/src/volume_type/mod.rs b/confidential-data-hub/hub/src/storage/volume_type/mod.rs similarity index 98% rename from confidential-data-hub/storage/src/volume_type/mod.rs rename to confidential-data-hub/hub/src/storage/volume_type/mod.rs index 76f27dc28..dc1e7a241 100644 --- a/confidential-data-hub/storage/src/volume_type/mod.rs +++ b/confidential-data-hub/hub/src/storage/volume_type/mod.rs @@ -8,7 +8,7 @@ pub mod aliyun; pub mod blockdevice; use std::{collections::HashMap, str::FromStr}; -use crate::Result; +use super::error::Result; use async_trait::async_trait; diff --git a/confidential-data-hub/secret/Cargo.toml b/confidential-data-hub/secret/Cargo.toml deleted file mode 100644 index a0db9ad3a..000000000 --- a/confidential-data-hub/secret/Cargo.toml +++ /dev/null @@ -1,41 +0,0 @@ -[package] -name = "secret" -version = "0.1.0" -authors = ["The Confidential Container Authors"] -edition = "2021" - -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html - -[[bin]] -name = "secret_cli" -required-features = [ "cli" ] - -[dependencies] -anyhow.workspace = true -async-trait.workspace = true -base64.workspace = true -clap = { workspace = true, optional = true } -crypto.path = "../../attestation-agent/deps/crypto" -kms = { path = "../kms", default-features = false } -rand = { workspace = true, optional = true } -serde = "1" -serde_json = "1" -strum = { workspace = true, features = ["derive"] } -thiserror.workspace = true -tokio = { workspace = true, features = ["io-util"], optional = true } -zeroize.workspace = true - -[dev-dependencies] -assert_cmd = "2.0" -assert-json-diff.workspace = true -rstest.workspace = true -tempfile.workspace = true - -[features] -default = [ "cli" ] -cli = ["clap/derive", "rand", "tokio/rt-multi-thread", "tokio/sync", "tokio/macros"] - -aliyun = ["kms/aliyun"] -kbs = ["kms/kbs"] -sev = ["kms/sev"] -ehsm = ["kms/ehsm"] diff --git a/confidential-data-hub/secret/src/lib.rs b/confidential-data-hub/secret/src/lib.rs deleted file mode 100644 index 65896afec..000000000 --- a/confidential-data-hub/secret/src/lib.rs +++ /dev/null @@ -1,22 +0,0 @@ -// Copyright (c) 2023 Alibaba Cloud -// -// SPDX-License-Identifier: Apache-2.0 -// - -pub mod error; -pub mod secret; - -use crate::secret::Secret; - -pub use error::*; -pub use kms::{Annotations, ProviderSettings}; - -/// The input sealed secret is in the following format -/// `sealed`.`JWS header`.`JWS body (secret content)`.`signature` -pub async fn unseal_secret(secret: &[u8]) -> Result> { - let secret_string = String::from_utf8(secret.to_vec()) - .map_err(|_| SecretError::ParseFailed("Secret string must be UTF-8"))?; - - let secret = Secret::from_signed_base64_string(secret_string)?; - secret.unseal().await -} diff --git a/confidential-data-hub/storage/Cargo.toml b/confidential-data-hub/storage/Cargo.toml deleted file mode 100644 index 1289f7aef..000000000 --- a/confidential-data-hub/storage/Cargo.toml +++ /dev/null @@ -1,32 +0,0 @@ -[package] -name = "storage" -version = "0.1.0" -edition = "2021" - -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html - -[dependencies] -anyhow.workspace = true -async-trait.workspace = true -base64.workspace = true -log.workspace = true -kms = { path = "../kms", features = ["kbs"] } -rand = { workspace = true, optional = true } -secret = { path = "../secret" } -serde.workspace = true -serde_json.workspace = true -strum = { workspace = true, features = ["derive"] } -tempfile = { workspace = true, optional = true } -thiserror.workspace = true -tokio = { workspace = true, optional = true } - -[dev-dependencies] -rstest.workspace = true -tokio = { workspace = true, features = ["rt", "macros" ] } - -[build-dependencies] -anyhow.workspace = true - -[features] -default = ["aliyun"] -aliyun = [ "rand", "tempfile", "tokio/fs", "tokio/process", "tokio/io-util", "tokio/time" ] diff --git a/image-rs/src/resource/kbs/ttrpc_proto/getresource.rs b/image-rs/src/resource/kbs/ttrpc_proto/getresource.rs index d6ea19b9b..2367f0112 100644 --- a/image-rs/src/resource/kbs/ttrpc_proto/getresource.rs +++ b/image-rs/src/resource/kbs/ttrpc_proto/getresource.rs @@ -1,4 +1,4 @@ -// This file is generated by rust-protobuf 3.5.1. Do not edit +// This file is generated by rust-protobuf 3.7.1. Do not edit // .proto file is parsed by pure // @generated @@ -22,7 +22,7 @@ /// Generated files are compatible only with the same version /// of protobuf runtime. -const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_3_5_1; +const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_3_7_1; // @@protoc_insertion_point(message:api.GetResourceRequest) #[derive(PartialEq,Clone,Default,Debug)] diff --git a/ocicrypt-rs/src/utils/ttrpc/keyprovider.rs b/ocicrypt-rs/src/utils/ttrpc/keyprovider.rs index 2de64c499..573d5747d 100644 --- a/ocicrypt-rs/src/utils/ttrpc/keyprovider.rs +++ b/ocicrypt-rs/src/utils/ttrpc/keyprovider.rs @@ -1,4 +1,4 @@ -// This file is generated by rust-protobuf 3.5.1. Do not edit +// This file is generated by rust-protobuf 3.7.1. Do not edit // .proto file is parsed by pure // @generated @@ -22,7 +22,7 @@ /// Generated files are compatible only with the same version /// of protobuf runtime. -const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_3_5_1; +const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_3_7_1; // @@protoc_insertion_point(message:keyprovider.KeyProviderKeyWrapProtocolInput) #[derive(PartialEq,Clone,Default,Debug)]