From 9a6b2cbf1dfc4de758f837426d3418e430bf5cfe Mon Sep 17 00:00:00 2001 From: Zhaofeng Li Date: Sat, 1 Jun 2024 13:47:27 -0600 Subject: [PATCH] server: Upgrade aws-sdk-rust --- Cargo.lock | 147 +++++++++++++++++++++------------------ server/Cargo.toml | 4 +- server/src/storage/s3.rs | 3 +- 3 files changed, 84 insertions(+), 70 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index d1f6dba..57e6447 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -360,12 +360,11 @@ checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" [[package]] name = "aws-config" -version = "0.57.2" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2bf00cb9416daab4ce4927c54ebe63c08b9caf4d7b9314b6d7a4a2c5a1afb09" +checksum = "1234b742ac4a40a7d3459c6e3c99818271976a5a6ae3732cb415f4a9a94da7b6" dependencies = [ "aws-credential-types", - "aws-http", "aws-runtime", "aws-sdk-sso", "aws-sdk-ssooidc", @@ -386,14 +385,15 @@ dependencies = [ "time", "tokio", "tracing", + "url", "zeroize", ] [[package]] name = "aws-credential-types" -version = "0.57.2" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb9073c88dbf12f68ce7d0e149f989627a1d1ae3d2b680459f04ccc29d1cbd0f" +checksum = "e16838e6c9e12125face1c1eff1343c75e3ff540de98ff7ebd61874a89bcfeb9" dependencies = [ "aws-smithy-async", "aws-smithy-runtime-api", @@ -401,31 +401,13 @@ dependencies = [ "zeroize", ] -[[package]] -name = "aws-http" -version = "0.57.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24067106d09620cf02d088166cdaedeaca7146d4d499c41b37accecbea11b246" -dependencies = [ - "aws-smithy-http", - "aws-smithy-runtime-api", - "aws-smithy-types", - "aws-types", - "bytes", - "http 0.2.12", - "http-body 0.4.6", - "pin-project-lite", - "tracing", -] - [[package]] name = "aws-runtime" -version = "0.57.2" +version = "1.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc6ee0152c06d073602236a4e94a8c52a327d310c1ecd596570ce795af8777ff" +checksum = "75588e7ee5e8496eed939adac2035a6dbab9f7eb2acdd9ab2d31856dab6f3955" dependencies = [ "aws-credential-types", - "aws-http", "aws-sigv4", "aws-smithy-async", "aws-smithy-eventstream", @@ -433,21 +415,24 @@ dependencies = [ "aws-smithy-runtime-api", "aws-smithy-types", "aws-types", + "bytes", "fastrand", "http 0.2.12", + "http-body 0.4.6", "percent-encoding", + "pin-project-lite", "tracing", "uuid", ] [[package]] name = "aws-sdk-s3" -version = "0.35.0" +version = "1.32.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84022763485483ea17d417f9832d5da198bc36829b59f086c0d35ecd2ce59991" +checksum = "2924dd7efd0112a5a88ec7d1c2dbf371966f018e90f3f45db7c8027ef895662a" dependencies = [ + "ahash 0.8.11", "aws-credential-types", - "aws-http", "aws-runtime", "aws-sigv4", "aws-smithy-async", @@ -461,23 +446,27 @@ dependencies = [ "aws-smithy-xml", "aws-types", "bytes", + "fastrand", + "hex", + "hmac", "http 0.2.12", "http-body 0.4.6", + "lru", "once_cell", "percent-encoding", - "regex", + "regex-lite", + "sha2", "tracing", "url", ] [[package]] name = "aws-sdk-sso" -version = "0.36.0" +version = "1.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2eb8158015232b4596ccef74a205600398e152d704b40b7ec9f486092474d7fa" +checksum = "ee458e39982214c70432e87756227de474318283137c38d84be0aeebc77acced" dependencies = [ "aws-credential-types", - "aws-http", "aws-runtime", "aws-smithy-async", "aws-smithy-http", @@ -488,18 +477,18 @@ dependencies = [ "aws-types", "bytes", "http 0.2.12", - "regex", + "once_cell", + "regex-lite", "tracing", ] [[package]] name = "aws-sdk-ssooidc" -version = "0.36.0" +version = "1.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36a1493e1c57f173e53621935bfb5b6217376168dbdb4cd459aebcf645924a48" +checksum = "d75562f0e82b87f41210c1de110f3fb169e189f962f4b2e94fd7f370d70e063c" dependencies = [ "aws-credential-types", - "aws-http", "aws-runtime", "aws-smithy-async", "aws-smithy-http", @@ -510,18 +499,18 @@ dependencies = [ "aws-types", "bytes", "http 0.2.12", - "regex", + "once_cell", + "regex-lite", "tracing", ] [[package]] name = "aws-sdk-sts" -version = "0.36.0" +version = "1.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e032b77f5cd1dd3669d777a38ac08cbf8ec68e29460d4ef5d3e50cffa74ec75a" +checksum = "a422d2f3080421ed23630ada0e474c76e4279c18b4a379bff2f1062e05cef466" dependencies = [ "aws-credential-types", - "aws-http", "aws-runtime", "aws-smithy-async", "aws-smithy-http", @@ -533,32 +522,35 @@ dependencies = [ "aws-smithy-xml", "aws-types", "http 0.2.12", - "regex", + "once_cell", + "regex-lite", "tracing", ] [[package]] name = "aws-sigv4" -version = "0.57.2" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64f81a6abc4daab06b53cabf27c54189928893283093e37164ca53aa47488a5b" +checksum = "58b56f1cbe6fd4d0c2573df72868f20ab1c125ca9c9dbce17927a463433a2e57" dependencies = [ "aws-credential-types", "aws-smithy-eventstream", "aws-smithy-http", "aws-smithy-runtime-api", + "aws-smithy-types", "bytes", + "crypto-bigint 0.5.5", "form_urlencoded", "hex", "hmac", "http 0.2.12", - "num-bigint", + "http 1.1.0", "once_cell", "p256 0.11.1", "percent-encoding", - "regex", "ring", "sha2", + "subtle", "time", "tracing", "zeroize", @@ -566,9 +558,9 @@ dependencies = [ [[package]] name = "aws-smithy-async" -version = "0.57.2" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dbe53fccd3b10414b9cae63767a15a2789b34e6c6727b6e32b33e8c7998a3e80" +checksum = "62220bc6e97f946ddd51b5f1361f78996e704677afc518a4ff66b7a72ea1378c" dependencies = [ "futures-util", "pin-project-lite", @@ -577,9 +569,9 @@ dependencies = [ [[package]] name = "aws-smithy-checksums" -version = "0.57.2" +version = "0.60.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fb5701fbfb40600cc0fa547f318552dfd4e632b2099bd75d95fb0faae70675d" +checksum = "6242d6a54d3b4b83458f4abd7057ba93c4419dc71e8217e9acd3a748d656d99e" dependencies = [ "aws-smithy-http", "aws-smithy-types", @@ -598,9 +590,9 @@ dependencies = [ [[package]] name = "aws-smithy-eventstream" -version = "0.57.2" +version = "0.60.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b33fa99f928a5815b94ee07e1377901bcf51aa749034a2c802dc38f9dcfacf5" +checksum = "e6363078f927f612b970edf9d1903ef5cef9a64d1e8423525ebb1f0a1633c858" dependencies = [ "aws-smithy-types", "bytes", @@ -609,9 +601,9 @@ dependencies = [ [[package]] name = "aws-smithy-http" -version = "0.57.2" +version = "0.60.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7972373213d1d6e619c0edc9dda2d6634154e4ed75c5e0b2bf065cd5ec9f0d1" +checksum = "4a7de001a1b9a25601016d8057ea16e31a45fdca3751304c8edf4ad72e706c08" dependencies = [ "aws-smithy-eventstream", "aws-smithy-runtime-api", @@ -630,18 +622,18 @@ dependencies = [ [[package]] name = "aws-smithy-json" -version = "0.57.2" +version = "0.60.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6d64d5af16dd585de9ff6c606423c1aaad47c6baa38de41c2beb32ef21c6645" +checksum = "4683df9469ef09468dad3473d129960119a0d3593617542b7d52086c8486f2d6" dependencies = [ "aws-smithy-types", ] [[package]] name = "aws-smithy-query" -version = "0.57.2" +version = "0.60.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7527bf5335154ba1b285479c50b630e44e93d1b4a759eaceb8d0bf9fbc82caa5" +checksum = "f2fbd61ceb3fe8a1cb7352e42689cec5335833cd9f94103a61e98f9bb61c64bb" dependencies = [ "aws-smithy-types", "urlencoding", @@ -649,9 +641,9 @@ dependencies = [ [[package]] name = "aws-smithy-runtime" -version = "0.57.2" +version = "1.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "839b363adf3b2bdab2742a1f540fec23039ea8bc9ec0f9f61df48470cfe5527b" +checksum = "607e8b53aeb2bc23fb332159d72a69650cd9643c161d76cd3b7f88ac00b5a1bb" dependencies = [ "aws-smithy-async", "aws-smithy-http", @@ -659,8 +651,10 @@ dependencies = [ "aws-smithy-types", "bytes", "fastrand", + "h2", "http 0.2.12", "http-body 0.4.6", + "http-body 1.0.0", "hyper 0.14.28", "hyper-rustls", "once_cell", @@ -673,14 +667,15 @@ dependencies = [ [[package]] name = "aws-smithy-runtime-api" -version = "0.57.2" +version = "1.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f24ecc446e62c3924539e7c18dec8038dba4fdf8718d5c2de62f9d2fecca8ba9" +checksum = "5b7d790d553d163c7d80a4e06e2906bf24b9172c9ebe045fc3a274e9358ab7bb" dependencies = [ "aws-smithy-async", "aws-smithy-types", "bytes", "http 0.2.12", + "http 1.1.0", "pin-project-lite", "tokio", "tracing", @@ -689,16 +684,19 @@ dependencies = [ [[package]] name = "aws-smithy-types" -version = "0.57.2" +version = "1.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "051de910296522a21178a2ea402ea59027eef4b63f1cef04a0be2bb5e25dea03" +checksum = "5b6764ba7e1c5ede1c9f9e4046645534f06c2581402461c559b481a420330a83" dependencies = [ "base64-simd", "bytes", "bytes-utils", "futures-core", "http 0.2.12", + "http 1.1.0", "http-body 0.4.6", + "http-body 1.0.0", + "http-body-util", "itoa", "num-integer", "pin-project-lite", @@ -712,18 +710,18 @@ dependencies = [ [[package]] name = "aws-smithy-xml" -version = "0.57.2" +version = "0.60.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb1e3ac22c652662096c8e37a6f9af80c6f3520cab5610b2fe76c725bce18eac" +checksum = "d123fbc2a4adc3c301652ba8e149bf4bc1d1725affb9784eb20c953ace06bf55" dependencies = [ "xmlparser", ] [[package]] name = "aws-types" -version = "0.57.2" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "048bbf1c24cdf4eb1efcdc243388a93a90ebf63979e25fc1c7b8cbd9cb6beb38" +checksum = "02fa328e19c849b20ef7ada4c9b581dd12351ff35ecc7642d06e69de4f98407c" dependencies = [ "aws-credential-types", "aws-smithy-async", @@ -2514,6 +2512,15 @@ version = "0.4.21" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c" +[[package]] +name = "lru" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3262e75e648fce39813cb56ac41f3c3e3f65217ebf3844d818d1f9398cfb0dc" +dependencies = [ + "hashbrown 0.14.5", +] + [[package]] name = "lzma-sys" version = "0.1.20" @@ -3167,6 +3174,12 @@ dependencies = [ "regex-syntax 0.8.3", ] +[[package]] +name = "regex-lite" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30b661b2f27137bdbc16f00eda72866a92bb28af1753ffbd56744fb6e2e9cd8e" + [[package]] name = "regex-syntax" version = "0.6.29" diff --git a/server/Cargo.toml b/server/Cargo.toml index 606281f..ff14b57 100644 --- a/server/Cargo.toml +++ b/server/Cargo.toml @@ -25,8 +25,8 @@ attic-token = { path = "../token" } anyhow = "1.0.71" async-stream = "0.3.5" async-trait = "0.1.68" -aws-config = "0.57.1" -aws-sdk-s3 = "0.35.0" +aws-config = "1.5.0" +aws-sdk-s3 = "1.32.0" axum = "0.7.5" axum-macros = "0.4.1" base64 = "0.21.2" diff --git a/server/src/storage/s3.rs b/server/src/storage/s3.rs index e9035bb..11e6ac4 100644 --- a/server/src/storage/s3.rs +++ b/server/src/storage/s3.rs @@ -3,6 +3,7 @@ use std::time::Duration; use async_trait::async_trait; +use aws_config::BehaviorVersion; use aws_sdk_s3::{ config::Builder as S3ConfigBuilder, config::{Credentials, Region}, @@ -91,7 +92,7 @@ impl S3Backend { } async fn config_builder(config: &S3StorageConfig) -> ServerResult { - let shared_config = aws_config::load_from_env().await; + let shared_config = aws_config::load_defaults(BehaviorVersion::v2024_03_28()).await; let mut builder = S3ConfigBuilder::from(&shared_config); if let Some(credentials) = &config.credentials {