diff --git a/geneit_app/package-lock.json b/geneit_app/package-lock.json
index e179448..f726b02 100644
--- a/geneit_app/package-lock.json
+++ b/geneit_app/package-lock.json
@@ -1510,12 +1510,12 @@
}
},
"node_modules/@mui/x-tree-view": {
- "version": "7.6.2",
- "resolved": "https://registry.npmjs.org/@mui/x-tree-view/-/x-tree-view-7.6.2.tgz",
- "integrity": "sha512-0LBoKUQvMzNzJN7UmGqGV4A3NpRxB8liPrjQMfkbI6LrXBbDlqyEdJWRseK1RzxYxTfH71HqW9Z3E2wS62P1Sg==",
+ "version": "7.7.0",
+ "resolved": "https://registry.npmjs.org/@mui/x-tree-view/-/x-tree-view-7.7.0.tgz",
+ "integrity": "sha512-kUTMS77EcNjp1iXZlm4GGFzZHnQdZJfn2L9gvxAaHtNTDSRMS61jpsCcXknIyC797dmRPdALPewNzSOfkThF+Q==",
"license": "MIT",
"dependencies": {
- "@babel/runtime": "^7.24.6",
+ "@babel/runtime": "^7.24.7",
"@mui/base": "^5.0.0-beta.40",
"@mui/system": "^5.15.15",
"@mui/utils": "^5.15.14",
diff --git a/geneit_backend/Cargo.lock b/geneit_backend/Cargo.lock
index da5a877..b0851f1 100644
--- a/geneit_backend/Cargo.lock
+++ b/geneit_backend/Cargo.lock
@@ -44,7 +44,7 @@ dependencies = [
"actix-rt",
"actix-service",
"actix-utils",
- "ahash 0.8.11",
+ "ahash",
"base64 0.22.1",
"bitflags 2.5.0",
"brotli",
@@ -211,7 +211,7 @@ dependencies = [
"actix-service",
"actix-utils",
"actix-web-codegen",
- "ahash 0.8.11",
+ "ahash",
"bytes",
"bytestring",
"cfg-if",
@@ -275,17 +275,6 @@ dependencies = [
"cpufeatures",
]
-[[package]]
-name = "ahash"
-version = "0.7.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "891477e0c6a8957309ee5c45a6368af3ae14bb510732d2684ffa19af310920f9"
-dependencies = [
- "getrandom",
- "once_cell",
- "version_check",
-]
-
[[package]]
name = "ahash"
version = "0.8.11"
@@ -450,9 +439,9 @@ dependencies = [
[[package]]
name = "attohttpc"
-version = "0.22.0"
+version = "0.26.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1fcf00bc6d5abb29b5f97e3c61a90b6d3caa12f3faf897d4a3e3607c050a35a7"
+checksum = "0f77d243921b0979fbbd728dd2d5162e68ac8252976797c24eb5b3a6af9090dc"
dependencies = [
"http 0.2.12",
"log",
@@ -493,12 +482,12 @@ dependencies = [
[[package]]
name = "aws-creds"
-version = "0.34.1"
+version = "0.36.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3776743bb68d4ad02ba30ba8f64373f1be4e082fe47651767171ce75bb2f6cf5"
+checksum = "390ad3b77f3e21e01a4a0355865853b681daf1988510b0b15e31c0c4ae7eb0f6"
dependencies = [
"attohttpc",
- "dirs",
+ "home",
"log",
"quick-xml",
"rust-ini",
@@ -532,12 +521,6 @@ dependencies = [
"rustc-demangle",
]
-[[package]]
-name = "base64"
-version = "0.13.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8"
-
[[package]]
name = "base64"
version = "0.21.7"
@@ -817,6 +800,26 @@ dependencies = [
"memchr",
]
+[[package]]
+name = "const-random"
+version = "0.1.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "87e00182fe74b066627d63b85fd550ac2998d4b0bd86bfed477a0ae4c7c71359"
+dependencies = [
+ "const-random-macro",
+]
+
+[[package]]
+name = "const-random-macro"
+version = "0.1.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f9d839f2a20b0aee515dc581a6172f2321f96cab76c1a38a4c584a194955390e"
+dependencies = [
+ "getrandom",
+ "once_cell",
+ "tiny-keccak",
+]
+
[[package]]
name = "constant_time_eq"
version = "0.3.0"
@@ -1083,15 +1086,6 @@ dependencies = [
"subtle",
]
-[[package]]
-name = "dirs"
-version = "4.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca3aa72a6f96ea37bbc5aa912f6788242832f75369bdfdadcb0e38423f100059"
-dependencies = [
- "dirs-sys",
-]
-
[[package]]
name = "dirs-next"
version = "2.0.0"
@@ -1102,17 +1096,6 @@ dependencies = [
"dirs-sys-next",
]
-[[package]]
-name = "dirs-sys"
-version = "0.3.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b1d1d91c932ef41c0f2663aa8b0ca0342d444d842c06914aa0a7e352d0bada6"
-dependencies = [
- "libc",
- "redox_users",
- "winapi",
-]
-
[[package]]
name = "dirs-sys-next"
version = "0.1.2"
@@ -1137,9 +1120,12 @@ dependencies = [
[[package]]
name = "dlv-list"
-version = "0.3.0"
+version = "0.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0688c2a7f92e427f44895cd63841bff7b29f8d7a1648b9e7e07a4a365b2e1257"
+checksum = "442039f5147480ba31067cb00ada1adae6892028e40e45fc5de7b7df6dcc1b5f"
+dependencies = [
+ "const-random",
+]
[[package]]
name = "dsl_auto_type"
@@ -1539,9 +1525,12 @@ name = "hashbrown"
version = "0.12.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
-dependencies = [
- "ahash 0.7.8",
-]
+
+[[package]]
+name = "hashbrown"
+version = "0.13.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e"
[[package]]
name = "hashbrown"
@@ -1549,7 +1538,7 @@ version = "0.14.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1"
dependencies = [
- "ahash 0.8.11",
+ "ahash",
"allocator-api2",
]
@@ -1580,6 +1569,15 @@ dependencies = [
"digest",
]
+[[package]]
+name = "home"
+version = "0.5.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5"
+dependencies = [
+ "windows-sys 0.52.0",
+]
+
[[package]]
name = "hostname"
version = "0.4.0"
@@ -1675,7 +1673,6 @@ dependencies = [
"futures-channel",
"futures-core",
"futures-util",
- "h2 0.3.26",
"http 0.2.12",
"http-body 0.4.6",
"httparse",
@@ -2027,7 +2024,7 @@ checksum = "740b0dd2309a8d6f7ef6612ce58692407b87e1cd33728b8d1dfec639faa27066"
dependencies = [
"base64 0.22.1",
"log",
- "reqwest 0.12.4",
+ "reqwest",
"serde",
"serde_json",
"urlencoding",
@@ -2371,12 +2368,12 @@ dependencies = [
[[package]]
name = "ordered-multimap"
-version = "0.4.3"
+version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ccd746e37177e1711c20dd619a1620f34f5c8b569c53590a72dedd5344d8924a"
+checksum = "4ed8acf08e98e744e5384c8bc63ceb0364e68a6854187221c18df61c4797690e"
dependencies = [
"dlv-list",
- "hashbrown 0.12.3",
+ "hashbrown 0.13.2",
]
[[package]]
@@ -2612,9 +2609,9 @@ checksum = "a993555f31e5a609f617c12db6250dedcac1b0a85076912c436e6fc9b2c8e6a3"
[[package]]
name = "quick-xml"
-version = "0.26.0"
+version = "0.30.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f50b1c63b38611e7d4d7f68b82d3ad0cc71a2ad2e7f61fc10f1328d917c93cd"
+checksum = "eff6510e86862b57b210fd8cbe8ed3f0d7d600b9c2863cd4549a2e033c66e956"
dependencies = [
"memchr",
"serde",
@@ -2805,48 +2802,6 @@ version = "0.8.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "adad44e29e4c806119491a7f06f03de4d1af22c3a680dd47f1e6e179439d1f56"
-[[package]]
-name = "reqwest"
-version = "0.11.27"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd67538700a17451e7cba03ac727fb961abb7607553461627b97de0b89cf4a62"
-dependencies = [
- "base64 0.21.7",
- "bytes",
- "encoding_rs",
- "futures-core",
- "futures-util",
- "h2 0.3.26",
- "http 0.2.12",
- "http-body 0.4.6",
- "hyper 0.14.28",
- "hyper-tls 0.5.0",
- "ipnet",
- "js-sys",
- "log",
- "mime",
- "native-tls",
- "once_cell",
- "percent-encoding",
- "pin-project-lite",
- "rustls-pemfile 1.0.4",
- "serde",
- "serde_json",
- "serde_urlencoded",
- "sync_wrapper",
- "system-configuration",
- "tokio",
- "tokio-native-tls",
- "tokio-util",
- "tower-service",
- "url",
- "wasm-bindgen",
- "wasm-bindgen-futures",
- "wasm-streams",
- "web-sys",
- "winreg 0.50.0",
-]
-
[[package]]
name = "reqwest"
version = "0.12.4"
@@ -2873,7 +2828,7 @@ dependencies = [
"once_cell",
"percent-encoding",
"pin-project-lite",
- "rustls-pemfile 2.1.2",
+ "rustls-pemfile",
"serde",
"serde_json",
"serde_urlencoded",
@@ -2886,7 +2841,7 @@ dependencies = [
"wasm-bindgen",
"wasm-bindgen-futures",
"web-sys",
- "winreg 0.52.0",
+ "winreg",
]
[[package]]
@@ -2900,9 +2855,9 @@ dependencies = [
[[package]]
name = "rust-ini"
-version = "0.18.0"
+version = "0.19.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f6d5f2436026b4f6e79dc829837d467cc7e9a55ee40e750d716713540715a2df"
+checksum = "7e2a3bcec1f113553ef1c88aae6c020a369d03d55b58de9869a0908930385091"
dependencies = [
"cfg-if",
"ordered-multimap",
@@ -2910,33 +2865,37 @@ dependencies = [
[[package]]
name = "rust-s3"
-version = "0.33.0"
+version = "0.34.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b2ac5ff6acfbe74226fa701b5ef793aaa054055c13ebb7060ad36942956e027"
+checksum = "c6679da8efaf4c6f0c161de0961dfe95fb6e9049c398d6fbdada2639f053aedb"
dependencies = [
"async-trait",
"aws-creds",
"aws-region",
- "base64 0.13.1",
+ "base64 0.21.7",
"bytes",
"cfg-if",
"futures",
"hex",
"hmac",
"http 0.2.12",
+ "hyper 0.14.28",
+ "hyper-tls 0.5.0",
"log",
"maybe-async",
"md5",
"minidom",
+ "native-tls",
"percent-encoding",
"quick-xml",
- "reqwest 0.11.27",
"serde",
"serde_derive",
+ "serde_json",
"sha2",
"thiserror",
"time",
"tokio",
+ "tokio-native-tls",
"tokio-stream",
"url",
]
@@ -2981,15 +2940,6 @@ dependencies = [
"windows-sys 0.52.0",
]
-[[package]]
-name = "rustls-pemfile"
-version = "1.0.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c"
-dependencies = [
- "base64 0.21.7",
-]
-
[[package]]
name = "rustls-pemfile"
version = "2.1.2"
@@ -3463,6 +3413,15 @@ dependencies = [
"time-core",
]
+[[package]]
+name = "tiny-keccak"
+version = "2.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237"
+dependencies = [
+ "crunchy",
+]
+
[[package]]
name = "tinyvec"
version = "1.6.0"
@@ -3801,19 +3760,6 @@ version = "0.2.92"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96"
-[[package]]
-name = "wasm-streams"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b65dc4c90b63b118468cf747d8bf3566c1913ef60be765b5730ead9e0a3ba129"
-dependencies = [
- "futures-util",
- "js-sys",
- "wasm-bindgen",
- "wasm-bindgen-futures",
- "web-sys",
-]
-
[[package]]
name = "web-sys"
version = "0.3.69"
@@ -4019,16 +3965,6 @@ dependencies = [
"memchr",
]
-[[package]]
-name = "winreg"
-version = "0.50.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1"
-dependencies = [
- "cfg-if",
- "windows-sys 0.48.0",
-]
-
[[package]]
name = "winreg"
version = "0.52.0"
diff --git a/geneit_backend/Cargo.toml b/geneit_backend/Cargo.toml
index 7a4fc50..13b4c0f 100644
--- a/geneit_backend/Cargo.toml
+++ b/geneit_backend/Cargo.toml
@@ -29,7 +29,7 @@ light-openid = "1.0.2"
thiserror = "1.0.60"
serde_with = "3.8.1"
rust_iso3166 = "0.1.12"
-rust-s3 = "0.33.0"
+rust-s3 = "0.34.0"
sha2 = "0.10.8"
image = "0.25.1"
uuid = { version = "1.8.0", features = ["v4"] }
diff --git a/geneit_backend/src/connections/s3_connection.rs b/geneit_backend/src/connections/s3_connection.rs
index 057b0c1..6ee516d 100644
--- a/geneit_backend/src/connections/s3_connection.rs
+++ b/geneit_backend/src/connections/s3_connection.rs
@@ -22,11 +22,11 @@ pub async fn create_bucket_if_required() -> anyhow::Result<()> {
log::debug!("The bucket already exists.");
return Ok(());
}
- Err(S3Error::Http(404, s)) if s.contains("NoSuchKey
") => {
+ Err(S3Error::HttpFailWithBody(404, s)) if s.contains("NoSuchKey
") => {
log::warn!("Failed to fetch bucket location, but it seems that bucket exists.");
return Ok(());
}
- Err(S3Error::Http(404, s)) if s.contains("NoSuchBucket
") => {
+ Err(S3Error::HttpFailWithBody(404, s)) if s.contains("NoSuchBucket
") => {
log::warn!("The bucket does not seem to exists, trying to create it!")
}
Err(e) => {