aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Cargo.lock1609
-rw-r--r--README.md43
-rw-r--r--docs/man/gitolfs3-shell.18
-rw-r--r--flake.lock66
-rw-r--r--flake.nix14
-rw-r--r--gitolfs3-authenticate/Cargo.toml2
-rw-r--r--gitolfs3-authenticate/src/main.rs8
-rw-r--r--gitolfs3-common/Cargo.toml4
-rw-r--r--gitolfs3-common/src/lib.rs16
-rw-r--r--gitolfs3-server/Cargo.toml14
-rw-r--r--gitolfs3-server/src/api.rs28
-rw-r--r--gitolfs3-server/src/authz.rs4
-rw-r--r--gitolfs3-server/src/config.rs20
-rw-r--r--gitolfs3-server/src/handler.rs101
-rw-r--r--gitolfs3-server/src/main.rs6
-rw-r--r--gitolfs3-shell/Cargo.toml2
16 files changed, 1105 insertions, 840 deletions
diff --git a/Cargo.lock b/Cargo.lock
index 00f856e..d7f401e 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -1,54 +1,21 @@
1# This file is automatically @generated by Cargo. 1# This file is automatically @generated by Cargo.
2# It is not intended for manual editing. 2# It is not intended for manual editing.
3version = 3 3version = 4
4
5[[package]]
6name = "addr2line"
7version = "0.21.0"
8source = "registry+https://github.com/rust-lang/crates.io-index"
9checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb"
10dependencies = [
11 "gimli",
12]
13
14[[package]]
15name = "adler"
16version = "1.0.2"
17source = "registry+https://github.com/rust-lang/crates.io-index"
18checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
19
20[[package]]
21name = "ahash"
22version = "0.8.11"
23source = "registry+https://github.com/rust-lang/crates.io-index"
24checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011"
25dependencies = [
26 "cfg-if",
27 "once_cell",
28 "version_check",
29 "zerocopy",
30]
31 4
32[[package]] 5[[package]]
33name = "aho-corasick" 6name = "aho-corasick"
34version = "1.1.3" 7version = "1.1.4"
35source = "registry+https://github.com/rust-lang/crates.io-index" 8source = "registry+https://github.com/rust-lang/crates.io-index"
36checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" 9checksum = "ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301"
37dependencies = [ 10dependencies = [
38 "memchr", 11 "memchr",
39] 12]
40 13
41[[package]] 14[[package]]
42name = "allocator-api2" 15name = "allocator-api2"
43version = "0.2.18" 16version = "0.2.21"
44source = "registry+https://github.com/rust-lang/crates.io-index" 17source = "registry+https://github.com/rust-lang/crates.io-index"
45checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f" 18checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923"
46
47[[package]]
48name = "android-tzdata"
49version = "0.1.1"
50source = "registry+https://github.com/rust-lang/crates.io-index"
51checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0"
52 19
53[[package]] 20[[package]]
54name = "android_system_properties" 21name = "android_system_properties"
@@ -61,32 +28,27 @@ dependencies = [
61 28
62[[package]] 29[[package]]
63name = "anyhow" 30name = "anyhow"
64version = "1.0.82" 31version = "1.0.102"
65source = "registry+https://github.com/rust-lang/crates.io-index" 32source = "registry+https://github.com/rust-lang/crates.io-index"
66checksum = "f538837af36e6f6a9be0faa67f9a314f8119e4e4b5867c6ab40ed60360142519" 33checksum = "7f202df86484c868dbad7eaa557ef785d5c66295e41b460ef922eca0723b842c"
67 34
68[[package]] 35[[package]]
69name = "async-trait" 36name = "atomic-waker"
70version = "0.1.80" 37version = "1.1.2"
71source = "registry+https://github.com/rust-lang/crates.io-index" 38source = "registry+https://github.com/rust-lang/crates.io-index"
72checksum = "c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca" 39checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0"
73dependencies = [
74 "proc-macro2",
75 "quote",
76 "syn",
77]
78 40
79[[package]] 41[[package]]
80name = "autocfg" 42name = "autocfg"
81version = "1.2.0" 43version = "1.5.0"
82source = "registry+https://github.com/rust-lang/crates.io-index" 44source = "registry+https://github.com/rust-lang/crates.io-index"
83checksum = "f1fdabc7756949593fe60f30ec81974b613357de856987752631dea1e3394c80" 45checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8"
84 46
85[[package]] 47[[package]]
86name = "aws-config" 48name = "aws-config"
87version = "1.2.1" 49version = "1.8.15"
88source = "registry+https://github.com/rust-lang/crates.io-index" 50source = "registry+https://github.com/rust-lang/crates.io-index"
89checksum = "b2a4707646259764ab59fd9a50e9de2e92c637b28b36285d6f6fa030e915fbd9" 51checksum = "11493b0bad143270fb8ad284a096dd529ba91924c5409adeac856cc1bf047dbc"
90dependencies = [ 52dependencies = [
91 "aws-credential-types", 53 "aws-credential-types",
92 "aws-runtime", 54 "aws-runtime",
@@ -103,9 +65,8 @@ dependencies = [
103 "bytes", 65 "bytes",
104 "fastrand", 66 "fastrand",
105 "hex", 67 "hex",
106 "http 0.2.12", 68 "http 1.4.0",
107 "hyper 0.14.28", 69 "sha1",
108 "ring",
109 "time", 70 "time",
110 "tokio", 71 "tokio",
111 "tracing", 72 "tracing",
@@ -115,9 +76,9 @@ dependencies = [
115 76
116[[package]] 77[[package]]
117name = "aws-credential-types" 78name = "aws-credential-types"
118version = "1.2.0" 79version = "1.2.14"
119source = "registry+https://github.com/rust-lang/crates.io-index" 80source = "registry+https://github.com/rust-lang/crates.io-index"
120checksum = "e16838e6c9e12125face1c1eff1343c75e3ff540de98ff7ebd61874a89bcfeb9" 81checksum = "8f20799b373a1be121fe3005fba0c2090af9411573878f224df44b42727fcaf7"
121dependencies = [ 82dependencies = [
122 "aws-smithy-async", 83 "aws-smithy-async",
123 "aws-smithy-runtime-api", 84 "aws-smithy-runtime-api",
@@ -126,23 +87,49 @@ dependencies = [
126] 87]
127 88
128[[package]] 89[[package]]
90name = "aws-lc-rs"
91version = "1.16.2"
92source = "registry+https://github.com/rust-lang/crates.io-index"
93checksum = "a054912289d18629dc78375ba2c3726a3afe3ff71b4edba9dedfca0e3446d1fc"
94dependencies = [
95 "aws-lc-sys",
96 "zeroize",
97]
98
99[[package]]
100name = "aws-lc-sys"
101version = "0.39.1"
102source = "registry+https://github.com/rust-lang/crates.io-index"
103checksum = "83a25cf98105baa966497416dbd42565ce3a8cf8dbfd59803ec9ad46f3126399"
104dependencies = [
105 "cc",
106 "cmake",
107 "dunce",
108 "fs_extra",
109]
110
111[[package]]
129name = "aws-runtime" 112name = "aws-runtime"
130version = "1.2.0" 113version = "1.7.2"
131source = "registry+https://github.com/rust-lang/crates.io-index" 114source = "registry+https://github.com/rust-lang/crates.io-index"
132checksum = "f4963ac9ff2d33a4231b3806c1c69f578f221a9cabb89ad2bde62ce2b442c8a7" 115checksum = "5fc0651c57e384202e47153c1260b84a9936e19803d747615edf199dc3b98d17"
133dependencies = [ 116dependencies = [
134 "aws-credential-types", 117 "aws-credential-types",
135 "aws-sigv4", 118 "aws-sigv4",
136 "aws-smithy-async", 119 "aws-smithy-async",
137 "aws-smithy-eventstream", 120 "aws-smithy-eventstream",
138 "aws-smithy-http", 121 "aws-smithy-http",
122 "aws-smithy-runtime",
139 "aws-smithy-runtime-api", 123 "aws-smithy-runtime-api",
140 "aws-smithy-types", 124 "aws-smithy-types",
141 "aws-types", 125 "aws-types",
142 "bytes", 126 "bytes",
127 "bytes-utils",
143 "fastrand", 128 "fastrand",
144 "http 0.2.12", 129 "http 0.2.12",
130 "http 1.4.0",
145 "http-body 0.4.6", 131 "http-body 0.4.6",
132 "http-body 1.0.1",
146 "percent-encoding", 133 "percent-encoding",
147 "pin-project-lite", 134 "pin-project-lite",
148 "tracing", 135 "tracing",
@@ -151,11 +138,10 @@ dependencies = [
151 138
152[[package]] 139[[package]]
153name = "aws-sdk-s3" 140name = "aws-sdk-s3"
154version = "1.24.0" 141version = "1.129.0"
155source = "registry+https://github.com/rust-lang/crates.io-index" 142source = "registry+https://github.com/rust-lang/crates.io-index"
156checksum = "7f522b68eb0294c59f7beb0defa30e84fed24ebc50ee219e111d6c33eaea96a8" 143checksum = "6d4e8410fadbc0ee453145dd77a4958227b18b05bf67c2795d0a8b8596c9aa0f"
157dependencies = [ 144dependencies = [
158 "ahash",
159 "aws-credential-types", 145 "aws-credential-types",
160 "aws-runtime", 146 "aws-runtime",
161 "aws-sigv4", 147 "aws-sigv4",
@@ -164,6 +150,7 @@ dependencies = [
164 "aws-smithy-eventstream", 150 "aws-smithy-eventstream",
165 "aws-smithy-http", 151 "aws-smithy-http",
166 "aws-smithy-json", 152 "aws-smithy-json",
153 "aws-smithy-observability",
167 "aws-smithy-runtime", 154 "aws-smithy-runtime",
168 "aws-smithy-runtime-api", 155 "aws-smithy-runtime-api",
169 "aws-smithy-types", 156 "aws-smithy-types",
@@ -174,9 +161,9 @@ dependencies = [
174 "hex", 161 "hex",
175 "hmac", 162 "hmac",
176 "http 0.2.12", 163 "http 0.2.12",
177 "http-body 0.4.6", 164 "http 1.4.0",
165 "http-body 1.0.1",
178 "lru", 166 "lru",
179 "once_cell",
180 "percent-encoding", 167 "percent-encoding",
181 "regex-lite", 168 "regex-lite",
182 "sha2", 169 "sha2",
@@ -186,76 +173,82 @@ dependencies = [
186 173
187[[package]] 174[[package]]
188name = "aws-sdk-sso" 175name = "aws-sdk-sso"
189version = "1.21.0" 176version = "1.97.0"
190source = "registry+https://github.com/rust-lang/crates.io-index" 177source = "registry+https://github.com/rust-lang/crates.io-index"
191checksum = "3d70fb493f4183f5102d8a8d0cc9b57aec29a762f55c0e7bf527e0f7177bb408" 178checksum = "9aadc669e184501caaa6beafb28c6267fc1baef0810fb58f9b205485ca3f2567"
192dependencies = [ 179dependencies = [
193 "aws-credential-types", 180 "aws-credential-types",
194 "aws-runtime", 181 "aws-runtime",
195 "aws-smithy-async", 182 "aws-smithy-async",
196 "aws-smithy-http", 183 "aws-smithy-http",
197 "aws-smithy-json", 184 "aws-smithy-json",
185 "aws-smithy-observability",
198 "aws-smithy-runtime", 186 "aws-smithy-runtime",
199 "aws-smithy-runtime-api", 187 "aws-smithy-runtime-api",
200 "aws-smithy-types", 188 "aws-smithy-types",
201 "aws-types", 189 "aws-types",
202 "bytes", 190 "bytes",
191 "fastrand",
203 "http 0.2.12", 192 "http 0.2.12",
204 "once_cell", 193 "http 1.4.0",
205 "regex-lite", 194 "regex-lite",
206 "tracing", 195 "tracing",
207] 196]
208 197
209[[package]] 198[[package]]
210name = "aws-sdk-ssooidc" 199name = "aws-sdk-ssooidc"
211version = "1.21.0" 200version = "1.99.0"
212source = "registry+https://github.com/rust-lang/crates.io-index" 201source = "registry+https://github.com/rust-lang/crates.io-index"
213checksum = "de3f37549b3e38b7ea5efd419d4d7add6ea1e55223506eb0b4fef9d25e7cc90d" 202checksum = "1342a7db8f358d3de0aed2007a0b54e875458e39848d54cc1d46700b2bfcb0a8"
214dependencies = [ 203dependencies = [
215 "aws-credential-types", 204 "aws-credential-types",
216 "aws-runtime", 205 "aws-runtime",
217 "aws-smithy-async", 206 "aws-smithy-async",
218 "aws-smithy-http", 207 "aws-smithy-http",
219 "aws-smithy-json", 208 "aws-smithy-json",
209 "aws-smithy-observability",
220 "aws-smithy-runtime", 210 "aws-smithy-runtime",
221 "aws-smithy-runtime-api", 211 "aws-smithy-runtime-api",
222 "aws-smithy-types", 212 "aws-smithy-types",
223 "aws-types", 213 "aws-types",
224 "bytes", 214 "bytes",
215 "fastrand",
225 "http 0.2.12", 216 "http 0.2.12",
226 "once_cell", 217 "http 1.4.0",
227 "regex-lite", 218 "regex-lite",
228 "tracing", 219 "tracing",
229] 220]
230 221
231[[package]] 222[[package]]
232name = "aws-sdk-sts" 223name = "aws-sdk-sts"
233version = "1.21.0" 224version = "1.101.0"
234source = "registry+https://github.com/rust-lang/crates.io-index" 225source = "registry+https://github.com/rust-lang/crates.io-index"
235checksum = "3b2ff219a5d4b795cd33251c19dbe9c4b401f2b2cbe513e07c76ada644eaf34e" 226checksum = "ab41ad64e4051ecabeea802d6a17845a91e83287e1dd249e6963ea1ba78c428a"
236dependencies = [ 227dependencies = [
237 "aws-credential-types", 228 "aws-credential-types",
238 "aws-runtime", 229 "aws-runtime",
239 "aws-smithy-async", 230 "aws-smithy-async",
240 "aws-smithy-http", 231 "aws-smithy-http",
241 "aws-smithy-json", 232 "aws-smithy-json",
233 "aws-smithy-observability",
242 "aws-smithy-query", 234 "aws-smithy-query",
243 "aws-smithy-runtime", 235 "aws-smithy-runtime",
244 "aws-smithy-runtime-api", 236 "aws-smithy-runtime-api",
245 "aws-smithy-types", 237 "aws-smithy-types",
246 "aws-smithy-xml", 238 "aws-smithy-xml",
247 "aws-types", 239 "aws-types",
240 "fastrand",
248 "http 0.2.12", 241 "http 0.2.12",
249 "once_cell", 242 "http 1.4.0",
250 "regex-lite", 243 "regex-lite",
251 "tracing", 244 "tracing",
252] 245]
253 246
254[[package]] 247[[package]]
255name = "aws-sigv4" 248name = "aws-sigv4"
256version = "1.2.1" 249version = "1.4.2"
257source = "registry+https://github.com/rust-lang/crates.io-index" 250source = "registry+https://github.com/rust-lang/crates.io-index"
258checksum = "58b56f1cbe6fd4d0c2573df72868f20ab1c125ca9c9dbce17927a463433a2e57" 251checksum = "b0b660013a6683ab23797778e21f1f854744fdf05f68204b4cca4c8c04b5d1f4"
259dependencies = [ 252dependencies = [
260 "aws-credential-types", 253 "aws-credential-types",
261 "aws-smithy-eventstream", 254 "aws-smithy-eventstream",
@@ -268,8 +261,7 @@ dependencies = [
268 "hex", 261 "hex",
269 "hmac", 262 "hmac",
270 "http 0.2.12", 263 "http 0.2.12",
271 "http 1.1.0", 264 "http 1.4.0",
272 "once_cell",
273 "p256", 265 "p256",
274 "percent-encoding", 266 "percent-encoding",
275 "ring", 267 "ring",
@@ -282,9 +274,9 @@ dependencies = [
282 274
283[[package]] 275[[package]]
284name = "aws-smithy-async" 276name = "aws-smithy-async"
285version = "1.2.1" 277version = "1.2.14"
286source = "registry+https://github.com/rust-lang/crates.io-index" 278source = "registry+https://github.com/rust-lang/crates.io-index"
287checksum = "62220bc6e97f946ddd51b5f1361f78996e704677afc518a4ff66b7a72ea1378c" 279checksum = "2ffcaf626bdda484571968400c326a244598634dc75fd451325a54ad1a59acfc"
288dependencies = [ 280dependencies = [
289 "futures-util", 281 "futures-util",
290 "pin-project-lite", 282 "pin-project-lite",
@@ -293,18 +285,18 @@ dependencies = [
293 285
294[[package]] 286[[package]]
295name = "aws-smithy-checksums" 287name = "aws-smithy-checksums"
296version = "0.60.7" 288version = "0.64.6"
297source = "registry+https://github.com/rust-lang/crates.io-index" 289source = "registry+https://github.com/rust-lang/crates.io-index"
298checksum = "83fa43bc04a6b2441968faeab56e68da3812f978a670a5db32accbdcafddd12f" 290checksum = "6750f3dd509b0694a4377f0293ed2f9630d710b1cebe281fa8bac8f099f88bc6"
299dependencies = [ 291dependencies = [
300 "aws-smithy-http", 292 "aws-smithy-http",
301 "aws-smithy-types", 293 "aws-smithy-types",
302 "bytes", 294 "bytes",
303 "crc32c", 295 "crc-fast",
304 "crc32fast",
305 "hex", 296 "hex",
306 "http 0.2.12", 297 "http 1.4.0",
307 "http-body 0.4.6", 298 "http-body 1.0.1",
299 "http-body-util",
308 "md-5", 300 "md-5",
309 "pin-project-lite", 301 "pin-project-lite",
310 "sha1", 302 "sha1",
@@ -314,9 +306,9 @@ dependencies = [
314 306
315[[package]] 307[[package]]
316name = "aws-smithy-eventstream" 308name = "aws-smithy-eventstream"
317version = "0.60.4" 309version = "0.60.20"
318source = "registry+https://github.com/rust-lang/crates.io-index" 310source = "registry+https://github.com/rust-lang/crates.io-index"
319checksum = "e6363078f927f612b970edf9d1903ef5cef9a64d1e8423525ebb1f0a1633c858" 311checksum = "faf09d74e5e32f76b8762da505a3cd59303e367a664ca67295387baa8c1d7548"
320dependencies = [ 312dependencies = [
321 "aws-smithy-types", 313 "aws-smithy-types",
322 "bytes", 314 "bytes",
@@ -325,9 +317,9 @@ dependencies = [
325 317
326[[package]] 318[[package]]
327name = "aws-smithy-http" 319name = "aws-smithy-http"
328version = "0.60.8" 320version = "0.63.6"
329source = "registry+https://github.com/rust-lang/crates.io-index" 321source = "registry+https://github.com/rust-lang/crates.io-index"
330checksum = "4a7de001a1b9a25601016d8057ea16e31a45fdca3751304c8edf4ad72e706c08" 322checksum = "ba1ab2dc1c2c3749ead27180d333c42f11be8b0e934058fb4b2258ee8dbe5231"
331dependencies = [ 323dependencies = [
332 "aws-smithy-eventstream", 324 "aws-smithy-eventstream",
333 "aws-smithy-runtime-api", 325 "aws-smithy-runtime-api",
@@ -335,9 +327,10 @@ dependencies = [
335 "bytes", 327 "bytes",
336 "bytes-utils", 328 "bytes-utils",
337 "futures-core", 329 "futures-core",
338 "http 0.2.12", 330 "futures-util",
339 "http-body 0.4.6", 331 "http 1.4.0",
340 "once_cell", 332 "http-body 1.0.1",
333 "http-body-util",
341 "percent-encoding", 334 "percent-encoding",
342 "pin-project-lite", 335 "pin-project-lite",
343 "pin-utils", 336 "pin-utils",
@@ -345,19 +338,58 @@ dependencies = [
345] 338]
346 339
347[[package]] 340[[package]]
341name = "aws-smithy-http-client"
342version = "1.1.12"
343source = "registry+https://github.com/rust-lang/crates.io-index"
344checksum = "6a2f165a7feee6f263028b899d0a181987f4fa7179a6411a32a439fba7c5f769"
345dependencies = [
346 "aws-smithy-async",
347 "aws-smithy-runtime-api",
348 "aws-smithy-types",
349 "h2 0.3.27",
350 "h2 0.4.13",
351 "http 0.2.12",
352 "http 1.4.0",
353 "http-body 0.4.6",
354 "hyper 0.14.32",
355 "hyper 1.9.0",
356 "hyper-rustls 0.24.2",
357 "hyper-rustls 0.27.7",
358 "hyper-util",
359 "pin-project-lite",
360 "rustls 0.21.12",
361 "rustls 0.23.37",
362 "rustls-native-certs",
363 "rustls-pki-types",
364 "tokio",
365 "tokio-rustls 0.26.4",
366 "tower",
367 "tracing",
368]
369
370[[package]]
348name = "aws-smithy-json" 371name = "aws-smithy-json"
349version = "0.60.7" 372version = "0.62.5"
350source = "registry+https://github.com/rust-lang/crates.io-index" 373source = "registry+https://github.com/rust-lang/crates.io-index"
351checksum = "4683df9469ef09468dad3473d129960119a0d3593617542b7d52086c8486f2d6" 374checksum = "9648b0bb82a2eedd844052c6ad2a1a822d1f8e3adee5fbf668366717e428856a"
352dependencies = [ 375dependencies = [
353 "aws-smithy-types", 376 "aws-smithy-types",
354] 377]
355 378
356[[package]] 379[[package]]
380name = "aws-smithy-observability"
381version = "0.2.6"
382source = "registry+https://github.com/rust-lang/crates.io-index"
383checksum = "a06c2315d173edbf1920da8ba3a7189695827002e4c0fc961973ab1c54abca9c"
384dependencies = [
385 "aws-smithy-runtime-api",
386]
387
388[[package]]
357name = "aws-smithy-query" 389name = "aws-smithy-query"
358version = "0.60.7" 390version = "0.60.15"
359source = "registry+https://github.com/rust-lang/crates.io-index" 391source = "registry+https://github.com/rust-lang/crates.io-index"
360checksum = "f2fbd61ceb3fe8a1cb7352e42689cec5335833cd9f94103a61e98f9bb61c64bb" 392checksum = "1a56d79744fb3edb5d722ef79d86081e121d3b9422cb209eb03aea6aa4f21ebd"
361dependencies = [ 393dependencies = [
362 "aws-smithy-types", 394 "aws-smithy-types",
363 "urlencoding", 395 "urlencoding",
@@ -365,41 +397,40 @@ dependencies = [
365 397
366[[package]] 398[[package]]
367name = "aws-smithy-runtime" 399name = "aws-smithy-runtime"
368version = "1.3.1" 400version = "1.10.3"
369source = "registry+https://github.com/rust-lang/crates.io-index" 401source = "registry+https://github.com/rust-lang/crates.io-index"
370checksum = "44e7945379821074549168917e89e60630647e186a69243248f08c6d168b975a" 402checksum = "028999056d2d2fd58a697232f9eec4a643cf73a71cf327690a7edad1d2af2110"
371dependencies = [ 403dependencies = [
372 "aws-smithy-async", 404 "aws-smithy-async",
373 "aws-smithy-http", 405 "aws-smithy-http",
406 "aws-smithy-http-client",
407 "aws-smithy-observability",
374 "aws-smithy-runtime-api", 408 "aws-smithy-runtime-api",
375 "aws-smithy-types", 409 "aws-smithy-types",
376 "bytes", 410 "bytes",
377 "fastrand", 411 "fastrand",
378 "h2",
379 "http 0.2.12", 412 "http 0.2.12",
413 "http 1.4.0",
380 "http-body 0.4.6", 414 "http-body 0.4.6",
381 "http-body 1.0.0", 415 "http-body 1.0.1",
382 "hyper 0.14.28", 416 "http-body-util",
383 "hyper-rustls",
384 "once_cell",
385 "pin-project-lite", 417 "pin-project-lite",
386 "pin-utils", 418 "pin-utils",
387 "rustls",
388 "tokio", 419 "tokio",
389 "tracing", 420 "tracing",
390] 421]
391 422
392[[package]] 423[[package]]
393name = "aws-smithy-runtime-api" 424name = "aws-smithy-runtime-api"
394version = "1.4.0" 425version = "1.11.6"
395source = "registry+https://github.com/rust-lang/crates.io-index" 426source = "registry+https://github.com/rust-lang/crates.io-index"
396checksum = "4cc56a5c96ec741de6c5e6bf1ce6948be969d6506dfa9c39cffc284e31e4979b" 427checksum = "876ab3c9c29791ba4ba02b780a3049e21ec63dabda09268b175272c3733a79e6"
397dependencies = [ 428dependencies = [
398 "aws-smithy-async", 429 "aws-smithy-async",
399 "aws-smithy-types", 430 "aws-smithy-types",
400 "bytes", 431 "bytes",
401 "http 0.2.12", 432 "http 0.2.12",
402 "http 1.1.0", 433 "http 1.4.0",
403 "pin-project-lite", 434 "pin-project-lite",
404 "tokio", 435 "tokio",
405 "tracing", 436 "tracing",
@@ -408,18 +439,18 @@ dependencies = [
408 439
409[[package]] 440[[package]]
410name = "aws-smithy-types" 441name = "aws-smithy-types"
411version = "1.1.8" 442version = "1.4.7"
412source = "registry+https://github.com/rust-lang/crates.io-index" 443source = "registry+https://github.com/rust-lang/crates.io-index"
413checksum = "abe14dceea1e70101d38fbf2a99e6a34159477c0fb95e68e05c66bd7ae4c3729" 444checksum = "9d73dbfbaa8e4bc57b9045137680b958d274823509a360abfd8e1d514d40c95c"
414dependencies = [ 445dependencies = [
415 "base64-simd", 446 "base64-simd",
416 "bytes", 447 "bytes",
417 "bytes-utils", 448 "bytes-utils",
418 "futures-core", 449 "futures-core",
419 "http 0.2.12", 450 "http 0.2.12",
420 "http 1.1.0", 451 "http 1.4.0",
421 "http-body 0.4.6", 452 "http-body 0.4.6",
422 "http-body 1.0.0", 453 "http-body 1.0.1",
423 "http-body-util", 454 "http-body-util",
424 "itoa", 455 "itoa",
425 "num-integer", 456 "num-integer",
@@ -434,42 +465,41 @@ dependencies = [
434 465
435[[package]] 466[[package]]
436name = "aws-smithy-xml" 467name = "aws-smithy-xml"
437version = "0.60.8" 468version = "0.60.15"
438source = "registry+https://github.com/rust-lang/crates.io-index" 469source = "registry+https://github.com/rust-lang/crates.io-index"
439checksum = "d123fbc2a4adc3c301652ba8e149bf4bc1d1725affb9784eb20c953ace06bf55" 470checksum = "0ce02add1aa3677d022f8adf81dcbe3046a95f17a1b1e8979c145cd21d3d22b3"
440dependencies = [ 471dependencies = [
441 "xmlparser", 472 "xmlparser",
442] 473]
443 474
444[[package]] 475[[package]]
445name = "aws-types" 476name = "aws-types"
446version = "1.2.0" 477version = "1.3.14"
447source = "registry+https://github.com/rust-lang/crates.io-index" 478source = "registry+https://github.com/rust-lang/crates.io-index"
448checksum = "5a43b56df2c529fe44cb4d92bd64d0479883fb9608ff62daede4df5405381814" 479checksum = "47c8323699dd9b3c8d5b3c13051ae9cdef58fd179957c882f8374dd8725962d9"
449dependencies = [ 480dependencies = [
450 "aws-credential-types", 481 "aws-credential-types",
451 "aws-smithy-async", 482 "aws-smithy-async",
452 "aws-smithy-runtime-api", 483 "aws-smithy-runtime-api",
453 "aws-smithy-types", 484 "aws-smithy-types",
454 "http 0.2.12",
455 "rustc_version", 485 "rustc_version",
456 "tracing", 486 "tracing",
457] 487]
458 488
459[[package]] 489[[package]]
460name = "axum" 490name = "axum"
461version = "0.7.5" 491version = "0.8.8"
462source = "registry+https://github.com/rust-lang/crates.io-index" 492source = "registry+https://github.com/rust-lang/crates.io-index"
463checksum = "3a6c9af12842a67734c9a2e355436e5d03b22383ed60cf13cd0c18fbfe3dcbcf" 493checksum = "8b52af3cb4058c895d37317bb27508dccc8e5f2d39454016b297bf4a400597b8"
464dependencies = [ 494dependencies = [
465 "async-trait",
466 "axum-core", 495 "axum-core",
467 "bytes", 496 "bytes",
497 "form_urlencoded",
468 "futures-util", 498 "futures-util",
469 "http 1.1.0", 499 "http 1.4.0",
470 "http-body 1.0.0", 500 "http-body 1.0.1",
471 "http-body-util", 501 "http-body-util",
472 "hyper 1.3.1", 502 "hyper 1.9.0",
473 "hyper-util", 503 "hyper-util",
474 "itoa", 504 "itoa",
475 "matchit", 505 "matchit",
@@ -477,12 +507,11 @@ dependencies = [
477 "mime", 507 "mime",
478 "percent-encoding", 508 "percent-encoding",
479 "pin-project-lite", 509 "pin-project-lite",
480 "rustversion", 510 "serde_core",
481 "serde",
482 "serde_json", 511 "serde_json",
483 "serde_path_to_error", 512 "serde_path_to_error",
484 "serde_urlencoded", 513 "serde_urlencoded",
485 "sync_wrapper 1.0.1", 514 "sync_wrapper",
486 "tokio", 515 "tokio",
487 "tower", 516 "tower",
488 "tower-layer", 517 "tower-layer",
@@ -492,41 +521,24 @@ dependencies = [
492 521
493[[package]] 522[[package]]
494name = "axum-core" 523name = "axum-core"
495version = "0.4.3" 524version = "0.5.6"
496source = "registry+https://github.com/rust-lang/crates.io-index" 525source = "registry+https://github.com/rust-lang/crates.io-index"
497checksum = "a15c63fd72d41492dc4f497196f5da1fb04fb7529e631d73630d1b491e47a2e3" 526checksum = "08c78f31d7b1291f7ee735c1c6780ccde7785daae9a9206026862dab7d8792d1"
498dependencies = [ 527dependencies = [
499 "async-trait",
500 "bytes", 528 "bytes",
501 "futures-util", 529 "futures-core",
502 "http 1.1.0", 530 "http 1.4.0",
503 "http-body 1.0.0", 531 "http-body 1.0.1",
504 "http-body-util", 532 "http-body-util",
505 "mime", 533 "mime",
506 "pin-project-lite", 534 "pin-project-lite",
507 "rustversion", 535 "sync_wrapper",
508 "sync_wrapper 0.1.2",
509 "tower-layer", 536 "tower-layer",
510 "tower-service", 537 "tower-service",
511 "tracing", 538 "tracing",
512] 539]
513 540
514[[package]] 541[[package]]
515name = "backtrace"
516version = "0.3.71"
517source = "registry+https://github.com/rust-lang/crates.io-index"
518checksum = "26b05800d2e817c8b3b4b54abd461726265fa9789ae34330622f2db9ee696f9d"
519dependencies = [
520 "addr2line",
521 "cc",
522 "cfg-if",
523 "libc",
524 "miniz_oxide",
525 "object",
526 "rustc-demangle",
527]
528
529[[package]]
530name = "base16ct" 542name = "base16ct"
531version = "0.1.1" 543version = "0.1.1"
532source = "registry+https://github.com/rust-lang/crates.io-index" 544source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -534,9 +546,9 @@ checksum = "349a06037c7bf932dd7e7d1f653678b2038b9ad46a74102f1fc7bd7872678cce"
534 546
535[[package]] 547[[package]]
536name = "base64" 548name = "base64"
537version = "0.21.7" 549version = "0.22.1"
538source = "registry+https://github.com/rust-lang/crates.io-index" 550source = "registry+https://github.com/rust-lang/crates.io-index"
539checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" 551checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6"
540 552
541[[package]] 553[[package]]
542name = "base64-simd" 554name = "base64-simd"
@@ -550,21 +562,15 @@ dependencies = [
550 562
551[[package]] 563[[package]]
552name = "base64ct" 564name = "base64ct"
553version = "1.6.0" 565version = "1.8.3"
554source = "registry+https://github.com/rust-lang/crates.io-index" 566source = "registry+https://github.com/rust-lang/crates.io-index"
555checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" 567checksum = "2af50177e190e07a26ab74f8b1efbfe2ef87da2116221318cb1c2e82baf7de06"
556 568
557[[package]] 569[[package]]
558name = "bitflags" 570name = "bitflags"
559version = "1.3.2" 571version = "2.11.0"
560source = "registry+https://github.com/rust-lang/crates.io-index" 572source = "registry+https://github.com/rust-lang/crates.io-index"
561checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" 573checksum = "843867be96c8daad0d758b57df9392b6d8d271134fce549de6ce169ff98a92af"
562
563[[package]]
564name = "bitflags"
565version = "2.5.0"
566source = "registry+https://github.com/rust-lang/crates.io-index"
567checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1"
568 574
569[[package]] 575[[package]]
570name = "block-buffer" 576name = "block-buffer"
@@ -577,15 +583,15 @@ dependencies = [
577 583
578[[package]] 584[[package]]
579name = "bumpalo" 585name = "bumpalo"
580version = "3.16.0" 586version = "3.20.2"
581source = "registry+https://github.com/rust-lang/crates.io-index" 587source = "registry+https://github.com/rust-lang/crates.io-index"
582checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" 588checksum = "5d20789868f4b01b2f2caec9f5c4e0213b41e3e5702a50157d699ae31ced2fcb"
583 589
584[[package]] 590[[package]]
585name = "bytes" 591name = "bytes"
586version = "1.6.0" 592version = "1.11.1"
587source = "registry+https://github.com/rust-lang/crates.io-index" 593source = "registry+https://github.com/rust-lang/crates.io-index"
588checksum = "514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9" 594checksum = "1e748733b7cbc798e1434b6ac524f0c1ff2ab456fe201501e6497c8417a4fc33"
589 595
590[[package]] 596[[package]]
591name = "bytes-utils" 597name = "bytes-utils"
@@ -599,29 +605,43 @@ dependencies = [
599 605
600[[package]] 606[[package]]
601name = "cc" 607name = "cc"
602version = "1.0.95" 608version = "1.2.59"
603source = "registry+https://github.com/rust-lang/crates.io-index" 609source = "registry+https://github.com/rust-lang/crates.io-index"
604checksum = "d32a725bc159af97c3e629873bb9f88fb8cf8a4867175f76dc987815ea07c83b" 610checksum = "b7a4d3ec6524d28a329fc53654bbadc9bdd7b0431f5d65f1a56ffb28a1ee5283"
611dependencies = [
612 "find-msvc-tools",
613 "jobserver",
614 "libc",
615 "shlex",
616]
605 617
606[[package]] 618[[package]]
607name = "cfg-if" 619name = "cfg-if"
608version = "1.0.0" 620version = "1.0.4"
609source = "registry+https://github.com/rust-lang/crates.io-index" 621source = "registry+https://github.com/rust-lang/crates.io-index"
610checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" 622checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801"
611 623
612[[package]] 624[[package]]
613name = "chrono" 625name = "chrono"
614version = "0.4.38" 626version = "0.4.44"
615source = "registry+https://github.com/rust-lang/crates.io-index" 627source = "registry+https://github.com/rust-lang/crates.io-index"
616checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401" 628checksum = "c673075a2e0e5f4a1dde27ce9dee1ea4558c7ffe648f576438a20ca1d2acc4b0"
617dependencies = [ 629dependencies = [
618 "android-tzdata",
619 "iana-time-zone", 630 "iana-time-zone",
620 "js-sys", 631 "js-sys",
621 "num-traits", 632 "num-traits",
622 "serde", 633 "serde",
623 "wasm-bindgen", 634 "wasm-bindgen",
624 "windows-targets 0.52.5", 635 "windows-link",
636]
637
638[[package]]
639name = "cmake"
640version = "0.1.58"
641source = "registry+https://github.com/rust-lang/crates.io-index"
642checksum = "c0f78a02292a74a88ac736019ab962ece0bc380e3f977bf72e376c5d78ff0678"
643dependencies = [
644 "cc",
625] 645]
626 646
627[[package]] 647[[package]]
@@ -632,9 +652,9 @@ checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8"
632 652
633[[package]] 653[[package]]
634name = "core-foundation" 654name = "core-foundation"
635version = "0.9.4" 655version = "0.10.1"
636source = "registry+https://github.com/rust-lang/crates.io-index" 656source = "registry+https://github.com/rust-lang/crates.io-index"
637checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" 657checksum = "b2a6cd9ae233e7f62ba4e9353e81a88df7fc8a5987b8d445b4d90c879bd156f6"
638dependencies = [ 658dependencies = [
639 "core-foundation-sys", 659 "core-foundation-sys",
640 "libc", 660 "libc",
@@ -642,33 +662,51 @@ dependencies = [
642 662
643[[package]] 663[[package]]
644name = "core-foundation-sys" 664name = "core-foundation-sys"
645version = "0.8.6" 665version = "0.8.7"
646source = "registry+https://github.com/rust-lang/crates.io-index" 666source = "registry+https://github.com/rust-lang/crates.io-index"
647checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" 667checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b"
648 668
649[[package]] 669[[package]]
650name = "cpufeatures" 670name = "cpufeatures"
651version = "0.2.12" 671version = "0.2.17"
652source = "registry+https://github.com/rust-lang/crates.io-index" 672source = "registry+https://github.com/rust-lang/crates.io-index"
653checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504" 673checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280"
654dependencies = [ 674dependencies = [
655 "libc", 675 "libc",
656] 676]
657 677
658[[package]] 678[[package]]
659name = "crc32c" 679name = "crc"
660version = "0.6.5" 680version = "3.3.0"
661source = "registry+https://github.com/rust-lang/crates.io-index" 681source = "registry+https://github.com/rust-lang/crates.io-index"
662checksum = "89254598aa9b9fa608de44b3ae54c810f0f06d755e24c50177f1f8f31ff50ce2" 682checksum = "9710d3b3739c2e349eb44fe848ad0b7c8cb1e42bd87ee49371df2f7acaf3e675"
663dependencies = [ 683dependencies = [
664 "rustc_version", 684 "crc-catalog",
685]
686
687[[package]]
688name = "crc-catalog"
689version = "2.4.0"
690source = "registry+https://github.com/rust-lang/crates.io-index"
691checksum = "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5"
692
693[[package]]
694name = "crc-fast"
695version = "1.9.0"
696source = "registry+https://github.com/rust-lang/crates.io-index"
697checksum = "2fd92aca2c6001b1bf5ba0ff84ee74ec8501b52bbef0cac80bf25a6c1d87a83d"
698dependencies = [
699 "crc",
700 "digest",
701 "rustversion",
702 "spin",
665] 703]
666 704
667[[package]] 705[[package]]
668name = "crc32fast" 706name = "crc32fast"
669version = "1.4.0" 707version = "1.5.0"
670source = "registry+https://github.com/rust-lang/crates.io-index" 708source = "registry+https://github.com/rust-lang/crates.io-index"
671checksum = "b3855a8a784b474f333699ef2bbca9db2c4a1f6d9088a90a2d25b1eb53111eaa" 709checksum = "9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511"
672dependencies = [ 710dependencies = [
673 "cfg-if", 711 "cfg-if",
674] 712]
@@ -697,9 +735,9 @@ dependencies = [
697 735
698[[package]] 736[[package]]
699name = "crypto-common" 737name = "crypto-common"
700version = "0.1.6" 738version = "0.1.7"
701source = "registry+https://github.com/rust-lang/crates.io-index" 739source = "registry+https://github.com/rust-lang/crates.io-index"
702checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" 740checksum = "78c8292055d1c1df0cce5d180393dc8cce0abec0a7102adb6c7b1eef6016d60a"
703dependencies = [ 741dependencies = [
704 "generic-array", 742 "generic-array",
705 "typenum", 743 "typenum",
@@ -717,9 +755,9 @@ dependencies = [
717 755
718[[package]] 756[[package]]
719name = "deranged" 757name = "deranged"
720version = "0.3.11" 758version = "0.5.8"
721source = "registry+https://github.com/rust-lang/crates.io-index" 759source = "registry+https://github.com/rust-lang/crates.io-index"
722checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" 760checksum = "7cd812cc2bc1d69d4764bd80df88b4317eaef9e773c75226407d9bc0876b211c"
723dependencies = [ 761dependencies = [
724 "powerfmt", 762 "powerfmt",
725] 763]
@@ -736,6 +774,23 @@ dependencies = [
736] 774]
737 775
738[[package]] 776[[package]]
777name = "displaydoc"
778version = "0.2.5"
779source = "registry+https://github.com/rust-lang/crates.io-index"
780checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0"
781dependencies = [
782 "proc-macro2",
783 "quote",
784 "syn",
785]
786
787[[package]]
788name = "dunce"
789version = "1.0.5"
790source = "registry+https://github.com/rust-lang/crates.io-index"
791checksum = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813"
792
793[[package]]
739name = "ecdsa" 794name = "ecdsa"
740version = "0.14.8" 795version = "0.14.8"
741source = "registry+https://github.com/rust-lang/crates.io-index" 796source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -749,9 +804,9 @@ dependencies = [
749 804
750[[package]] 805[[package]]
751name = "either" 806name = "either"
752version = "1.11.0" 807version = "1.15.0"
753source = "registry+https://github.com/rust-lang/crates.io-index" 808source = "registry+https://github.com/rust-lang/crates.io-index"
754checksum = "a47c1c47d2f5964e29c61246e81db715514cd532db6b5116a25ea3c03d6780a2" 809checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719"
755 810
756[[package]] 811[[package]]
757name = "elliptic-curve" 812name = "elliptic-curve"
@@ -775,15 +830,25 @@ dependencies = [
775 830
776[[package]] 831[[package]]
777name = "equivalent" 832name = "equivalent"
778version = "1.0.1" 833version = "1.0.2"
779source = "registry+https://github.com/rust-lang/crates.io-index" 834source = "registry+https://github.com/rust-lang/crates.io-index"
780checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" 835checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f"
836
837[[package]]
838name = "errno"
839version = "0.3.14"
840source = "registry+https://github.com/rust-lang/crates.io-index"
841checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb"
842dependencies = [
843 "libc",
844 "windows-sys 0.61.2",
845]
781 846
782[[package]] 847[[package]]
783name = "fastrand" 848name = "fastrand"
784version = "2.1.0" 849version = "2.4.1"
785source = "registry+https://github.com/rust-lang/crates.io-index" 850source = "registry+https://github.com/rust-lang/crates.io-index"
786checksum = "9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a" 851checksum = "9f1f227452a390804cdb637b74a86990f2a7d7ba4b7d5693aac9b4dd6defd8d6"
787 852
788[[package]] 853[[package]]
789name = "ff" 854name = "ff"
@@ -796,57 +861,75 @@ dependencies = [
796] 861]
797 862
798[[package]] 863[[package]]
864name = "find-msvc-tools"
865version = "0.1.9"
866source = "registry+https://github.com/rust-lang/crates.io-index"
867checksum = "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582"
868
869[[package]]
799name = "fnv" 870name = "fnv"
800version = "1.0.7" 871version = "1.0.7"
801source = "registry+https://github.com/rust-lang/crates.io-index" 872source = "registry+https://github.com/rust-lang/crates.io-index"
802checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" 873checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
803 874
804[[package]] 875[[package]]
876name = "foldhash"
877version = "0.2.0"
878source = "registry+https://github.com/rust-lang/crates.io-index"
879checksum = "77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb"
880
881[[package]]
805name = "form_urlencoded" 882name = "form_urlencoded"
806version = "1.2.1" 883version = "1.2.2"
807source = "registry+https://github.com/rust-lang/crates.io-index" 884source = "registry+https://github.com/rust-lang/crates.io-index"
808checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" 885checksum = "cb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcf"
809dependencies = [ 886dependencies = [
810 "percent-encoding", 887 "percent-encoding",
811] 888]
812 889
813[[package]] 890[[package]]
891name = "fs_extra"
892version = "1.3.0"
893source = "registry+https://github.com/rust-lang/crates.io-index"
894checksum = "42703706b716c37f96a77aea830392ad231f44c9e9a67872fa5548707e11b11c"
895
896[[package]]
814name = "futures-channel" 897name = "futures-channel"
815version = "0.3.30" 898version = "0.3.32"
816source = "registry+https://github.com/rust-lang/crates.io-index" 899source = "registry+https://github.com/rust-lang/crates.io-index"
817checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" 900checksum = "07bbe89c50d7a535e539b8c17bc0b49bdb77747034daa8087407d655f3f7cc1d"
818dependencies = [ 901dependencies = [
819 "futures-core", 902 "futures-core",
820] 903]
821 904
822[[package]] 905[[package]]
823name = "futures-core" 906name = "futures-core"
824version = "0.3.30" 907version = "0.3.32"
825source = "registry+https://github.com/rust-lang/crates.io-index" 908source = "registry+https://github.com/rust-lang/crates.io-index"
826checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" 909checksum = "7e3450815272ef58cec6d564423f6e755e25379b217b0bc688e295ba24df6b1d"
827 910
828[[package]] 911[[package]]
829name = "futures-sink" 912name = "futures-sink"
830version = "0.3.30" 913version = "0.3.32"
831source = "registry+https://github.com/rust-lang/crates.io-index" 914source = "registry+https://github.com/rust-lang/crates.io-index"
832checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" 915checksum = "c39754e157331b013978ec91992bde1ac089843443c49cbc7f46150b0fad0893"
833 916
834[[package]] 917[[package]]
835name = "futures-task" 918name = "futures-task"
836version = "0.3.30" 919version = "0.3.32"
837source = "registry+https://github.com/rust-lang/crates.io-index" 920source = "registry+https://github.com/rust-lang/crates.io-index"
838checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" 921checksum = "037711b3d59c33004d3856fbdc83b99d4ff37a24768fa1be9ce3538a1cde4393"
839 922
840[[package]] 923[[package]]
841name = "futures-util" 924name = "futures-util"
842version = "0.3.30" 925version = "0.3.32"
843source = "registry+https://github.com/rust-lang/crates.io-index" 926source = "registry+https://github.com/rust-lang/crates.io-index"
844checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" 927checksum = "389ca41296e6190b48053de0321d02a77f32f8a5d2461dd38762c0593805c6d6"
845dependencies = [ 928dependencies = [
846 "futures-core", 929 "futures-core",
847 "futures-task", 930 "futures-task",
848 "pin-project-lite", 931 "pin-project-lite",
849 "pin-utils", 932 "slab",
850] 933]
851 934
852[[package]] 935[[package]]
@@ -861,9 +944,9 @@ dependencies = [
861 944
862[[package]] 945[[package]]
863name = "getrandom" 946name = "getrandom"
864version = "0.2.14" 947version = "0.2.17"
865source = "registry+https://github.com/rust-lang/crates.io-index" 948source = "registry+https://github.com/rust-lang/crates.io-index"
866checksum = "94b22e06ecb0110981051723910cbf0b5f5e09a2062dd7663334ee79a9d1286c" 949checksum = "ff2abc00be7fca6ebc474524697ae276ad847ad0a6b3faa4bcb027e9a4614ad0"
867dependencies = [ 950dependencies = [
868 "cfg-if", 951 "cfg-if",
869 "libc", 952 "libc",
@@ -871,10 +954,16 @@ dependencies = [
871] 954]
872 955
873[[package]] 956[[package]]
874name = "gimli" 957name = "getrandom"
875version = "0.28.1" 958version = "0.3.4"
876source = "registry+https://github.com/rust-lang/crates.io-index" 959source = "registry+https://github.com/rust-lang/crates.io-index"
877checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" 960checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd"
961dependencies = [
962 "cfg-if",
963 "libc",
964 "r-efi",
965 "wasip2",
966]
878 967
879[[package]] 968[[package]]
880name = "gitolfs3-authenticate" 969name = "gitolfs3-authenticate"
@@ -932,9 +1021,9 @@ dependencies = [
932 1021
933[[package]] 1022[[package]]
934name = "h2" 1023name = "h2"
935version = "0.3.26" 1024version = "0.3.27"
936source = "registry+https://github.com/rust-lang/crates.io-index" 1025source = "registry+https://github.com/rust-lang/crates.io-index"
937checksum = "81fe527a889e1532da5c525686d96d4c2e74cdd345badf8dfef9f6b39dd5f5e8" 1026checksum = "0beca50380b1fc32983fc1cb4587bfa4bb9e78fc259aad4a0032d2080309222d"
938dependencies = [ 1027dependencies = [
939 "bytes", 1028 "bytes",
940 "fnv", 1029 "fnv",
@@ -950,20 +1039,34 @@ dependencies = [
950] 1039]
951 1040
952[[package]] 1041[[package]]
953name = "hashbrown" 1042name = "h2"
954version = "0.14.5" 1043version = "0.4.13"
955source = "registry+https://github.com/rust-lang/crates.io-index" 1044source = "registry+https://github.com/rust-lang/crates.io-index"
956checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" 1045checksum = "2f44da3a8150a6703ed5d34e164b875fd14c2cdab9af1252a9a1020bde2bdc54"
957dependencies = [ 1046dependencies = [
958 "ahash", 1047 "atomic-waker",
959 "allocator-api2", 1048 "bytes",
1049 "fnv",
1050 "futures-core",
1051 "futures-sink",
1052 "http 1.4.0",
1053 "indexmap",
1054 "slab",
1055 "tokio",
1056 "tokio-util",
1057 "tracing",
960] 1058]
961 1059
962[[package]] 1060[[package]]
963name = "hermit-abi" 1061name = "hashbrown"
964version = "0.3.9" 1062version = "0.16.1"
965source = "registry+https://github.com/rust-lang/crates.io-index" 1063source = "registry+https://github.com/rust-lang/crates.io-index"
966checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" 1064checksum = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100"
1065dependencies = [
1066 "allocator-api2",
1067 "equivalent",
1068 "foldhash",
1069]
967 1070
968[[package]] 1071[[package]]
969name = "hex" 1072name = "hex"
@@ -982,9 +1085,9 @@ dependencies = [
982 1085
983[[package]] 1086[[package]]
984name = "hmac-sha256" 1087name = "hmac-sha256"
985version = "1.1.7" 1088version = "1.1.14"
986source = "registry+https://github.com/rust-lang/crates.io-index" 1089source = "registry+https://github.com/rust-lang/crates.io-index"
987checksum = "3688e69b38018fec1557254f64c8dc2cc8ec502890182f395dbb0aa997aa5735" 1090checksum = "ec9d92d097f4749b64e8cc33d924d9f40a2d4eb91402b458014b781f5733d60f"
988 1091
989[[package]] 1092[[package]]
990name = "http" 1093name = "http"
@@ -999,12 +1102,11 @@ dependencies = [
999 1102
1000[[package]] 1103[[package]]
1001name = "http" 1104name = "http"
1002version = "1.1.0" 1105version = "1.4.0"
1003source = "registry+https://github.com/rust-lang/crates.io-index" 1106source = "registry+https://github.com/rust-lang/crates.io-index"
1004checksum = "21b9ddb458710bc376481b842f5da65cdf31522de232c1ca8146abce2a358258" 1107checksum = "e3ba2a386d7f85a81f119ad7498ebe444d2e22c2af0b86b069416ace48b3311a"
1005dependencies = [ 1108dependencies = [
1006 "bytes", 1109 "bytes",
1007 "fnv",
1008 "itoa", 1110 "itoa",
1009] 1111]
1010 1112
@@ -1021,32 +1123,32 @@ dependencies = [
1021 1123
1022[[package]] 1124[[package]]
1023name = "http-body" 1125name = "http-body"
1024version = "1.0.0" 1126version = "1.0.1"
1025source = "registry+https://github.com/rust-lang/crates.io-index" 1127source = "registry+https://github.com/rust-lang/crates.io-index"
1026checksum = "1cac85db508abc24a2e48553ba12a996e87244a0395ce011e62b37158745d643" 1128checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184"
1027dependencies = [ 1129dependencies = [
1028 "bytes", 1130 "bytes",
1029 "http 1.1.0", 1131 "http 1.4.0",
1030] 1132]
1031 1133
1032[[package]] 1134[[package]]
1033name = "http-body-util" 1135name = "http-body-util"
1034version = "0.1.1" 1136version = "0.1.3"
1035source = "registry+https://github.com/rust-lang/crates.io-index" 1137source = "registry+https://github.com/rust-lang/crates.io-index"
1036checksum = "0475f8b2ac86659c21b64320d5d653f9efe42acd2a4e560073ec61a155a34f1d" 1138checksum = "b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a"
1037dependencies = [ 1139dependencies = [
1038 "bytes", 1140 "bytes",
1039 "futures-core", 1141 "futures-core",
1040 "http 1.1.0", 1142 "http 1.4.0",
1041 "http-body 1.0.0", 1143 "http-body 1.0.1",
1042 "pin-project-lite", 1144 "pin-project-lite",
1043] 1145]
1044 1146
1045[[package]] 1147[[package]]
1046name = "httparse" 1148name = "httparse"
1047version = "1.8.0" 1149version = "1.10.1"
1048source = "registry+https://github.com/rust-lang/crates.io-index" 1150source = "registry+https://github.com/rust-lang/crates.io-index"
1049checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" 1151checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87"
1050 1152
1051[[package]] 1153[[package]]
1052name = "httpdate" 1154name = "httpdate"
@@ -1056,22 +1158,22 @@ checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9"
1056 1158
1057[[package]] 1159[[package]]
1058name = "hyper" 1160name = "hyper"
1059version = "0.14.28" 1161version = "0.14.32"
1060source = "registry+https://github.com/rust-lang/crates.io-index" 1162source = "registry+https://github.com/rust-lang/crates.io-index"
1061checksum = "bf96e135eb83a2a8ddf766e426a841d8ddd7449d5f00d34ea02b41d2f19eef80" 1163checksum = "41dfc780fdec9373c01bae43289ea34c972e40ee3c9f6b3c8801a35f35586ce7"
1062dependencies = [ 1164dependencies = [
1063 "bytes", 1165 "bytes",
1064 "futures-channel", 1166 "futures-channel",
1065 "futures-core", 1167 "futures-core",
1066 "futures-util", 1168 "futures-util",
1067 "h2", 1169 "h2 0.3.27",
1068 "http 0.2.12", 1170 "http 0.2.12",
1069 "http-body 0.4.6", 1171 "http-body 0.4.6",
1070 "httparse", 1172 "httparse",
1071 "httpdate", 1173 "httpdate",
1072 "itoa", 1174 "itoa",
1073 "pin-project-lite", 1175 "pin-project-lite",
1074 "socket2", 1176 "socket2 0.5.10",
1075 "tokio", 1177 "tokio",
1076 "tower-service", 1178 "tower-service",
1077 "tracing", 1179 "tracing",
@@ -1080,21 +1182,24 @@ dependencies = [
1080 1182
1081[[package]] 1183[[package]]
1082name = "hyper" 1184name = "hyper"
1083version = "1.3.1" 1185version = "1.9.0"
1084source = "registry+https://github.com/rust-lang/crates.io-index" 1186source = "registry+https://github.com/rust-lang/crates.io-index"
1085checksum = "fe575dd17d0862a9a33781c8c4696a55c320909004a67a00fb286ba8b1bc496d" 1187checksum = "6299f016b246a94207e63da54dbe807655bf9e00044f73ded42c3ac5305fbcca"
1086dependencies = [ 1188dependencies = [
1189 "atomic-waker",
1087 "bytes", 1190 "bytes",
1088 "futures-channel", 1191 "futures-channel",
1089 "futures-util", 1192 "futures-core",
1090 "http 1.1.0", 1193 "h2 0.4.13",
1091 "http-body 1.0.0", 1194 "http 1.4.0",
1195 "http-body 1.0.1",
1092 "httparse", 1196 "httparse",
1093 "httpdate", 1197 "httpdate",
1094 "itoa", 1198 "itoa",
1095 "pin-project-lite", 1199 "pin-project-lite",
1096 "smallvec", 1200 "smallvec",
1097 "tokio", 1201 "tokio",
1202 "want",
1098] 1203]
1099 1204
1100[[package]] 1205[[package]]
@@ -1105,40 +1210,64 @@ checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590"
1105dependencies = [ 1210dependencies = [
1106 "futures-util", 1211 "futures-util",
1107 "http 0.2.12", 1212 "http 0.2.12",
1108 "hyper 0.14.28", 1213 "hyper 0.14.32",
1109 "log", 1214 "log",
1110 "rustls", 1215 "rustls 0.21.12",
1216 "tokio",
1217 "tokio-rustls 0.24.1",
1218]
1219
1220[[package]]
1221name = "hyper-rustls"
1222version = "0.27.7"
1223source = "registry+https://github.com/rust-lang/crates.io-index"
1224checksum = "e3c93eb611681b207e1fe55d5a71ecf91572ec8a6705cdb6857f7d8d5242cf58"
1225dependencies = [
1226 "http 1.4.0",
1227 "hyper 1.9.0",
1228 "hyper-util",
1229 "rustls 0.23.37",
1111 "rustls-native-certs", 1230 "rustls-native-certs",
1231 "rustls-pki-types",
1112 "tokio", 1232 "tokio",
1113 "tokio-rustls", 1233 "tokio-rustls 0.26.4",
1234 "tower-service",
1114] 1235]
1115 1236
1116[[package]] 1237[[package]]
1117name = "hyper-util" 1238name = "hyper-util"
1118version = "0.1.3" 1239version = "0.1.20"
1119source = "registry+https://github.com/rust-lang/crates.io-index" 1240source = "registry+https://github.com/rust-lang/crates.io-index"
1120checksum = "ca38ef113da30126bbff9cd1705f9273e15d45498615d138b0c20279ac7a76aa" 1241checksum = "96547c2556ec9d12fb1578c4eaf448b04993e7fb79cbaad930a656880a6bdfa0"
1121dependencies = [ 1242dependencies = [
1243 "base64",
1122 "bytes", 1244 "bytes",
1245 "futures-channel",
1123 "futures-util", 1246 "futures-util",
1124 "http 1.1.0", 1247 "http 1.4.0",
1125 "http-body 1.0.0", 1248 "http-body 1.0.1",
1126 "hyper 1.3.1", 1249 "hyper 1.9.0",
1250 "ipnet",
1251 "libc",
1252 "percent-encoding",
1127 "pin-project-lite", 1253 "pin-project-lite",
1128 "socket2", 1254 "socket2 0.6.3",
1129 "tokio", 1255 "tokio",
1256 "tower-service",
1257 "tracing",
1130] 1258]
1131 1259
1132[[package]] 1260[[package]]
1133name = "iana-time-zone" 1261name = "iana-time-zone"
1134version = "0.1.60" 1262version = "0.1.65"
1135source = "registry+https://github.com/rust-lang/crates.io-index" 1263source = "registry+https://github.com/rust-lang/crates.io-index"
1136checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141" 1264checksum = "e31bc9ad994ba00e440a8aa5c9ef0ec67d5cb5e5cb0cc7f8b744a35b389cc470"
1137dependencies = [ 1265dependencies = [
1138 "android_system_properties", 1266 "android_system_properties",
1139 "core-foundation-sys", 1267 "core-foundation-sys",
1140 "iana-time-zone-haiku", 1268 "iana-time-zone-haiku",
1141 "js-sys", 1269 "js-sys",
1270 "log",
1142 "wasm-bindgen", 1271 "wasm-bindgen",
1143 "windows-core", 1272 "windows-core",
1144] 1273]
@@ -1153,91 +1282,206 @@ dependencies = [
1153] 1282]
1154 1283
1155[[package]] 1284[[package]]
1285name = "icu_collections"
1286version = "2.2.0"
1287source = "registry+https://github.com/rust-lang/crates.io-index"
1288checksum = "2984d1cd16c883d7935b9e07e44071dca8d917fd52ecc02c04d5fa0b5a3f191c"
1289dependencies = [
1290 "displaydoc",
1291 "potential_utf",
1292 "utf8_iter",
1293 "yoke",
1294 "zerofrom",
1295 "zerovec",
1296]
1297
1298[[package]]
1299name = "icu_locale_core"
1300version = "2.2.0"
1301source = "registry+https://github.com/rust-lang/crates.io-index"
1302checksum = "92219b62b3e2b4d88ac5119f8904c10f8f61bf7e95b640d25ba3075e6cac2c29"
1303dependencies = [
1304 "displaydoc",
1305 "litemap",
1306 "tinystr",
1307 "writeable",
1308 "zerovec",
1309]
1310
1311[[package]]
1312name = "icu_normalizer"
1313version = "2.2.0"
1314source = "registry+https://github.com/rust-lang/crates.io-index"
1315checksum = "c56e5ee99d6e3d33bd91c5d85458b6005a22140021cc324cea84dd0e72cff3b4"
1316dependencies = [
1317 "icu_collections",
1318 "icu_normalizer_data",
1319 "icu_properties",
1320 "icu_provider",
1321 "smallvec",
1322 "zerovec",
1323]
1324
1325[[package]]
1326name = "icu_normalizer_data"
1327version = "2.2.0"
1328source = "registry+https://github.com/rust-lang/crates.io-index"
1329checksum = "da3be0ae77ea334f4da67c12f149704f19f81d1adf7c51cf482943e84a2bad38"
1330
1331[[package]]
1332name = "icu_properties"
1333version = "2.2.0"
1334source = "registry+https://github.com/rust-lang/crates.io-index"
1335checksum = "bee3b67d0ea5c2cca5003417989af8996f8604e34fb9ddf96208a033901e70de"
1336dependencies = [
1337 "icu_collections",
1338 "icu_locale_core",
1339 "icu_properties_data",
1340 "icu_provider",
1341 "zerotrie",
1342 "zerovec",
1343]
1344
1345[[package]]
1346name = "icu_properties_data"
1347version = "2.2.0"
1348source = "registry+https://github.com/rust-lang/crates.io-index"
1349checksum = "8e2bbb201e0c04f7b4b3e14382af113e17ba4f63e2c9d2ee626b720cbce54a14"
1350
1351[[package]]
1352name = "icu_provider"
1353version = "2.2.0"
1354source = "registry+https://github.com/rust-lang/crates.io-index"
1355checksum = "139c4cf31c8b5f33d7e199446eff9c1e02decfc2f0eec2c8d71f65befa45b421"
1356dependencies = [
1357 "displaydoc",
1358 "icu_locale_core",
1359 "writeable",
1360 "yoke",
1361 "zerofrom",
1362 "zerotrie",
1363 "zerovec",
1364]
1365
1366[[package]]
1156name = "idna" 1367name = "idna"
1157version = "0.5.0" 1368version = "1.1.0"
1158source = "registry+https://github.com/rust-lang/crates.io-index" 1369source = "registry+https://github.com/rust-lang/crates.io-index"
1159checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" 1370checksum = "3b0875f23caa03898994f6ddc501886a45c7d3d62d04d2d90788d47be1b1e4de"
1160dependencies = [ 1371dependencies = [
1161 "unicode-bidi", 1372 "idna_adapter",
1162 "unicode-normalization", 1373 "smallvec",
1374 "utf8_iter",
1375]
1376
1377[[package]]
1378name = "idna_adapter"
1379version = "1.2.1"
1380source = "registry+https://github.com/rust-lang/crates.io-index"
1381checksum = "3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344"
1382dependencies = [
1383 "icu_normalizer",
1384 "icu_properties",
1163] 1385]
1164 1386
1165[[package]] 1387[[package]]
1166name = "indexmap" 1388name = "indexmap"
1167version = "2.2.6" 1389version = "2.13.1"
1168source = "registry+https://github.com/rust-lang/crates.io-index" 1390source = "registry+https://github.com/rust-lang/crates.io-index"
1169checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" 1391checksum = "45a8a2b9cb3e0b0c1803dbb0758ffac5de2f425b23c28f518faabd9d805342ff"
1170dependencies = [ 1392dependencies = [
1171 "equivalent", 1393 "equivalent",
1172 "hashbrown", 1394 "hashbrown",
1173] 1395]
1174 1396
1175[[package]] 1397[[package]]
1398name = "ipnet"
1399version = "2.12.0"
1400source = "registry+https://github.com/rust-lang/crates.io-index"
1401checksum = "d98f6fed1fde3f8c21bc40a1abb88dd75e67924f9cffc3ef95607bad8017f8e2"
1402
1403[[package]]
1176name = "itoa" 1404name = "itoa"
1177version = "1.0.11" 1405version = "1.0.18"
1406source = "registry+https://github.com/rust-lang/crates.io-index"
1407checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682"
1408
1409[[package]]
1410name = "jobserver"
1411version = "0.1.34"
1178source = "registry+https://github.com/rust-lang/crates.io-index" 1412source = "registry+https://github.com/rust-lang/crates.io-index"
1179checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" 1413checksum = "9afb3de4395d6b3e67a780b6de64b51c978ecf11cb9a462c66be7d4ca9039d33"
1414dependencies = [
1415 "getrandom 0.3.4",
1416 "libc",
1417]
1180 1418
1181[[package]] 1419[[package]]
1182name = "js-sys" 1420name = "js-sys"
1183version = "0.3.69" 1421version = "0.3.94"
1184source = "registry+https://github.com/rust-lang/crates.io-index" 1422source = "registry+https://github.com/rust-lang/crates.io-index"
1185checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d" 1423checksum = "2e04e2ef80ce82e13552136fabeef8a5ed1f985a96805761cbb9a2c34e7664d9"
1186dependencies = [ 1424dependencies = [
1425 "once_cell",
1187 "wasm-bindgen", 1426 "wasm-bindgen",
1188] 1427]
1189 1428
1190[[package]] 1429[[package]]
1191name = "lazy_static" 1430name = "lazy_static"
1192version = "1.4.0" 1431version = "1.5.0"
1193source = "registry+https://github.com/rust-lang/crates.io-index" 1432source = "registry+https://github.com/rust-lang/crates.io-index"
1194checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" 1433checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe"
1195 1434
1196[[package]] 1435[[package]]
1197name = "libc" 1436name = "libc"
1198version = "0.2.153" 1437version = "0.2.184"
1199source = "registry+https://github.com/rust-lang/crates.io-index" 1438source = "registry+https://github.com/rust-lang/crates.io-index"
1200checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd" 1439checksum = "48f5d2a454e16a5ea0f4ced81bd44e4cfc7bd3a507b61887c99fd3538b28e4af"
1440
1441[[package]]
1442name = "litemap"
1443version = "0.8.2"
1444source = "registry+https://github.com/rust-lang/crates.io-index"
1445checksum = "92daf443525c4cce67b150400bc2316076100ce0b3686209eb8cf3c31612e6f0"
1201 1446
1202[[package]] 1447[[package]]
1203name = "lock_api" 1448name = "lock_api"
1204version = "0.4.12" 1449version = "0.4.14"
1205source = "registry+https://github.com/rust-lang/crates.io-index" 1450source = "registry+https://github.com/rust-lang/crates.io-index"
1206checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" 1451checksum = "224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965"
1207dependencies = [ 1452dependencies = [
1208 "autocfg",
1209 "scopeguard", 1453 "scopeguard",
1210] 1454]
1211 1455
1212[[package]] 1456[[package]]
1213name = "log" 1457name = "log"
1214version = "0.4.21" 1458version = "0.4.29"
1215source = "registry+https://github.com/rust-lang/crates.io-index" 1459source = "registry+https://github.com/rust-lang/crates.io-index"
1216checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c" 1460checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897"
1217 1461
1218[[package]] 1462[[package]]
1219name = "lru" 1463name = "lru"
1220version = "0.12.3" 1464version = "0.16.3"
1221source = "registry+https://github.com/rust-lang/crates.io-index" 1465source = "registry+https://github.com/rust-lang/crates.io-index"
1222checksum = "d3262e75e648fce39813cb56ac41f3c3e3f65217ebf3844d818d1f9398cfb0dc" 1466checksum = "a1dc47f592c06f33f8e3aea9591776ec7c9f9e4124778ff8a3c3b87159f7e593"
1223dependencies = [ 1467dependencies = [
1224 "hashbrown", 1468 "hashbrown",
1225] 1469]
1226 1470
1227[[package]] 1471[[package]]
1228name = "matchers" 1472name = "matchers"
1229version = "0.1.0" 1473version = "0.2.0"
1230source = "registry+https://github.com/rust-lang/crates.io-index" 1474source = "registry+https://github.com/rust-lang/crates.io-index"
1231checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" 1475checksum = "d1525a2a28c7f4fa0fc98bb91ae755d1e2d1505079e05539e35bc876b5d65ae9"
1232dependencies = [ 1476dependencies = [
1233 "regex-automata 0.1.10", 1477 "regex-automata",
1234] 1478]
1235 1479
1236[[package]] 1480[[package]]
1237name = "matchit" 1481name = "matchit"
1238version = "0.7.3" 1482version = "0.8.4"
1239source = "registry+https://github.com/rust-lang/crates.io-index" 1483source = "registry+https://github.com/rust-lang/crates.io-index"
1240checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94" 1484checksum = "47e1ffaa40ddd1f3ed91f717a33c8c0ee23fff369e3aa8772b9605cc1d22f4c3"
1241 1485
1242[[package]] 1486[[package]]
1243name = "md-5" 1487name = "md-5"
@@ -1251,9 +1495,9 @@ dependencies = [
1251 1495
1252[[package]] 1496[[package]]
1253name = "memchr" 1497name = "memchr"
1254version = "2.7.2" 1498version = "2.8.0"
1255source = "registry+https://github.com/rust-lang/crates.io-index" 1499source = "registry+https://github.com/rust-lang/crates.io-index"
1256checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d" 1500checksum = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79"
1257 1501
1258[[package]] 1502[[package]]
1259name = "mime" 1503name = "mime"
@@ -1262,40 +1506,30 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
1262checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" 1506checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a"
1263 1507
1264[[package]] 1508[[package]]
1265name = "miniz_oxide"
1266version = "0.7.2"
1267source = "registry+https://github.com/rust-lang/crates.io-index"
1268checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7"
1269dependencies = [
1270 "adler",
1271]
1272
1273[[package]]
1274name = "mio" 1509name = "mio"
1275version = "0.8.11" 1510version = "1.2.0"
1276source = "registry+https://github.com/rust-lang/crates.io-index" 1511source = "registry+https://github.com/rust-lang/crates.io-index"
1277checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" 1512checksum = "50b7e5b27aa02a74bac8c3f23f448f8d87ff11f92d3aac1a6ed369ee08cc56c1"
1278dependencies = [ 1513dependencies = [
1279 "libc", 1514 "libc",
1280 "wasi", 1515 "wasi",
1281 "windows-sys 0.48.0", 1516 "windows-sys 0.61.2",
1282] 1517]
1283 1518
1284[[package]] 1519[[package]]
1285name = "nu-ansi-term" 1520name = "nu-ansi-term"
1286version = "0.46.0" 1521version = "0.50.3"
1287source = "registry+https://github.com/rust-lang/crates.io-index" 1522source = "registry+https://github.com/rust-lang/crates.io-index"
1288checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" 1523checksum = "7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5"
1289dependencies = [ 1524dependencies = [
1290 "overload", 1525 "windows-sys 0.61.2",
1291 "winapi",
1292] 1526]
1293 1527
1294[[package]] 1528[[package]]
1295name = "num-conv" 1529name = "num-conv"
1296version = "0.1.0" 1530version = "0.2.1"
1297source = "registry+https://github.com/rust-lang/crates.io-index" 1531source = "registry+https://github.com/rust-lang/crates.io-index"
1298checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" 1532checksum = "c6673768db2d862beb9b39a78fdcb1a69439615d5794a1be50caa9bc92c81967"
1299 1533
1300[[package]] 1534[[package]]
1301name = "num-integer" 1535name = "num-integer"
@@ -1308,55 +1542,30 @@ dependencies = [
1308 1542
1309[[package]] 1543[[package]]
1310name = "num-traits" 1544name = "num-traits"
1311version = "0.2.18" 1545version = "0.2.19"
1312source = "registry+https://github.com/rust-lang/crates.io-index" 1546source = "registry+https://github.com/rust-lang/crates.io-index"
1313checksum = "da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a" 1547checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841"
1314dependencies = [ 1548dependencies = [
1315 "autocfg", 1549 "autocfg",
1316] 1550]
1317 1551
1318[[package]] 1552[[package]]
1319name = "num_cpus"
1320version = "1.16.0"
1321source = "registry+https://github.com/rust-lang/crates.io-index"
1322checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43"
1323dependencies = [
1324 "hermit-abi",
1325 "libc",
1326]
1327
1328[[package]]
1329name = "object"
1330version = "0.32.2"
1331source = "registry+https://github.com/rust-lang/crates.io-index"
1332checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441"
1333dependencies = [
1334 "memchr",
1335]
1336
1337[[package]]
1338name = "once_cell" 1553name = "once_cell"
1339version = "1.19.0" 1554version = "1.21.4"
1340source = "registry+https://github.com/rust-lang/crates.io-index" 1555source = "registry+https://github.com/rust-lang/crates.io-index"
1341checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" 1556checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50"
1342 1557
1343[[package]] 1558[[package]]
1344name = "openssl-probe" 1559name = "openssl-probe"
1345version = "0.1.5" 1560version = "0.2.1"
1346source = "registry+https://github.com/rust-lang/crates.io-index" 1561source = "registry+https://github.com/rust-lang/crates.io-index"
1347checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" 1562checksum = "7c87def4c32ab89d880effc9e097653c8da5d6ef28e6b539d313baaacfbafcbe"
1348 1563
1349[[package]] 1564[[package]]
1350name = "outref" 1565name = "outref"
1351version = "0.5.1" 1566version = "0.5.2"
1352source = "registry+https://github.com/rust-lang/crates.io-index" 1567source = "registry+https://github.com/rust-lang/crates.io-index"
1353checksum = "4030760ffd992bef45b0ae3f10ce1aba99e33464c90d14dd7c039884963ddc7a" 1568checksum = "1a80800c0488c3a21695ea981a54918fbb37abf04f4d0720c453632255e2ff0e"
1354
1355[[package]]
1356name = "overload"
1357version = "0.1.1"
1358source = "registry+https://github.com/rust-lang/crates.io-index"
1359checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39"
1360 1569
1361[[package]] 1570[[package]]
1362name = "p256" 1571name = "p256"
@@ -1371,9 +1580,9 @@ dependencies = [
1371 1580
1372[[package]] 1581[[package]]
1373name = "parking_lot" 1582name = "parking_lot"
1374version = "0.12.2" 1583version = "0.12.5"
1375source = "registry+https://github.com/rust-lang/crates.io-index" 1584source = "registry+https://github.com/rust-lang/crates.io-index"
1376checksum = "7e4af0ca4f6caed20e900d564c242b8e5d4903fdacf31d3daf527b66fe6f42fb" 1585checksum = "93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a"
1377dependencies = [ 1586dependencies = [
1378 "lock_api", 1587 "lock_api",
1379 "parking_lot_core", 1588 "parking_lot_core",
@@ -1381,48 +1590,28 @@ dependencies = [
1381 1590
1382[[package]] 1591[[package]]
1383name = "parking_lot_core" 1592name = "parking_lot_core"
1384version = "0.9.10" 1593version = "0.9.12"
1385source = "registry+https://github.com/rust-lang/crates.io-index" 1594source = "registry+https://github.com/rust-lang/crates.io-index"
1386checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" 1595checksum = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1"
1387dependencies = [ 1596dependencies = [
1388 "cfg-if", 1597 "cfg-if",
1389 "libc", 1598 "libc",
1390 "redox_syscall", 1599 "redox_syscall",
1391 "smallvec", 1600 "smallvec",
1392 "windows-targets 0.52.5", 1601 "windows-link",
1393] 1602]
1394 1603
1395[[package]] 1604[[package]]
1396name = "percent-encoding" 1605name = "percent-encoding"
1397version = "2.3.1" 1606version = "2.3.2"
1398source = "registry+https://github.com/rust-lang/crates.io-index" 1607source = "registry+https://github.com/rust-lang/crates.io-index"
1399checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" 1608checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220"
1400
1401[[package]]
1402name = "pin-project"
1403version = "1.1.5"
1404source = "registry+https://github.com/rust-lang/crates.io-index"
1405checksum = "b6bf43b791c5b9e34c3d182969b4abb522f9343702850a2e57f460d00d09b4b3"
1406dependencies = [
1407 "pin-project-internal",
1408]
1409
1410[[package]]
1411name = "pin-project-internal"
1412version = "1.1.5"
1413source = "registry+https://github.com/rust-lang/crates.io-index"
1414checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965"
1415dependencies = [
1416 "proc-macro2",
1417 "quote",
1418 "syn",
1419]
1420 1609
1421[[package]] 1610[[package]]
1422name = "pin-project-lite" 1611name = "pin-project-lite"
1423version = "0.2.14" 1612version = "0.2.17"
1424source = "registry+https://github.com/rust-lang/crates.io-index" 1613source = "registry+https://github.com/rust-lang/crates.io-index"
1425checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" 1614checksum = "a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd"
1426 1615
1427[[package]] 1616[[package]]
1428name = "pin-utils" 1617name = "pin-utils"
@@ -1441,6 +1630,15 @@ dependencies = [
1441] 1630]
1442 1631
1443[[package]] 1632[[package]]
1633name = "potential_utf"
1634version = "0.1.5"
1635source = "registry+https://github.com/rust-lang/crates.io-index"
1636checksum = "0103b1cef7ec0cf76490e969665504990193874ea05c85ff9bab8b911d0a0564"
1637dependencies = [
1638 "zerovec",
1639]
1640
1641[[package]]
1444name = "powerfmt" 1642name = "powerfmt"
1445version = "0.2.0" 1643version = "0.2.0"
1446source = "registry+https://github.com/rust-lang/crates.io-index" 1644source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1448,89 +1646,68 @@ checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391"
1448 1646
1449[[package]] 1647[[package]]
1450name = "proc-macro2" 1648name = "proc-macro2"
1451version = "1.0.81" 1649version = "1.0.106"
1452source = "registry+https://github.com/rust-lang/crates.io-index" 1650source = "registry+https://github.com/rust-lang/crates.io-index"
1453checksum = "3d1597b0c024618f09a9c3b8655b7e430397a36d23fdafec26d6965e9eec3eba" 1651checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934"
1454dependencies = [ 1652dependencies = [
1455 "unicode-ident", 1653 "unicode-ident",
1456] 1654]
1457 1655
1458[[package]] 1656[[package]]
1459name = "quote" 1657name = "quote"
1460version = "1.0.36" 1658version = "1.0.45"
1461source = "registry+https://github.com/rust-lang/crates.io-index" 1659source = "registry+https://github.com/rust-lang/crates.io-index"
1462checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" 1660checksum = "41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924"
1463dependencies = [ 1661dependencies = [
1464 "proc-macro2", 1662 "proc-macro2",
1465] 1663]
1466 1664
1467[[package]] 1665[[package]]
1666name = "r-efi"
1667version = "5.3.0"
1668source = "registry+https://github.com/rust-lang/crates.io-index"
1669checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f"
1670
1671[[package]]
1468name = "rand_core" 1672name = "rand_core"
1469version = "0.6.4" 1673version = "0.6.4"
1470source = "registry+https://github.com/rust-lang/crates.io-index" 1674source = "registry+https://github.com/rust-lang/crates.io-index"
1471checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" 1675checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
1472dependencies = [ 1676dependencies = [
1473 "getrandom", 1677 "getrandom 0.2.17",
1474] 1678]
1475 1679
1476[[package]] 1680[[package]]
1477name = "redox_syscall" 1681name = "redox_syscall"
1478version = "0.5.1" 1682version = "0.5.18"
1479source = "registry+https://github.com/rust-lang/crates.io-index"
1480checksum = "469052894dcb553421e483e4209ee581a45100d31b4018de03e5a7ad86374a7e"
1481dependencies = [
1482 "bitflags 2.5.0",
1483]
1484
1485[[package]]
1486name = "regex"
1487version = "1.10.4"
1488source = "registry+https://github.com/rust-lang/crates.io-index" 1683source = "registry+https://github.com/rust-lang/crates.io-index"
1489checksum = "c117dbdfde9c8308975b6a18d71f3f385c89461f7b3fb054288ecf2a2058ba4c" 1684checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d"
1490dependencies = [ 1685dependencies = [
1491 "aho-corasick", 1686 "bitflags",
1492 "memchr",
1493 "regex-automata 0.4.6",
1494 "regex-syntax 0.8.3",
1495] 1687]
1496 1688
1497[[package]] 1689[[package]]
1498name = "regex-automata" 1690name = "regex-automata"
1499version = "0.1.10" 1691version = "0.4.14"
1500source = "registry+https://github.com/rust-lang/crates.io-index" 1692source = "registry+https://github.com/rust-lang/crates.io-index"
1501checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" 1693checksum = "6e1dd4122fc1595e8162618945476892eefca7b88c52820e74af6262213cae8f"
1502dependencies = [
1503 "regex-syntax 0.6.29",
1504]
1505
1506[[package]]
1507name = "regex-automata"
1508version = "0.4.6"
1509source = "registry+https://github.com/rust-lang/crates.io-index"
1510checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea"
1511dependencies = [ 1694dependencies = [
1512 "aho-corasick", 1695 "aho-corasick",
1513 "memchr", 1696 "memchr",
1514 "regex-syntax 0.8.3", 1697 "regex-syntax",
1515] 1698]
1516 1699
1517[[package]] 1700[[package]]
1518name = "regex-lite" 1701name = "regex-lite"
1519version = "0.1.5" 1702version = "0.1.9"
1520source = "registry+https://github.com/rust-lang/crates.io-index" 1703source = "registry+https://github.com/rust-lang/crates.io-index"
1521checksum = "30b661b2f27137bdbc16f00eda72866a92bb28af1753ffbd56744fb6e2e9cd8e" 1704checksum = "cab834c73d247e67f4fae452806d17d3c7501756d98c8808d7c9c7aa7d18f973"
1522 1705
1523[[package]] 1706[[package]]
1524name = "regex-syntax" 1707name = "regex-syntax"
1525version = "0.6.29" 1708version = "0.8.10"
1526source = "registry+https://github.com/rust-lang/crates.io-index" 1709source = "registry+https://github.com/rust-lang/crates.io-index"
1527checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" 1710checksum = "dc897dd8d9e8bd1ed8cdad82b5966c3e0ecae09fb1907d58efaa013543185d0a"
1528
1529[[package]]
1530name = "regex-syntax"
1531version = "0.8.3"
1532source = "registry+https://github.com/rust-lang/crates.io-index"
1533checksum = "adad44e29e4c806119491a7f06f03de4d1af22c3a680dd47f1e6e179439d1f56"
1534 1711
1535[[package]] 1712[[package]]
1536name = "rfc6979" 1713name = "rfc6979"
@@ -1545,30 +1722,23 @@ dependencies = [
1545 1722
1546[[package]] 1723[[package]]
1547name = "ring" 1724name = "ring"
1548version = "0.17.8" 1725version = "0.17.14"
1549source = "registry+https://github.com/rust-lang/crates.io-index" 1726source = "registry+https://github.com/rust-lang/crates.io-index"
1550checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" 1727checksum = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7"
1551dependencies = [ 1728dependencies = [
1552 "cc", 1729 "cc",
1553 "cfg-if", 1730 "cfg-if",
1554 "getrandom", 1731 "getrandom 0.2.17",
1555 "libc", 1732 "libc",
1556 "spin",
1557 "untrusted", 1733 "untrusted",
1558 "windows-sys 0.52.0", 1734 "windows-sys 0.52.0",
1559] 1735]
1560 1736
1561[[package]] 1737[[package]]
1562name = "rustc-demangle"
1563version = "0.1.23"
1564source = "registry+https://github.com/rust-lang/crates.io-index"
1565checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76"
1566
1567[[package]]
1568name = "rustc_version" 1738name = "rustc_version"
1569version = "0.4.0" 1739version = "0.4.1"
1570source = "registry+https://github.com/rust-lang/crates.io-index" 1740source = "registry+https://github.com/rust-lang/crates.io-index"
1571checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" 1741checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92"
1572dependencies = [ 1742dependencies = [
1573 "semver", 1743 "semver",
1574] 1744]
@@ -1581,29 +1751,43 @@ checksum = "3f56a14d1f48b391359b22f731fd4bd7e43c97f3c50eee276f3aa09c94784d3e"
1581dependencies = [ 1751dependencies = [
1582 "log", 1752 "log",
1583 "ring", 1753 "ring",
1584 "rustls-webpki", 1754 "rustls-webpki 0.101.7",
1585 "sct", 1755 "sct",
1586] 1756]
1587 1757
1588[[package]] 1758[[package]]
1759name = "rustls"
1760version = "0.23.37"
1761source = "registry+https://github.com/rust-lang/crates.io-index"
1762checksum = "758025cb5fccfd3bc2fd74708fd4682be41d99e5dff73c377c0646c6012c73a4"
1763dependencies = [
1764 "aws-lc-rs",
1765 "once_cell",
1766 "rustls-pki-types",
1767 "rustls-webpki 0.103.10",
1768 "subtle",
1769 "zeroize",
1770]
1771
1772[[package]]
1589name = "rustls-native-certs" 1773name = "rustls-native-certs"
1590version = "0.6.3" 1774version = "0.8.3"
1591source = "registry+https://github.com/rust-lang/crates.io-index" 1775source = "registry+https://github.com/rust-lang/crates.io-index"
1592checksum = "a9aace74cb666635c918e9c12bc0d348266037aa8eb599b5cba565709a8dff00" 1776checksum = "612460d5f7bea540c490b2b6395d8e34a953e52b491accd6c86c8164c5932a63"
1593dependencies = [ 1777dependencies = [
1594 "openssl-probe", 1778 "openssl-probe",
1595 "rustls-pemfile", 1779 "rustls-pki-types",
1596 "schannel", 1780 "schannel",
1597 "security-framework", 1781 "security-framework",
1598] 1782]
1599 1783
1600[[package]] 1784[[package]]
1601name = "rustls-pemfile" 1785name = "rustls-pki-types"
1602version = "1.0.4" 1786version = "1.14.0"
1603source = "registry+https://github.com/rust-lang/crates.io-index" 1787source = "registry+https://github.com/rust-lang/crates.io-index"
1604checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c" 1788checksum = "be040f8b0a225e40375822a563fa9524378b9d63112f53e19ffff34df5d33fdd"
1605dependencies = [ 1789dependencies = [
1606 "base64", 1790 "zeroize",
1607] 1791]
1608 1792
1609[[package]] 1793[[package]]
@@ -1617,24 +1801,36 @@ dependencies = [
1617] 1801]
1618 1802
1619[[package]] 1803[[package]]
1804name = "rustls-webpki"
1805version = "0.103.10"
1806source = "registry+https://github.com/rust-lang/crates.io-index"
1807checksum = "df33b2b81ac578cabaf06b89b0631153a3f416b0a886e8a7a1707fb51abbd1ef"
1808dependencies = [
1809 "aws-lc-rs",
1810 "ring",
1811 "rustls-pki-types",
1812 "untrusted",
1813]
1814
1815[[package]]
1620name = "rustversion" 1816name = "rustversion"
1621version = "1.0.15" 1817version = "1.0.22"
1622source = "registry+https://github.com/rust-lang/crates.io-index" 1818source = "registry+https://github.com/rust-lang/crates.io-index"
1623checksum = "80af6f9131f277a45a3fba6ce8e2258037bb0477a67e610d3c1fe046ab31de47" 1819checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d"
1624 1820
1625[[package]] 1821[[package]]
1626name = "ryu" 1822name = "ryu"
1627version = "1.0.17" 1823version = "1.0.23"
1628source = "registry+https://github.com/rust-lang/crates.io-index" 1824source = "registry+https://github.com/rust-lang/crates.io-index"
1629checksum = "e86697c916019a8588c99b5fac3cead74ec0b4b819707a682fd4d23fa0ce1ba1" 1825checksum = "9774ba4a74de5f7b1c1451ed6cd5285a32eddb5cccb8cc655a4e50009e06477f"
1630 1826
1631[[package]] 1827[[package]]
1632name = "schannel" 1828name = "schannel"
1633version = "0.1.23" 1829version = "0.1.29"
1634source = "registry+https://github.com/rust-lang/crates.io-index" 1830source = "registry+https://github.com/rust-lang/crates.io-index"
1635checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534" 1831checksum = "91c1b7e4904c873ef0710c1f407dde2e6287de2bebc1bbbf7d430bb7cbffd939"
1636dependencies = [ 1832dependencies = [
1637 "windows-sys 0.52.0", 1833 "windows-sys 0.61.2",
1638] 1834]
1639 1835
1640[[package]] 1836[[package]]
@@ -1669,11 +1865,11 @@ dependencies = [
1669 1865
1670[[package]] 1866[[package]]
1671name = "security-framework" 1867name = "security-framework"
1672version = "2.10.0" 1868version = "3.7.0"
1673source = "registry+https://github.com/rust-lang/crates.io-index" 1869source = "registry+https://github.com/rust-lang/crates.io-index"
1674checksum = "770452e37cad93e0a50d5abc3990d2bc351c36d0328f86cefec2f2fb206eaef6" 1870checksum = "b7f4bc775c73d9a02cde8bf7b2ec4c9d12743edf609006c7facc23998404cd1d"
1675dependencies = [ 1871dependencies = [
1676 "bitflags 1.3.2", 1872 "bitflags",
1677 "core-foundation", 1873 "core-foundation",
1678 "core-foundation-sys", 1874 "core-foundation-sys",
1679 "libc", 1875 "libc",
@@ -1682,9 +1878,9 @@ dependencies = [
1682 1878
1683[[package]] 1879[[package]]
1684name = "security-framework-sys" 1880name = "security-framework-sys"
1685version = "2.10.0" 1881version = "2.17.0"
1686source = "registry+https://github.com/rust-lang/crates.io-index" 1882source = "registry+https://github.com/rust-lang/crates.io-index"
1687checksum = "41f3cc463c0ef97e11c3461a9d3787412d30e8e7eb907c79180c4a57bf7c04ef" 1883checksum = "6ce2691df843ecc5d231c0b14ece2acc3efb62c0a398c7e1d875f3983ce020e3"
1688dependencies = [ 1884dependencies = [
1689 "core-foundation-sys", 1885 "core-foundation-sys",
1690 "libc", 1886 "libc",
@@ -1692,24 +1888,34 @@ dependencies = [
1692 1888
1693[[package]] 1889[[package]]
1694name = "semver" 1890name = "semver"
1695version = "1.0.22" 1891version = "1.0.28"
1696source = "registry+https://github.com/rust-lang/crates.io-index" 1892source = "registry+https://github.com/rust-lang/crates.io-index"
1697checksum = "92d43fe69e652f3df9bdc2b85b2854a0825b86e4fb76bc44d945137d053639ca" 1893checksum = "8a7852d02fc848982e0c167ef163aaff9cd91dc640ba85e263cb1ce46fae51cd"
1698 1894
1699[[package]] 1895[[package]]
1700name = "serde" 1896name = "serde"
1701version = "1.0.199" 1897version = "1.0.228"
1702source = "registry+https://github.com/rust-lang/crates.io-index" 1898source = "registry+https://github.com/rust-lang/crates.io-index"
1703checksum = "0c9f6e76df036c77cd94996771fb40db98187f096dd0b9af39c6c6e452ba966a" 1899checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e"
1900dependencies = [
1901 "serde_core",
1902 "serde_derive",
1903]
1904
1905[[package]]
1906name = "serde_core"
1907version = "1.0.228"
1908source = "registry+https://github.com/rust-lang/crates.io-index"
1909checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad"
1704dependencies = [ 1910dependencies = [
1705 "serde_derive", 1911 "serde_derive",
1706] 1912]
1707 1913
1708[[package]] 1914[[package]]
1709name = "serde_derive" 1915name = "serde_derive"
1710version = "1.0.199" 1916version = "1.0.228"
1711source = "registry+https://github.com/rust-lang/crates.io-index" 1917source = "registry+https://github.com/rust-lang/crates.io-index"
1712checksum = "11bd257a6541e141e42ca6d24ae26f7714887b47e89aa739099104c7e4d3b7fc" 1918checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79"
1713dependencies = [ 1919dependencies = [
1714 "proc-macro2", 1920 "proc-macro2",
1715 "quote", 1921 "quote",
@@ -1718,23 +1924,26 @@ dependencies = [
1718 1924
1719[[package]] 1925[[package]]
1720name = "serde_json" 1926name = "serde_json"
1721version = "1.0.116" 1927version = "1.0.149"
1722source = "registry+https://github.com/rust-lang/crates.io-index" 1928source = "registry+https://github.com/rust-lang/crates.io-index"
1723checksum = "3e17db7126d17feb94eb3fad46bf1a96b034e8aacbc2e775fe81505f8b0b2813" 1929checksum = "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86"
1724dependencies = [ 1930dependencies = [
1725 "itoa", 1931 "itoa",
1726 "ryu", 1932 "memchr",
1727 "serde", 1933 "serde",
1934 "serde_core",
1935 "zmij",
1728] 1936]
1729 1937
1730[[package]] 1938[[package]]
1731name = "serde_path_to_error" 1939name = "serde_path_to_error"
1732version = "0.1.16" 1940version = "0.1.20"
1733source = "registry+https://github.com/rust-lang/crates.io-index" 1941source = "registry+https://github.com/rust-lang/crates.io-index"
1734checksum = "af99884400da37c88f5e9146b7f1fd0fbcae8f6eec4e9da38b67d05486f814a6" 1942checksum = "10a9ff822e371bb5403e391ecd83e182e0e77ba7f6fe0160b795797109d1b457"
1735dependencies = [ 1943dependencies = [
1736 "itoa", 1944 "itoa",
1737 "serde", 1945 "serde",
1946 "serde_core",
1738] 1947]
1739 1948
1740[[package]] 1949[[package]]
@@ -1762,9 +1971,9 @@ dependencies = [
1762 1971
1763[[package]] 1972[[package]]
1764name = "sha2" 1973name = "sha2"
1765version = "0.10.8" 1974version = "0.10.9"
1766source = "registry+https://github.com/rust-lang/crates.io-index" 1975source = "registry+https://github.com/rust-lang/crates.io-index"
1767checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" 1976checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283"
1768dependencies = [ 1977dependencies = [
1769 "cfg-if", 1978 "cfg-if",
1770 "cpufeatures", 1979 "cpufeatures",
@@ -1781,11 +1990,18 @@ dependencies = [
1781] 1990]
1782 1991
1783[[package]] 1992[[package]]
1993name = "shlex"
1994version = "1.3.0"
1995source = "registry+https://github.com/rust-lang/crates.io-index"
1996checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
1997
1998[[package]]
1784name = "signal-hook-registry" 1999name = "signal-hook-registry"
1785version = "1.4.2" 2000version = "1.4.8"
1786source = "registry+https://github.com/rust-lang/crates.io-index" 2001source = "registry+https://github.com/rust-lang/crates.io-index"
1787checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1" 2002checksum = "c4db69cba1110affc0e9f7bcd48bbf87b3f4fc7c61fc9155afd4c469eb3d6c1b"
1788dependencies = [ 2003dependencies = [
2004 "errno",
1789 "libc", 2005 "libc",
1790] 2006]
1791 2007
@@ -1801,34 +2017,41 @@ dependencies = [
1801 2017
1802[[package]] 2018[[package]]
1803name = "slab" 2019name = "slab"
1804version = "0.4.9" 2020version = "0.4.12"
1805source = "registry+https://github.com/rust-lang/crates.io-index" 2021source = "registry+https://github.com/rust-lang/crates.io-index"
1806checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" 2022checksum = "0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5"
1807dependencies = [
1808 "autocfg",
1809]
1810 2023
1811[[package]] 2024[[package]]
1812name = "smallvec" 2025name = "smallvec"
1813version = "1.13.2" 2026version = "1.15.1"
1814source = "registry+https://github.com/rust-lang/crates.io-index" 2027source = "registry+https://github.com/rust-lang/crates.io-index"
1815checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" 2028checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03"
1816 2029
1817[[package]] 2030[[package]]
1818name = "socket2" 2031name = "socket2"
1819version = "0.5.7" 2032version = "0.5.10"
1820source = "registry+https://github.com/rust-lang/crates.io-index" 2033source = "registry+https://github.com/rust-lang/crates.io-index"
1821checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c" 2034checksum = "e22376abed350d73dd1cd119b57ffccad95b4e585a7cda43e286245ce23c0678"
1822dependencies = [ 2035dependencies = [
1823 "libc", 2036 "libc",
1824 "windows-sys 0.52.0", 2037 "windows-sys 0.52.0",
1825] 2038]
1826 2039
1827[[package]] 2040[[package]]
2041name = "socket2"
2042version = "0.6.3"
2043source = "registry+https://github.com/rust-lang/crates.io-index"
2044checksum = "3a766e1110788c36f4fa1c2b71b387a7815aa65f88ce0229841826633d93723e"
2045dependencies = [
2046 "libc",
2047 "windows-sys 0.61.2",
2048]
2049
2050[[package]]
1828name = "spin" 2051name = "spin"
1829version = "0.9.8" 2052version = "0.10.0"
1830source = "registry+https://github.com/rust-lang/crates.io-index" 2053source = "registry+https://github.com/rust-lang/crates.io-index"
1831checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" 2054checksum = "d5fe4ccb98d9c292d56fec89a5e07da7fc4cf0dc11e156b41793132775d3e591"
1832 2055
1833[[package]] 2056[[package]]
1834name = "spki" 2057name = "spki"
@@ -1841,16 +2064,22 @@ dependencies = [
1841] 2064]
1842 2065
1843[[package]] 2066[[package]]
2067name = "stable_deref_trait"
2068version = "1.2.1"
2069source = "registry+https://github.com/rust-lang/crates.io-index"
2070checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596"
2071
2072[[package]]
1844name = "subtle" 2073name = "subtle"
1845version = "2.5.0" 2074version = "2.6.1"
1846source = "registry+https://github.com/rust-lang/crates.io-index" 2075source = "registry+https://github.com/rust-lang/crates.io-index"
1847checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc" 2076checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292"
1848 2077
1849[[package]] 2078[[package]]
1850name = "syn" 2079name = "syn"
1851version = "2.0.60" 2080version = "2.0.117"
1852source = "registry+https://github.com/rust-lang/crates.io-index" 2081source = "registry+https://github.com/rust-lang/crates.io-index"
1853checksum = "909518bc7b1c9b779f1bbf07f2929d35af9f0f37e47c6e9ef7f9dddc1e1821f3" 2082checksum = "e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99"
1854dependencies = [ 2083dependencies = [
1855 "proc-macro2", 2084 "proc-macro2",
1856 "quote", 2085 "quote",
@@ -1859,95 +2088,92 @@ dependencies = [
1859 2088
1860[[package]] 2089[[package]]
1861name = "sync_wrapper" 2090name = "sync_wrapper"
1862version = "0.1.2" 2091version = "1.0.2"
1863source = "registry+https://github.com/rust-lang/crates.io-index" 2092source = "registry+https://github.com/rust-lang/crates.io-index"
1864checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" 2093checksum = "0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263"
1865 2094
1866[[package]] 2095[[package]]
1867name = "sync_wrapper" 2096name = "synstructure"
1868version = "1.0.1" 2097version = "0.13.2"
1869source = "registry+https://github.com/rust-lang/crates.io-index" 2098source = "registry+https://github.com/rust-lang/crates.io-index"
1870checksum = "a7065abeca94b6a8a577f9bd45aa0867a2238b74e8eb67cf10d492bc39351394" 2099checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2"
2100dependencies = [
2101 "proc-macro2",
2102 "quote",
2103 "syn",
2104]
1871 2105
1872[[package]] 2106[[package]]
1873name = "thread_local" 2107name = "thread_local"
1874version = "1.1.8" 2108version = "1.1.9"
1875source = "registry+https://github.com/rust-lang/crates.io-index" 2109source = "registry+https://github.com/rust-lang/crates.io-index"
1876checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c" 2110checksum = "f60246a4944f24f6e018aa17cdeffb7818b76356965d03b07d6a9886e8962185"
1877dependencies = [ 2111dependencies = [
1878 "cfg-if", 2112 "cfg-if",
1879 "once_cell",
1880] 2113]
1881 2114
1882[[package]] 2115[[package]]
1883name = "time" 2116name = "time"
1884version = "0.3.36" 2117version = "0.3.47"
1885source = "registry+https://github.com/rust-lang/crates.io-index" 2118source = "registry+https://github.com/rust-lang/crates.io-index"
1886checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" 2119checksum = "743bd48c283afc0388f9b8827b976905fb217ad9e647fae3a379a9283c4def2c"
1887dependencies = [ 2120dependencies = [
1888 "deranged", 2121 "deranged",
1889 "num-conv", 2122 "num-conv",
1890 "powerfmt", 2123 "powerfmt",
1891 "serde", 2124 "serde_core",
1892 "time-core", 2125 "time-core",
1893 "time-macros", 2126 "time-macros",
1894] 2127]
1895 2128
1896[[package]] 2129[[package]]
1897name = "time-core" 2130name = "time-core"
1898version = "0.1.2" 2131version = "0.1.8"
1899source = "registry+https://github.com/rust-lang/crates.io-index" 2132source = "registry+https://github.com/rust-lang/crates.io-index"
1900checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" 2133checksum = "7694e1cfe791f8d31026952abf09c69ca6f6fa4e1a1229e18988f06a04a12dca"
1901 2134
1902[[package]] 2135[[package]]
1903name = "time-macros" 2136name = "time-macros"
1904version = "0.2.18" 2137version = "0.2.27"
1905source = "registry+https://github.com/rust-lang/crates.io-index" 2138source = "registry+https://github.com/rust-lang/crates.io-index"
1906checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf" 2139checksum = "2e70e4c5a0e0a8a4823ad65dfe1a6930e4f4d756dcd9dd7939022b5e8c501215"
1907dependencies = [ 2140dependencies = [
1908 "num-conv", 2141 "num-conv",
1909 "time-core", 2142 "time-core",
1910] 2143]
1911 2144
1912[[package]] 2145[[package]]
1913name = "tinyvec" 2146name = "tinystr"
1914version = "1.6.0" 2147version = "0.8.3"
1915source = "registry+https://github.com/rust-lang/crates.io-index" 2148source = "registry+https://github.com/rust-lang/crates.io-index"
1916checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" 2149checksum = "c8323304221c2a851516f22236c5722a72eaa19749016521d6dff0824447d96d"
1917dependencies = [ 2150dependencies = [
1918 "tinyvec_macros", 2151 "displaydoc",
2152 "zerovec",
1919] 2153]
1920 2154
1921[[package]] 2155[[package]]
1922name = "tinyvec_macros"
1923version = "0.1.1"
1924source = "registry+https://github.com/rust-lang/crates.io-index"
1925checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
1926
1927[[package]]
1928name = "tokio" 2156name = "tokio"
1929version = "1.37.0" 2157version = "1.51.0"
1930source = "registry+https://github.com/rust-lang/crates.io-index" 2158source = "registry+https://github.com/rust-lang/crates.io-index"
1931checksum = "1adbebffeca75fcfd058afa480fb6c0b81e165a0323f9c9d39c9697e37c46787" 2159checksum = "2bd1c4c0fc4a7ab90fc15ef6daaa3ec3b893f004f915f2392557ed23237820cd"
1932dependencies = [ 2160dependencies = [
1933 "backtrace",
1934 "bytes", 2161 "bytes",
1935 "libc", 2162 "libc",
1936 "mio", 2163 "mio",
1937 "num_cpus",
1938 "parking_lot", 2164 "parking_lot",
1939 "pin-project-lite", 2165 "pin-project-lite",
1940 "signal-hook-registry", 2166 "signal-hook-registry",
1941 "socket2", 2167 "socket2 0.6.3",
1942 "tokio-macros", 2168 "tokio-macros",
1943 "windows-sys 0.48.0", 2169 "windows-sys 0.61.2",
1944] 2170]
1945 2171
1946[[package]] 2172[[package]]
1947name = "tokio-macros" 2173name = "tokio-macros"
1948version = "2.2.0" 2174version = "2.7.0"
1949source = "registry+https://github.com/rust-lang/crates.io-index" 2175source = "registry+https://github.com/rust-lang/crates.io-index"
1950checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" 2176checksum = "385a6cb71ab9ab790c5fe8d67f1645e6c450a7ce006a33de03daa956cf70a496"
1951dependencies = [ 2177dependencies = [
1952 "proc-macro2", 2178 "proc-macro2",
1953 "quote", 2179 "quote",
@@ -1960,34 +2186,43 @@ version = "0.24.1"
1960source = "registry+https://github.com/rust-lang/crates.io-index" 2186source = "registry+https://github.com/rust-lang/crates.io-index"
1961checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081" 2187checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081"
1962dependencies = [ 2188dependencies = [
1963 "rustls", 2189 "rustls 0.21.12",
2190 "tokio",
2191]
2192
2193[[package]]
2194name = "tokio-rustls"
2195version = "0.26.4"
2196source = "registry+https://github.com/rust-lang/crates.io-index"
2197checksum = "1729aa945f29d91ba541258c8df89027d5792d85a8841fb65e8bf0f4ede4ef61"
2198dependencies = [
2199 "rustls 0.23.37",
1964 "tokio", 2200 "tokio",
1965] 2201]
1966 2202
1967[[package]] 2203[[package]]
1968name = "tokio-util" 2204name = "tokio-util"
1969version = "0.7.10" 2205version = "0.7.18"
1970source = "registry+https://github.com/rust-lang/crates.io-index" 2206source = "registry+https://github.com/rust-lang/crates.io-index"
1971checksum = "5419f34732d9eb6ee4c3578b7989078579b7f039cbbb9ca2c4da015749371e15" 2207checksum = "9ae9cec805b01e8fc3fd2fe289f89149a9b66dd16786abd8b19cfa7b48cb0098"
1972dependencies = [ 2208dependencies = [
1973 "bytes", 2209 "bytes",
1974 "futures-core", 2210 "futures-core",
1975 "futures-sink", 2211 "futures-sink",
1976 "pin-project-lite", 2212 "pin-project-lite",
1977 "tokio", 2213 "tokio",
1978 "tracing",
1979] 2214]
1980 2215
1981[[package]] 2216[[package]]
1982name = "tower" 2217name = "tower"
1983version = "0.4.13" 2218version = "0.5.3"
1984source = "registry+https://github.com/rust-lang/crates.io-index" 2219source = "registry+https://github.com/rust-lang/crates.io-index"
1985checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" 2220checksum = "ebe5ef63511595f1344e2d5cfa636d973292adc0eec1f0ad45fae9f0851ab1d4"
1986dependencies = [ 2221dependencies = [
1987 "futures-core", 2222 "futures-core",
1988 "futures-util", 2223 "futures-util",
1989 "pin-project",
1990 "pin-project-lite", 2224 "pin-project-lite",
2225 "sync_wrapper",
1991 "tokio", 2226 "tokio",
1992 "tower-layer", 2227 "tower-layer",
1993 "tower-service", 2228 "tower-service",
@@ -1996,21 +2231,21 @@ dependencies = [
1996 2231
1997[[package]] 2232[[package]]
1998name = "tower-layer" 2233name = "tower-layer"
1999version = "0.3.2" 2234version = "0.3.3"
2000source = "registry+https://github.com/rust-lang/crates.io-index" 2235source = "registry+https://github.com/rust-lang/crates.io-index"
2001checksum = "c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0" 2236checksum = "121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e"
2002 2237
2003[[package]] 2238[[package]]
2004name = "tower-service" 2239name = "tower-service"
2005version = "0.3.2" 2240version = "0.3.3"
2006source = "registry+https://github.com/rust-lang/crates.io-index" 2241source = "registry+https://github.com/rust-lang/crates.io-index"
2007checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" 2242checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3"
2008 2243
2009[[package]] 2244[[package]]
2010name = "tracing" 2245name = "tracing"
2011version = "0.1.40" 2246version = "0.1.44"
2012source = "registry+https://github.com/rust-lang/crates.io-index" 2247source = "registry+https://github.com/rust-lang/crates.io-index"
2013checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" 2248checksum = "63e71662fa4b2a2c3a26f570f037eb95bb1f85397f3cd8076caed2f026a6d100"
2014dependencies = [ 2249dependencies = [
2015 "log", 2250 "log",
2016 "pin-project-lite", 2251 "pin-project-lite",
@@ -2020,9 +2255,9 @@ dependencies = [
2020 2255
2021[[package]] 2256[[package]]
2022name = "tracing-attributes" 2257name = "tracing-attributes"
2023version = "0.1.27" 2258version = "0.1.31"
2024source = "registry+https://github.com/rust-lang/crates.io-index" 2259source = "registry+https://github.com/rust-lang/crates.io-index"
2025checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" 2260checksum = "7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da"
2026dependencies = [ 2261dependencies = [
2027 "proc-macro2", 2262 "proc-macro2",
2028 "quote", 2263 "quote",
@@ -2031,9 +2266,9 @@ dependencies = [
2031 2266
2032[[package]] 2267[[package]]
2033name = "tracing-core" 2268name = "tracing-core"
2034version = "0.1.32" 2269version = "0.1.36"
2035source = "registry+https://github.com/rust-lang/crates.io-index" 2270source = "registry+https://github.com/rust-lang/crates.io-index"
2036checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" 2271checksum = "db97caf9d906fbde555dd62fa95ddba9eecfd14cb388e4f491a66d74cd5fb79a"
2037dependencies = [ 2272dependencies = [
2038 "once_cell", 2273 "once_cell",
2039 "valuable", 2274 "valuable",
@@ -2052,14 +2287,14 @@ dependencies = [
2052 2287
2053[[package]] 2288[[package]]
2054name = "tracing-subscriber" 2289name = "tracing-subscriber"
2055version = "0.3.18" 2290version = "0.3.23"
2056source = "registry+https://github.com/rust-lang/crates.io-index" 2291source = "registry+https://github.com/rust-lang/crates.io-index"
2057checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b" 2292checksum = "cb7f578e5945fb242538965c2d0b04418d38ec25c79d160cd279bf0731c8d319"
2058dependencies = [ 2293dependencies = [
2059 "matchers", 2294 "matchers",
2060 "nu-ansi-term", 2295 "nu-ansi-term",
2061 "once_cell", 2296 "once_cell",
2062 "regex", 2297 "regex-automata",
2063 "sharded-slab", 2298 "sharded-slab",
2064 "smallvec", 2299 "smallvec",
2065 "thread_local", 2300 "thread_local",
@@ -2076,30 +2311,15 @@ checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b"
2076 2311
2077[[package]] 2312[[package]]
2078name = "typenum" 2313name = "typenum"
2079version = "1.17.0" 2314version = "1.19.0"
2080source = "registry+https://github.com/rust-lang/crates.io-index"
2081checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825"
2082
2083[[package]]
2084name = "unicode-bidi"
2085version = "0.3.15"
2086source = "registry+https://github.com/rust-lang/crates.io-index" 2315source = "registry+https://github.com/rust-lang/crates.io-index"
2087checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" 2316checksum = "562d481066bde0658276a35467c4af00bdc6ee726305698a55b86e61d7ad82bb"
2088 2317
2089[[package]] 2318[[package]]
2090name = "unicode-ident" 2319name = "unicode-ident"
2091version = "1.0.12" 2320version = "1.0.24"
2092source = "registry+https://github.com/rust-lang/crates.io-index" 2321source = "registry+https://github.com/rust-lang/crates.io-index"
2093checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" 2322checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75"
2094
2095[[package]]
2096name = "unicode-normalization"
2097version = "0.1.23"
2098source = "registry+https://github.com/rust-lang/crates.io-index"
2099checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5"
2100dependencies = [
2101 "tinyvec",
2102]
2103 2323
2104[[package]] 2324[[package]]
2105name = "untrusted" 2325name = "untrusted"
@@ -2109,13 +2329,14 @@ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1"
2109 2329
2110[[package]] 2330[[package]]
2111name = "url" 2331name = "url"
2112version = "2.5.0" 2332version = "2.5.8"
2113source = "registry+https://github.com/rust-lang/crates.io-index" 2333source = "registry+https://github.com/rust-lang/crates.io-index"
2114checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633" 2334checksum = "ff67a8a4397373c3ef660812acab3268222035010ab8680ec4215f38ba3d0eed"
2115dependencies = [ 2335dependencies = [
2116 "form_urlencoded", 2336 "form_urlencoded",
2117 "idna", 2337 "idna",
2118 "percent-encoding", 2338 "percent-encoding",
2339 "serde",
2119] 2340]
2120 2341
2121[[package]] 2342[[package]]
@@ -2125,22 +2346,32 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
2125checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da" 2346checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da"
2126 2347
2127[[package]] 2348[[package]]
2349name = "utf8_iter"
2350version = "1.0.4"
2351source = "registry+https://github.com/rust-lang/crates.io-index"
2352checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be"
2353
2354[[package]]
2128name = "uuid" 2355name = "uuid"
2129version = "1.8.0" 2356version = "1.23.0"
2130source = "registry+https://github.com/rust-lang/crates.io-index" 2357source = "registry+https://github.com/rust-lang/crates.io-index"
2131checksum = "a183cf7feeba97b4dd1c0d46788634f6221d87fa961b305bed08c851829efcc0" 2358checksum = "5ac8b6f42ead25368cf5b098aeb3dc8a1a2c05a3eee8a9a1a68c640edbfc79d9"
2359dependencies = [
2360 "js-sys",
2361 "wasm-bindgen",
2362]
2132 2363
2133[[package]] 2364[[package]]
2134name = "valuable" 2365name = "valuable"
2135version = "0.1.0" 2366version = "0.1.1"
2136source = "registry+https://github.com/rust-lang/crates.io-index" 2367source = "registry+https://github.com/rust-lang/crates.io-index"
2137checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" 2368checksum = "ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65"
2138 2369
2139[[package]] 2370[[package]]
2140name = "version_check" 2371name = "version_check"
2141version = "0.9.4" 2372version = "0.9.5"
2142source = "registry+https://github.com/rust-lang/crates.io-index" 2373source = "registry+https://github.com/rust-lang/crates.io-index"
2143checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" 2374checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a"
2144 2375
2145[[package]] 2376[[package]]
2146name = "vsimd" 2377name = "vsimd"
@@ -2159,40 +2390,37 @@ dependencies = [
2159 2390
2160[[package]] 2391[[package]]
2161name = "wasi" 2392name = "wasi"
2162version = "0.11.0+wasi-snapshot-preview1" 2393version = "0.11.1+wasi-snapshot-preview1"
2163source = "registry+https://github.com/rust-lang/crates.io-index" 2394source = "registry+https://github.com/rust-lang/crates.io-index"
2164checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" 2395checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b"
2165 2396
2166[[package]] 2397[[package]]
2167name = "wasm-bindgen" 2398name = "wasip2"
2168version = "0.2.92" 2399version = "1.0.2+wasi-0.2.9"
2169source = "registry+https://github.com/rust-lang/crates.io-index" 2400source = "registry+https://github.com/rust-lang/crates.io-index"
2170checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8" 2401checksum = "9517f9239f02c069db75e65f174b3da828fe5f5b945c4dd26bd25d89c03ebcf5"
2171dependencies = [ 2402dependencies = [
2172 "cfg-if", 2403 "wit-bindgen",
2173 "wasm-bindgen-macro",
2174] 2404]
2175 2405
2176[[package]] 2406[[package]]
2177name = "wasm-bindgen-backend" 2407name = "wasm-bindgen"
2178version = "0.2.92" 2408version = "0.2.117"
2179source = "registry+https://github.com/rust-lang/crates.io-index" 2409source = "registry+https://github.com/rust-lang/crates.io-index"
2180checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da" 2410checksum = "0551fc1bb415591e3372d0bc4780db7e587d84e2a7e79da121051c5c4b89d0b0"
2181dependencies = [ 2411dependencies = [
2182 "bumpalo", 2412 "cfg-if",
2183 "log",
2184 "once_cell", 2413 "once_cell",
2185 "proc-macro2", 2414 "rustversion",
2186 "quote", 2415 "wasm-bindgen-macro",
2187 "syn",
2188 "wasm-bindgen-shared", 2416 "wasm-bindgen-shared",
2189] 2417]
2190 2418
2191[[package]] 2419[[package]]
2192name = "wasm-bindgen-macro" 2420name = "wasm-bindgen-macro"
2193version = "0.2.92" 2421version = "0.2.117"
2194source = "registry+https://github.com/rust-lang/crates.io-index" 2422source = "registry+https://github.com/rust-lang/crates.io-index"
2195checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726" 2423checksum = "7fbdf9a35adf44786aecd5ff89b4563a90325f9da0923236f6104e603c7e86be"
2196dependencies = [ 2424dependencies = [
2197 "quote", 2425 "quote",
2198 "wasm-bindgen-macro-support", 2426 "wasm-bindgen-macro-support",
@@ -2200,61 +2428,83 @@ dependencies = [
2200 2428
2201[[package]] 2429[[package]]
2202name = "wasm-bindgen-macro-support" 2430name = "wasm-bindgen-macro-support"
2203version = "0.2.92" 2431version = "0.2.117"
2204source = "registry+https://github.com/rust-lang/crates.io-index" 2432source = "registry+https://github.com/rust-lang/crates.io-index"
2205checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" 2433checksum = "dca9693ef2bab6d4e6707234500350d8dad079eb508dca05530c85dc3a529ff2"
2206dependencies = [ 2434dependencies = [
2435 "bumpalo",
2207 "proc-macro2", 2436 "proc-macro2",
2208 "quote", 2437 "quote",
2209 "syn", 2438 "syn",
2210 "wasm-bindgen-backend",
2211 "wasm-bindgen-shared", 2439 "wasm-bindgen-shared",
2212] 2440]
2213 2441
2214[[package]] 2442[[package]]
2215name = "wasm-bindgen-shared" 2443name = "wasm-bindgen-shared"
2216version = "0.2.92" 2444version = "0.2.117"
2217source = "registry+https://github.com/rust-lang/crates.io-index" 2445source = "registry+https://github.com/rust-lang/crates.io-index"
2218checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" 2446checksum = "39129a682a6d2d841b6c429d0c51e5cb0ed1a03829d8b3d1e69a011e62cb3d3b"
2447dependencies = [
2448 "unicode-ident",
2449]
2219 2450
2220[[package]] 2451[[package]]
2221name = "winapi" 2452name = "windows-core"
2222version = "0.3.9" 2453version = "0.62.2"
2223source = "registry+https://github.com/rust-lang/crates.io-index" 2454source = "registry+https://github.com/rust-lang/crates.io-index"
2224checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" 2455checksum = "b8e83a14d34d0623b51dce9581199302a221863196a1dde71a7663a4c2be9deb"
2225dependencies = [ 2456dependencies = [
2226 "winapi-i686-pc-windows-gnu", 2457 "windows-implement",
2227 "winapi-x86_64-pc-windows-gnu", 2458 "windows-interface",
2459 "windows-link",
2460 "windows-result",
2461 "windows-strings",
2228] 2462]
2229 2463
2230[[package]] 2464[[package]]
2231name = "winapi-i686-pc-windows-gnu" 2465name = "windows-implement"
2232version = "0.4.0" 2466version = "0.60.2"
2233source = "registry+https://github.com/rust-lang/crates.io-index" 2467source = "registry+https://github.com/rust-lang/crates.io-index"
2234checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" 2468checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf"
2469dependencies = [
2470 "proc-macro2",
2471 "quote",
2472 "syn",
2473]
2235 2474
2236[[package]] 2475[[package]]
2237name = "winapi-x86_64-pc-windows-gnu" 2476name = "windows-interface"
2238version = "0.4.0" 2477version = "0.59.3"
2239source = "registry+https://github.com/rust-lang/crates.io-index" 2478source = "registry+https://github.com/rust-lang/crates.io-index"
2240checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" 2479checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358"
2480dependencies = [
2481 "proc-macro2",
2482 "quote",
2483 "syn",
2484]
2241 2485
2242[[package]] 2486[[package]]
2243name = "windows-core" 2487name = "windows-link"
2244version = "0.52.0" 2488version = "0.2.1"
2489source = "registry+https://github.com/rust-lang/crates.io-index"
2490checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5"
2491
2492[[package]]
2493name = "windows-result"
2494version = "0.4.1"
2245source = "registry+https://github.com/rust-lang/crates.io-index" 2495source = "registry+https://github.com/rust-lang/crates.io-index"
2246checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" 2496checksum = "7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5"
2247dependencies = [ 2497dependencies = [
2248 "windows-targets 0.52.5", 2498 "windows-link",
2249] 2499]
2250 2500
2251[[package]] 2501[[package]]
2252name = "windows-sys" 2502name = "windows-strings"
2253version = "0.48.0" 2503version = "0.5.1"
2254source = "registry+https://github.com/rust-lang/crates.io-index" 2504source = "registry+https://github.com/rust-lang/crates.io-index"
2255checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" 2505checksum = "7837d08f69c77cf6b07689544538e017c1bfcf57e34b4c0ff58e6c2cd3b37091"
2256dependencies = [ 2506dependencies = [
2257 "windows-targets 0.48.5", 2507 "windows-link",
2258] 2508]
2259 2509
2260[[package]] 2510[[package]]
@@ -2263,150 +2513,177 @@ version = "0.52.0"
2263source = "registry+https://github.com/rust-lang/crates.io-index" 2513source = "registry+https://github.com/rust-lang/crates.io-index"
2264checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" 2514checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
2265dependencies = [ 2515dependencies = [
2266 "windows-targets 0.52.5", 2516 "windows-targets",
2267] 2517]
2268 2518
2269[[package]] 2519[[package]]
2270name = "windows-targets" 2520name = "windows-sys"
2271version = "0.48.5" 2521version = "0.61.2"
2272source = "registry+https://github.com/rust-lang/crates.io-index" 2522source = "registry+https://github.com/rust-lang/crates.io-index"
2273checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" 2523checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc"
2274dependencies = [ 2524dependencies = [
2275 "windows_aarch64_gnullvm 0.48.5", 2525 "windows-link",
2276 "windows_aarch64_msvc 0.48.5",
2277 "windows_i686_gnu 0.48.5",
2278 "windows_i686_msvc 0.48.5",
2279 "windows_x86_64_gnu 0.48.5",
2280 "windows_x86_64_gnullvm 0.48.5",
2281 "windows_x86_64_msvc 0.48.5",
2282] 2526]
2283 2527
2284[[package]] 2528[[package]]
2285name = "windows-targets" 2529name = "windows-targets"
2286version = "0.52.5" 2530version = "0.52.6"
2287source = "registry+https://github.com/rust-lang/crates.io-index" 2531source = "registry+https://github.com/rust-lang/crates.io-index"
2288checksum = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb" 2532checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973"
2289dependencies = [ 2533dependencies = [
2290 "windows_aarch64_gnullvm 0.52.5", 2534 "windows_aarch64_gnullvm",
2291 "windows_aarch64_msvc 0.52.5", 2535 "windows_aarch64_msvc",
2292 "windows_i686_gnu 0.52.5", 2536 "windows_i686_gnu",
2293 "windows_i686_gnullvm", 2537 "windows_i686_gnullvm",
2294 "windows_i686_msvc 0.52.5", 2538 "windows_i686_msvc",
2295 "windows_x86_64_gnu 0.52.5", 2539 "windows_x86_64_gnu",
2296 "windows_x86_64_gnullvm 0.52.5", 2540 "windows_x86_64_gnullvm",
2297 "windows_x86_64_msvc 0.52.5", 2541 "windows_x86_64_msvc",
2298] 2542]
2299 2543
2300[[package]] 2544[[package]]
2301name = "windows_aarch64_gnullvm" 2545name = "windows_aarch64_gnullvm"
2302version = "0.48.5" 2546version = "0.52.6"
2303source = "registry+https://github.com/rust-lang/crates.io-index" 2547source = "registry+https://github.com/rust-lang/crates.io-index"
2304checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" 2548checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3"
2305 2549
2306[[package]] 2550[[package]]
2307name = "windows_aarch64_gnullvm" 2551name = "windows_aarch64_msvc"
2308version = "0.52.5" 2552version = "0.52.6"
2309source = "registry+https://github.com/rust-lang/crates.io-index" 2553source = "registry+https://github.com/rust-lang/crates.io-index"
2310checksum = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263" 2554checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469"
2311 2555
2312[[package]] 2556[[package]]
2313name = "windows_aarch64_msvc" 2557name = "windows_i686_gnu"
2314version = "0.48.5" 2558version = "0.52.6"
2315source = "registry+https://github.com/rust-lang/crates.io-index" 2559source = "registry+https://github.com/rust-lang/crates.io-index"
2316checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" 2560checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b"
2317 2561
2318[[package]] 2562[[package]]
2319name = "windows_aarch64_msvc" 2563name = "windows_i686_gnullvm"
2320version = "0.52.5" 2564version = "0.52.6"
2321source = "registry+https://github.com/rust-lang/crates.io-index" 2565source = "registry+https://github.com/rust-lang/crates.io-index"
2322checksum = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6" 2566checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66"
2323 2567
2324[[package]] 2568[[package]]
2325name = "windows_i686_gnu" 2569name = "windows_i686_msvc"
2326version = "0.48.5" 2570version = "0.52.6"
2327source = "registry+https://github.com/rust-lang/crates.io-index" 2571source = "registry+https://github.com/rust-lang/crates.io-index"
2328checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" 2572checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66"
2329 2573
2330[[package]] 2574[[package]]
2331name = "windows_i686_gnu" 2575name = "windows_x86_64_gnu"
2332version = "0.52.5" 2576version = "0.52.6"
2333source = "registry+https://github.com/rust-lang/crates.io-index" 2577source = "registry+https://github.com/rust-lang/crates.io-index"
2334checksum = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670" 2578checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78"
2335 2579
2336[[package]] 2580[[package]]
2337name = "windows_i686_gnullvm" 2581name = "windows_x86_64_gnullvm"
2338version = "0.52.5" 2582version = "0.52.6"
2339source = "registry+https://github.com/rust-lang/crates.io-index" 2583source = "registry+https://github.com/rust-lang/crates.io-index"
2340checksum = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9" 2584checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d"
2341 2585
2342[[package]] 2586[[package]]
2343name = "windows_i686_msvc" 2587name = "windows_x86_64_msvc"
2344version = "0.48.5" 2588version = "0.52.6"
2345source = "registry+https://github.com/rust-lang/crates.io-index" 2589source = "registry+https://github.com/rust-lang/crates.io-index"
2346checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" 2590checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
2347 2591
2348[[package]] 2592[[package]]
2349name = "windows_i686_msvc" 2593name = "wit-bindgen"
2350version = "0.52.5" 2594version = "0.51.0"
2351source = "registry+https://github.com/rust-lang/crates.io-index" 2595source = "registry+https://github.com/rust-lang/crates.io-index"
2352checksum = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf" 2596checksum = "d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5"
2353 2597
2354[[package]] 2598[[package]]
2355name = "windows_x86_64_gnu" 2599name = "writeable"
2356version = "0.48.5" 2600version = "0.6.3"
2357source = "registry+https://github.com/rust-lang/crates.io-index" 2601source = "registry+https://github.com/rust-lang/crates.io-index"
2358checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" 2602checksum = "1ffae5123b2d3fc086436f8834ae3ab053a283cfac8fe0a0b8eaae044768a4c4"
2359 2603
2360[[package]] 2604[[package]]
2361name = "windows_x86_64_gnu" 2605name = "xmlparser"
2362version = "0.52.5" 2606version = "0.13.6"
2363source = "registry+https://github.com/rust-lang/crates.io-index" 2607source = "registry+https://github.com/rust-lang/crates.io-index"
2364checksum = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9" 2608checksum = "66fee0b777b0f5ac1c69bb06d361268faafa61cd4682ae064a171c16c433e9e4"
2365 2609
2366[[package]] 2610[[package]]
2367name = "windows_x86_64_gnullvm" 2611name = "yoke"
2368version = "0.48.5" 2612version = "0.8.2"
2369source = "registry+https://github.com/rust-lang/crates.io-index" 2613source = "registry+https://github.com/rust-lang/crates.io-index"
2370checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" 2614checksum = "abe8c5fda708d9ca3df187cae8bfb9ceda00dd96231bed36e445a1a48e66f9ca"
2615dependencies = [
2616 "stable_deref_trait",
2617 "yoke-derive",
2618 "zerofrom",
2619]
2371 2620
2372[[package]] 2621[[package]]
2373name = "windows_x86_64_gnullvm" 2622name = "yoke-derive"
2374version = "0.52.5" 2623version = "0.8.2"
2375source = "registry+https://github.com/rust-lang/crates.io-index" 2624source = "registry+https://github.com/rust-lang/crates.io-index"
2376checksum = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596" 2625checksum = "de844c262c8848816172cef550288e7dc6c7b7814b4ee56b3e1553f275f1858e"
2626dependencies = [
2627 "proc-macro2",
2628 "quote",
2629 "syn",
2630 "synstructure",
2631]
2377 2632
2378[[package]] 2633[[package]]
2379name = "windows_x86_64_msvc" 2634name = "zerofrom"
2380version = "0.48.5" 2635version = "0.1.7"
2636source = "registry+https://github.com/rust-lang/crates.io-index"
2637checksum = "69faa1f2a1ea75661980b013019ed6687ed0e83d069bc1114e2cc74c6c04c4df"
2638dependencies = [
2639 "zerofrom-derive",
2640]
2641
2642[[package]]
2643name = "zerofrom-derive"
2644version = "0.1.7"
2381source = "registry+https://github.com/rust-lang/crates.io-index" 2645source = "registry+https://github.com/rust-lang/crates.io-index"
2382checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" 2646checksum = "11532158c46691caf0f2593ea8358fed6bbf68a0315e80aae9bd41fbade684a1"
2647dependencies = [
2648 "proc-macro2",
2649 "quote",
2650 "syn",
2651 "synstructure",
2652]
2383 2653
2384[[package]] 2654[[package]]
2385name = "windows_x86_64_msvc" 2655name = "zeroize"
2386version = "0.52.5" 2656version = "1.8.2"
2387source = "registry+https://github.com/rust-lang/crates.io-index" 2657source = "registry+https://github.com/rust-lang/crates.io-index"
2388checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0" 2658checksum = "b97154e67e32c85465826e8bcc1c59429aaaf107c1e4a9e53c8d8ccd5eff88d0"
2389 2659
2390[[package]] 2660[[package]]
2391name = "xmlparser" 2661name = "zerotrie"
2392version = "0.13.6" 2662version = "0.2.4"
2393source = "registry+https://github.com/rust-lang/crates.io-index" 2663source = "registry+https://github.com/rust-lang/crates.io-index"
2394checksum = "66fee0b777b0f5ac1c69bb06d361268faafa61cd4682ae064a171c16c433e9e4" 2664checksum = "0f9152d31db0792fa83f70fb2f83148effb5c1f5b8c7686c3459e361d9bc20bf"
2665dependencies = [
2666 "displaydoc",
2667 "yoke",
2668 "zerofrom",
2669]
2395 2670
2396[[package]] 2671[[package]]
2397name = "zerocopy" 2672name = "zerovec"
2398version = "0.7.32" 2673version = "0.11.6"
2399source = "registry+https://github.com/rust-lang/crates.io-index" 2674source = "registry+https://github.com/rust-lang/crates.io-index"
2400checksum = "74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be" 2675checksum = "90f911cbc359ab6af17377d242225f4d75119aec87ea711a880987b18cd7b239"
2401dependencies = [ 2676dependencies = [
2402 "zerocopy-derive", 2677 "yoke",
2678 "zerofrom",
2679 "zerovec-derive",
2403] 2680]
2404 2681
2405[[package]] 2682[[package]]
2406name = "zerocopy-derive" 2683name = "zerovec-derive"
2407version = "0.7.32" 2684version = "0.11.3"
2408source = "registry+https://github.com/rust-lang/crates.io-index" 2685source = "registry+https://github.com/rust-lang/crates.io-index"
2409checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6" 2686checksum = "625dc425cab0dca6dc3c3319506e6593dcb08a9f387ea3b284dbd52a92c40555"
2410dependencies = [ 2687dependencies = [
2411 "proc-macro2", 2688 "proc-macro2",
2412 "quote", 2689 "quote",
@@ -2414,7 +2691,7 @@ dependencies = [
2414] 2691]
2415 2692
2416[[package]] 2693[[package]]
2417name = "zeroize" 2694name = "zmij"
2418version = "1.7.0" 2695version = "1.0.21"
2419source = "registry+https://github.com/rust-lang/crates.io-index" 2696source = "registry+https://github.com/rust-lang/crates.io-index"
2420checksum = "525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d" 2697checksum = "b8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaa"
diff --git a/README.md b/README.md
index d699d2b..e0ba1b9 100644
--- a/README.md
+++ b/README.md
@@ -3,31 +3,31 @@ Gitolfs3: a very simple Git LFS server
3 3
4[![License: MIT](https://img.shields.io/badge/License-MIT-brightgreen.svg)](https://opensource.org/licenses/MIT) 4[![License: MIT](https://img.shields.io/badge/License-MIT-brightgreen.svg)](https://opensource.org/licenses/MIT)
5 5
6Gitolfs3 has a singular purpose: provide me with a personal Git LFS server that 6Gitolfs3 is the Git LFS server that runs on my VPS. It uses an S3-compatible
7I can run on my VPS, that stores objects in S3. It seems to be doing an okay 7service as backing storage. It seems to be working fine up until now, but
8job at it so far. 8doesn't get too much use (so the primary reason for breakage is me being too
9lazy to refresh credentials).
9 10
10The name 'Gitolfs3' started as some kind of concoction of Gitolite, LFS and S3. 11The name 'Gitolfs3' started as a portmanteau of Gitolite, Git LFS and S3. These
11These days, this project has nothing to do with Gitolite because I don't use 12days, this project has nothing to do with Gitolite, because I don't use
12Gitolite anymore. (It was too extensive for my use case, and I prefer to keep 13Gitolite anymore. (It was too extensive for my use case, and I prefer to keep
13the complexity of my system down as much as possible.) 14the complexity of my system down as much as possible.)
14 15
15Currently, it has the following features: 16Currently, it has the following features:
16 17
17- Storage with S3-compatible services (at the moment of writing, I am using 18- Storage with S3-compatible services (at the moment of writing, I am using
18 Scaleway Object Storage for this purpose). 19 Scaleway Object Storage).
19- Git LFS Batch API support. Only the basic transfer adapter is supported. Only 20- Git LFS Batch API support. Only the basic transfer adapter with
20 SHA256 Object IDs (OIDs) are supported. 21 SHA256 Object IDs (OIDs) is supported.
21- `git-lfs-authenticate` is provided for authentication over SSH. File transfer 22- `git-lfs-authenticate` is provided for authentication over SSH. File transfer
22 over SSH using `git-lfs-transfer` is not supported. 23 over SSH using `git-lfs-transfer` is not supported.
23- A Git shell is provided so that I can stay sane. (I don't recall 100%, but I 24- A Git shell is provided so that I can stay sane. (I don't recall 100%, but I
24 believe this was nice when wanting to push to some ssh://git@asdf/blabla.git 25 believe this was nice when wanting to push to some ssh://git@asdf/blabla.git
25 repo without having to type `/srv/git` before the repo name. And I don't want 26 repo without having to type `/srv/git` before the repo name. And I don't want
26 to have to use something like Gitolite.) 27 to have to use something like Gitolite.)
27- Gitolfs3 does not require any kind of persistent nor temporary storage for 28- No requirement for any kind of persistent or temporary storage for tokens.
28 token storage. Instead, user authentication/authorization between 29 Instead, user authentication/authorization between `git-lfs-authenticate` and
29 `git-lfs-authenticate` and the Gitolfs3 server is done using HMAC(-SHA256) 30 the Gitolfs3 server is done using HMAC(-SHA256) MACs.
30 MACs.
31- Limiting unauthenticated public downloads on a per-hour basis. Storage is 31- Limiting unauthenticated public downloads on a per-hour basis. Storage is
32 required for this. (This feature is implemented pretty badly.) 32 required for this. (This feature is implemented pretty badly.)
33- Public/private repos based on the `git-daemon-export-ok` file in the bare 33- Public/private repos based on the `git-daemon-export-ok` file in the bare
@@ -41,19 +41,16 @@ Currently, it has the following features:
41 - Authenticated users can download and upload for all repositories, 41 - Authenticated users can download and upload for all repositories,
42 regardless of how they access the service. 42 regardless of how they access the service.
43 43
44This program, as it is, solely serves my needs. Although I may occasionally add 44This program, as it is, works well enough for me. Although I may occasionally
45some features or perform some cleanups (especially the server still requires 45add some features or perform some cleanups, I don't really have the time to
46some), I have no interest in making this program work for people with different 46make this program work for different use cases than mine. Do feel free to email
47use cases than me. In case you want to use this software, feel free to, but 47me if you have any questions.
48expect that you will basically have to 'make it your own'. If you have a
49burning question or find a security vulnerability, feel free to email me. I'm
50sure you'll manage to find my email address somewhere.
51 48
52Nice-to-have features that I may implement at some point, when I feel a need 49Nice-to-have features that I may implement at some point, when I feel a need
53to: 50to:
54 51
55- No namespacing on S3. (This would mean that having the same big file in two 52- No namespacing on S3. (So the same big file in two repositories would only be
56 repositories would mean it is only stored on S3 once.) 53 stored on S3 once.)
57- Any kind of file deletion/garbage collection. If you ever have the need, you 54- Any kind of file deletion/garbage collection. You need to do this manually
58 need to do this manually right now. 55 right now.
59- Resuming downloads. 56- Resuming downloads.
diff --git a/docs/man/gitolfs3-shell.1 b/docs/man/gitolfs3-shell.1
index d7a3637..f5acb5a 100644
--- a/docs/man/gitolfs3-shell.1
+++ b/docs/man/gitolfs3-shell.1
@@ -1,4 +1,4 @@
1.TH GITOLFS3-SHELL 1 2024-04-29 Gitolfs3 "Gitolfs3 Manual" 1.TH GITOLFS3-SHELL 1 2026-04-11 Gitolfs3 "Gitolfs3 Manual"
2.SH NAME 2.SH NAME
3gitolfs3-shell \- Gitolfs3 shell 3gitolfs3-shell \- Gitolfs3 shell
4.SH SYNOPSIS 4.SH SYNOPSIS
@@ -9,19 +9,19 @@ gitolfs3-shell \- Gitolfs3 shell
9is the Gitolfs3 shell, usable as the default shell for the \fIgit\fR user. 9is the Gitolfs3 shell, usable as the default shell for the \fIgit\fR user.
10.SH COMMANDS 10.SH COMMANDS
11.TP 11.TP
12.B git-receive-pack \fR<repsitory>\fB 12.B git-receive-pack \fR<repository>\fB
13Alternatively, using \fBgit receive-pack\fR is also allowed. 13Alternatively, using \fBgit receive-pack\fR is also allowed.
14No other arguments nor options than indicated above are processed nor allowed. 14No other arguments nor options than indicated above are processed nor allowed.
15See 15See
16.BR git-receive-pack (1). 16.BR git-receive-pack (1).
17.TP 17.TP
18.B git-upload-archive \fR<repsitory>\fB 18.B git-upload-archive \fR<repository>\fB
19Alternatively, using \fBgit upload-archive\fR is also allowed. 19Alternatively, using \fBgit upload-archive\fR is also allowed.
20No other arguments nor options than indicated above are processed nor allowed. 20No other arguments nor options than indicated above are processed nor allowed.
21See 21See
22.BR git-upload-archive (1). 22.BR git-upload-archive (1).
23.TP 23.TP
24.B git-upload-pack \fR<repsitory>\fB 24.B git-upload-pack \fR<repository>\fB
25Alternatively, using \fBgit upload-pack\fR is also allowed. 25Alternatively, using \fBgit upload-pack\fR is also allowed.
26No other arguments nor options than indicated above are processed nor allowed. 26No other arguments nor options than indicated above are processed nor allowed.
27See 27See
diff --git a/flake.lock b/flake.lock
index 6f46ec0..878e306 100644
--- a/flake.lock
+++ b/flake.lock
@@ -3,11 +3,11 @@
3 "advisory-db": { 3 "advisory-db": {
4 "flake": false, 4 "flake": false,
5 "locked": { 5 "locked": {
6 "lastModified": 1714183630, 6 "lastModified": 1771560015,
7 "narHash": "sha256-1BVft7ggSN2XXFeXQjazU3jN9wVECd9qp2mZx/8GDMk=", 7 "narHash": "sha256-TuZcPFTXgFyDTcs+olpuVquBphW0zrxoBxgZ4WjEXWE=",
8 "owner": "rustsec", 8 "owner": "rustsec",
9 "repo": "advisory-db", 9 "repo": "advisory-db",
10 "rev": "35e7459a331d3e0c585e56dabd03006b9b354088", 10 "rev": "81e3cd7b86b1a2e05c116072de9b61b872a43ae4",
11 "type": "github" 11 "type": "github"
12 }, 12 },
13 "original": { 13 "original": {
@@ -18,16 +18,17 @@
18 }, 18 },
19 "crane": { 19 "crane": {
20 "locked": { 20 "locked": {
21 "lastModified": 1728776144, 21 "lastModified": 1771438068,
22 "narHash": "sha256-fROVjMcKRoGHofDm8dY3uDUtCMwUICh/KjBFQnuBzfg=", 22 "narHash": "sha256-nGBbXvEZVe/egCPVPFcu89RFtd8Rf6J+4RFoVCFec0A=",
23 "rev": "f876e3d905b922502f031aeec1a84490122254b7", 23 "owner": "ipetkov",
24 "revCount": 637, 24 "repo": "crane",
25 "type": "tarball", 25 "rev": "b5090e53e9d68c523a4bb9ad42b4737ee6747597",
26 "url": "https://api.flakehub.com/f/pinned/ipetkov/crane/0.19.1/0192831e-af28-72ac-a578-95b4e58acd46/source.tar.gz" 26 "type": "github"
27 }, 27 },
28 "original": { 28 "original": {
29 "type": "tarball", 29 "owner": "ipetkov",
30 "url": "https://flakehub.com/f/ipetkov/crane/0.19.1.tar.gz" 30 "repo": "crane",
31 "type": "github"
31 } 32 }
32 }, 33 },
33 "flake-utils": { 34 "flake-utils": {
@@ -35,30 +36,32 @@
35 "systems": "systems" 36 "systems": "systems"
36 }, 37 },
37 "locked": { 38 "locked": {
38 "lastModified": 1726560853, 39 "lastModified": 1731533236,
39 "narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=", 40 "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
40 "rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a", 41 "owner": "numtide",
41 "revCount": 101, 42 "repo": "flake-utils",
42 "type": "tarball", 43 "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
43 "url": "https://api.flakehub.com/f/pinned/numtide/flake-utils/0.1.101%2Brev-c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a/0191ff0c-3a46-7ad4-b5e7-9f6806881886/source.tar.gz" 44 "type": "github"
44 }, 45 },
45 "original": { 46 "original": {
46 "type": "tarball", 47 "owner": "numtide",
47 "url": "https://flakehub.com/f/numtide/flake-utils/0.1.101.tar.gz" 48 "repo": "flake-utils",
49 "type": "github"
48 } 50 }
49 }, 51 },
50 "nixpkgs": { 52 "nixpkgs": {
51 "locked": { 53 "locked": {
52 "lastModified": 1729181673, 54 "lastModified": 1771419570,
53 "narHash": "sha256-LDiPhQ3l+fBjRATNtnuDZsBS7hqoBtPkKBkhpoBHv3I=", 55 "narHash": "sha256-bxAlQgre3pcQcaRUm/8A0v/X8d2nhfraWSFqVmMcBcU=",
54 "rev": "4eb33fe664af7b41a4c446f87d20c9a0a6321fa3", 56 "owner": "NixOS",
55 "revCount": 635979, 57 "repo": "nixpkgs",
56 "type": "tarball", 58 "rev": "6d41bc27aaf7b6a3ba6b169db3bd5d6159cfaa47",
57 "url": "https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.2405.635979%2Brev-4eb33fe664af7b41a4c446f87d20c9a0a6321fa3/0192a20e-216f-78c5-8821-f030d9a83220/source.tar.gz" 59 "type": "github"
58 }, 60 },
59 "original": { 61 "original": {
60 "type": "tarball", 62 "id": "nixpkgs",
61 "url": "https://flakehub.com/f/NixOS/nixpkgs/0.2405.%2A.tar.gz" 63 "ref": "nixos-25.11",
64 "type": "indirect"
62 } 65 }
63 }, 66 },
64 "root": { 67 "root": {
@@ -72,19 +75,16 @@
72 }, 75 },
73 "rust-overlay": { 76 "rust-overlay": {
74 "inputs": { 77 "inputs": {
75 "flake-utils": [
76 "flake-utils"
77 ],
78 "nixpkgs": [ 78 "nixpkgs": [
79 "nixpkgs" 79 "nixpkgs"
80 ] 80 ]
81 }, 81 },
82 "locked": { 82 "locked": {
83 "lastModified": 1714356894, 83 "lastModified": 1771556776,
84 "narHash": "sha256-W6Mss7AG6bnFT1BqRApHXvLXBrFOu7V0+EUe9iML30s=", 84 "narHash": "sha256-zKprqMQDl3xVfhSSYvgru1IGXjFdxryWk+KqK0I20Xk=",
85 "owner": "oxalica", 85 "owner": "oxalica",
86 "repo": "rust-overlay", 86 "repo": "rust-overlay",
87 "rev": "d9b44509b4064f0a3fc9c7c92a603861f52fbedc", 87 "rev": "8b3f46b8a6d17ab46e533a5e3d5b1cc2ff228860",
88 "type": "github" 88 "type": "github"
89 }, 89 },
90 "original": { 90 "original": {
diff --git a/flake.nix b/flake.nix
index 0b471d0..b83e904 100644
--- a/flake.nix
+++ b/flake.nix
@@ -1,12 +1,9 @@
1{ 1{
2 inputs = { 2 inputs = {
3 nixpkgs.url = "https://flakehub.com/f/NixOS/nixpkgs/0.2405.*.tar.gz"; 3 nixpkgs.url = "nixpkgs/nixos-25.11";
4 flake-utils.url = "https://flakehub.com/f/numtide/flake-utils/0.1.101.tar.gz";
5 4
6 crane = { 5 crane.url = "github:ipetkov/crane";
7 url = "https://flakehub.com/f/ipetkov/crane/0.19.1.tar.gz"; 6 flake-utils.url = "github:numtide/flake-utils";
8 inputs.nixpkgs.follows = "nixpkgs";
9 };
10 7
11 advisory-db = { 8 advisory-db = {
12 url = "github:rustsec/advisory-db"; 9 url = "github:rustsec/advisory-db";
@@ -15,10 +12,7 @@
15 12
16 rust-overlay = { 13 rust-overlay = {
17 url = "github:oxalica/rust-overlay"; 14 url = "github:oxalica/rust-overlay";
18 inputs = { 15 inputs.nixpkgs.follows = "nixpkgs";
19 nixpkgs.follows = "nixpkgs";
20 flake-utils.follows = "flake-utils";
21 };
22 }; 16 };
23 }; 17 };
24 18
diff --git a/gitolfs3-authenticate/Cargo.toml b/gitolfs3-authenticate/Cargo.toml
index ff2b702..c39b736 100644
--- a/gitolfs3-authenticate/Cargo.toml
+++ b/gitolfs3-authenticate/Cargo.toml
@@ -1,7 +1,7 @@
1[package] 1[package]
2name = "gitolfs3-authenticate" 2name = "gitolfs3-authenticate"
3version = "0.1.0" 3version = "0.1.0"
4edition = "2021" 4edition = "2024"
5license = "MIT" 5license = "MIT"
6 6
7[dependencies] 7[dependencies]
diff --git a/gitolfs3-authenticate/src/main.rs b/gitolfs3-authenticate/src/main.rs
index 027c01b..bd44394 100644
--- a/gitolfs3-authenticate/src/main.rs
+++ b/gitolfs3-authenticate/src/main.rs
@@ -1,6 +1,6 @@
1use anyhow::{anyhow, bail, Result}; 1use anyhow::{Result, anyhow, bail};
2use chrono::Utc; 2use chrono::Utc;
3use gitolfs3_common::{generate_tag, load_key, Claims, Key, Operation, SpecificClaims}; 3use gitolfs3_common::{Claims, Key, Operation, SpecificClaims, generate_tag, load_key};
4use serde_json::json; 4use serde_json::json;
5use std::{process::ExitCode, time::Duration}; 5use std::{process::ExitCode, time::Duration};
6 6
@@ -49,9 +49,9 @@ fn main() -> ExitCode {
49 ), 49 ),
50 }, 50 },
51 "expires_at": expires_at.to_rfc3339_opts(chrono::SecondsFormat::Secs, true), 51 "expires_at": expires_at.to_rfc3339_opts(chrono::SecondsFormat::Secs, true),
52 "href": format!("{}{}/info/lfs", config.href_base, repo_name), 52 "href": format!("{}{repo_name}/info/lfs", config.href_base),
53 }); 53 });
54 println!("{}", response); 54 println!("{response}");
55 55
56 ExitCode::SUCCESS 56 ExitCode::SUCCESS
57} 57}
diff --git a/gitolfs3-common/Cargo.toml b/gitolfs3-common/Cargo.toml
index e0d3c3b..e5fbf75 100644
--- a/gitolfs3-common/Cargo.toml
+++ b/gitolfs3-common/Cargo.toml
@@ -1,11 +1,11 @@
1[package] 1[package]
2name = "gitolfs3-common" 2name = "gitolfs3-common"
3version = "0.1.0" 3version = "0.1.0"
4edition = "2021" 4edition = "2024"
5license = "MIT" 5license = "MIT"
6 6
7[dependencies] 7[dependencies]
8chrono = "0.4" 8chrono = "0.4"
9hmac-sha256 = "1.1" 9hmac-sha256 = "1.1"
10subtle = "2.5" 10subtle = "2.6"
11serde = { version = "1", features = ["derive"] } 11serde = { version = "1", features = ["derive"] }
diff --git a/gitolfs3-common/src/lib.rs b/gitolfs3-common/src/lib.rs
index 917f566..3b1e084 100644
--- a/gitolfs3-common/src/lib.rs
+++ b/gitolfs3-common/src/lib.rs
@@ -1,5 +1,5 @@
1use chrono::{DateTime, Utc}; 1use chrono::{DateTime, Utc};
2use serde::{de, Deserialize, Serialize}; 2use serde::{Deserialize, Serialize, de};
3use std::{ 3use std::{
4 fmt::{self, Write}, 4 fmt::{self, Write},
5 ops, 5 ops,
@@ -128,7 +128,7 @@ impl fmt::Display for HexByte {
128 128
129#[derive(Debug, PartialEq, Eq, Copy, Clone)] 129#[derive(Debug, PartialEq, Eq, Copy, Clone)]
130pub enum ParseHexError { 130pub enum ParseHexError {
131 UnevenNibbles, 131 OddNibbleAmount,
132 InvalidCharacter, 132 InvalidCharacter,
133 TooShort, 133 TooShort,
134 TooLong, 134 TooLong,
@@ -137,8 +137,8 @@ pub enum ParseHexError {
137impl fmt::Display for ParseHexError { 137impl fmt::Display for ParseHexError {
138 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { 138 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
139 match self { 139 match self {
140 Self::UnevenNibbles => { 140 Self::OddNibbleAmount => {
141 write!(f, "uneven amount of nibbles (chars in range [a-zA-Z0-9])") 141 write!(f, "odd amount of nibbles (chars in range [a-zA-Z0-9])")
142 } 142 }
143 Self::InvalidCharacter => write!(f, "non-hex character encountered"), 143 Self::InvalidCharacter => write!(f, "non-hex character encountered"),
144 Self::TooShort => write!(f, "unexpected end of hex sequence"), 144 Self::TooShort => write!(f, "unexpected end of hex sequence"),
@@ -163,13 +163,13 @@ impl fmt::Display for ReadHexError {
163} 163}
164 164
165fn parse_hex_exact(value: &str, buf: &mut [u8]) -> Result<(), ParseHexError> { 165fn parse_hex_exact(value: &str, buf: &mut [u8]) -> Result<(), ParseHexError> {
166 if value.bytes().len() % 2 == 1 { 166 if value.len() % 2 == 1 {
167 return Err(ParseHexError::UnevenNibbles); 167 return Err(ParseHexError::OddNibbleAmount);
168 } 168 }
169 if value.bytes().len() < 2 * buf.len() { 169 if value.len() < 2 * buf.len() {
170 return Err(ParseHexError::TooShort); 170 return Err(ParseHexError::TooShort);
171 } 171 }
172 if value.bytes().len() > 2 * buf.len() { 172 if value.len() > 2 * buf.len() {
173 return Err(ParseHexError::TooLong); 173 return Err(ParseHexError::TooLong);
174 } 174 }
175 for (i, c) in value.bytes().enumerate() { 175 for (i, c) in value.bytes().enumerate() {
diff --git a/gitolfs3-server/Cargo.toml b/gitolfs3-server/Cargo.toml
index efea78b..91e2c57 100644
--- a/gitolfs3-server/Cargo.toml
+++ b/gitolfs3-server/Cargo.toml
@@ -1,20 +1,20 @@
1[package] 1[package]
2name = "gitolfs3-server" 2name = "gitolfs3-server"
3version = "0.1.0" 3version = "0.1.0"
4edition = "2021" 4edition = "2024"
5license = "MIT" 5license = "MIT"
6 6
7[dependencies] 7[dependencies]
8aws-config = { version = "1.1.2" } 8aws-config = "1.8"
9aws-sdk-s3 = "1.12.0" 9aws-sdk-s3 = "1.128"
10axum = "0.7" 10axum = "0.8"
11base64 = "0.21" 11base64 = "0.22"
12chrono = { version = "0.4", features = ["serde"] } 12chrono = { version = "0.4", features = ["serde"] }
13gitolfs3-common = { path = "../gitolfs3-common" } 13gitolfs3-common = { path = "../gitolfs3-common" }
14mime = "0.3" 14mime = "0.3"
15serde = { version = "1", features = ["derive"] } 15serde = { version = "1", features = ["derive"] }
16serde_json = "1" 16serde_json = "1"
17tokio = { version = "1.35", features = ["full"] } 17tokio = { version = "1.51", features = ["full"] }
18tokio-util = "0.7" 18tokio-util = "0.7"
19tower = "0.4" 19tower = "0.5"
20tracing-subscriber = { version = "0.3", features = ["env-filter"] } 20tracing-subscriber = { version = "0.3", features = ["env-filter"] }
diff --git a/gitolfs3-server/src/api.rs b/gitolfs3-server/src/api.rs
index d71d188..b80c83a 100644
--- a/gitolfs3-server/src/api.rs
+++ b/gitolfs3-server/src/api.rs
@@ -1,15 +1,14 @@
1use std::collections::HashMap; 1use std::collections::HashMap;
2 2
3use axum::{ 3use axum::{
4 async_trait, 4 Extension, Json,
5 extract::{rejection, FromRequest, FromRequestParts, Request}, 5 extract::{FromRequest, FromRequestParts, Request, rejection},
6 http, 6 http,
7 response::{IntoResponse, Response}, 7 response::{IntoResponse, Response},
8 Extension, Json,
9}; 8};
10use chrono::{DateTime, Utc}; 9use chrono::{DateTime, Utc};
11use gitolfs3_common::{Oid, Operation}; 10use gitolfs3_common::{Oid, Operation};
12use serde::{de::DeserializeOwned, Deserialize, Serialize}; 11use serde::{Deserialize, Serialize, de::DeserializeOwned};
13 12
14// ----------------------- Generic facilities ---------------------- 13// ----------------------- Generic facilities ----------------------
15 14
@@ -20,7 +19,10 @@ pub struct GitLfsErrorData<'a> {
20 pub message: &'a str, 19 pub message: &'a str,
21} 20}
22 21
23pub const fn make_error_resp(code: http::StatusCode, message: &str) -> GitLfsErrorResponse { 22pub const fn make_error_resp<'a>(
23 code: http::StatusCode,
24 message: &'a str,
25) -> GitLfsErrorResponse<'a> {
24 (code, GitLfsJson(Json(GitLfsErrorData { message }))) 26 (code, GitLfsJson(Json(GitLfsErrorData { message })))
25} 27}
26 28
@@ -76,7 +78,6 @@ fn has_git_lfs_json_content_type(req: &Request) -> bool {
76 is_git_lfs_json_mimetype(content_type) 78 is_git_lfs_json_mimetype(content_type)
77} 79}
78 80
79#[async_trait]
80impl<T, S> FromRequest<S> for GitLfsJson<T> 81impl<T, S> FromRequest<S> for GitLfsJson<T>
81where 82where
82 T: DeserializeOwned, 83 T: DeserializeOwned,
@@ -122,7 +123,6 @@ impl IntoResponse for RepositoryNameRejection {
122 } 123 }
123} 124}
124 125
125#[async_trait]
126impl<S: Send + Sync> FromRequestParts<S> for RepositoryName { 126impl<S: Send + Sync> FromRequestParts<S> for RepositoryName {
127 type Rejection = RepositoryNameRejection; 127 type Rejection = RepositoryNameRejection;
128 128
@@ -168,25 +168,15 @@ fn default_transfers() -> Vec<TransferAdapter> {
168 vec![TransferAdapter::Basic] 168 vec![TransferAdapter::Basic]
169} 169}
170 170
171#[derive(Debug, Serialize, Deserialize, PartialEq, Eq, Clone, Copy)] 171#[derive(Default, Debug, Serialize, Deserialize, PartialEq, Eq, Clone, Copy)]
172pub enum HashAlgo { 172pub enum HashAlgo {
173 #[default]
173 #[serde(rename = "sha256")] 174 #[serde(rename = "sha256")]
174 Sha256, 175 Sha256,
175 #[serde(other)] 176 #[serde(other)]
176 Unknown, 177 Unknown,
177} 178}
178 179
179impl Default for HashAlgo {
180 fn default() -> Self {
181 Self::Sha256
182 }
183}
184
185#[derive(Debug, Serialize, Deserialize, Clone)]
186struct BatchRef {
187 name: String,
188}
189
190#[derive(Debug, Serialize, Clone)] 180#[derive(Debug, Serialize, Clone)]
191pub struct BatchResponse { 181pub struct BatchResponse {
192 pub transfer: TransferAdapter, 182 pub transfer: TransferAdapter,
diff --git a/gitolfs3-server/src/authz.rs b/gitolfs3-server/src/authz.rs
index 8a5f21f..c4cb6df 100644
--- a/gitolfs3-server/src/authz.rs
+++ b/gitolfs3-server/src/authz.rs
@@ -2,10 +2,10 @@ use std::collections::HashSet;
2 2
3use axum::http; 3use axum::http;
4use chrono::{DateTime, Utc}; 4use chrono::{DateTime, Utc};
5use gitolfs3_common::{generate_tag, Claims, Digest, Oid, Operation, SpecificClaims}; 5use gitolfs3_common::{Claims, Digest, Oid, Operation, SpecificClaims, generate_tag};
6 6
7use crate::{ 7use crate::{
8 api::{make_error_resp, GitLfsErrorResponse, REPO_NOT_FOUND}, 8 api::{GitLfsErrorResponse, REPO_NOT_FOUND, make_error_resp},
9 config::AuthorizationConfig, 9 config::AuthorizationConfig,
10}; 10};
11 11
diff --git a/gitolfs3-server/src/config.rs b/gitolfs3-server/src/config.rs
index c6a51a5..5167cca 100644
--- a/gitolfs3-server/src/config.rs
+++ b/gitolfs3-server/src/config.rs
@@ -1,6 +1,6 @@
1use std::collections::HashSet; 1use std::collections::HashSet;
2 2
3use gitolfs3_common::{load_key, Key}; 3use gitolfs3_common::{Key, load_key};
4 4
5pub struct Config { 5pub struct Config {
6 pub listen_addr: (String, u16), 6 pub listen_addr: (String, u16),
@@ -18,19 +18,11 @@ pub struct AuthorizationConfig {
18 18
19impl Config { 19impl Config {
20 pub fn load() -> Result<Self, String> { 20 pub fn load() -> Result<Self, String> {
21 let env = match Env::load() { 21 let env = Env::load().map_err(|e| format!("failed to load configuration: {e}"))?;
22 Ok(env) => env, 22 let s3_client =
23 Err(e) => return Err(format!("failed to load configuration: {e}")), 23 create_s3_client(&env).map_err(|e| format!("failed to create S3 client: {e}"))?;
24 }; 24 let key =
25 25 load_key(&env.key_path).map_err(|e| format!("failed to load Gitolfs3 key: {e}"))?;
26 let s3_client = match create_s3_client(&env) {
27 Ok(s3_client) => s3_client,
28 Err(e) => return Err(format!("failed to create S3 client: {e}")),
29 };
30 let key = match load_key(&env.key_path) {
31 Ok(key) => key,
32 Err(e) => return Err(format!("failed to load Gitolfs3 key: {e}")),
33 };
34 26
35 let trusted_forwarded_hosts: HashSet<String> = env 27 let trusted_forwarded_hosts: HashSet<String> = env
36 .trusted_forwarded_hosts 28 .trusted_forwarded_hosts
diff --git a/gitolfs3-server/src/handler.rs b/gitolfs3-server/src/handler.rs
index 64d5492..1f47c9e 100644
--- a/gitolfs3-server/src/handler.rs
+++ b/gitolfs3-server/src/handler.rs
@@ -2,24 +2,24 @@ use std::{collections::HashMap, sync::Arc};
2 2
3use aws_sdk_s3::{error::SdkError, operation::head_object::HeadObjectOutput}; 3use aws_sdk_s3::{error::SdkError, operation::head_object::HeadObjectOutput};
4use axum::{ 4use axum::{
5 Json,
5 extract::{Path, State}, 6 extract::{Path, State},
6 http, 7 http,
7 response::{IntoResponse, Response}, 8 response::{IntoResponse, Response},
8 Json,
9}; 9};
10use base64::{prelude::BASE64_STANDARD, Engine}; 10use base64::{Engine, prelude::BASE64_STANDARD};
11use chrono::Utc; 11use chrono::Utc;
12use gitolfs3_common::{generate_tag, Claims, HexByte, Oid, Operation, SpecificClaims}; 12use gitolfs3_common::{Claims, HexByte, Oid, Operation, SpecificClaims, generate_tag};
13use serde::{de, Deserialize}; 13use serde::{Deserialize, de};
14use tokio::sync::Mutex; 14use tokio::sync::Mutex;
15 15
16use crate::{ 16use crate::{
17 api::{ 17 api::{
18 is_git_lfs_json_mimetype, make_error_resp, BatchRequest, BatchRequestObject, BatchResponse, 18 BatchRequest, BatchRequestObject, BatchResponse, BatchResponseObject,
19 BatchResponseObject, BatchResponseObjectAction, BatchResponseObjectActions, GitLfsJson, 19 BatchResponseObjectAction, BatchResponseObjectActions, GitLfsJson, HashAlgo, LFS_MIME,
20 HashAlgo, RepositoryName, TransferAdapter, LFS_MIME, REPO_NOT_FOUND, 20 REPO_NOT_FOUND, RepositoryName, TransferAdapter, is_git_lfs_json_mimetype, make_error_resp,
21 }, 21 },
22 authz::{authorize_batch, authorize_get, Trusted}, 22 authz::{Trusted, authorize_batch, authorize_get},
23 config::AuthorizationConfig, 23 config::AuthorizationConfig,
24 dlimit::DownloadLimiter, 24 dlimit::DownloadLimiter,
25}; 25};
@@ -42,7 +42,7 @@ enum ObjectStatus {
42impl AppState { 42impl AppState {
43 async fn check_object(&self, repo: &str, obj: &BatchRequestObject) -> Result<ObjectStatus, ()> { 43 async fn check_object(&self, repo: &str, obj: &BatchRequestObject) -> Result<ObjectStatus, ()> {
44 let (oid0, oid1) = (HexByte(obj.oid[0]), HexByte(obj.oid[1])); 44 let (oid0, oid1) = (HexByte(obj.oid[0]), HexByte(obj.oid[1]));
45 let full_path = format!("{repo}/lfs/objects/{}/{}/{}", oid0, oid1, obj.oid); 45 let full_path = format!("{repo}/lfs/objects/{oid0}/{oid1}/{}", obj.oid);
46 46
47 let result = match self 47 let result = match self
48 .s3_client 48 .s3_client
@@ -57,6 +57,14 @@ impl AppState {
57 Err(SdkError::ServiceError(e)) if e.err().is_not_found() => { 57 Err(SdkError::ServiceError(e)) if e.err().is_not_found() => {
58 return Ok(ObjectStatus::DoesNotExist); 58 return Ok(ObjectStatus::DoesNotExist);
59 } 59 }
60 Err(SdkError::ServiceError(e)) => {
61 println!(
62 "Failed to HeadObject (repo {repo}, OID {}): {}",
63 e.err(),
64 obj.oid
65 );
66 return Err(());
67 }
60 Err(e) => { 68 Err(e) => {
61 println!("Failed to HeadObject (repo {repo}, OID {}): {e}", obj.oid); 69 println!("Failed to HeadObject (repo {repo}, OID {}): {e}", obj.oid);
62 return Err(()); 70 return Err(());
@@ -80,7 +88,7 @@ async fn handle_download_object(
80 trusted: bool, 88 trusted: bool,
81) -> BatchResponseObject { 89) -> BatchResponseObject {
82 let (oid0, oid1) = (HexByte(obj.oid[0]), HexByte(obj.oid[1])); 90 let (oid0, oid1) = (HexByte(obj.oid[0]), HexByte(obj.oid[1]));
83 let full_path = format!("{repo}/lfs/objects/{}/{}/{}", oid0, oid1, obj.oid); 91 let full_path = format!("{repo}/lfs/objects/{oid0}/{oid1}/{}", obj.oid);
84 92
85 let content_length = match state.check_object(repo, obj).await { 93 let content_length = match state.check_object(repo, obj).await {
86 Ok(ObjectStatus::ExistsOk { content_length }) => content_length, 94 Ok(ObjectStatus::ExistsOk { content_length }) => content_length,
@@ -144,31 +152,31 @@ async fn handle_download_object(
144 }; 152 };
145 } 153 }
146 154
147 if let Some(content_length) = content_length { 155 if let Some(content_length) = content_length
148 if content_length > 0 { 156 && content_length > 0
149 match state 157 {
150 .dl_limiter 158 match state
151 .lock() 159 .dl_limiter
152 .await 160 .lock()
153 .request(content_length as u64) 161 .await
154 .await 162 .request(content_length as u64)
155 { 163 .await
156 Ok(true) => {} 164 {
157 Ok(false) => { 165 Ok(true) => {}
158 return BatchResponseObject::error( 166 Ok(false) => {
159 obj, 167 return BatchResponseObject::error(
160 http::StatusCode::SERVICE_UNAVAILABLE, 168 obj,
161 "Public LFS downloads temporarily unavailable".to_string(), 169 http::StatusCode::SERVICE_UNAVAILABLE,
162 ); 170 "Public LFS downloads temporarily unavailable".to_string(),
163 } 171 );
164 Err(e) => { 172 }
165 println!("Failed to request {content_length} bytes from download limiter: {e}"); 173 Err(e) => {
166 return BatchResponseObject::error( 174 println!("Failed to request {content_length} bytes from download limiter: {e}");
167 obj, 175 return BatchResponseObject::error(
168 http::StatusCode::INTERNAL_SERVER_ERROR, 176 obj,
169 "Internal server error".to_string(), 177 http::StatusCode::INTERNAL_SERVER_ERROR,
170 ); 178 "Internal server error".to_string(),
171 } 179 );
172 } 180 }
173 } 181 }
174 } 182 }
@@ -259,7 +267,7 @@ pub async fn handle_obj_download(
259 return e.into_response(); 267 return e.into_response();
260 } 268 }
261 269
262 let full_path = format!("{repo}/lfs/objects/{}/{}/{}", oid0, oid1, oid); 270 let full_path = format!("{repo}/lfs/objects/{oid0}/{oid1}/{oid}");
263 let result = match state 271 let result = match state
264 .s3_client 272 .s3_client
265 .get_object() 273 .get_object()
@@ -270,6 +278,14 @@ pub async fn handle_obj_download(
270 .await 278 .await
271 { 279 {
272 Ok(result) => result, 280 Ok(result) => result,
281 Err(SdkError::ServiceError(e)) => {
282 println!("Failed to GetObject (repo {repo}, OID {oid}): {}", e.err());
283 return (
284 http::StatusCode::INTERNAL_SERVER_ERROR,
285 "Failed to query object information",
286 )
287 .into_response();
288 }
273 Err(e) => { 289 Err(e) => {
274 println!("Failed to GetObject (repo {repo}, OID {oid}): {e}"); 290 println!("Failed to GetObject (repo {repo}, OID {oid}): {e}");
275 return ( 291 return (
@@ -308,7 +324,7 @@ async fn handle_upload_object(
308 obj: &BatchRequestObject, 324 obj: &BatchRequestObject,
309) -> Option<BatchResponseObject> { 325) -> Option<BatchResponseObject> {
310 let (oid0, oid1) = (HexByte(obj.oid[0]), HexByte(obj.oid[1])); 326 let (oid0, oid1) = (HexByte(obj.oid[0]), HexByte(obj.oid[1]));
311 let full_path = format!("{repo}/lfs/objects/{}/{}/{}", oid0, oid1, obj.oid); 327 let full_path = format!("{repo}/lfs/objects/{oid0}/{oid1}/{}", obj.oid);
312 328
313 match state.check_object(repo, obj).await { 329 match state.check_object(repo, obj).await {
314 Ok(ObjectStatus::ExistsOk { .. }) => { 330 Ok(ObjectStatus::ExistsOk { .. }) => {
@@ -433,12 +449,11 @@ fn s3_encode_checksum(oid: Oid) -> String {
433} 449}
434 450
435fn s3_validate_checksum(oid: Oid, obj: &HeadObjectOutput) -> bool { 451fn s3_validate_checksum(oid: Oid, obj: &HeadObjectOutput) -> bool {
436 if let Some(checksum) = obj.checksum_sha256() { 452 if let Some(checksum) = obj.checksum_sha256()
437 if let Ok(checksum) = BASE64_STANDARD.decode(checksum) { 453 && let Ok(checksum) = BASE64_STANDARD.decode(checksum)
438 if let Ok(checksum32b) = TryInto::<[u8; 32]>::try_into(checksum) { 454 && let Ok(checksum32b) = TryInto::<[u8; 32]>::try_into(checksum)
439 return Oid::from(checksum32b) == oid; 455 {
440 } 456 return Oid::from(checksum32b) == oid;
441 }
442 } 457 }
443 true 458 true
444} 459}
diff --git a/gitolfs3-server/src/main.rs b/gitolfs3-server/src/main.rs
index 46e840a..c88de76 100644
--- a/gitolfs3-server/src/main.rs
+++ b/gitolfs3-server/src/main.rs
@@ -9,12 +9,12 @@ use config::Config;
9use dlimit::DownloadLimiter; 9use dlimit::DownloadLimiter;
10 10
11use axum::{ 11use axum::{
12 Router, ServiceExt,
12 extract::OriginalUri, 13 extract::OriginalUri,
13 http::{self, Uri}, 14 http::{self, Uri},
14 routing::{get, post}, 15 routing::{get, post},
15 Router, ServiceExt,
16}; 16};
17use handler::{handle_batch, handle_obj_download, AppState}; 17use handler::{AppState, handle_batch, handle_obj_download};
18use std::{process::ExitCode, sync::Arc}; 18use std::{process::ExitCode, sync::Arc};
19use tokio::net::TcpListener; 19use tokio::net::TcpListener;
20use tower::Layer; 20use tower::Layer;
@@ -41,7 +41,7 @@ async fn main() -> ExitCode {
41 }); 41 });
42 let app = Router::new() 42 let app = Router::new()
43 .route("/batch", post(handle_batch)) 43 .route("/batch", post(handle_batch))
44 .route("/:oid0/:oid1/:oid", get(handle_obj_download)) 44 .route("/{oid0}/{oid1}/{oid}", get(handle_obj_download))
45 .with_state(shared_state); 45 .with_state(shared_state);
46 46
47 let middleware = axum::middleware::map_request(rewrite_url); 47 let middleware = axum::middleware::map_request(rewrite_url);
diff --git a/gitolfs3-shell/Cargo.toml b/gitolfs3-shell/Cargo.toml
index dd348ce..3442081 100644
--- a/gitolfs3-shell/Cargo.toml
+++ b/gitolfs3-shell/Cargo.toml
@@ -1,7 +1,7 @@
1[package] 1[package]
2name = "gitolfs3-shell" 2name = "gitolfs3-shell"
3version = "0.1.0" 3version = "0.1.0"
4edition = "2021" 4edition = "2024"
5license = "MIT" 5license = "MIT"
6 6
7[dependencies] 7[dependencies]