Page Menu
Home
Phabricator
Search
Configure Global Search
Log In
Files
F3504341
D10444.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
26 KB
Referenced Files
None
Subscribers
None
D10444.diff
View Options
diff --git a/services/tunnelbroker/Cargo.lock b/services/tunnelbroker/Cargo.lock
--- a/services/tunnelbroker/Cargo.lock
+++ b/services/tunnelbroker/Cargo.lock
@@ -2,11 +2,26 @@
# It is not intended for manual editing.
version = 3
+[[package]]
+name = "addr2line"
+version = "0.21.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb"
+dependencies = [
+ "gimli",
+]
+
+[[package]]
+name = "adler"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
+
[[package]]
name = "aho-corasick"
-version = "1.0.1"
+version = "1.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "67fc08ce920c31afb70f013dcce1bfc3a3195de6a228474e45e1f145b36f8d04"
+checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0"
dependencies = [
"memchr",
]
@@ -125,9 +140,9 @@
[[package]]
name = "anyhow"
-version = "1.0.71"
+version = "1.0.76"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c7d0618f0e0b7e8ff11427422b64564d5fb0be1940354bfe2e0529b18a9d9b8"
+checksum = "59d2a3357dde987206219e78ecfbbb6e8dad06cbb65292758d3270e6254f7355"
[[package]]
name = "async-channel"
@@ -196,7 +211,7 @@
"polling",
"rustix",
"slab",
- "socket2",
+ "socket2 0.4.9",
"waker-fn",
]
@@ -274,9 +289,9 @@
[[package]]
name = "aws-config"
-version = "0.55.2"
+version = "0.55.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fc00553f5f3c06ffd4510a9d576f92143618706c45ea6ff81e84ad9be9588abd"
+checksum = "bcdcf0d683fe9c23d32cf5b53c9918ea0a500375a9fb20109802552658e576c9"
dependencies = [
"aws-credential-types",
"aws-http",
@@ -294,7 +309,7 @@
"hex",
"http",
"hyper",
- "ring",
+ "ring 0.16.20",
"time",
"tokio",
"tower",
@@ -304,9 +319,9 @@
[[package]]
name = "aws-credential-types"
-version = "0.55.2"
+version = "0.55.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4cb57ac6088805821f78d282c0ba8aec809f11cbee10dda19a97b03ab040ccc2"
+checksum = "1fcdb2f7acbc076ff5ad05e7864bdb191ca70a6fd07668dc3a1a8bcd051de5ae"
dependencies = [
"aws-smithy-async",
"aws-smithy-types",
@@ -318,9 +333,9 @@
[[package]]
name = "aws-endpoint"
-version = "0.55.2"
+version = "0.55.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c5f6f84a4f46f95a9bb71d9300b73cd67eb868bc43ae84f66ad34752299f4ac"
+checksum = "8cce1c41a6cfaa726adee9ebb9a56fcd2bbfd8be49fd8a04c5e20fd968330b04"
dependencies = [
"aws-smithy-http",
"aws-smithy-types",
@@ -332,9 +347,9 @@
[[package]]
name = "aws-http"
-version = "0.55.2"
+version = "0.55.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a754683c322f7dc5167484266489fdebdcd04d26e53c162cad1f3f949f2c5671"
+checksum = "aadbc44e7a8f3e71c8b374e03ecd972869eb91dd2bc89ed018954a52ba84bc44"
dependencies = [
"aws-credential-types",
"aws-smithy-http",
@@ -376,10 +391,36 @@
]
[[package]]
-name = "aws-sdk-sso"
+name = "aws-sdk-secretsmanager"
version = "0.27.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "babfd626348836a31785775e3c08a4c345a5ab4c6e06dfd9167f2bee0e6295d6"
+checksum = "502ccd2a5469223f03116ed1ef8d310bfe3caa0e8398b968439cd8e76e4ae91c"
+dependencies = [
+ "aws-credential-types",
+ "aws-endpoint",
+ "aws-http",
+ "aws-sig-auth",
+ "aws-smithy-async",
+ "aws-smithy-client",
+ "aws-smithy-http",
+ "aws-smithy-http-tower",
+ "aws-smithy-json",
+ "aws-smithy-types",
+ "aws-types",
+ "bytes",
+ "fastrand",
+ "http",
+ "regex",
+ "tokio-stream",
+ "tower",
+ "tracing",
+]
+
+[[package]]
+name = "aws-sdk-sso"
+version = "0.28.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c8b812340d86d4a766b2ca73f740dfd47a97c2dff0c06c8517a16d88241957e4"
dependencies = [
"aws-credential-types",
"aws-endpoint",
@@ -402,9 +443,9 @@
[[package]]
name = "aws-sdk-sts"
-version = "0.27.0"
+version = "0.28.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2d0fbe3c2c342bc8dfea4bb43937405a8ec06f99140a0dcb9c7b59e54dfa93a1"
+checksum = "265fac131fbfc188e5c3d96652ea90ecc676a934e3174eaaee523c6cec040b3b"
dependencies = [
"aws-credential-types",
"aws-endpoint",
@@ -428,9 +469,9 @@
[[package]]
name = "aws-sig-auth"
-version = "0.55.2"
+version = "0.55.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "84dc92a63ede3c2cbe43529cb87ffa58763520c96c6a46ca1ced80417afba845"
+checksum = "3b94acb10af0c879ecd5c7bdf51cda6679a0a4f4643ce630905a77673bfa3c61"
dependencies = [
"aws-credential-types",
"aws-sigv4",
@@ -442,9 +483,9 @@
[[package]]
name = "aws-sigv4"
-version = "0.55.2"
+version = "0.55.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "392fefab9d6fcbd76d518eb3b1c040b84728ab50f58df0c3c53ada4bea9d327e"
+checksum = "9d2ce6f507be68e968a33485ced670111d1cbad161ddbbab1e313c03d37d8f4c"
dependencies = [
"aws-smithy-http",
"form_urlencoded",
@@ -461,9 +502,9 @@
[[package]]
name = "aws-smithy-async"
-version = "0.55.2"
+version = "0.55.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ae23b9fe7a07d0919000116c4c5c0578303fbce6fc8d32efca1f7759d4c20faf"
+checksum = "13bda3996044c202d75b91afeb11a9afae9db9a721c6a7a427410018e286b880"
dependencies = [
"futures-util",
"pin-project-lite",
@@ -473,9 +514,9 @@
[[package]]
name = "aws-smithy-client"
-version = "0.55.2"
+version = "0.55.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5230d25d244a51339273b8870f0f77874cd4449fb4f8f629b21188ae10cfc0ba"
+checksum = "0a86aa6e21e86c4252ad6a0e3e74da9617295d8d6e374d552be7d3059c41cedd"
dependencies = [
"aws-smithy-async",
"aws-smithy-http",
@@ -489,7 +530,7 @@
"hyper-rustls",
"lazy_static",
"pin-project-lite",
- "rustls 0.20.8",
+ "rustls 0.20.9",
"tokio",
"tower",
"tracing",
@@ -497,9 +538,9 @@
[[package]]
name = "aws-smithy-http"
-version = "0.55.2"
+version = "0.55.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b60e2133beb9fe6ffe0b70deca57aaeff0a35ad24a9c6fab2fd3b4f45b99fdb5"
+checksum = "2b3b693869133551f135e1f2c77cb0b8277d9e3e17feaf2213f735857c4f0d28"
dependencies = [
"aws-smithy-types",
"bytes",
@@ -519,9 +560,9 @@
[[package]]
name = "aws-smithy-http-tower"
-version = "0.55.2"
+version = "0.55.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3a4d94f556c86a0dd916a5d7c39747157ea8cb909ca469703e20fee33e448b67"
+checksum = "3ae4f6c5798a247fac98a867698197d9ac22643596dc3777f0c76b91917616b9"
dependencies = [
"aws-smithy-http",
"aws-smithy-types",
@@ -535,18 +576,18 @@
[[package]]
name = "aws-smithy-json"
-version = "0.55.2"
+version = "0.55.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5ce3d6e6ebb00b2cce379f079ad5ec508f9bcc3a9510d9b9c1840ed1d6f8af39"
+checksum = "23f9f42fbfa96d095194a632fbac19f60077748eba536eb0b9fecc28659807f8"
dependencies = [
"aws-smithy-types",
]
[[package]]
name = "aws-smithy-query"
-version = "0.55.2"
+version = "0.55.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d58edfca32ef9bfbc1ca394599e17ea329cb52d6a07359827be74235b64b3298"
+checksum = "98819eb0b04020a1c791903533b638534ae6c12e2aceda3e6e6fba015608d51d"
dependencies = [
"aws-smithy-types",
"urlencoding",
@@ -554,9 +595,9 @@
[[package]]
name = "aws-smithy-types"
-version = "0.55.2"
+version = "0.55.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "58db46fc1f4f26be01ebdb821751b4e2482cd43aa2b64a0348fb89762defaffa"
+checksum = "16a3d0bf4f324f4ef9793b86a1701d9700fbcdbd12a846da45eed104c634c6e8"
dependencies = [
"base64-simd",
"itoa",
@@ -567,18 +608,18 @@
[[package]]
name = "aws-smithy-xml"
-version = "0.55.2"
+version = "0.55.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fb557fe4995bd9ec87fb244bbb254666a971dc902a783e9da8b7711610e9664c"
+checksum = "b1b9d12875731bd07e767be7baad95700c3137b56730ec9ddeedb52a5e5ca63b"
dependencies = [
"xmlparser",
]
[[package]]
name = "aws-types"
-version = "0.55.2"
+version = "0.55.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "de0869598bfe46ec44ffe17e063ed33336e59df90356ca8ff0e8da6f7c1d994b"
+checksum = "6dd209616cc8d7bfb82f87811a5c655dc97537f592689b18743bddf5dc5c4829"
dependencies = [
"aws-credential-types",
"aws-smithy-async",
@@ -635,6 +676,21 @@
"tower-service",
]
+[[package]]
+name = "backtrace"
+version = "0.3.69"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837"
+dependencies = [
+ "addr2line",
+ "cc",
+ "cfg-if",
+ "libc",
+ "miniz_oxide",
+ "object",
+ "rustc-demangle",
+]
+
[[package]]
name = "base64"
version = "0.13.1"
@@ -716,9 +772,9 @@
[[package]]
name = "bytes-utils"
-version = "0.1.3"
+version = "0.1.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e47d3a8076e283f3acd27400535992edb3ba4b5bb72f8891ad8fbe7932a7d4b9"
+checksum = "7dafe3a8757b027e2be6e4e5601ed563c55989fcf1546e933c66c8eb3a058d35"
dependencies = [
"bytes",
"either",
@@ -817,6 +873,26 @@
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7"
+[[package]]
+name = "comm-lib"
+version = "0.1.0"
+dependencies = [
+ "anyhow",
+ "aws-config",
+ "aws-sdk-dynamodb",
+ "aws-sdk-secretsmanager",
+ "base64 0.21.0",
+ "chrono",
+ "constant_time_eq",
+ "derive_more",
+ "grpc_clients",
+ "rand",
+ "serde",
+ "serde_json",
+ "tokio",
+ "tracing",
+]
+
[[package]]
name = "concurrent-queue"
version = "2.2.0"
@@ -826,6 +902,12 @@
"crossbeam-utils",
]
+[[package]]
+name = "constant_time_eq"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f7144d30dcf0fafbce74250a3963025d8d52177934239851c917d29f1df280c2"
+
[[package]]
name = "convert_case"
version = "0.4.0"
@@ -888,6 +970,12 @@
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c2e66c9d817f1720209181c316d28635c050fa304f9c79e47a520882661b7308"
+[[package]]
+name = "deranged"
+version = "0.3.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8eb30d70a07a3b04884d2677f06bec33509dc67ca60d92949e5535352d3191dc"
+
[[package]]
name = "derive_more"
version = "0.99.17"
@@ -1106,6 +1194,12 @@
"wasi",
]
+[[package]]
+name = "gimli"
+version = "0.28.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253"
+
[[package]]
name = "grpc_clients"
version = "0.1.0"
@@ -1230,7 +1324,7 @@
"httpdate",
"itoa",
"pin-project-lite",
- "socket2",
+ "socket2 0.4.9",
"tokio",
"tower-service",
"tracing",
@@ -1246,7 +1340,7 @@
"http",
"hyper",
"log",
- "rustls 0.20.8",
+ "rustls 0.20.9",
"rustls-native-certs",
"tokio",
"tokio-rustls 0.23.4",
@@ -1273,8 +1367,8 @@
"hyper",
"pin-project-lite",
"tokio",
- "tokio-tungstenite 0.20.0",
- "tungstenite 0.20.0",
+ "tokio-tungstenite",
+ "tungstenite",
]
[[package]]
@@ -1416,9 +1510,9 @@
[[package]]
name = "libc"
-version = "0.2.142"
+version = "0.2.151"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6a987beff54b60ffa6d51982e1aa1146bc42f19bd26be28b0586f252fccf5317"
+checksum = "302d7ab3130588088d277783b1e2d2e10c9e9e4a16dd9050e6ec93fb3e7048f4"
[[package]]
name = "linux-raw-sys"
@@ -1478,16 +1572,24 @@
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
+[[package]]
+name = "miniz_oxide"
+version = "0.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7"
+dependencies = [
+ "adler",
+]
+
[[package]]
name = "mio"
-version = "0.8.6"
+version = "0.8.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5b9d9a46eff5b4ff64b45a9e316a6d1e0bc719ef429cbec4dc630684212bfdf9"
+checksum = "8f3d0b296e374a4e6f3c7b0a1f5a51d748a0d34c85e7dc48fc3fa9a87657fe09"
dependencies = [
"libc",
- "log",
"wasi",
- "windows-sys 0.45.0",
+ "windows-sys 0.48.0",
]
[[package]]
@@ -1545,6 +1647,15 @@
"libc",
]
+[[package]]
+name = "object"
+version = "0.32.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9cf5f9dd3933bd50a9e1f149ec995f39ae2c496d31fd772c1fd45ebc27e902b0"
+dependencies = [
+ "memchr",
+]
+
[[package]]
name = "once_cell"
version = "1.17.1"
@@ -1709,9 +1820,9 @@
[[package]]
name = "proc-macro2"
-version = "1.0.56"
+version = "1.0.71"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2b63bdb0cd06f1f4dedf69b254734f9b45af66e4a031e42a7480257d9898b435"
+checksum = "75cb1540fadbd5b8fbccc4dddad2734eba435053f725621c070711a14bb5f4b8"
dependencies = [
"unicode-ident",
]
@@ -1889,11 +2000,31 @@
"libc",
"once_cell",
"spin 0.5.2",
- "untrusted",
+ "untrusted 0.7.1",
"web-sys",
"winapi",
]
+[[package]]
+name = "ring"
+version = "0.17.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9babe80d5c16becf6594aa32ad2be8fe08498e7ae60b77de8df700e67f191d7e"
+dependencies = [
+ "cc",
+ "getrandom",
+ "libc",
+ "spin 0.9.8",
+ "untrusted 0.9.0",
+ "windows-sys 0.48.0",
+]
+
+[[package]]
+name = "rustc-demangle"
+version = "0.1.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76"
+
[[package]]
name = "rustc_version"
version = "0.4.0"
@@ -1919,12 +2050,12 @@
[[package]]
name = "rustls"
-version = "0.20.8"
+version = "0.20.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fff78fc74d175294f4e83b28343315ffcfb114b156f0185e9741cb5570f50e2f"
+checksum = "1b80e3dec595989ea8510028f30c408a4630db12c9cbb8de34203b89d6577e99"
dependencies = [
"log",
- "ring",
+ "ring 0.16.20",
"sct",
"webpki",
]
@@ -1936,7 +2067,7 @@
checksum = "c911ba11bc8433e811ce56fde130ccf32f5127cab0e0194e9c68c5a5b671791e"
dependencies = [
"log",
- "ring",
+ "ring 0.16.20",
"rustls-webpki",
"sct",
]
@@ -1980,8 +2111,8 @@
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e98ff011474fa39949b7e5c0428f9b4937eda7da7848bbb947786b7be0b27dab"
dependencies = [
- "ring",
- "untrusted",
+ "ring 0.16.20",
+ "untrusted 0.7.1",
]
[[package]]
@@ -2017,8 +2148,8 @@
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4"
dependencies = [
- "ring",
- "untrusted",
+ "ring 0.16.20",
+ "untrusted 0.7.1",
]
[[package]]
@@ -2137,6 +2268,16 @@
"winapi",
]
+[[package]]
+name = "socket2"
+version = "0.5.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9"
+dependencies = [
+ "libc",
+ "windows-sys 0.48.0",
+]
+
[[package]]
name = "spin"
version = "0.5.2"
@@ -2249,10 +2390,11 @@
[[package]]
name = "time"
-version = "0.3.20"
+version = "0.3.26"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cd0cbfecb4d19b5ea75bb31ad904eb5b9fa13f21079c3b92017ebdf4999a5890"
+checksum = "a79d09ac6b08c1ab3906a2f7cc2e81a0e27c7ae89c63812df75e52bef0751e07"
dependencies = [
+ "deranged",
"serde",
"time-core",
"time-macros",
@@ -2260,15 +2402,15 @@
[[package]]
name = "time-core"
-version = "0.1.0"
+version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2e153e1f1acaef8acc537e68b44906d2db6436e2b35ac2c6b42640fff91f00fd"
+checksum = "7300fbefb4dadc1af235a9cef3737cea692a9d97e1b9cbcd4ebdae6f8868e6fb"
[[package]]
name = "time-macros"
-version = "0.2.8"
+version = "0.2.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fd80a657e71da814b8e5d60d3374fc6d35045062245d80224748ae522dd76f36"
+checksum = "75c65469ed6b3a4809d987a41eb1dc918e9bc1d92211cbad7ae82931846f7451"
dependencies = [
"time-core",
]
@@ -2290,17 +2432,17 @@
[[package]]
name = "tokio"
-version = "1.28.0"
+version = "1.35.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c3c786bf8134e5a3a166db9b29ab8f48134739014a3eca7bc6bfa95d673b136f"
+checksum = "c89b4efa943be685f629b149f53829423f8f5531ea21249408e8e2f8671ec104"
dependencies = [
- "autocfg",
+ "backtrace",
"bytes",
"libc",
"mio",
"num_cpus",
"pin-project-lite",
- "socket2",
+ "socket2 0.5.5",
"tokio-macros",
"windows-sys 0.48.0",
]
@@ -2317,9 +2459,9 @@
[[package]]
name = "tokio-macros"
-version = "2.1.0"
+version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e"
+checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b"
dependencies = [
"proc-macro2",
"quote",
@@ -2332,7 +2474,7 @@
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c43ee83903113e03984cb9e5cebe6c04a5116269e900e3ddba8f068a62adda59"
dependencies = [
- "rustls 0.20.8",
+ "rustls 0.20.9",
"tokio",
"webpki",
]
@@ -2358,18 +2500,6 @@
"tokio",
]
-[[package]]
-name = "tokio-tungstenite"
-version = "0.18.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "54319c93411147bced34cb5609a80e0a8e44c5999c93903a81cd866630ec0bfd"
-dependencies = [
- "futures-util",
- "log",
- "tokio",
- "tungstenite 0.18.0",
-]
-
[[package]]
name = "tokio-tungstenite"
version = "0.20.0"
@@ -2379,7 +2509,7 @@
"futures-util",
"log",
"tokio",
- "tungstenite 0.20.0",
+ "tungstenite",
]
[[package]]
@@ -2597,25 +2727,6 @@
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed"
-[[package]]
-name = "tungstenite"
-version = "0.18.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "30ee6ab729cd4cf0fd55218530c4522ed30b7b6081752839b68fcec8d0960788"
-dependencies = [
- "base64 0.13.1",
- "byteorder",
- "bytes",
- "http",
- "httparse",
- "log",
- "rand",
- "sha1",
- "thiserror",
- "url",
- "utf-8",
-]
-
[[package]]
name = "tungstenite"
version = "0.20.0"
@@ -2640,10 +2751,9 @@
version = "0.5.0"
dependencies = [
"anyhow",
- "aws-config",
- "aws-sdk-dynamodb",
"chrono",
"clap",
+ "comm-lib",
"derive_more",
"futures-util",
"grpc_clients",
@@ -2654,7 +2764,6 @@
"prost",
"serde_json",
"tokio",
- "tokio-tungstenite 0.18.0",
"tonic 0.8.3",
"tonic-build 0.8.4",
"tracing",
@@ -2704,6 +2813,12 @@
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a"
+[[package]]
+name = "untrusted"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1"
+
[[package]]
name = "url"
version = "2.3.1"
@@ -2717,9 +2832,9 @@
[[package]]
name = "urlencoding"
-version = "2.1.2"
+version = "2.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e8db7427f936968176eaa7cdf81b7f98b980b18495ec28f1b5791ac3bfe3eea9"
+checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da"
[[package]]
name = "utf-8"
@@ -2848,12 +2963,12 @@
[[package]]
name = "webpki"
-version = "0.22.1"
+version = "0.22.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f0e74f82d49d545ad128049b7e88f6576df2da6b02e9ce565c6f533be576957e"
+checksum = "ed63aea5ce73d0ff405984102c42de94fc55a6b75765d621c65262469b3c9b53"
dependencies = [
- "ring",
- "untrusted",
+ "ring 0.17.3",
+ "untrusted 0.9.0",
]
[[package]]
@@ -3056,9 +3171,9 @@
[[package]]
name = "xmlparser"
-version = "0.13.5"
+version = "0.13.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4d25c75bf9ea12c4040a97f829154768bbbce366287e2dc044af160cd79a13fd"
+checksum = "66fee0b777b0f5ac1c69bb06d361268faafa61cd4682ae064a171c16c433e9e4"
[[package]]
name = "yasna"
@@ -3068,6 +3183,6 @@
[[package]]
name = "zeroize"
-version = "1.6.0"
+version = "1.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2a0956f1ba7c7909bfb66c2e9e4124ab6f6482560f6628b5aaeba39207c9aad9"
+checksum = "525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d"
diff --git a/services/tunnelbroker/Cargo.toml b/services/tunnelbroker/Cargo.toml
--- a/services/tunnelbroker/Cargo.toml
+++ b/services/tunnelbroker/Cargo.toml
@@ -9,9 +9,8 @@
[dependencies]
anyhow = "1.0"
-aws-config = "0.55"
-aws-sdk-dynamodb = "0.27"
clap = { version = "4.2", features = ["derive", "env"] }
+comm-lib = { path = "../../shared/comm-lib", features = ["aws"] }
futures-util = "0.3"
grpc_clients = { path = "../../shared/grpc_clients" }
hyper = "0.14"
@@ -19,8 +18,7 @@
once_cell = "1.17"
prost = "0.11"
serde_json = "1.0"
-tokio = { version = "1.24", features = ["rt-multi-thread"]}
-tokio-tungstenite = { version = "0.18.0", features = [ ] }
+tokio = { version = "1.24", features = ["rt-multi-thread"] }
tonic = "0.8"
tracing = "0.1"
tracing-subscriber = { version = "0.3.16", features = ["env-filter"] }
diff --git a/services/tunnelbroker/src/config.rs b/services/tunnelbroker/src/config.rs
--- a/services/tunnelbroker/src/config.rs
+++ b/services/tunnelbroker/src/config.rs
@@ -1,6 +1,7 @@
use crate::constants;
use anyhow::{ensure, Result};
use clap::Parser;
+use comm_lib::aws;
use once_cell::sync::Lazy;
use tracing::info;
@@ -47,8 +48,8 @@
}
/// Provides region/credentials configuration for AWS SDKs
-pub async fn load_aws_config() -> aws_config::SdkConfig {
- let mut config_builder = aws_config::from_env();
+pub async fn load_aws_config() -> aws::AwsConfig {
+ let mut config_builder = aws::config::from_env();
if let Some(endpoint) = &CONFIG.localstack_endpoint {
info!("Using localstack URL: {}", endpoint);
diff --git a/services/tunnelbroker/src/database/message.rs b/services/tunnelbroker/src/database/message.rs
--- a/services/tunnelbroker/src/database/message.rs
+++ b/services/tunnelbroker/src/database/message.rs
@@ -1,6 +1,4 @@
-use std::collections::HashMap;
-
-use aws_sdk_dynamodb::types::AttributeValue;
+use comm_lib::database::{AttributeExtractor, AttributeMap, DBItemError};
use tunnelbroker_messages::MessageToDevice;
use crate::constants::dynamodb::undelivered_messages::{
@@ -12,34 +10,26 @@
SerializationError,
}
+impl From<DBItemError> for MessageErrors {
+ fn from(err: DBItemError) -> Self {
+ tracing::error!("Failed to extract MessageToDevice attribute: {:?}", err);
+ MessageErrors::SerializationError
+ }
+}
+
pub trait MessageToDeviceExt {
fn from_hashmap(
- hashmap: HashMap<String, AttributeValue>,
+ hashmap: AttributeMap,
) -> Result<MessageToDevice, MessageErrors>;
}
impl MessageToDeviceExt for MessageToDevice {
fn from_hashmap(
- hashmap: HashMap<String, AttributeValue>,
+ mut hashmap: AttributeMap,
) -> Result<MessageToDevice, MessageErrors> {
- let device_id: String = hashmap
- .get(DEVICE_ID)
- .ok_or(MessageErrors::SerializationError)?
- .as_s()
- .map_err(|_| MessageErrors::SerializationError)?
- .to_string();
- let message_id: String = hashmap
- .get(MESSAGE_ID)
- .ok_or(MessageErrors::SerializationError)?
- .as_s()
- .map_err(|_| MessageErrors::SerializationError)?
- .to_string();
- let payload: String = hashmap
- .get(PAYLOAD)
- .ok_or(MessageErrors::SerializationError)?
- .as_s()
- .map_err(|_| MessageErrors::SerializationError)?
- .to_string();
+ let device_id: String = hashmap.take_attr(DEVICE_ID)?;
+ let message_id: String = hashmap.take_attr(MESSAGE_ID)?;
+ let payload: String = hashmap.take_attr(PAYLOAD)?;
Ok(MessageToDevice {
device_id,
diff --git a/services/tunnelbroker/src/database/mod.rs b/services/tunnelbroker/src/database/mod.rs
--- a/services/tunnelbroker/src/database/mod.rs
+++ b/services/tunnelbroker/src/database/mod.rs
@@ -1,11 +1,12 @@
-use aws_config::SdkConfig;
-use aws_sdk_dynamodb::error::SdkError;
-use aws_sdk_dynamodb::operation::delete_item::{
+use comm_lib::aws::ddb::error::SdkError;
+use comm_lib::aws::ddb::operation::delete_item::{
DeleteItemError, DeleteItemOutput,
};
-use aws_sdk_dynamodb::operation::put_item::PutItemError;
-use aws_sdk_dynamodb::operation::query::QueryError;
-use aws_sdk_dynamodb::{types::AttributeValue, Client};
+use comm_lib::aws::ddb::operation::put_item::PutItemError;
+use comm_lib::aws::ddb::operation::query::QueryError;
+use comm_lib::aws::ddb::types::AttributeValue;
+use comm_lib::aws::{AwsConfig, DynamoDBClient};
+use comm_lib::database::AttributeMap;
use std::collections::HashMap;
use std::sync::Arc;
use tracing::{debug, error};
@@ -22,7 +23,7 @@
#[derive(Clone)]
pub struct DatabaseClient {
- client: Arc<Client>,
+ client: Arc<DynamoDBClient>,
}
pub fn handle_ddb_error<E>(db_error: SdkError<E>) -> tonic::Status {
@@ -38,8 +39,8 @@
}
impl DatabaseClient {
- pub fn new(aws_config: &SdkConfig) -> Self {
- let client = Client::new(aws_config);
+ pub fn new(aws_config: &AwsConfig) -> Self {
+ let client = DynamoDBClient::new(aws_config);
DatabaseClient {
client: Arc::new(client),
@@ -76,7 +77,7 @@
pub async fn retrieve_messages(
&self,
device_id: &str,
- ) -> Result<Vec<HashMap<String, AttributeValue>>, SdkError<QueryError>> {
+ ) -> Result<Vec<AttributeMap>, SdkError<QueryError>> {
debug!("Retrieving messages for device: {}", device_id);
let response = self
diff --git a/services/tunnelbroker/src/websockets/session.rs b/services/tunnelbroker/src/websockets/session.rs
--- a/services/tunnelbroker/src/websockets/session.rs
+++ b/services/tunnelbroker/src/websockets/session.rs
@@ -2,8 +2,8 @@
CLIENT_RMQ_MSG_PRIORITY, DDB_RMQ_MSG_PRIORITY, MAX_RMQ_MSG_PRIORITY,
RMQ_CONSUMER_TAG,
};
-use aws_sdk_dynamodb::error::SdkError;
-use aws_sdk_dynamodb::operation::put_item::PutItemError;
+use comm_lib::aws::ddb::error::SdkError;
+use comm_lib::aws::ddb::operation::put_item::PutItemError;
use derive_more;
use futures_util::stream::SplitSink;
use futures_util::SinkExt;
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Sat, Dec 21, 8:38 AM (20 h, 33 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
2687106
Default Alt Text
D10444.diff (26 KB)
Attached To
Mode
D10444: [services] Use comm-lib aws in Tunnelbroker
Attached
Detach File
Event Timeline
Log In to Comment