Page MenuHomePhabricator

D12879.id42796.diff
No OneTemporary

D12879.id42796.diff

diff --git a/Cargo.lock b/Cargo.lock
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -80,7 +80,7 @@
"flate2",
"futures-core",
"h2",
- "http",
+ "http 0.2.12",
"httparse",
"httpdate",
"itoa",
@@ -154,7 +154,7 @@
dependencies = [
"bytestring",
"cfg-if",
- "http",
+ "http 0.2.12",
"regex",
"regex-lite",
"serde",
@@ -394,6 +394,12 @@
"alloc-no-stdlib",
]
+[[package]]
+name = "allocator-api2"
+version = "0.2.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f"
+
[[package]]
name = "amq-protocol"
version = "7.2.0"
@@ -737,81 +743,47 @@
[[package]]
name = "aws-config"
-version = "0.55.3"
+version = "1.5.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bcdcf0d683fe9c23d32cf5b53c9918ea0a500375a9fb20109802552658e576c9"
+checksum = "caf6cfe2881cb1fcbba9ae946fb9a6480d3b7a714ca84c74925014a89ef3387a"
dependencies = [
"aws-credential-types",
- "aws-http",
+ "aws-runtime",
"aws-sdk-sso",
+ "aws-sdk-ssooidc",
"aws-sdk-sts",
"aws-smithy-async",
- "aws-smithy-client",
"aws-smithy-http",
- "aws-smithy-http-tower",
"aws-smithy-json",
+ "aws-smithy-runtime",
+ "aws-smithy-runtime-api",
"aws-smithy-types",
"aws-types",
"bytes",
- "fastrand 1.9.0",
+ "fastrand 2.1.0",
"hex",
- "http",
+ "http 0.2.12",
"hyper",
- "ring 0.16.20",
+ "ring 0.17.8",
"time",
"tokio",
- "tower",
"tracing",
+ "url",
"zeroize",
]
[[package]]
name = "aws-credential-types"
-version = "0.55.3"
+version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1fcdb2f7acbc076ff5ad05e7864bdb191ca70a6fd07668dc3a1a8bcd051de5ae"
+checksum = "e16838e6c9e12125face1c1eff1343c75e3ff540de98ff7ebd61874a89bcfeb9"
dependencies = [
"aws-smithy-async",
+ "aws-smithy-runtime-api",
"aws-smithy-types",
- "fastrand 1.9.0",
- "tokio",
- "tracing",
"zeroize",
]
-[[package]]
-name = "aws-endpoint"
-version = "0.55.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8cce1c41a6cfaa726adee9ebb9a56fcd2bbfd8be49fd8a04c5e20fd968330b04"
-dependencies = [
- "aws-smithy-http",
- "aws-smithy-types",
- "aws-types",
- "http",
- "regex",
- "tracing",
-]
-
-[[package]]
-name = "aws-http"
-version = "0.55.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aadbc44e7a8f3e71c8b374e03ecd972869eb91dd2bc89ed018954a52ba84bc44"
-dependencies = [
- "aws-credential-types",
- "aws-smithy-http",
- "aws-smithy-types",
- "aws-types",
- "bytes",
- "http",
- "http-body",
- "lazy_static",
- "percent-encoding",
- "pin-project-lite",
- "tracing",
-]
-
[[package]]
name = "aws-lc-rs"
version = "1.7.1"
@@ -839,195 +811,223 @@
"paste",
]
+[[package]]
+name = "aws-runtime"
+version = "1.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "87c5f920ffd1e0526ec9e70e50bf444db50b204395a0fa7016bbf9e31ea1698f"
+dependencies = [
+ "aws-credential-types",
+ "aws-sigv4",
+ "aws-smithy-async",
+ "aws-smithy-eventstream",
+ "aws-smithy-http",
+ "aws-smithy-runtime-api",
+ "aws-smithy-types",
+ "aws-types",
+ "bytes",
+ "fastrand 2.1.0",
+ "http 0.2.12",
+ "http-body 0.4.6",
+ "percent-encoding",
+ "pin-project-lite",
+ "tracing",
+ "uuid",
+]
+
[[package]]
name = "aws-sdk-dynamodb"
-version = "0.27.0"
+version = "1.39.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "67fb64867fe098cffee7e34352b01bbfa2beb3aa1b2ff0e0a7bf9ff293557852"
+checksum = "e2fdd26fcd839ffa0df7a589a34f5e1a2d4c4c6d8127fe18100bf8b4d57f5d4c"
dependencies = [
"aws-credential-types",
- "aws-endpoint",
- "aws-http",
- "aws-sig-auth",
+ "aws-runtime",
"aws-smithy-async",
- "aws-smithy-client",
"aws-smithy-http",
- "aws-smithy-http-tower",
"aws-smithy-json",
+ "aws-smithy-runtime",
+ "aws-smithy-runtime-api",
"aws-smithy-types",
"aws-types",
"bytes",
- "fastrand 1.9.0",
- "http",
- "regex",
- "tokio-stream",
- "tower",
+ "fastrand 2.1.0",
+ "http 0.2.12",
+ "once_cell",
+ "regex-lite",
"tracing",
]
[[package]]
name = "aws-sdk-s3"
-version = "0.27.0"
+version = "1.42.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "37c77060408d653d3efa6ea7b66c1389bc35a0342352984c8bf8bcb814a8fc27"
+checksum = "558bbcec8db82a1a8af1610afcb3b10d00652d25ad366a0558eecdff2400a1d1"
dependencies = [
+ "ahash",
"aws-credential-types",
- "aws-endpoint",
- "aws-http",
- "aws-sig-auth",
+ "aws-runtime",
"aws-sigv4",
"aws-smithy-async",
"aws-smithy-checksums",
- "aws-smithy-client",
"aws-smithy-eventstream",
"aws-smithy-http",
- "aws-smithy-http-tower",
"aws-smithy-json",
+ "aws-smithy-runtime",
+ "aws-smithy-runtime-api",
"aws-smithy-types",
"aws-smithy-xml",
"aws-types",
"bytes",
- "http",
- "http-body",
+ "fastrand 2.1.0",
+ "hex",
+ "hmac",
+ "http 0.2.12",
+ "http-body 0.4.6",
+ "lru",
"once_cell",
"percent-encoding",
- "regex",
- "tokio-stream",
- "tower",
+ "regex-lite",
+ "sha2 0.10.8",
"tracing",
"url",
]
[[package]]
name = "aws-sdk-secretsmanager"
-version = "0.27.0"
+version = "1.40.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "502ccd2a5469223f03116ed1ef8d310bfe3caa0e8398b968439cd8e76e4ae91c"
+checksum = "66a0cc1d41792d2d383746c154f48521715c50f5d59e9cdf36ef763de3c2345f"
dependencies = [
"aws-credential-types",
- "aws-endpoint",
- "aws-http",
- "aws-sig-auth",
+ "aws-runtime",
"aws-smithy-async",
- "aws-smithy-client",
"aws-smithy-http",
- "aws-smithy-http-tower",
"aws-smithy-json",
+ "aws-smithy-runtime",
+ "aws-smithy-runtime-api",
"aws-smithy-types",
"aws-types",
"bytes",
- "fastrand 1.9.0",
- "http",
- "regex",
- "tokio-stream",
- "tower",
+ "fastrand 2.1.0",
+ "http 0.2.12",
+ "once_cell",
+ "regex-lite",
"tracing",
]
[[package]]
name = "aws-sdk-sso"
-version = "0.28.0"
+version = "1.36.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c8b812340d86d4a766b2ca73f740dfd47a97c2dff0c06c8517a16d88241957e4"
+checksum = "6acca681c53374bf1d9af0e317a41d12a44902ca0f2d1e10e5cb5bb98ed74f35"
dependencies = [
"aws-credential-types",
- "aws-endpoint",
- "aws-http",
- "aws-sig-auth",
+ "aws-runtime",
"aws-smithy-async",
- "aws-smithy-client",
"aws-smithy-http",
- "aws-smithy-http-tower",
"aws-smithy-json",
+ "aws-smithy-runtime",
+ "aws-smithy-runtime-api",
"aws-smithy-types",
"aws-types",
"bytes",
- "http",
- "regex",
- "tokio-stream",
- "tower",
+ "http 0.2.12",
+ "once_cell",
+ "regex-lite",
"tracing",
]
[[package]]
-name = "aws-sdk-sts"
-version = "0.28.0"
+name = "aws-sdk-ssooidc"
+version = "1.37.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "265fac131fbfc188e5c3d96652ea90ecc676a934e3174eaaee523c6cec040b3b"
+checksum = "b79c6bdfe612503a526059c05c9ccccbf6bd9530b003673cb863e547fd7c0c9a"
dependencies = [
"aws-credential-types",
- "aws-endpoint",
- "aws-http",
- "aws-sig-auth",
+ "aws-runtime",
"aws-smithy-async",
- "aws-smithy-client",
"aws-smithy-http",
- "aws-smithy-http-tower",
"aws-smithy-json",
- "aws-smithy-query",
+ "aws-smithy-runtime",
+ "aws-smithy-runtime-api",
"aws-smithy-types",
- "aws-smithy-xml",
"aws-types",
"bytes",
- "http",
- "regex",
- "tower",
+ "http 0.2.12",
+ "once_cell",
+ "regex-lite",
"tracing",
]
[[package]]
-name = "aws-sig-auth"
-version = "0.55.3"
+name = "aws-sdk-sts"
+version = "1.36.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3b94acb10af0c879ecd5c7bdf51cda6679a0a4f4643ce630905a77673bfa3c61"
+checksum = "32e6ecdb2bd756f3b2383e6f0588dc10a4e65f5d551e70a56e0bfe0c884673ce"
dependencies = [
"aws-credential-types",
- "aws-sigv4",
- "aws-smithy-eventstream",
+ "aws-runtime",
+ "aws-smithy-async",
"aws-smithy-http",
+ "aws-smithy-json",
+ "aws-smithy-query",
+ "aws-smithy-runtime",
+ "aws-smithy-runtime-api",
+ "aws-smithy-types",
+ "aws-smithy-xml",
"aws-types",
- "http",
+ "http 0.2.12",
+ "once_cell",
+ "regex-lite",
"tracing",
]
[[package]]
name = "aws-sigv4"
-version = "0.55.3"
+version = "1.2.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9d2ce6f507be68e968a33485ced670111d1cbad161ddbbab1e313c03d37d8f4c"
+checksum = "5df1b0fa6be58efe9d4ccc257df0a53b89cd8909e86591a13ca54817c87517be"
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 0.12.1",
- "http",
+ "hmac",
+ "http 0.2.12",
+ "http 1.1.0",
"once_cell",
+ "p256",
"percent-encoding",
- "regex",
+ "ring 0.17.8",
"sha2 0.10.8",
+ "subtle",
"time",
"tracing",
+ "zeroize",
]
[[package]]
name = "aws-smithy-async"
-version = "0.55.3"
+version = "1.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "13bda3996044c202d75b91afeb11a9afae9db9a721c6a7a427410018e286b880"
+checksum = "62220bc6e97f946ddd51b5f1361f78996e704677afc518a4ff66b7a72ea1378c"
dependencies = [
"futures-util",
"pin-project-lite",
"tokio",
- "tokio-stream",
]
[[package]]
name = "aws-smithy-checksums"
-version = "0.55.3"
+version = "0.60.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "07ed8b96d95402f3f6b8b57eb4e0e45ee365f78b1a924faf20ff6e97abf1eae6"
+checksum = "48c4134cf3adaeacff34d588dbe814200357b0c466d730cf1c0d8054384a2de4"
dependencies = [
"aws-smithy-http",
"aws-smithy-types",
@@ -1035,8 +1035,8 @@
"crc32c",
"crc32fast",
"hex",
- "http",
- "http-body",
+ "http 0.2.12",
+ "http-body 0.4.6",
"md-5",
"pin-project-lite",
"sha1",
@@ -1044,35 +1044,11 @@
"tracing",
]
-[[package]]
-name = "aws-smithy-client"
-version = "0.55.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0a86aa6e21e86c4252ad6a0e3e74da9617295d8d6e374d552be7d3059c41cedd"
-dependencies = [
- "aws-smithy-async",
- "aws-smithy-http",
- "aws-smithy-http-tower",
- "aws-smithy-types",
- "bytes",
- "fastrand 1.9.0",
- "http",
- "http-body",
- "hyper",
- "hyper-rustls 0.23.2",
- "lazy_static",
- "pin-project-lite",
- "rustls 0.20.9",
- "tokio",
- "tower",
- "tracing",
-]
-
[[package]]
name = "aws-smithy-eventstream"
-version = "0.55.3"
+version = "0.60.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "460c8da5110835e3d9a717c61f5556b20d03c32a1dec57f8fc559b360f733bb8"
+checksum = "e6363078f927f612b970edf9d1903ef5cef9a64d1e8423525ebb1f0a1633c858"
dependencies = [
"aws-smithy-types",
"bytes",
@@ -1081,96 +1057,133 @@
[[package]]
name = "aws-smithy-http"
-version = "0.55.3"
+version = "0.60.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2b3b693869133551f135e1f2c77cb0b8277d9e3e17feaf2213f735857c4f0d28"
+checksum = "d9cd0ae3d97daa0a2bf377a4d8e8e1362cae590c4a1aad0d40058ebca18eb91e"
dependencies = [
"aws-smithy-eventstream",
+ "aws-smithy-runtime-api",
"aws-smithy-types",
"bytes",
"bytes-utils",
"futures-core",
- "http",
- "http-body",
- "hyper",
+ "http 0.2.12",
+ "http-body 0.4.6",
"once_cell",
"percent-encoding",
"pin-project-lite",
"pin-utils",
- "tokio",
- "tokio-util",
"tracing",
]
[[package]]
-name = "aws-smithy-http-tower"
-version = "0.55.3"
+name = "aws-smithy-json"
+version = "0.60.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3ae4f6c5798a247fac98a867698197d9ac22643596dc3777f0c76b91917616b9"
+checksum = "4683df9469ef09468dad3473d129960119a0d3593617542b7d52086c8486f2d6"
dependencies = [
- "aws-smithy-http",
"aws-smithy-types",
- "bytes",
- "http",
- "http-body",
- "pin-project-lite",
- "tower",
- "tracing",
]
[[package]]
-name = "aws-smithy-json"
-version = "0.55.3"
+name = "aws-smithy-query"
+version = "0.60.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "23f9f42fbfa96d095194a632fbac19f60077748eba536eb0b9fecc28659807f8"
+checksum = "f2fbd61ceb3fe8a1cb7352e42689cec5335833cd9f94103a61e98f9bb61c64bb"
dependencies = [
"aws-smithy-types",
+ "urlencoding",
]
[[package]]
-name = "aws-smithy-query"
-version = "0.55.3"
+name = "aws-smithy-runtime"
+version = "1.6.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "98819eb0b04020a1c791903533b638534ae6c12e2aceda3e6e6fba015608d51d"
+checksum = "ce87155eba55e11768b8c1afa607f3e864ae82f03caf63258b37455b0ad02537"
dependencies = [
+ "aws-smithy-async",
+ "aws-smithy-http",
+ "aws-smithy-runtime-api",
"aws-smithy-types",
- "urlencoding",
+ "bytes",
+ "fastrand 2.1.0",
+ "h2",
+ "http 0.2.12",
+ "http-body 0.4.6",
+ "http-body 1.0.1",
+ "httparse",
+ "hyper",
+ "hyper-rustls",
+ "once_cell",
+ "pin-project-lite",
+ "pin-utils",
+ "rustls 0.21.12",
+ "tokio",
+ "tracing",
+]
+
+[[package]]
+name = "aws-smithy-runtime-api"
+version = "1.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "30819352ed0a04ecf6a2f3477e344d2d1ba33d43e0f09ad9047c12e0d923616f"
+dependencies = [
+ "aws-smithy-async",
+ "aws-smithy-types",
+ "bytes",
+ "http 0.2.12",
+ "http 1.1.0",
+ "pin-project-lite",
+ "tokio",
+ "tracing",
+ "zeroize",
]
[[package]]
name = "aws-smithy-types"
-version = "0.55.3"
+version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "16a3d0bf4f324f4ef9793b86a1701d9700fbcdbd12a846da45eed104c634c6e8"
+checksum = "cfe321a6b21f5d8eabd0ade9c55d3d0335f3c3157fc2b3e87f05f34b539e4df5"
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.1",
+ "http-body-util",
"itoa",
"num-integer",
+ "pin-project-lite",
+ "pin-utils",
"ryu",
+ "serde",
"time",
+ "tokio",
+ "tokio-util",
]
[[package]]
name = "aws-smithy-xml"
-version = "0.55.3"
+version = "0.60.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b1b9d12875731bd07e767be7baad95700c3137b56730ec9ddeedb52a5e5ca63b"
+checksum = "d123fbc2a4adc3c301652ba8e149bf4bc1d1725affb9784eb20c953ace06bf55"
dependencies = [
"xmlparser",
]
[[package]]
name = "aws-types"
-version = "0.55.3"
+version = "1.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6dd209616cc8d7bfb82f87811a5c655dc97537f592689b18743bddf5dc5c4829"
+checksum = "5221b91b3e441e6675310829fd8984801b772cb1546ef6c0e54dec9f1ac13fef"
dependencies = [
"aws-credential-types",
"aws-smithy-async",
- "aws-smithy-client",
- "aws-smithy-http",
+ "aws-smithy-runtime-api",
"aws-smithy-types",
- "http",
"rustc_version",
"tracing",
]
@@ -1186,8 +1199,8 @@
"bitflags 1.3.2",
"bytes",
"futures-util",
- "http",
- "http-body",
+ "http 0.2.12",
+ "http-body 0.4.6",
"hyper",
"itoa",
"matchit",
@@ -1212,8 +1225,8 @@
"async-trait",
"bytes",
"futures-util",
- "http",
- "http-body",
+ "http 0.2.12",
+ "http-body 0.4.6",
"mime",
"rustversion",
"tower-layer",
@@ -1296,6 +1309,12 @@
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "349a06037c7bf932dd7e7d1f653678b2038b9ad46a74102f1fc7bd7872678cce"
+[[package]]
+name = "base16ct"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf"
+
[[package]]
name = "base64"
version = "0.13.1"
@@ -1398,7 +1417,7 @@
"clap",
"comm-lib",
"derive_more",
- "http",
+ "http 0.2.12",
"once_cell",
"prost",
"regex",
@@ -1419,7 +1438,6 @@
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4"
dependencies = [
- "block-padding 0.2.1",
"generic-array",
]
@@ -1432,12 +1450,6 @@
"generic-array",
]
-[[package]]
-name = "block-padding"
-version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8d696c370c750c948ada61c69a0ee2cbbb9c50b1019ddb86d9317157a99c2cae"
-
[[package]]
name = "block-padding"
version = "0.3.3"
@@ -1653,7 +1665,7 @@
dependencies = [
"const-oid",
"der 0.7.9",
- "spki",
+ "spki 0.7.3",
"x509-cert",
]
@@ -1686,7 +1698,7 @@
"futures-util",
"grpc_clients",
"hex",
- "http",
+ "http 0.2.12",
"once_cell",
"rand 0.8.5",
"reqwest",
@@ -1830,9 +1842,9 @@
[[package]]
name = "crc32c"
-version = "0.6.5"
+version = "0.6.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "89254598aa9b9fa608de44b3ae54c810f0f06d755e24c50177f1f8f31ff50ce2"
+checksum = "3a47af21622d091a8f0fb295b88bc886ac74efcc613efc19f5d0b21de5c89e47"
dependencies = [
"rustc_version",
]
@@ -1863,9 +1875,9 @@
[[package]]
name = "crypto-bigint"
-version = "0.2.5"
+version = "0.4.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8658c15c5d921ddf980f7fe25b1e82f4b7a4083b2c4985fea4922edb8e43e07d"
+checksum = "ef2b4b23cddf68b89b8f8069890e8c270d54e2d5fe1b143820234805e4cb17ef"
dependencies = [
"generic-array",
"rand_core 0.6.4",
@@ -1875,9 +1887,9 @@
[[package]]
name = "crypto-bigint"
-version = "0.4.9"
+version = "0.5.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ef2b4b23cddf68b89b8f8069890e8c270d54e2d5fe1b143820234805e4cb17ef"
+checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76"
dependencies = [
"generic-array",
"rand_core 0.6.4",
@@ -1896,16 +1908,6 @@
"typenum",
]
-[[package]]
-name = "crypto-mac"
-version = "0.11.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "25fab6889090c8133f3deb8f73ba3c65a7f456f66436fc012a1b1e272b1e103e"
-dependencies = [
- "generic-array",
- "subtle",
-]
-
[[package]]
name = "ctor"
version = "0.2.8"
@@ -1992,12 +1994,6 @@
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e8566979429cf69b49a5c740c60791108e86440e8be149bbea4fe54d2c32d6e2"
-[[package]]
-name = "der"
-version = "0.4.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "79b71cca7d95d7681a4b3b9cdf63c8dbc3730d0584c2c74e31416d64a90493f4"
-
[[package]]
name = "der"
version = "0.6.1"
@@ -2005,6 +2001,7 @@
checksum = "f1a467a65c5e759bce6e65eaf91cc29f466cdc57cb65777bd646872a8a1fd4de"
dependencies = [
"const-oid",
+ "zeroize",
]
[[package]]
@@ -2103,6 +2100,7 @@
checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292"
dependencies = [
"block-buffer 0.10.4",
+ "const-oid",
"crypto-common",
"subtle",
]
@@ -2132,14 +2130,28 @@
[[package]]
name = "ecdsa"
-version = "0.12.4"
+version = "0.14.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "43ee23aa5b4f68c7a092b5c3beb25f50c406adc75e2363634f242f28ab255372"
+checksum = "413301934810f597c1d19ca71c8710e99a3f1ba28a0d2ebc01551a2daeea3c5c"
dependencies = [
- "der 0.4.5",
- "elliptic-curve 0.10.4",
- "hmac 0.11.0",
- "signature",
+ "der 0.6.1",
+ "elliptic-curve 0.12.3",
+ "rfc6979 0.3.1",
+ "signature 1.6.4",
+]
+
+[[package]]
+name = "ecdsa"
+version = "0.16.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca"
+dependencies = [
+ "der 0.7.9",
+ "digest 0.10.7",
+ "elliptic-curve 0.13.8",
+ "rfc6979 0.4.0",
+ "signature 2.2.0",
+ "spki 0.7.3",
]
[[package]]
@@ -2148,7 +2160,7 @@
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "91cff35c70bba8a626e3185d8cd48cc11b5437e1a5bcd15b9b5fa3c64b6dfee7"
dependencies = [
- "signature",
+ "signature 1.6.4",
]
[[package]]
@@ -2173,34 +2185,39 @@
[[package]]
name = "elliptic-curve"
-version = "0.10.4"
+version = "0.12.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "83e5c176479da93a0983f0a6fdc3c1b8e7d5be0d7fe3fe05a99f15b96582b9a8"
+checksum = "e7bb888ab5300a19b8e5bceef25ac745ad065f3c9f7efc6de1b91958110891d3"
dependencies = [
- "crypto-bigint 0.2.5",
- "ff 0.10.1",
+ "base16ct 0.1.1",
+ "crypto-bigint 0.4.9",
+ "der 0.6.1",
+ "digest 0.10.7",
+ "ff 0.12.1",
"generic-array",
- "group 0.10.0",
+ "group 0.12.1",
+ "pkcs8 0.9.0",
"rand_core 0.6.4",
+ "sec1 0.3.0",
"subtle",
"zeroize",
]
[[package]]
name = "elliptic-curve"
-version = "0.12.3"
+version = "0.13.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e7bb888ab5300a19b8e5bceef25ac745ad065f3c9f7efc6de1b91958110891d3"
+checksum = "b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47"
dependencies = [
- "base16ct",
- "crypto-bigint 0.4.9",
- "der 0.6.1",
+ "base16ct 0.2.0",
+ "crypto-bigint 0.5.5",
"digest 0.10.7",
- "ff 0.12.1",
+ "ff 0.13.0",
"generic-array",
- "group 0.12.1",
+ "group 0.13.0",
+ "pkcs8 0.10.2",
"rand_core 0.6.4",
- "sec1",
+ "sec1 0.7.3",
"subtle",
"zeroize",
]
@@ -2312,7 +2329,7 @@
"aws-sdk-dynamodb",
"clap",
"comm-lib",
- "http",
+ "http 0.2.12",
"once_cell",
"serde",
"tokio",
@@ -2322,9 +2339,9 @@
[[package]]
name = "ff"
-version = "0.10.1"
+version = "0.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d0f40b2dcd8bc322217a5f6559ae5f9e9d1de202a2ecee2e9eafcbece7562a4f"
+checksum = "d013fc25338cc558c5c2cfbad646908fb23591e2404481826742b651c9af7160"
dependencies = [
"rand_core 0.6.4",
"subtle",
@@ -2332,9 +2349,9 @@
[[package]]
name = "ff"
-version = "0.12.1"
+version = "0.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d013fc25338cc558c5c2cfbad646908fb23591e2404481826742b651c9af7160"
+checksum = "ded41244b729663b1e574f1b4fb731469f69f79c17667b5d776b16cda0479449"
dependencies = [
"rand_core 0.6.4",
"subtle",
@@ -2535,6 +2552,7 @@
"serde",
"typenum",
"version_check",
+ "zeroize",
]
[[package]]
@@ -2585,22 +2603,22 @@
[[package]]
name = "group"
-version = "0.10.0"
+version = "0.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1c363a5301b8f153d80747126a04b3c82073b9fe3130571a9d170cacdeaf7912"
+checksum = "5dfbfb3a6cfbd390d5c9564ab283a0349b9b9fcd46a706c1eb10e0db70bfbac7"
dependencies = [
- "ff 0.10.1",
+ "ff 0.12.1",
"rand_core 0.6.4",
"subtle",
]
[[package]]
name = "group"
-version = "0.12.1"
+version = "0.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5dfbfb3a6cfbd390d5c9564ab283a0349b9b9fcd46a706c1eb10e0db70bfbac7"
+checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63"
dependencies = [
- "ff 0.12.1",
+ "ff 0.13.0",
"rand_core 0.6.4",
"subtle",
]
@@ -2629,7 +2647,7 @@
"futures-core",
"futures-sink",
"futures-util",
- "http",
+ "http 0.2.12",
"indexmap 2.2.6",
"slab",
"tokio",
@@ -2648,6 +2666,10 @@
version = "0.14.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1"
+dependencies = [
+ "ahash",
+ "allocator-api2",
+]
[[package]]
name = "heck"
@@ -2679,17 +2701,7 @@
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7"
dependencies = [
- "hmac 0.12.1",
-]
-
-[[package]]
-name = "hmac"
-version = "0.11.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2a2a2320eb7ec0ebe8da8f744d7812d9fc4cb4d09344ac01898dbcb6a20ae69b"
-dependencies = [
- "crypto-mac",
- "digest 0.9.0",
+ "hmac",
]
[[package]]
@@ -2721,6 +2733,17 @@
"itoa",
]
+[[package]]
+name = "http"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "21b9ddb458710bc376481b842f5da65cdf31522de232c1ca8146abce2a358258"
+dependencies = [
+ "bytes",
+ "fnv",
+ "itoa",
+]
+
[[package]]
name = "http-body"
version = "0.4.6"
@@ -2728,7 +2751,30 @@
checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2"
dependencies = [
"bytes",
- "http",
+ "http 0.2.12",
+ "pin-project-lite",
+]
+
+[[package]]
+name = "http-body"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184"
+dependencies = [
+ "bytes",
+ "http 1.1.0",
+]
+
+[[package]]
+name = "http-body-util"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "793429d76616a256bcb62c2a2ec2bed781c8307e797e2598c50010f2bee2544f"
+dependencies = [
+ "bytes",
+ "futures-util",
+ "http 1.1.0",
+ "http-body 1.0.1",
"pin-project-lite",
]
@@ -2761,8 +2807,8 @@
"futures-core",
"futures-util",
"h2",
- "http",
- "http-body",
+ "http 0.2.12",
+ "http-body 0.4.6",
"httparse",
"httpdate",
"itoa",
@@ -2774,21 +2820,6 @@
"want",
]
-[[package]]
-name = "hyper-rustls"
-version = "0.23.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1788965e61b367cd03a62950836d5cd41560c3577d90e40e0819373194d1661c"
-dependencies = [
- "http",
- "hyper",
- "log",
- "rustls 0.20.9",
- "rustls-native-certs 0.6.3",
- "tokio",
- "tokio-rustls 0.23.4",
-]
-
[[package]]
name = "hyper-rustls"
version = "0.24.2"
@@ -2796,11 +2827,13 @@
checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590"
dependencies = [
"futures-util",
- "http",
+ "http 0.2.12",
"hyper",
+ "log",
"rustls 0.21.12",
+ "rustls-native-certs 0.6.3",
"tokio",
- "tokio-rustls 0.24.1",
+ "tokio-rustls",
]
[[package]]
@@ -2886,7 +2919,7 @@
"futures-util",
"grpc_clients",
"hex",
- "http",
+ "http 0.2.12",
"hyper",
"hyper-tungstenite",
"identity_search_messages",
@@ -2898,6 +2931,7 @@
"serde",
"serde_json",
"siwe",
+ "time",
"tokio",
"tonic 0.9.2",
"tonic-build 0.9.2",
@@ -2956,7 +2990,7 @@
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5"
dependencies = [
- "block-padding 0.3.3",
+ "block-padding",
"generic-array",
]
@@ -2988,11 +3022,12 @@
[[package]]
name = "iri-string"
-version = "0.4.1"
+version = "0.7.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f0f7638c1e223529f1bfdc48c8b133b9e0b434094d1d28473161ee48b235f78"
+checksum = "7f5f6c2df22c009ac44f6f1499308e7a3ac7ba42cd2378475cc691510e1eef1b"
dependencies = [
- "nom",
+ "memchr",
+ "serde",
]
[[package]]
@@ -3060,14 +3095,15 @@
[[package]]
name = "k256"
-version = "0.9.5"
+version = "0.13.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "008b0281ca8032567c9711cd48631781c15228301860a39b32deb28d63125e46"
+checksum = "956ff9b67e26e1a6a866cb758f12c6f8746208489e3e4a4b5580802f2f0a587b"
dependencies = [
"cfg-if",
- "ecdsa",
- "elliptic-curve 0.10.4",
- "sha3",
+ "ecdsa 0.16.9",
+ "elliptic-curve 0.13.8",
+ "once_cell",
+ "sha2 0.10.8",
]
[[package]]
@@ -3180,6 +3216,15 @@
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 = "matchers"
version = "0.1.0"
@@ -3487,7 +3532,7 @@
"elliptic-curve 0.12.3",
"generic-array",
"hkdf",
- "hmac 0.12.1",
+ "hmac",
"rand 0.8.5",
"serde",
"subtle",
@@ -3562,7 +3607,7 @@
"der 0.7.9",
"des",
"hex",
- "hmac 0.12.1",
+ "hmac",
"pkcs12",
"pkcs5",
"rand 0.8.5",
@@ -3573,6 +3618,17 @@
"x509-parser",
]
+[[package]]
+name = "p256"
+version = "0.11.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "51f44edd08f51e2ade572f141051021c5af22677e42b7dd28a88155151c33594"
+dependencies = [
+ "ecdsa 0.14.8",
+ "elliptic-curve 0.12.3",
+ "sha2 0.10.8",
+]
+
[[package]]
name = "parking"
version = "2.2.0"
@@ -3632,7 +3688,7 @@
checksum = "f8ed6a7761f76e3b9f92dfb0a60a6a6477c61024b775147ff0973a02653abaf2"
dependencies = [
"digest 0.10.7",
- "hmac 0.12.1",
+ "hmac",
]
[[package]]
@@ -3735,7 +3791,7 @@
"const-oid",
"der 0.7.9",
"digest 0.10.7",
- "spki",
+ "spki 0.7.3",
"x509-cert",
"zeroize",
]
@@ -3752,7 +3808,27 @@
"pbkdf2",
"scrypt",
"sha2 0.10.8",
- "spki",
+ "spki 0.7.3",
+]
+
+[[package]]
+name = "pkcs8"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9eca2c590a5f85da82668fa685c09ce2888b9430e83299debf1f34b65fd4a4ba"
+dependencies = [
+ "der 0.6.1",
+ "spki 0.6.0",
+]
+
+[[package]]
+name = "pkcs8"
+version = "0.10.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7"
+dependencies = [
+ "der 0.7.9",
+ "spki 0.7.3",
]
[[package]]
@@ -3812,7 +3888,7 @@
dependencies = [
"async-trait",
"bytes",
- "http",
+ "http 0.2.12",
"reqwest",
"serde",
"serde_json",
@@ -4111,7 +4187,7 @@
"clap",
"comm-lib",
"derive_more",
- "http",
+ "http 0.2.12",
"maud",
"num-derive",
"num-traits",
@@ -4141,10 +4217,10 @@
"futures-core",
"futures-util",
"h2",
- "http",
- "http-body",
+ "http 0.2.12",
+ "http-body 0.4.6",
"hyper",
- "hyper-rustls 0.24.2",
+ "hyper-rustls",
"hyper-tls",
"ipnet",
"js-sys",
@@ -4164,7 +4240,7 @@
"system-configuration",
"tokio",
"tokio-native-tls",
- "tokio-rustls 0.24.1",
+ "tokio-rustls",
"tokio-util",
"tower-service",
"url",
@@ -4176,6 +4252,27 @@
"winreg",
]
+[[package]]
+name = "rfc6979"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7743f17af12fa0b03b803ba12cd6a8d9483a587e89c69445e3909655c0b9fabb"
+dependencies = [
+ "crypto-bigint 0.4.9",
+ "hmac",
+ "zeroize",
+]
+
+[[package]]
+name = "rfc6979"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2"
+dependencies = [
+ "hmac",
+ "subtle",
+]
+
[[package]]
name = "ring"
version = "0.16.20"
@@ -4283,18 +4380,6 @@
"windows-sys 0.52.0",
]
-[[package]]
-name = "rustls"
-version = "0.20.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b80e3dec595989ea8510028f30c408a4630db12c9cbb8de34203b89d6577e99"
-dependencies = [
- "log",
- "ring 0.16.20",
- "sct",
- "webpki",
-]
-
[[package]]
name = "rustls"
version = "0.21.12"
@@ -4480,9 +4565,24 @@
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3be24c1842290c45df0a7bf069e0c268a747ad05a192f2fd7dcfdbc1cba40928"
dependencies = [
- "base16ct",
+ "base16ct 0.1.1",
"der 0.6.1",
"generic-array",
+ "pkcs8 0.9.0",
+ "subtle",
+ "zeroize",
+]
+
+[[package]]
+name = "sec1"
+version = "0.7.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc"
+dependencies = [
+ "base16ct 0.2.0",
+ "der 0.7.9",
+ "generic-array",
+ "pkcs8 0.10.2",
"subtle",
"zeroize",
]
@@ -4627,14 +4727,12 @@
[[package]]
name = "sha3"
-version = "0.9.1"
+version = "0.10.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f81199417d4e5de3f04b1e871023acea7389672c4135918f05aa9cbf2f2fa809"
+checksum = "75872d278a8f37ef87fa0ddbda7802605cb18344497949862c0d4dcb291eba60"
dependencies = [
- "block-buffer 0.9.0",
- "digest 0.9.0",
+ "digest 0.10.7",
"keccak",
- "opaque-debug",
]
[[package]]
@@ -4663,11 +4761,21 @@
[[package]]
name = "signature"
-version = "1.3.2"
+version = "1.6.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f2807892cfa58e081aa1f1111391c7a0649d4fa127a4ffbe34bcbfb35a1171a4"
+checksum = "74233d3b3b2f6d4b006dc19dee745e73e2a6bfb6f93607cd3b02bd5b00797d7c"
dependencies = [
- "digest 0.9.0",
+ "digest 0.10.7",
+ "rand_core 0.6.4",
+]
+
+[[package]]
+name = "signature"
+version = "2.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de"
+dependencies = [
+ "digest 0.10.7",
"rand_core 0.6.4",
]
@@ -4685,18 +4793,18 @@
[[package]]
name = "siwe"
-version = "0.3.0"
+version = "0.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "86f2d8ae2d4ae58df46e173aa496562ea857ac6a4f0d435ed30fcd19da0aaa79"
+checksum = "95bdefc0eedf06440b27092fbfe33f2cb493ad6a3423aa12cfe7f2aac44bd618"
dependencies = [
- "chrono",
"hex",
- "http",
+ "http 1.1.0",
"iri-string",
"k256",
"rand 0.8.5",
"sha3",
"thiserror",
+ "time",
]
[[package]]
@@ -4749,6 +4857,16 @@
"lock_api",
]
+[[package]]
+name = "spki"
+version = "0.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "67cf02bbac7a337dc36e4f5a693db6c21e7863f45070f7064577eb4367a3212b"
+dependencies = [
+ "base64ct",
+ "der 0.6.1",
+]
+
[[package]]
name = "spki"
version = "0.7.3"
@@ -4981,17 +5099,6 @@
"tokio",
]
-[[package]]
-name = "tokio-rustls"
-version = "0.23.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c43ee83903113e03984cb9e5cebe6c04a5116269e900e3ddba8f068a62adda59"
-dependencies = [
- "rustls 0.20.9",
- "tokio",
- "webpki",
-]
-
[[package]]
name = "tokio-rustls"
version = "0.24.1"
@@ -5037,7 +5144,7 @@
"rustls 0.21.12",
"tokio",
"tokio-native-tls",
- "tokio-rustls 0.24.1",
+ "tokio-rustls",
"tungstenite 0.20.1",
"webpki-roots 0.25.4",
]
@@ -5050,7 +5157,7 @@
dependencies = [
"futures-channel",
"futures-util",
- "http",
+ "http 0.2.12",
"httparse",
"js-sys",
"thiserror",
@@ -5087,8 +5194,8 @@
"futures-core",
"futures-util",
"h2",
- "http",
- "http-body",
+ "http 0.2.12",
+ "http-body 0.4.6",
"hyper",
"hyper-timeout",
"percent-encoding",
@@ -5119,8 +5226,8 @@
"futures-core",
"futures-util",
"h2",
- "http",
- "http-body",
+ "http 0.2.12",
+ "http-body 0.4.6",
"hyper",
"hyper-timeout",
"percent-encoding",
@@ -5128,7 +5235,7 @@
"prost",
"rustls-pemfile 1.0.4",
"tokio",
- "tokio-rustls 0.24.1",
+ "tokio-rustls",
"tokio-stream",
"tower",
"tower-layer",
@@ -5172,8 +5279,8 @@
"base64 0.21.7",
"bytes",
"futures-core",
- "http",
- "http-body",
+ "http 0.2.12",
+ "http-body 0.4.6",
"hyper",
"pin-project",
"tonic 0.9.2",
@@ -5213,8 +5320,8 @@
"bytes",
"futures-core",
"futures-util",
- "http",
- "http-body",
+ "http 0.2.12",
+ "http-body 0.4.6",
"http-range-header",
"pin-project-lite",
"tower-layer",
@@ -5359,7 +5466,7 @@
"base64 0.13.1",
"byteorder",
"bytes",
- "http",
+ "http 0.2.12",
"httparse",
"log",
"rand 0.8.5",
@@ -5378,7 +5485,7 @@
"byteorder",
"bytes",
"data-encoding",
- "http",
+ "http 0.2.12",
"httparse",
"log",
"native-tls",
@@ -5701,16 +5808,6 @@
"wasm-bindgen",
]
-[[package]]
-name = "webpki"
-version = "0.22.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ed63aea5ce73d0ff405984102c42de94fc55a6b75765d621c65262469b3c9b53"
-dependencies = [
- "ring 0.17.8",
- "untrusted 0.9.0",
-]
-
[[package]]
name = "webpki-roots"
version = "0.23.1"
@@ -5934,7 +6031,7 @@
dependencies = [
"const-oid",
"der 0.7.9",
- "spki",
+ "spki 0.7.3",
]
[[package]]
diff --git a/Cargo.toml b/Cargo.toml
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -45,10 +45,10 @@
anyhow = "1.0.74"
argon2 = "0.4"
async-stream = "0.3.2"
-aws-config = "0.55.3"
-aws-sdk-dynamodb = "0.27.0"
-aws-sdk-s3 = "0.27"
-aws-sdk-secretsmanager = "0.27"
+aws-config = "1.5.4"
+aws-sdk-dynamodb = "1.39.1"
+aws-sdk-s3 = "1.42.0"
+aws-sdk-secretsmanager = "1.40.0"
base64 = "0.21.2"
bincode = "1.3.3"
bytes = "1.4"
@@ -84,7 +84,8 @@
serde_json = "1.0.117"
serde_repr = "0.1"
sha2 = "0.10.2"
-siwe = "0.3"
+siwe = "0.6"
+time = "0.3"
tokio = "1.37.0"
tokio-stream = "0.1.14"
tokio-tungstenite = "0.18.0"
diff --git a/services/backup/src/database/mod.rs b/services/backup/src/database/mod.rs
--- a/services/backup/src/database/mod.rs
+++ b/services/backup/src/database/mod.rs
@@ -342,6 +342,7 @@
DeleteRequest::builder()
.set_key(Some(LogItem::item_key(user_id, key.backup_id, key.log_id)))
.build()
+ .expect("key not set in DeleteRequest builder")
})
.map(|request| WriteRequest::builder().delete_request(request).build())
.collect::<Vec<_>>();
diff --git a/services/blob/src/database/client.rs b/services/blob/src/database/client.rs
--- a/services/blob/src/database/client.rs
+++ b/services/blob/src/database/client.rs
@@ -132,7 +132,8 @@
let delete_request = Delete::builder()
.table_name(BLOB_TABLE_NAME)
.set_key(Some(assignment_key.into()))
- .build();
+ .build()
+ .expect("key or table_name not set in Delete builder");
transaction
.push(TransactWriteItem::builder().delete(delete_request).build());
@@ -157,7 +158,10 @@
":now",
AttributeValue::N(Utc::now().timestamp_millis().to_string()),
)
- .build();
+ .build()
+ .expect(
+ "key, table_name or update_expression not set in Update builder",
+ );
transaction
.push(TransactWriteItem::builder().update(update_request).build());
}
@@ -304,7 +308,10 @@
// filter out rows that are already checked
// to save some write capacity
row.remove(ATTR_UNCHECKED)?;
- let put_request = PutRequest::builder().set_item(Some(row)).build();
+ let put_request = PutRequest::builder()
+ .set_item(Some(row))
+ .build()
+ .expect("item not set in PutRequest builder");
let request = WriteRequest::builder().put_request(put_request).build();
Some(request)
})
@@ -327,7 +334,12 @@
) -> DBResult<()> {
let write_requests = keys
.into_iter()
- .map(|key| DeleteRequest::builder().set_key(Some(key.into())).build())
+ .map(|key| {
+ DeleteRequest::builder()
+ .set_key(Some(key.into()))
+ .build()
+ .expect("key not set in DeleteRequest builder")
+ })
.map(|request| WriteRequest::builder().delete_request(request).build())
.collect::<Vec<_>>();
diff --git a/services/blob/src/s3.rs b/services/blob/src/s3.rs
--- a/services/blob/src/s3.rs
+++ b/services/blob/src/s3.rs
@@ -207,14 +207,24 @@
let bucket_name = &first_path.bucket_name;
let objects = paths
.iter()
- .map(|path| ObjectIdentifier::builder().key(&path.object_name).build())
+ .map(|path| {
+ ObjectIdentifier::builder()
+ .key(&path.object_name)
+ .build()
+ .expect("key not set in ObjectIdentifier builder")
+ })
.collect();
self
.client
.delete_objects()
.bucket(bucket_name)
- .delete(Delete::builder().set_objects(Some(objects)).build())
+ .delete(
+ Delete::builder()
+ .set_objects(Some(objects))
+ .build()
+ .expect("Objects not set in Delete builder"),
+ )
.send()
.await
.map_err(|e| {
diff --git a/services/blob/src/service.rs b/services/blob/src/service.rs
--- a/services/blob/src/service.rs
+++ b/services/blob/src/service.rs
@@ -117,10 +117,19 @@
// 2. Get S3 Object metadata
trace!("Getting S3 object metadata...");
let object_metadata = self.s3.get_object_metadata(&s3_path).await?;
- let blob_size: u64 =
- object_metadata.content_length().try_into().map_err(|err| {
- error!("Failed to parse S3 object content length: {:?}", err);
+ let blob_size = object_metadata
+ .content_length()
+ .ok_or_else(|| {
+ error!("Failed to get S3 object content length");
BlobServiceError::InvalidState
+ })
+ .and_then(|len| {
+ if len >= 0 {
+ Ok(len as u64)
+ } else {
+ error!("S3 object content length is negative");
+ Err(BlobServiceError::InvalidState)
+ }
})?;
debug!("S3 object size: {} bytes", blob_size);
diff --git a/services/identity/Cargo.toml b/services/identity/Cargo.toml
--- a/services/identity/Cargo.toml
+++ b/services/identity/Cargo.toml
@@ -23,6 +23,7 @@
rand = "0.8"
constant_time_eq = "0.2.2"
siwe = { workspace = true }
+time = { workspace = true }
comm-opaque2 = { path = "../../shared/comm-opaque2" }
grpc_clients = { path = "../../shared/grpc_clients" }
hyper = { workspace = true }
diff --git a/services/identity/src/client_service.rs b/services/identity/src/client_service.rs
--- a/services/identity/src/client_service.rs
+++ b/services/identity/src/client_service.rs
@@ -491,7 +491,8 @@
let parsed_message = parse_and_verify_siwe_message(
&message.siwe_message,
&message.siwe_signature,
- )?;
+ )
+ .await?;
self.verify_and_remove_nonce(&parsed_message.nonce).await?;
@@ -609,7 +610,8 @@
let parsed_message = parse_and_verify_siwe_message(
&message.siwe_message,
&message.siwe_signature,
- )?;
+ )
+ .await?;
self.verify_and_remove_nonce(&parsed_message.nonce).await?;
diff --git a/services/identity/src/database.rs b/services/identity/src/database.rs
--- a/services/identity/src/database.rs
+++ b/services/identity/src/database.rs
@@ -332,7 +332,8 @@
// make sure we don't accidentally overwrite existing row
.condition_expression("attribute_not_exists(#pk)")
.expression_attribute_names("#pk", USERS_TABLE_PARTITION_KEY)
- .build();
+ .build()
+ .expect("key, update_expression or table_name not set in Update builder");
let put_user_operation = TransactWriteItem::builder().put(put_user).build();
@@ -351,7 +352,8 @@
RESERVED_USERNAMES_TABLE_PARTITION_KEY,
AttributeValue::S(partition_key_value),
)
- .build();
+ .build()
+ .expect("key or table_name not set in Delete builder");
let delete_user_from_reserved_usernames_operation =
TransactWriteItem::builder()
@@ -608,13 +610,8 @@
Error::AwsSdk(e.into())
})?;
- if let Some(items) = response.items() {
- if !items.is_empty() {
- return Ok(true);
- }
- }
-
- Ok(false)
+ let username_available = response.items().is_empty();
+ Ok(!username_available)
}
pub async fn filter_out_taken_usernames(
@@ -1145,7 +1142,8 @@
RESERVED_USERNAMES_TABLE_USERNAME_LOWER_ATTRIBUTE,
AttributeValue::S(user_detail.username.to_lowercase()),
)
- .build();
+ .build()
+ .expect("no items set in PutRequest builder");
WriteRequest::builder().put_request(put_request).build()
})
diff --git a/services/identity/src/database/device_list.rs b/services/identity/src/database/device_list.rs
--- a/services/identity/src/database/device_list.rs
+++ b/services/identity/src/database/device_list.rs
@@ -1180,7 +1180,8 @@
)
.expression_attribute_names("#user_id", ATTR_USER_ID)
.expression_attribute_names("#item_id", ATTR_ITEM_ID)
- .build();
+ .build()
+ .expect("table_name or item not set in Put builder");
let put_device_operation =
TransactWriteItem::builder().put(put_device).build();
@@ -1237,7 +1238,8 @@
)
.expression_attribute_names("#user_id", ATTR_USER_ID)
.expression_attribute_names("#item_id", ATTR_ITEM_ID)
- .build();
+ .build()
+ .expect("table_name or item not set in Put builder");
let put_device_operation =
TransactWriteItem::builder().put(put_device).build();
@@ -1291,7 +1293,8 @@
)
.expression_attribute_names("#user_id", ATTR_USER_ID)
.expression_attribute_names("#item_id", ATTR_ITEM_ID)
- .build();
+ .build()
+ .expect("table_name or key not set in Delete builder");
let operation =
TransactWriteItem::builder().delete(delete_device).build();
@@ -1444,7 +1447,8 @@
)
.expression_attribute_names("#user_id", ATTR_USER_ID)
.expression_attribute_names("#item_id", ATTR_ITEM_ID)
- .build();
+ .build()
+ .expect("table_name or item not set in Put builder");
let put_device_list_operation =
TransactWriteItem::builder().put(put_device_list).build();
@@ -1524,7 +1528,10 @@
let delete_requests = primary_keys
.into_iter()
.map(|item| {
- let request = DeleteRequest::builder().set_key(Some(item)).build();
+ let request = DeleteRequest::builder()
+ .set_key(Some(item))
+ .build()
+ .expect("key not set in DeleteRequest builder");
WriteRequest::builder().delete_request(request).build()
})
.collect::<Vec<_>>();
@@ -1578,7 +1585,10 @@
let delete_requests = primary_keys
.into_iter()
.map(|item| {
- let request = DeleteRequest::builder().set_key(Some(item)).build();
+ let request = DeleteRequest::builder()
+ .set_key(Some(item))
+ .build()
+ .expect("key not set in DeleteRequest builder");
WriteRequest::builder().delete_request(request).build()
})
.collect::<Vec<_>>();
@@ -1669,7 +1679,8 @@
":new_timestamp",
AttributeValue::S(new_timestamp.to_rfc3339()),
)
- .build();
+ .build()
+ .expect("table_name, key or update_expression not set in Update builder");
TransactWriteItem::builder().update(update).build()
}
diff --git a/services/identity/src/database/one_time_keys.rs b/services/identity/src/database/one_time_keys.rs
--- a/services/identity/src/database/one_time_keys.rs
+++ b/services/identity/src/database/one_time_keys.rs
@@ -119,7 +119,10 @@
":old_val",
AttributeValue::N(otk_count.to_string()),
)
- .build();
+ .build()
+ .expect(
+ "table_name, key or update_expression not set in Update builder",
+ );
let update_otk_count_operation = TransactWriteItem::builder()
.update(update_otk_count)
@@ -420,7 +423,8 @@
let request = DeleteRequest::builder()
.key(PARTITION_KEY, AttributeValue::S(otk_row.partition_key))
.key(SORT_KEY, AttributeValue::S(otk_row.sort_key))
- .build();
+ .build()
+ .expect("no keys set in DeleteRequest builder");
WriteRequest::builder().delete_request(request).build()
})
.collect::<Vec<_>>();
@@ -480,7 +484,8 @@
)
.condition_expression("attribute_exists(#otk)")
.expression_attribute_names("#otk", otk_table::ATTR_ONE_TIME_KEY)
- .build();
+ .build()
+ .expect("table_name or key not set in Delete builder");
TransactWriteItem::builder().delete(delete_otk).build()
}
diff --git a/services/identity/src/database/token.rs b/services/identity/src/database/token.rs
--- a/services/identity/src/database/token.rs
+++ b/services/identity/src/database/token.rs
@@ -202,7 +202,10 @@
let delete_requests = primary_keys
.into_iter()
.map(|item| {
- let request = DeleteRequest::builder().set_key(Some(item)).build();
+ let request = DeleteRequest::builder()
+ .set_key(Some(item))
+ .build()
+ .expect("key not set in DeleteRequest builder");
WriteRequest::builder().delete_request(request).build()
})
.collect::<Vec<_>>();
diff --git a/services/identity/src/ddb_utils.rs b/services/identity/src/ddb_utils.rs
--- a/services/identity/src/ddb_utils.rs
+++ b/services/identity/src/ddb_utils.rs
@@ -72,7 +72,11 @@
),
]);
- builder.table_name(NAME).set_item(Some(attrs)).build()
+ builder
+ .table_name(NAME)
+ .set_item(Some(attrs))
+ .build()
+ .expect("table name not set in PutBuilder")
}
pub fn into_one_time_put_requests<T>(
@@ -149,7 +153,8 @@
":num_notif",
AttributeValue::N(notif_key_count_delta.to_string()),
)
- .build();
+ .build()
+ .expect("key, update_expression or table_name not set in Update builder");
let update_otk_count_operation = TransactWriteItem::builder()
.update(update_otk_count)
@@ -261,7 +266,7 @@
assert_eq!(requests.len(), 3);
for (index, request) in requests.into_iter().enumerate() {
- let mut item = request.put.unwrap().item.unwrap();
+ let mut item = request.put.unwrap().item;
assert_eq!(
item.remove(one_time_keys_table::PARTITION_KEY).unwrap(),
AttributeValue::S("abc#123#content".to_string())
diff --git a/services/identity/src/siwe.rs b/services/identity/src/siwe.rs
--- a/services/identity/src/siwe.rs
+++ b/services/identity/src/siwe.rs
@@ -1,12 +1,12 @@
use std::collections::HashMap;
-use chrono::Utc;
use comm_lib::{
aws::ddb::types::AttributeValue,
database::{AttributeExtractor, AttributeMap, TryFromAttribute},
};
use regex::Regex;
-use siwe::Message;
+use siwe::{Message, VerificationOpts};
+use time::OffsetDateTime;
use tonic::Status;
use tracing::error;
@@ -15,7 +15,7 @@
SOCIAL_PROOF_SIGNATURE_ATTRIBUTE,
};
-pub fn parse_and_verify_siwe_message(
+pub async fn parse_and_verify_siwe_message(
siwe_message: &str,
siwe_signature: &str,
) -> Result<Message, Status> {
@@ -36,16 +36,14 @@
Status::invalid_argument(tonic_status_messages::SIGNATURE_INVALID)
})?;
- let signature = decoded_signature.try_into().map_err(|e| {
- error!(
- errorType = error_types::SIWE_LOG,
- "Conversion to SIWE signature failed: {:?}", e
- );
- Status::invalid_argument(tonic_status_messages::INVALID_MESSAGE)
- })?;
-
+ let options = VerificationOpts {
+ domain: None,
+ nonce: None,
+ timestamp: Some(OffsetDateTime::now_utc()),
+ };
siwe_message
- .verify(signature, None, None, Some(&Utc::now()))
+ .verify(&decoded_signature, &options)
+ .await
.map_err(|e| {
error!(
errorType = error_types::SIWE_LOG,
diff --git a/services/reports/src/database/client.rs b/services/reports/src/database/client.rs
--- a/services/reports/src/database/client.rs
+++ b/services/reports/src/database/client.rs
@@ -109,7 +109,10 @@
.into_iter()
.map(|item| {
let attrs = item.into_attrs();
- let put_request = PutRequest::builder().set_item(Some(attrs)).build();
+ let put_request = PutRequest::builder()
+ .set_item(Some(attrs))
+ .build()
+ .expect("item not set in PutRequest builder");
WriteRequest::builder().put_request(put_request).build()
})
.collect::<Vec<_>>();
diff --git a/shared/comm-lib/src/database.rs b/shared/comm-lib/src/database.rs
--- a/shared/comm-lib/src/database.rs
+++ b/shared/comm-lib/src/database.rs
@@ -543,7 +543,8 @@
.set_keys(Some(chunk))
.consistent_read(true)
.set_projection_expression(projection_expression.clone())
- .build(),
+ .build()
+ .expect("set_keys() was not called on KeysAndAttributes builder."),
)
.send()
.await;
@@ -561,9 +562,7 @@
if let Some(mut unprocessed) = output.unprocessed_keys {
let keys_to_retry = match unprocessed.remove(table_name) {
- Some(KeysAndAttributes {
- keys: Some(keys), ..
- }) if !keys.is_empty() => keys,
+ Some(KeysAndAttributes { keys, .. }) if !keys.is_empty() => keys,
_ => {
tracing::trace!("Chunk read successfully. Continuing.");
exponential_backoff.reset();

File Metadata

Mime Type
text/plain
Expires
Fri, Oct 18, 5:42 PM (15 h, 52 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
2318335
Default Alt Text
D12879.id42796.diff (50 KB)

Event Timeline