diff options
author | Rutger Broekhoff | 2024-01-19 01:53:04 +0100 |
---|---|---|
committer | Rutger Broekhoff | 2024-01-19 01:53:04 +0100 |
commit | fa2a763777d775a853ec41d73efb345e304c81e7 (patch) | |
tree | 0735621337ee93e41e00a0d52fbdabff93b9e8fc | |
parent | 5156228f18f08255a1f5c7e22097b8e367881e19 (diff) | |
download | gitolfs3-fa2a763777d775a853ec41d73efb345e304c81e7.tar.gz gitolfs3-fa2a763777d775a853ec41d73efb345e304c81e7.zip |
Separate path rewrite into Tower Layer, shared state for S3 client
-rw-r--r-- | rs/Cargo.lock | 1056 | ||||
-rw-r--r-- | rs/server/Cargo.toml | 5 | ||||
-rw-r--r-- | rs/server/src/main.rs | 133 |
3 files changed, 859 insertions, 335 deletions
diff --git a/rs/Cargo.lock b/rs/Cargo.lock index 6069bcb..efb4880 100644 --- a/rs/Cargo.lock +++ b/rs/Cargo.lock | |||
@@ -51,7 +51,7 @@ checksum = "c980ee35e870bd1a4d2c8294d4c04d0499e67bca1e4b5cefcc693c2fa00caea9" | |||
51 | dependencies = [ | 51 | dependencies = [ |
52 | "proc-macro2", | 52 | "proc-macro2", |
53 | "quote", | 53 | "quote", |
54 | "syn 2.0.48", | 54 | "syn", |
55 | ] | 55 | ] |
56 | 56 | ||
57 | [[package]] | 57 | [[package]] |
@@ -75,6 +75,49 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
75 | checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" | 75 | checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" |
76 | 76 | ||
77 | [[package]] | 77 | [[package]] |
78 | name = "aws-config" | ||
79 | version = "1.1.2" | ||
80 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
81 | checksum = "7e64b72d4bdbb41a73d27709c65a25b6e4bfc8321bf70fa3a8b19ce7d4eb81b0" | ||
82 | dependencies = [ | ||
83 | "aws-credential-types", | ||
84 | "aws-http", | ||
85 | "aws-runtime", | ||
86 | "aws-sdk-sso", | ||
87 | "aws-sdk-ssooidc", | ||
88 | "aws-sdk-sts", | ||
89 | "aws-smithy-async", | ||
90 | "aws-smithy-http", | ||
91 | "aws-smithy-json", | ||
92 | "aws-smithy-runtime", | ||
93 | "aws-smithy-runtime-api", | ||
94 | "aws-smithy-types", | ||
95 | "aws-types", | ||
96 | "bytes", | ||
97 | "fastrand", | ||
98 | "hex", | ||
99 | "http 0.2.11", | ||
100 | "hyper 0.14.28", | ||
101 | "ring", | ||
102 | "time", | ||
103 | "tokio", | ||
104 | "tracing", | ||
105 | "zeroize", | ||
106 | ] | ||
107 | |||
108 | [[package]] | ||
109 | name = "aws-credential-types" | ||
110 | version = "1.1.2" | ||
111 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
112 | checksum = "4a7cb3510b95492bd9014b60e2e3bee3e48bc516e220316f8e6b60df18b47331" | ||
113 | dependencies = [ | ||
114 | "aws-smithy-async", | ||
115 | "aws-smithy-runtime-api", | ||
116 | "aws-smithy-types", | ||
117 | "zeroize", | ||
118 | ] | ||
119 | |||
120 | [[package]] | ||
78 | name = "aws-creds" | 121 | name = "aws-creds" |
79 | version = "0.34.1" | 122 | version = "0.34.1" |
80 | source = "registry+https://github.com/rust-lang/crates.io-index" | 123 | source = "registry+https://github.com/rust-lang/crates.io-index" |
@@ -92,12 +135,340 @@ dependencies = [ | |||
92 | ] | 135 | ] |
93 | 136 | ||
94 | [[package]] | 137 | [[package]] |
95 | name = "aws-region" | 138 | name = "aws-http" |
96 | version = "0.25.4" | 139 | version = "0.60.2" |
97 | source = "registry+https://github.com/rust-lang/crates.io-index" | 140 | source = "registry+https://github.com/rust-lang/crates.io-index" |
98 | checksum = "42fed2b9fca70f2908268d057a607f2a906f47edbf856ea8587de9038d264e22" | 141 | checksum = "a95d41abe4e941399fdb4bc2f54713eac3c839d98151875948bb24e66ab658f2" |
99 | dependencies = [ | 142 | dependencies = [ |
100 | "thiserror", | 143 | "aws-smithy-runtime-api", |
144 | "aws-smithy-types", | ||
145 | "aws-types", | ||
146 | "bytes", | ||
147 | "http 0.2.11", | ||
148 | "http-body 0.4.6", | ||
149 | "pin-project-lite", | ||
150 | "tracing", | ||
151 | ] | ||
152 | |||
153 | [[package]] | ||
154 | name = "aws-runtime" | ||
155 | version = "1.1.2" | ||
156 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
157 | checksum = "233cca219c6705d525ace011d6f9bc51aaf32fce5b4c41661d2d7ff22d9b4d49" | ||
158 | dependencies = [ | ||
159 | "aws-credential-types", | ||
160 | "aws-http", | ||
161 | "aws-sigv4", | ||
162 | "aws-smithy-async", | ||
163 | "aws-smithy-eventstream", | ||
164 | "aws-smithy-http", | ||
165 | "aws-smithy-runtime-api", | ||
166 | "aws-smithy-types", | ||
167 | "aws-types", | ||
168 | "fastrand", | ||
169 | "http 0.2.11", | ||
170 | "percent-encoding", | ||
171 | "tracing", | ||
172 | "uuid", | ||
173 | ] | ||
174 | |||
175 | [[package]] | ||
176 | name = "aws-sdk-s3" | ||
177 | version = "1.12.0" | ||
178 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
179 | checksum = "634fbe5b6591ee2e281cd2ba8641e9bd752dbf5bf338924d6ad4bd5a3304fe31" | ||
180 | dependencies = [ | ||
181 | "aws-credential-types", | ||
182 | "aws-http", | ||
183 | "aws-runtime", | ||
184 | "aws-sigv4", | ||
185 | "aws-smithy-async", | ||
186 | "aws-smithy-checksums", | ||
187 | "aws-smithy-eventstream", | ||
188 | "aws-smithy-http", | ||
189 | "aws-smithy-json", | ||
190 | "aws-smithy-runtime", | ||
191 | "aws-smithy-runtime-api", | ||
192 | "aws-smithy-types", | ||
193 | "aws-smithy-xml", | ||
194 | "aws-types", | ||
195 | "bytes", | ||
196 | "http 0.2.11", | ||
197 | "http-body 0.4.6", | ||
198 | "once_cell", | ||
199 | "percent-encoding", | ||
200 | "regex-lite", | ||
201 | "tracing", | ||
202 | "url", | ||
203 | ] | ||
204 | |||
205 | [[package]] | ||
206 | name = "aws-sdk-sso" | ||
207 | version = "1.10.0" | ||
208 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
209 | checksum = "ee41005e0f3a19ae749c7953d9e1f1ef8d2183f76f64966e346fa41c1ba0ed44" | ||
210 | dependencies = [ | ||
211 | "aws-credential-types", | ||
212 | "aws-http", | ||
213 | "aws-runtime", | ||
214 | "aws-smithy-async", | ||
215 | "aws-smithy-http", | ||
216 | "aws-smithy-json", | ||
217 | "aws-smithy-runtime", | ||
218 | "aws-smithy-runtime-api", | ||
219 | "aws-smithy-types", | ||
220 | "aws-types", | ||
221 | "bytes", | ||
222 | "http 0.2.11", | ||
223 | "once_cell", | ||
224 | "regex-lite", | ||
225 | "tracing", | ||
226 | ] | ||
227 | |||
228 | [[package]] | ||
229 | name = "aws-sdk-ssooidc" | ||
230 | version = "1.10.0" | ||
231 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
232 | checksum = "fa08168f8a27505e7b90f922c32a489feb1f2133878981a15138bebc849ac09c" | ||
233 | dependencies = [ | ||
234 | "aws-credential-types", | ||
235 | "aws-http", | ||
236 | "aws-runtime", | ||
237 | "aws-smithy-async", | ||
238 | "aws-smithy-http", | ||
239 | "aws-smithy-json", | ||
240 | "aws-smithy-runtime", | ||
241 | "aws-smithy-runtime-api", | ||
242 | "aws-smithy-types", | ||
243 | "aws-types", | ||
244 | "bytes", | ||
245 | "http 0.2.11", | ||
246 | "once_cell", | ||
247 | "regex-lite", | ||
248 | "tracing", | ||
249 | ] | ||
250 | |||
251 | [[package]] | ||
252 | name = "aws-sdk-sts" | ||
253 | version = "1.10.0" | ||
254 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
255 | checksum = "29102eff04d50ef70f11a48823db33e33c6cc5f027bfb6ff4864efbd5f1f66f3" | ||
256 | dependencies = [ | ||
257 | "aws-credential-types", | ||
258 | "aws-http", | ||
259 | "aws-runtime", | ||
260 | "aws-smithy-async", | ||
261 | "aws-smithy-http", | ||
262 | "aws-smithy-json", | ||
263 | "aws-smithy-query", | ||
264 | "aws-smithy-runtime", | ||
265 | "aws-smithy-runtime-api", | ||
266 | "aws-smithy-types", | ||
267 | "aws-smithy-xml", | ||
268 | "aws-types", | ||
269 | "http 0.2.11", | ||
270 | "once_cell", | ||
271 | "regex-lite", | ||
272 | "tracing", | ||
273 | ] | ||
274 | |||
275 | [[package]] | ||
276 | name = "aws-sigv4" | ||
277 | version = "1.1.2" | ||
278 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
279 | checksum = "b92384b39aedb258aa734fe0e7b2ffcd13f33e68227251a72cd2635e0acc8f1a" | ||
280 | dependencies = [ | ||
281 | "aws-credential-types", | ||
282 | "aws-smithy-eventstream", | ||
283 | "aws-smithy-http", | ||
284 | "aws-smithy-runtime-api", | ||
285 | "aws-smithy-types", | ||
286 | "bytes", | ||
287 | "crypto-bigint 0.5.5", | ||
288 | "form_urlencoded", | ||
289 | "hex", | ||
290 | "hmac", | ||
291 | "http 0.2.11", | ||
292 | "once_cell", | ||
293 | "p256", | ||
294 | "percent-encoding", | ||
295 | "ring", | ||
296 | "sha2", | ||
297 | "subtle", | ||
298 | "time", | ||
299 | "tracing", | ||
300 | "zeroize", | ||
301 | ] | ||
302 | |||
303 | [[package]] | ||
304 | name = "aws-smithy-async" | ||
305 | version = "1.1.3" | ||
306 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
307 | checksum = "2eac0bb78e9e2765699999a02d7bfb4e6ad8f13e0962ebb9f5202b1d8cd76006" | ||
308 | dependencies = [ | ||
309 | "futures-util", | ||
310 | "pin-project-lite", | ||
311 | "tokio", | ||
312 | ] | ||
313 | |||
314 | [[package]] | ||
315 | name = "aws-smithy-checksums" | ||
316 | version = "0.60.3" | ||
317 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
318 | checksum = "535a2d5f1e459bc7709580a77152c8d493982db083236c2b1d1c51dc6217e8a3" | ||
319 | dependencies = [ | ||
320 | "aws-smithy-http", | ||
321 | "aws-smithy-types", | ||
322 | "bytes", | ||
323 | "crc32c", | ||
324 | "crc32fast", | ||
325 | "hex", | ||
326 | "http 0.2.11", | ||
327 | "http-body 0.4.6", | ||
328 | "md-5", | ||
329 | "pin-project-lite", | ||
330 | "sha1", | ||
331 | "sha2", | ||
332 | "tracing", | ||
333 | ] | ||
334 | |||
335 | [[package]] | ||
336 | name = "aws-smithy-eventstream" | ||
337 | version = "0.60.3" | ||
338 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
339 | checksum = "682371561562d08ab437766903c6bc28f4f95d7ab2ecfb389bda7849dd98aefe" | ||
340 | dependencies = [ | ||
341 | "aws-smithy-types", | ||
342 | "bytes", | ||
343 | "crc32fast", | ||
344 | ] | ||
345 | |||
346 | [[package]] | ||
347 | name = "aws-smithy-http" | ||
348 | version = "0.60.3" | ||
349 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
350 | checksum = "365ca49744b2bda2f1e2dc03b856da3fa5a28ca5b0a41e41d7ff5305a8fae190" | ||
351 | dependencies = [ | ||
352 | "aws-smithy-eventstream", | ||
353 | "aws-smithy-runtime-api", | ||
354 | "aws-smithy-types", | ||
355 | "bytes", | ||
356 | "bytes-utils", | ||
357 | "futures-core", | ||
358 | "http 0.2.11", | ||
359 | "http-body 0.4.6", | ||
360 | "once_cell", | ||
361 | "percent-encoding", | ||
362 | "pin-project-lite", | ||
363 | "pin-utils", | ||
364 | "tracing", | ||
365 | ] | ||
366 | |||
367 | [[package]] | ||
368 | name = "aws-smithy-json" | ||
369 | version = "0.60.3" | ||
370 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
371 | checksum = "733ccdb727ac63370836aa3b3c483d75ad2ef7bc6507db3efe1d01e8d2e50367" | ||
372 | dependencies = [ | ||
373 | "aws-smithy-types", | ||
374 | ] | ||
375 | |||
376 | [[package]] | ||
377 | name = "aws-smithy-query" | ||
378 | version = "0.60.3" | ||
379 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
380 | checksum = "aff02ae2ee7968bbce2983ffb5ce529d24f4848532300f398347bde8c2196974" | ||
381 | dependencies = [ | ||
382 | "aws-smithy-types", | ||
383 | "urlencoding", | ||
384 | ] | ||
385 | |||
386 | [[package]] | ||
387 | name = "aws-smithy-runtime" | ||
388 | version = "1.1.3" | ||
389 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
390 | checksum = "6ab9cb6fee50680af8ceaa293ae79eba32095ca117161cb323f9ee30dd87d139" | ||
391 | dependencies = [ | ||
392 | "aws-smithy-async", | ||
393 | "aws-smithy-http", | ||
394 | "aws-smithy-runtime-api", | ||
395 | "aws-smithy-types", | ||
396 | "bytes", | ||
397 | "fastrand", | ||
398 | "h2 0.3.24", | ||
399 | "http 0.2.11", | ||
400 | "http-body 0.4.6", | ||
401 | "hyper 0.14.28", | ||
402 | "hyper-rustls", | ||
403 | "once_cell", | ||
404 | "pin-project-lite", | ||
405 | "pin-utils", | ||
406 | "rustls", | ||
407 | "tokio", | ||
408 | "tracing", | ||
409 | ] | ||
410 | |||
411 | [[package]] | ||
412 | name = "aws-smithy-runtime-api" | ||
413 | version = "1.1.3" | ||
414 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
415 | checksum = "02ca2da7619517310bfead6d18abcdde90f1439224d887d608503cfacff46dff" | ||
416 | dependencies = [ | ||
417 | "aws-smithy-async", | ||
418 | "aws-smithy-types", | ||
419 | "bytes", | ||
420 | "http 0.2.11", | ||
421 | "pin-project-lite", | ||
422 | "tokio", | ||
423 | "tracing", | ||
424 | "zeroize", | ||
425 | ] | ||
426 | |||
427 | [[package]] | ||
428 | name = "aws-smithy-types" | ||
429 | version = "1.1.3" | ||
430 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
431 | checksum = "5d4bb944488536cd2fef43212d829bc7e9a8bfc4afa079d21170441e7be8d2d0" | ||
432 | dependencies = [ | ||
433 | "base64-simd", | ||
434 | "bytes", | ||
435 | "bytes-utils", | ||
436 | "futures-core", | ||
437 | "http 0.2.11", | ||
438 | "http-body 0.4.6", | ||
439 | "itoa", | ||
440 | "num-integer", | ||
441 | "pin-project-lite", | ||
442 | "pin-utils", | ||
443 | "ryu", | ||
444 | "serde", | ||
445 | "time", | ||
446 | "tokio", | ||
447 | "tokio-util", | ||
448 | ] | ||
449 | |||
450 | [[package]] | ||
451 | name = "aws-smithy-xml" | ||
452 | version = "0.60.3" | ||
453 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
454 | checksum = "ef796feaf894d7fd03869235237aeffe73ed1b29a3927cceeee2eecadf876eba" | ||
455 | dependencies = [ | ||
456 | "xmlparser", | ||
457 | ] | ||
458 | |||
459 | [[package]] | ||
460 | name = "aws-types" | ||
461 | version = "1.1.2" | ||
462 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
463 | checksum = "8549aa62c5b7db5c57ab915200ee214b4f5d8f19b29a4a8fa0b3ad3bca1380e3" | ||
464 | dependencies = [ | ||
465 | "aws-credential-types", | ||
466 | "aws-smithy-async", | ||
467 | "aws-smithy-runtime-api", | ||
468 | "aws-smithy-types", | ||
469 | "http 0.2.11", | ||
470 | "rustc_version", | ||
471 | "tracing", | ||
101 | ] | 472 | ] |
102 | 473 | ||
103 | [[package]] | 474 | [[package]] |
@@ -171,10 +542,10 @@ dependencies = [ | |||
171 | ] | 542 | ] |
172 | 543 | ||
173 | [[package]] | 544 | [[package]] |
174 | name = "base64" | 545 | name = "base16ct" |
175 | version = "0.13.1" | 546 | version = "0.1.1" |
176 | source = "registry+https://github.com/rust-lang/crates.io-index" | 547 | source = "registry+https://github.com/rust-lang/crates.io-index" |
177 | checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" | 548 | checksum = "349a06037c7bf932dd7e7d1f653678b2038b9ad46a74102f1fc7bd7872678cce" |
178 | 549 | ||
179 | [[package]] | 550 | [[package]] |
180 | name = "base64" | 551 | name = "base64" |
@@ -183,6 +554,22 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
183 | checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" | 554 | checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" |
184 | 555 | ||
185 | [[package]] | 556 | [[package]] |
557 | name = "base64-simd" | ||
558 | version = "0.8.0" | ||
559 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
560 | checksum = "339abbe78e73178762e23bea9dfd08e697eb3f3301cd4be981c0f78ba5859195" | ||
561 | dependencies = [ | ||
562 | "outref", | ||
563 | "vsimd", | ||
564 | ] | ||
565 | |||
566 | [[package]] | ||
567 | name = "base64ct" | ||
568 | version = "1.6.0" | ||
569 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
570 | checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" | ||
571 | |||
572 | [[package]] | ||
186 | name = "bitflags" | 573 | name = "bitflags" |
187 | version = "1.3.2" | 574 | version = "1.3.2" |
188 | source = "registry+https://github.com/rust-lang/crates.io-index" | 575 | source = "registry+https://github.com/rust-lang/crates.io-index" |
@@ -216,6 +603,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
216 | checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223" | 603 | checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223" |
217 | 604 | ||
218 | [[package]] | 605 | [[package]] |
606 | name = "bytes-utils" | ||
607 | version = "0.1.4" | ||
608 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
609 | checksum = "7dafe3a8757b027e2be6e4e5601ed563c55989fcf1546e933c66c8eb3a058d35" | ||
610 | dependencies = [ | ||
611 | "bytes", | ||
612 | "either", | ||
613 | ] | ||
614 | |||
615 | [[package]] | ||
219 | name = "cc" | 616 | name = "cc" |
220 | version = "1.0.83" | 617 | version = "1.0.83" |
221 | source = "registry+https://github.com/rust-lang/crates.io-index" | 618 | source = "registry+https://github.com/rust-lang/crates.io-index" |
@@ -256,6 +653,12 @@ dependencies = [ | |||
256 | ] | 653 | ] |
257 | 654 | ||
258 | [[package]] | 655 | [[package]] |
656 | name = "const-oid" | ||
657 | version = "0.9.6" | ||
658 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
659 | checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" | ||
660 | |||
661 | [[package]] | ||
259 | name = "core-foundation" | 662 | name = "core-foundation" |
260 | version = "0.9.4" | 663 | version = "0.9.4" |
261 | source = "registry+https://github.com/rust-lang/crates.io-index" | 664 | source = "registry+https://github.com/rust-lang/crates.io-index" |
@@ -281,6 +684,46 @@ dependencies = [ | |||
281 | ] | 684 | ] |
282 | 685 | ||
283 | [[package]] | 686 | [[package]] |
687 | name = "crc32c" | ||
688 | version = "0.6.4" | ||
689 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
690 | checksum = "d8f48d60e5b4d2c53d5c2b1d8a58c849a70ae5e5509b08a48d047e3b65714a74" | ||
691 | dependencies = [ | ||
692 | "rustc_version", | ||
693 | ] | ||
694 | |||
695 | [[package]] | ||
696 | name = "crc32fast" | ||
697 | version = "1.3.2" | ||
698 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
699 | checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d" | ||
700 | dependencies = [ | ||
701 | "cfg-if", | ||
702 | ] | ||
703 | |||
704 | [[package]] | ||
705 | name = "crypto-bigint" | ||
706 | version = "0.4.9" | ||
707 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
708 | checksum = "ef2b4b23cddf68b89b8f8069890e8c270d54e2d5fe1b143820234805e4cb17ef" | ||
709 | dependencies = [ | ||
710 | "generic-array", | ||
711 | "rand_core", | ||
712 | "subtle", | ||
713 | "zeroize", | ||
714 | ] | ||
715 | |||
716 | [[package]] | ||
717 | name = "crypto-bigint" | ||
718 | version = "0.5.5" | ||
719 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
720 | checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" | ||
721 | dependencies = [ | ||
722 | "rand_core", | ||
723 | "subtle", | ||
724 | ] | ||
725 | |||
726 | [[package]] | ||
284 | name = "crypto-common" | 727 | name = "crypto-common" |
285 | version = "0.1.6" | 728 | version = "0.1.6" |
286 | source = "registry+https://github.com/rust-lang/crates.io-index" | 729 | source = "registry+https://github.com/rust-lang/crates.io-index" |
@@ -291,6 +734,16 @@ dependencies = [ | |||
291 | ] | 734 | ] |
292 | 735 | ||
293 | [[package]] | 736 | [[package]] |
737 | name = "der" | ||
738 | version = "0.6.1" | ||
739 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
740 | checksum = "f1a467a65c5e759bce6e65eaf91cc29f466cdc57cb65777bd646872a8a1fd4de" | ||
741 | dependencies = [ | ||
742 | "const-oid", | ||
743 | "zeroize", | ||
744 | ] | ||
745 | |||
746 | [[package]] | ||
294 | name = "deranged" | 747 | name = "deranged" |
295 | version = "0.3.11" | 748 | version = "0.3.11" |
296 | source = "registry+https://github.com/rust-lang/crates.io-index" | 749 | source = "registry+https://github.com/rust-lang/crates.io-index" |
@@ -338,12 +791,41 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
338 | checksum = "0688c2a7f92e427f44895cd63841bff7b29f8d7a1648b9e7e07a4a365b2e1257" | 791 | checksum = "0688c2a7f92e427f44895cd63841bff7b29f8d7a1648b9e7e07a4a365b2e1257" |
339 | 792 | ||
340 | [[package]] | 793 | [[package]] |
341 | name = "encoding_rs" | 794 | name = "ecdsa" |
342 | version = "0.8.33" | 795 | version = "0.14.8" |
343 | source = "registry+https://github.com/rust-lang/crates.io-index" | 796 | source = "registry+https://github.com/rust-lang/crates.io-index" |
344 | checksum = "7268b386296a025e474d5140678f75d6de9493ae55a5d709eeb9dd08149945e1" | 797 | checksum = "413301934810f597c1d19ca71c8710e99a3f1ba28a0d2ebc01551a2daeea3c5c" |
345 | dependencies = [ | 798 | dependencies = [ |
346 | "cfg-if", | 799 | "der", |
800 | "elliptic-curve", | ||
801 | "rfc6979", | ||
802 | "signature", | ||
803 | ] | ||
804 | |||
805 | [[package]] | ||
806 | name = "either" | ||
807 | version = "1.9.0" | ||
808 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
809 | checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07" | ||
810 | |||
811 | [[package]] | ||
812 | name = "elliptic-curve" | ||
813 | version = "0.12.3" | ||
814 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
815 | checksum = "e7bb888ab5300a19b8e5bceef25ac745ad065f3c9f7efc6de1b91958110891d3" | ||
816 | dependencies = [ | ||
817 | "base16ct", | ||
818 | "crypto-bigint 0.4.9", | ||
819 | "der", | ||
820 | "digest", | ||
821 | "ff", | ||
822 | "generic-array", | ||
823 | "group", | ||
824 | "pkcs8", | ||
825 | "rand_core", | ||
826 | "sec1", | ||
827 | "subtle", | ||
828 | "zeroize", | ||
347 | ] | 829 | ] |
348 | 830 | ||
349 | [[package]] | 831 | [[package]] |
@@ -369,6 +851,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
369 | checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5" | 851 | checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5" |
370 | 852 | ||
371 | [[package]] | 853 | [[package]] |
854 | name = "ff" | ||
855 | version = "0.12.1" | ||
856 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
857 | checksum = "d013fc25338cc558c5c2cfbad646908fb23591e2404481826742b651c9af7160" | ||
858 | dependencies = [ | ||
859 | "rand_core", | ||
860 | "subtle", | ||
861 | ] | ||
862 | |||
863 | [[package]] | ||
372 | name = "fnv" | 864 | name = "fnv" |
373 | version = "1.0.7" | 865 | version = "1.0.7" |
374 | source = "registry+https://github.com/rust-lang/crates.io-index" | 866 | source = "registry+https://github.com/rust-lang/crates.io-index" |
@@ -399,28 +891,12 @@ dependencies = [ | |||
399 | ] | 891 | ] |
400 | 892 | ||
401 | [[package]] | 893 | [[package]] |
402 | name = "futures" | ||
403 | version = "0.3.30" | ||
404 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
405 | checksum = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0" | ||
406 | dependencies = [ | ||
407 | "futures-channel", | ||
408 | "futures-core", | ||
409 | "futures-executor", | ||
410 | "futures-io", | ||
411 | "futures-sink", | ||
412 | "futures-task", | ||
413 | "futures-util", | ||
414 | ] | ||
415 | |||
416 | [[package]] | ||
417 | name = "futures-channel" | 894 | name = "futures-channel" |
418 | version = "0.3.30" | 895 | version = "0.3.30" |
419 | source = "registry+https://github.com/rust-lang/crates.io-index" | 896 | source = "registry+https://github.com/rust-lang/crates.io-index" |
420 | checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" | 897 | checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" |
421 | dependencies = [ | 898 | dependencies = [ |
422 | "futures-core", | 899 | "futures-core", |
423 | "futures-sink", | ||
424 | ] | 900 | ] |
425 | 901 | ||
426 | [[package]] | 902 | [[package]] |
@@ -430,34 +906,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
430 | checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" | 906 | checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" |
431 | 907 | ||
432 | [[package]] | 908 | [[package]] |
433 | name = "futures-executor" | ||
434 | version = "0.3.30" | ||
435 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
436 | checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d" | ||
437 | dependencies = [ | ||
438 | "futures-core", | ||
439 | "futures-task", | ||
440 | "futures-util", | ||
441 | ] | ||
442 | |||
443 | [[package]] | ||
444 | name = "futures-io" | ||
445 | version = "0.3.30" | ||
446 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
447 | checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" | ||
448 | |||
449 | [[package]] | ||
450 | name = "futures-macro" | ||
451 | version = "0.3.30" | ||
452 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
453 | checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" | ||
454 | dependencies = [ | ||
455 | "proc-macro2", | ||
456 | "quote", | ||
457 | "syn 2.0.48", | ||
458 | ] | ||
459 | |||
460 | [[package]] | ||
461 | name = "futures-sink" | 909 | name = "futures-sink" |
462 | version = "0.3.30" | 910 | version = "0.3.30" |
463 | source = "registry+https://github.com/rust-lang/crates.io-index" | 911 | source = "registry+https://github.com/rust-lang/crates.io-index" |
@@ -475,16 +923,10 @@ version = "0.3.30" | |||
475 | source = "registry+https://github.com/rust-lang/crates.io-index" | 923 | source = "registry+https://github.com/rust-lang/crates.io-index" |
476 | checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" | 924 | checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" |
477 | dependencies = [ | 925 | dependencies = [ |
478 | "futures-channel", | ||
479 | "futures-core", | 926 | "futures-core", |
480 | "futures-io", | ||
481 | "futures-macro", | ||
482 | "futures-sink", | ||
483 | "futures-task", | 927 | "futures-task", |
484 | "memchr", | ||
485 | "pin-project-lite", | 928 | "pin-project-lite", |
486 | "pin-utils", | 929 | "pin-utils", |
487 | "slab", | ||
488 | ] | 930 | ] |
489 | 931 | ||
490 | [[package]] | 932 | [[package]] |
@@ -523,6 +965,17 @@ dependencies = [ | |||
523 | ] | 965 | ] |
524 | 966 | ||
525 | [[package]] | 967 | [[package]] |
968 | name = "group" | ||
969 | version = "0.12.1" | ||
970 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
971 | checksum = "5dfbfb3a6cfbd390d5c9564ab283a0349b9b9fcd46a706c1eb10e0db70bfbac7" | ||
972 | dependencies = [ | ||
973 | "ff", | ||
974 | "rand_core", | ||
975 | "subtle", | ||
976 | ] | ||
977 | |||
978 | [[package]] | ||
526 | name = "h2" | 979 | name = "h2" |
527 | version = "0.3.24" | 980 | version = "0.3.24" |
528 | source = "registry+https://github.com/rust-lang/crates.io-index" | 981 | source = "registry+https://github.com/rust-lang/crates.io-index" |
@@ -714,16 +1167,19 @@ dependencies = [ | |||
714 | ] | 1167 | ] |
715 | 1168 | ||
716 | [[package]] | 1169 | [[package]] |
717 | name = "hyper-tls" | 1170 | name = "hyper-rustls" |
718 | version = "0.5.0" | 1171 | version = "0.24.2" |
719 | source = "registry+https://github.com/rust-lang/crates.io-index" | 1172 | source = "registry+https://github.com/rust-lang/crates.io-index" |
720 | checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905" | 1173 | checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590" |
721 | dependencies = [ | 1174 | dependencies = [ |
722 | "bytes", | 1175 | "futures-util", |
1176 | "http 0.2.11", | ||
723 | "hyper 0.14.28", | 1177 | "hyper 0.14.28", |
724 | "native-tls", | 1178 | "log", |
1179 | "rustls", | ||
1180 | "rustls-native-certs", | ||
725 | "tokio", | 1181 | "tokio", |
726 | "tokio-native-tls", | 1182 | "tokio-rustls", |
727 | ] | 1183 | ] |
728 | 1184 | ||
729 | [[package]] | 1185 | [[package]] |
@@ -788,12 +1244,6 @@ dependencies = [ | |||
788 | ] | 1244 | ] |
789 | 1245 | ||
790 | [[package]] | 1246 | [[package]] |
791 | name = "ipnet" | ||
792 | version = "2.9.0" | ||
793 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
794 | checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" | ||
795 | |||
796 | [[package]] | ||
797 | name = "itoa" | 1247 | name = "itoa" |
798 | version = "1.0.10" | 1248 | version = "1.0.10" |
799 | source = "registry+https://github.com/rust-lang/crates.io-index" | 1249 | source = "registry+https://github.com/rust-lang/crates.io-index" |
@@ -860,23 +1310,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
860 | checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94" | 1310 | checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94" |
861 | 1311 | ||
862 | [[package]] | 1312 | [[package]] |
863 | name = "maybe-async" | 1313 | name = "md-5" |
864 | version = "0.2.7" | 1314 | version = "0.10.6" |
865 | source = "registry+https://github.com/rust-lang/crates.io-index" | 1315 | source = "registry+https://github.com/rust-lang/crates.io-index" |
866 | checksum = "0f1b8c13cb1f814b634a96b2c725449fe7ed464a7b8781de8688be5ffbd3f305" | 1316 | checksum = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf" |
867 | dependencies = [ | 1317 | dependencies = [ |
868 | "proc-macro2", | 1318 | "cfg-if", |
869 | "quote", | 1319 | "digest", |
870 | "syn 1.0.109", | ||
871 | ] | 1320 | ] |
872 | 1321 | ||
873 | [[package]] | 1322 | [[package]] |
874 | name = "md5" | ||
875 | version = "0.7.0" | ||
876 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
877 | checksum = "490cc448043f947bae3cbee9c203358d62dbee0db12107a74be5c30ccfd09771" | ||
878 | |||
879 | [[package]] | ||
880 | name = "memchr" | 1323 | name = "memchr" |
881 | version = "2.7.1" | 1324 | version = "2.7.1" |
882 | source = "registry+https://github.com/rust-lang/crates.io-index" | 1325 | source = "registry+https://github.com/rust-lang/crates.io-index" |
@@ -889,15 +1332,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
889 | checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" | 1332 | checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" |
890 | 1333 | ||
891 | [[package]] | 1334 | [[package]] |
892 | name = "minidom" | ||
893 | version = "0.15.2" | ||
894 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
895 | checksum = "f45614075738ce1b77a1768912a60c0227525971b03e09122a05b8a34a2a6278" | ||
896 | dependencies = [ | ||
897 | "rxml", | ||
898 | ] | ||
899 | |||
900 | [[package]] | ||
901 | name = "miniz_oxide" | 1335 | name = "miniz_oxide" |
902 | version = "0.7.1" | 1336 | version = "0.7.1" |
903 | source = "registry+https://github.com/rust-lang/crates.io-index" | 1337 | source = "registry+https://github.com/rust-lang/crates.io-index" |
@@ -936,6 +1370,16 @@ dependencies = [ | |||
936 | ] | 1370 | ] |
937 | 1371 | ||
938 | [[package]] | 1372 | [[package]] |
1373 | name = "num-integer" | ||
1374 | version = "0.1.45" | ||
1375 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
1376 | checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9" | ||
1377 | dependencies = [ | ||
1378 | "autocfg", | ||
1379 | "num-traits", | ||
1380 | ] | ||
1381 | |||
1382 | [[package]] | ||
939 | name = "num-traits" | 1383 | name = "num-traits" |
940 | version = "0.2.17" | 1384 | version = "0.2.17" |
941 | source = "registry+https://github.com/rust-lang/crates.io-index" | 1385 | source = "registry+https://github.com/rust-lang/crates.io-index" |
@@ -992,7 +1436,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" | |||
992 | dependencies = [ | 1436 | dependencies = [ |
993 | "proc-macro2", | 1437 | "proc-macro2", |
994 | "quote", | 1438 | "quote", |
995 | "syn 2.0.48", | 1439 | "syn", |
996 | ] | 1440 | ] |
997 | 1441 | ||
998 | [[package]] | 1442 | [[package]] |
@@ -1024,6 +1468,23 @@ dependencies = [ | |||
1024 | ] | 1468 | ] |
1025 | 1469 | ||
1026 | [[package]] | 1470 | [[package]] |
1471 | name = "outref" | ||
1472 | version = "0.5.1" | ||
1473 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
1474 | checksum = "4030760ffd992bef45b0ae3f10ce1aba99e33464c90d14dd7c039884963ddc7a" | ||
1475 | |||
1476 | [[package]] | ||
1477 | name = "p256" | ||
1478 | version = "0.11.1" | ||
1479 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
1480 | checksum = "51f44edd08f51e2ade572f141051021c5af22677e42b7dd28a88155151c33594" | ||
1481 | dependencies = [ | ||
1482 | "ecdsa", | ||
1483 | "elliptic-curve", | ||
1484 | "sha2", | ||
1485 | ] | ||
1486 | |||
1487 | [[package]] | ||
1027 | name = "parking_lot" | 1488 | name = "parking_lot" |
1028 | version = "0.12.1" | 1489 | version = "0.12.1" |
1029 | source = "registry+https://github.com/rust-lang/crates.io-index" | 1490 | source = "registry+https://github.com/rust-lang/crates.io-index" |
@@ -1069,7 +1530,7 @@ checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405" | |||
1069 | dependencies = [ | 1530 | dependencies = [ |
1070 | "proc-macro2", | 1531 | "proc-macro2", |
1071 | "quote", | 1532 | "quote", |
1072 | "syn 2.0.48", | 1533 | "syn", |
1073 | ] | 1534 | ] |
1074 | 1535 | ||
1075 | [[package]] | 1536 | [[package]] |
@@ -1085,6 +1546,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
1085 | checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" | 1546 | checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" |
1086 | 1547 | ||
1087 | [[package]] | 1548 | [[package]] |
1549 | name = "pkcs8" | ||
1550 | version = "0.9.0" | ||
1551 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
1552 | checksum = "9eca2c590a5f85da82668fa685c09ce2888b9430e83299debf1f34b65fd4a4ba" | ||
1553 | dependencies = [ | ||
1554 | "der", | ||
1555 | "spki", | ||
1556 | ] | ||
1557 | |||
1558 | [[package]] | ||
1088 | name = "pkg-config" | 1559 | name = "pkg-config" |
1089 | version = "0.3.29" | 1560 | version = "0.3.29" |
1090 | source = "registry+https://github.com/rust-lang/crates.io-index" | 1561 | source = "registry+https://github.com/rust-lang/crates.io-index" |
@@ -1125,6 +1596,15 @@ dependencies = [ | |||
1125 | ] | 1596 | ] |
1126 | 1597 | ||
1127 | [[package]] | 1598 | [[package]] |
1599 | name = "rand_core" | ||
1600 | version = "0.6.4" | ||
1601 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
1602 | checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" | ||
1603 | dependencies = [ | ||
1604 | "getrandom", | ||
1605 | ] | ||
1606 | |||
1607 | [[package]] | ||
1128 | name = "redox_syscall" | 1608 | name = "redox_syscall" |
1129 | version = "0.4.1" | 1609 | version = "0.4.1" |
1130 | source = "registry+https://github.com/rust-lang/crates.io-index" | 1610 | source = "registry+https://github.com/rust-lang/crates.io-index" |
@@ -1145,86 +1625,44 @@ dependencies = [ | |||
1145 | ] | 1625 | ] |
1146 | 1626 | ||
1147 | [[package]] | 1627 | [[package]] |
1148 | name = "reqwest" | 1628 | name = "regex-lite" |
1149 | version = "0.11.23" | 1629 | version = "0.1.5" |
1630 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
1631 | checksum = "30b661b2f27137bdbc16f00eda72866a92bb28af1753ffbd56744fb6e2e9cd8e" | ||
1632 | |||
1633 | [[package]] | ||
1634 | name = "rfc6979" | ||
1635 | version = "0.3.1" | ||
1150 | source = "registry+https://github.com/rust-lang/crates.io-index" | 1636 | source = "registry+https://github.com/rust-lang/crates.io-index" |
1151 | checksum = "37b1ae8d9ac08420c66222fb9096fc5de435c3c48542bc5336c51892cffafb41" | 1637 | checksum = "7743f17af12fa0b03b803ba12cd6a8d9483a587e89c69445e3909655c0b9fabb" |
1152 | dependencies = [ | 1638 | dependencies = [ |
1153 | "base64 0.21.7", | 1639 | "crypto-bigint 0.4.9", |
1154 | "bytes", | 1640 | "hmac", |
1155 | "encoding_rs", | 1641 | "zeroize", |
1156 | "futures-core", | ||
1157 | "futures-util", | ||
1158 | "h2 0.3.24", | ||
1159 | "http 0.2.11", | ||
1160 | "http-body 0.4.6", | ||
1161 | "hyper 0.14.28", | ||
1162 | "hyper-tls", | ||
1163 | "ipnet", | ||
1164 | "js-sys", | ||
1165 | "log", | ||
1166 | "mime", | ||
1167 | "native-tls", | ||
1168 | "once_cell", | ||
1169 | "percent-encoding", | ||
1170 | "pin-project-lite", | ||
1171 | "serde", | ||
1172 | "serde_json", | ||
1173 | "serde_urlencoded", | ||
1174 | "system-configuration", | ||
1175 | "tokio", | ||
1176 | "tokio-native-tls", | ||
1177 | "tokio-util", | ||
1178 | "tower-service", | ||
1179 | "url", | ||
1180 | "wasm-bindgen", | ||
1181 | "wasm-bindgen-futures", | ||
1182 | "wasm-streams", | ||
1183 | "web-sys", | ||
1184 | "winreg", | ||
1185 | ] | 1642 | ] |
1186 | 1643 | ||
1187 | [[package]] | 1644 | [[package]] |
1188 | name = "rust-ini" | 1645 | name = "ring" |
1189 | version = "0.18.0" | 1646 | version = "0.17.7" |
1190 | source = "registry+https://github.com/rust-lang/crates.io-index" | 1647 | source = "registry+https://github.com/rust-lang/crates.io-index" |
1191 | checksum = "f6d5f2436026b4f6e79dc829837d467cc7e9a55ee40e750d716713540715a2df" | 1648 | checksum = "688c63d65483050968b2a8937f7995f443e27041a0f7700aa59b0822aedebb74" |
1192 | dependencies = [ | 1649 | dependencies = [ |
1193 | "cfg-if", | 1650 | "cc", |
1194 | "ordered-multimap", | 1651 | "getrandom", |
1652 | "libc", | ||
1653 | "spin", | ||
1654 | "untrusted", | ||
1655 | "windows-sys 0.48.0", | ||
1195 | ] | 1656 | ] |
1196 | 1657 | ||
1197 | [[package]] | 1658 | [[package]] |
1198 | name = "rust-s3" | 1659 | name = "rust-ini" |
1199 | version = "0.33.0" | 1660 | version = "0.18.0" |
1200 | source = "registry+https://github.com/rust-lang/crates.io-index" | 1661 | source = "registry+https://github.com/rust-lang/crates.io-index" |
1201 | checksum = "1b2ac5ff6acfbe74226fa701b5ef793aaa054055c13ebb7060ad36942956e027" | 1662 | checksum = "f6d5f2436026b4f6e79dc829837d467cc7e9a55ee40e750d716713540715a2df" |
1202 | dependencies = [ | 1663 | dependencies = [ |
1203 | "async-trait", | ||
1204 | "aws-creds", | ||
1205 | "aws-region", | ||
1206 | "base64 0.13.1", | ||
1207 | "bytes", | ||
1208 | "cfg-if", | 1664 | "cfg-if", |
1209 | "futures", | 1665 | "ordered-multimap", |
1210 | "hex", | ||
1211 | "hmac", | ||
1212 | "http 0.2.11", | ||
1213 | "log", | ||
1214 | "maybe-async", | ||
1215 | "md5", | ||
1216 | "minidom", | ||
1217 | "percent-encoding", | ||
1218 | "quick-xml", | ||
1219 | "reqwest", | ||
1220 | "serde", | ||
1221 | "serde_derive", | ||
1222 | "sha2", | ||
1223 | "thiserror", | ||
1224 | "time", | ||
1225 | "tokio", | ||
1226 | "tokio-stream", | ||
1227 | "url", | ||
1228 | ] | 1666 | ] |
1229 | 1667 | ||
1230 | [[package]] | 1668 | [[package]] |
@@ -1234,6 +1672,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
1234 | checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" | 1672 | checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" |
1235 | 1673 | ||
1236 | [[package]] | 1674 | [[package]] |
1675 | name = "rustc_version" | ||
1676 | version = "0.4.0" | ||
1677 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
1678 | checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" | ||
1679 | dependencies = [ | ||
1680 | "semver", | ||
1681 | ] | ||
1682 | |||
1683 | [[package]] | ||
1237 | name = "rustix" | 1684 | name = "rustix" |
1238 | version = "0.38.30" | 1685 | version = "0.38.30" |
1239 | source = "registry+https://github.com/rust-lang/crates.io-index" | 1686 | source = "registry+https://github.com/rust-lang/crates.io-index" |
@@ -1247,27 +1694,53 @@ dependencies = [ | |||
1247 | ] | 1694 | ] |
1248 | 1695 | ||
1249 | [[package]] | 1696 | [[package]] |
1250 | name = "rustversion" | 1697 | name = "rustls" |
1251 | version = "1.0.14" | 1698 | version = "0.21.10" |
1252 | source = "registry+https://github.com/rust-lang/crates.io-index" | 1699 | source = "registry+https://github.com/rust-lang/crates.io-index" |
1253 | checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4" | 1700 | checksum = "f9d5a6813c0759e4609cd494e8e725babae6a2ca7b62a5536a13daaec6fcb7ba" |
1701 | dependencies = [ | ||
1702 | "log", | ||
1703 | "ring", | ||
1704 | "rustls-webpki", | ||
1705 | "sct", | ||
1706 | ] | ||
1254 | 1707 | ||
1255 | [[package]] | 1708 | [[package]] |
1256 | name = "rxml" | 1709 | name = "rustls-native-certs" |
1257 | version = "0.9.1" | 1710 | version = "0.6.3" |
1258 | source = "registry+https://github.com/rust-lang/crates.io-index" | 1711 | source = "registry+https://github.com/rust-lang/crates.io-index" |
1259 | checksum = "a98f186c7a2f3abbffb802984b7f1dfd65dac8be1aafdaabbca4137f53f0dff7" | 1712 | checksum = "a9aace74cb666635c918e9c12bc0d348266037aa8eb599b5cba565709a8dff00" |
1260 | dependencies = [ | 1713 | dependencies = [ |
1261 | "bytes", | 1714 | "openssl-probe", |
1262 | "rxml_validation", | 1715 | "rustls-pemfile", |
1263 | "smartstring", | 1716 | "schannel", |
1717 | "security-framework", | ||
1718 | ] | ||
1719 | |||
1720 | [[package]] | ||
1721 | name = "rustls-pemfile" | ||
1722 | version = "1.0.4" | ||
1723 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
1724 | checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c" | ||
1725 | dependencies = [ | ||
1726 | "base64", | ||
1727 | ] | ||
1728 | |||
1729 | [[package]] | ||
1730 | name = "rustls-webpki" | ||
1731 | version = "0.101.7" | ||
1732 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
1733 | checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765" | ||
1734 | dependencies = [ | ||
1735 | "ring", | ||
1736 | "untrusted", | ||
1264 | ] | 1737 | ] |
1265 | 1738 | ||
1266 | [[package]] | 1739 | [[package]] |
1267 | name = "rxml_validation" | 1740 | name = "rustversion" |
1268 | version = "0.9.1" | 1741 | version = "1.0.14" |
1269 | source = "registry+https://github.com/rust-lang/crates.io-index" | 1742 | source = "registry+https://github.com/rust-lang/crates.io-index" |
1270 | checksum = "22a197350ece202f19a166d1ad6d9d6de145e1d2a8ef47db299abe164dbd7530" | 1743 | checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4" |
1271 | 1744 | ||
1272 | [[package]] | 1745 | [[package]] |
1273 | name = "ryu" | 1746 | name = "ryu" |
@@ -1291,6 +1764,30 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
1291 | checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" | 1764 | checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" |
1292 | 1765 | ||
1293 | [[package]] | 1766 | [[package]] |
1767 | name = "sct" | ||
1768 | version = "0.7.1" | ||
1769 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
1770 | checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414" | ||
1771 | dependencies = [ | ||
1772 | "ring", | ||
1773 | "untrusted", | ||
1774 | ] | ||
1775 | |||
1776 | [[package]] | ||
1777 | name = "sec1" | ||
1778 | version = "0.3.0" | ||
1779 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
1780 | checksum = "3be24c1842290c45df0a7bf069e0c268a747ad05a192f2fd7dcfdbc1cba40928" | ||
1781 | dependencies = [ | ||
1782 | "base16ct", | ||
1783 | "der", | ||
1784 | "generic-array", | ||
1785 | "pkcs8", | ||
1786 | "subtle", | ||
1787 | "zeroize", | ||
1788 | ] | ||
1789 | |||
1790 | [[package]] | ||
1294 | name = "security-framework" | 1791 | name = "security-framework" |
1295 | version = "2.9.2" | 1792 | version = "2.9.2" |
1296 | source = "registry+https://github.com/rust-lang/crates.io-index" | 1793 | source = "registry+https://github.com/rust-lang/crates.io-index" |
@@ -1314,6 +1811,12 @@ dependencies = [ | |||
1314 | ] | 1811 | ] |
1315 | 1812 | ||
1316 | [[package]] | 1813 | [[package]] |
1814 | name = "semver" | ||
1815 | version = "1.0.21" | ||
1816 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
1817 | checksum = "b97ed7a9823b74f99c7742f5336af7be5ecd3eeafcb1507d1fa93347b1d589b0" | ||
1818 | |||
1819 | [[package]] | ||
1317 | name = "serde" | 1820 | name = "serde" |
1318 | version = "1.0.195" | 1821 | version = "1.0.195" |
1319 | source = "registry+https://github.com/rust-lang/crates.io-index" | 1822 | source = "registry+https://github.com/rust-lang/crates.io-index" |
@@ -1330,7 +1833,7 @@ checksum = "46fe8f8603d81ba86327b23a2e9cdf49e1255fb94a4c5f297f6ee0547178ea2c" | |||
1330 | dependencies = [ | 1833 | dependencies = [ |
1331 | "proc-macro2", | 1834 | "proc-macro2", |
1332 | "quote", | 1835 | "quote", |
1333 | "syn 2.0.48", | 1836 | "syn", |
1334 | ] | 1837 | ] |
1335 | 1838 | ||
1336 | [[package]] | 1839 | [[package]] |
@@ -1370,18 +1873,32 @@ dependencies = [ | |||
1370 | name = "server" | 1873 | name = "server" |
1371 | version = "0.1.0" | 1874 | version = "0.1.0" |
1372 | dependencies = [ | 1875 | dependencies = [ |
1876 | "aws-config", | ||
1373 | "aws-creds", | 1877 | "aws-creds", |
1878 | "aws-sdk-s3", | ||
1374 | "axum", | 1879 | "axum", |
1880 | "base64", | ||
1375 | "chrono", | 1881 | "chrono", |
1376 | "common", | 1882 | "common", |
1377 | "mime", | 1883 | "mime", |
1378 | "rust-s3", | ||
1379 | "serde", | 1884 | "serde", |
1380 | "tokio", | 1885 | "tokio", |
1886 | "tower", | ||
1381 | "tower-service", | 1887 | "tower-service", |
1382 | ] | 1888 | ] |
1383 | 1889 | ||
1384 | [[package]] | 1890 | [[package]] |
1891 | name = "sha1" | ||
1892 | version = "0.10.6" | ||
1893 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
1894 | checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" | ||
1895 | dependencies = [ | ||
1896 | "cfg-if", | ||
1897 | "cpufeatures", | ||
1898 | "digest", | ||
1899 | ] | ||
1900 | |||
1901 | [[package]] | ||
1385 | name = "sha2" | 1902 | name = "sha2" |
1386 | version = "0.10.8" | 1903 | version = "0.10.8" |
1387 | source = "registry+https://github.com/rust-lang/crates.io-index" | 1904 | source = "registry+https://github.com/rust-lang/crates.io-index" |
@@ -1402,6 +1919,16 @@ dependencies = [ | |||
1402 | ] | 1919 | ] |
1403 | 1920 | ||
1404 | [[package]] | 1921 | [[package]] |
1922 | name = "signature" | ||
1923 | version = "1.6.4" | ||
1924 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
1925 | checksum = "74233d3b3b2f6d4b006dc19dee745e73e2a6bfb6f93607cd3b02bd5b00797d7c" | ||
1926 | dependencies = [ | ||
1927 | "digest", | ||
1928 | "rand_core", | ||
1929 | ] | ||
1930 | |||
1931 | [[package]] | ||
1405 | name = "slab" | 1932 | name = "slab" |
1406 | version = "0.4.9" | 1933 | version = "0.4.9" |
1407 | source = "registry+https://github.com/rust-lang/crates.io-index" | 1934 | source = "registry+https://github.com/rust-lang/crates.io-index" |
@@ -1417,17 +1944,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
1417 | checksum = "4dccd0940a2dcdf68d092b8cbab7dc0ad8fa938bf95787e1b916b0e3d0e8e970" | 1944 | checksum = "4dccd0940a2dcdf68d092b8cbab7dc0ad8fa938bf95787e1b916b0e3d0e8e970" |
1418 | 1945 | ||
1419 | [[package]] | 1946 | [[package]] |
1420 | name = "smartstring" | ||
1421 | version = "1.0.1" | ||
1422 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
1423 | checksum = "3fb72c633efbaa2dd666986505016c32c3044395ceaf881518399d2f4127ee29" | ||
1424 | dependencies = [ | ||
1425 | "autocfg", | ||
1426 | "static_assertions", | ||
1427 | "version_check", | ||
1428 | ] | ||
1429 | |||
1430 | [[package]] | ||
1431 | name = "socket2" | 1947 | name = "socket2" |
1432 | version = "0.5.5" | 1948 | version = "0.5.5" |
1433 | source = "registry+https://github.com/rust-lang/crates.io-index" | 1949 | source = "registry+https://github.com/rust-lang/crates.io-index" |
@@ -1438,27 +1954,26 @@ dependencies = [ | |||
1438 | ] | 1954 | ] |
1439 | 1955 | ||
1440 | [[package]] | 1956 | [[package]] |
1441 | name = "static_assertions" | 1957 | name = "spin" |
1442 | version = "1.1.0" | 1958 | version = "0.9.8" |
1443 | source = "registry+https://github.com/rust-lang/crates.io-index" | 1959 | source = "registry+https://github.com/rust-lang/crates.io-index" |
1444 | checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" | 1960 | checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" |
1445 | 1961 | ||
1446 | [[package]] | 1962 | [[package]] |
1447 | name = "subtle" | 1963 | name = "spki" |
1448 | version = "2.5.0" | 1964 | version = "0.6.0" |
1449 | source = "registry+https://github.com/rust-lang/crates.io-index" | 1965 | source = "registry+https://github.com/rust-lang/crates.io-index" |
1450 | checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc" | 1966 | checksum = "67cf02bbac7a337dc36e4f5a693db6c21e7863f45070f7064577eb4367a3212b" |
1967 | dependencies = [ | ||
1968 | "base64ct", | ||
1969 | "der", | ||
1970 | ] | ||
1451 | 1971 | ||
1452 | [[package]] | 1972 | [[package]] |
1453 | name = "syn" | 1973 | name = "subtle" |
1454 | version = "1.0.109" | 1974 | version = "2.5.0" |
1455 | source = "registry+https://github.com/rust-lang/crates.io-index" | 1975 | source = "registry+https://github.com/rust-lang/crates.io-index" |
1456 | checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" | 1976 | checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc" |
1457 | dependencies = [ | ||
1458 | "proc-macro2", | ||
1459 | "quote", | ||
1460 | "unicode-ident", | ||
1461 | ] | ||
1462 | 1977 | ||
1463 | [[package]] | 1978 | [[package]] |
1464 | name = "syn" | 1979 | name = "syn" |
@@ -1478,27 +1993,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
1478 | checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" | 1993 | checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" |
1479 | 1994 | ||
1480 | [[package]] | 1995 | [[package]] |
1481 | name = "system-configuration" | ||
1482 | version = "0.5.1" | ||
1483 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
1484 | checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" | ||
1485 | dependencies = [ | ||
1486 | "bitflags 1.3.2", | ||
1487 | "core-foundation", | ||
1488 | "system-configuration-sys", | ||
1489 | ] | ||
1490 | |||
1491 | [[package]] | ||
1492 | name = "system-configuration-sys" | ||
1493 | version = "0.5.0" | ||
1494 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
1495 | checksum = "a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9" | ||
1496 | dependencies = [ | ||
1497 | "core-foundation-sys", | ||
1498 | "libc", | ||
1499 | ] | ||
1500 | |||
1501 | [[package]] | ||
1502 | name = "tempfile" | 1996 | name = "tempfile" |
1503 | version = "3.9.0" | 1997 | version = "3.9.0" |
1504 | source = "registry+https://github.com/rust-lang/crates.io-index" | 1998 | source = "registry+https://github.com/rust-lang/crates.io-index" |
@@ -1528,7 +2022,7 @@ checksum = "fa0faa943b50f3db30a20aa7e265dbc66076993efed8463e8de414e5d06d3471" | |||
1528 | dependencies = [ | 2022 | dependencies = [ |
1529 | "proc-macro2", | 2023 | "proc-macro2", |
1530 | "quote", | 2024 | "quote", |
1531 | "syn 2.0.48", | 2025 | "syn", |
1532 | ] | 2026 | ] |
1533 | 2027 | ||
1534 | [[package]] | 2028 | [[package]] |
@@ -1602,27 +2096,16 @@ checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" | |||
1602 | dependencies = [ | 2096 | dependencies = [ |
1603 | "proc-macro2", | 2097 | "proc-macro2", |
1604 | "quote", | 2098 | "quote", |
1605 | "syn 2.0.48", | 2099 | "syn", |
1606 | ] | ||
1607 | |||
1608 | [[package]] | ||
1609 | name = "tokio-native-tls" | ||
1610 | version = "0.3.1" | ||
1611 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
1612 | checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2" | ||
1613 | dependencies = [ | ||
1614 | "native-tls", | ||
1615 | "tokio", | ||
1616 | ] | 2100 | ] |
1617 | 2101 | ||
1618 | [[package]] | 2102 | [[package]] |
1619 | name = "tokio-stream" | 2103 | name = "tokio-rustls" |
1620 | version = "0.1.14" | 2104 | version = "0.24.1" |
1621 | source = "registry+https://github.com/rust-lang/crates.io-index" | 2105 | source = "registry+https://github.com/rust-lang/crates.io-index" |
1622 | checksum = "397c988d37662c7dda6d2208364a706264bf3d6138b11d436cbac0ad38832842" | 2106 | checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081" |
1623 | dependencies = [ | 2107 | dependencies = [ |
1624 | "futures-core", | 2108 | "rustls", |
1625 | "pin-project-lite", | ||
1626 | "tokio", | 2109 | "tokio", |
1627 | ] | 2110 | ] |
1628 | 2111 | ||
@@ -1676,10 +2159,22 @@ checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" | |||
1676 | dependencies = [ | 2159 | dependencies = [ |
1677 | "log", | 2160 | "log", |
1678 | "pin-project-lite", | 2161 | "pin-project-lite", |
2162 | "tracing-attributes", | ||
1679 | "tracing-core", | 2163 | "tracing-core", |
1680 | ] | 2164 | ] |
1681 | 2165 | ||
1682 | [[package]] | 2166 | [[package]] |
2167 | name = "tracing-attributes" | ||
2168 | version = "0.1.27" | ||
2169 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
2170 | checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" | ||
2171 | dependencies = [ | ||
2172 | "proc-macro2", | ||
2173 | "quote", | ||
2174 | "syn", | ||
2175 | ] | ||
2176 | |||
2177 | [[package]] | ||
1683 | name = "tracing-core" | 2178 | name = "tracing-core" |
1684 | version = "0.1.32" | 2179 | version = "0.1.32" |
1685 | source = "registry+https://github.com/rust-lang/crates.io-index" | 2180 | source = "registry+https://github.com/rust-lang/crates.io-index" |
@@ -1722,6 +2217,12 @@ dependencies = [ | |||
1722 | ] | 2217 | ] |
1723 | 2218 | ||
1724 | [[package]] | 2219 | [[package]] |
2220 | name = "untrusted" | ||
2221 | version = "0.9.0" | ||
2222 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
2223 | checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" | ||
2224 | |||
2225 | [[package]] | ||
1725 | name = "url" | 2226 | name = "url" |
1726 | version = "2.5.0" | 2227 | version = "2.5.0" |
1727 | source = "registry+https://github.com/rust-lang/crates.io-index" | 2228 | source = "registry+https://github.com/rust-lang/crates.io-index" |
@@ -1733,6 +2234,18 @@ dependencies = [ | |||
1733 | ] | 2234 | ] |
1734 | 2235 | ||
1735 | [[package]] | 2236 | [[package]] |
2237 | name = "urlencoding" | ||
2238 | version = "2.1.3" | ||
2239 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
2240 | checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da" | ||
2241 | |||
2242 | [[package]] | ||
2243 | name = "uuid" | ||
2244 | version = "1.6.1" | ||
2245 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
2246 | checksum = "5e395fcf16a7a3d8127ec99782007af141946b4795001f876d54fb0d55978560" | ||
2247 | |||
2248 | [[package]] | ||
1736 | name = "vcpkg" | 2249 | name = "vcpkg" |
1737 | version = "0.2.15" | 2250 | version = "0.2.15" |
1738 | source = "registry+https://github.com/rust-lang/crates.io-index" | 2251 | source = "registry+https://github.com/rust-lang/crates.io-index" |
@@ -1745,6 +2258,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
1745 | checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" | 2258 | checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" |
1746 | 2259 | ||
1747 | [[package]] | 2260 | [[package]] |
2261 | name = "vsimd" | ||
2262 | version = "0.8.0" | ||
2263 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
2264 | checksum = "5c3082ca00d5a5ef149bb8b555a72ae84c9c59f7250f013ac822ac2e49b19c64" | ||
2265 | |||
2266 | [[package]] | ||
1748 | name = "want" | 2267 | name = "want" |
1749 | version = "0.3.1" | 2268 | version = "0.3.1" |
1750 | source = "registry+https://github.com/rust-lang/crates.io-index" | 2269 | source = "registry+https://github.com/rust-lang/crates.io-index" |
@@ -1780,23 +2299,11 @@ dependencies = [ | |||
1780 | "once_cell", | 2299 | "once_cell", |
1781 | "proc-macro2", | 2300 | "proc-macro2", |
1782 | "quote", | 2301 | "quote", |
1783 | "syn 2.0.48", | 2302 | "syn", |
1784 | "wasm-bindgen-shared", | 2303 | "wasm-bindgen-shared", |
1785 | ] | 2304 | ] |
1786 | 2305 | ||
1787 | [[package]] | 2306 | [[package]] |
1788 | name = "wasm-bindgen-futures" | ||
1789 | version = "0.4.40" | ||
1790 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
1791 | checksum = "bde2032aeb86bdfaecc8b261eef3cba735cc426c1f3a3416d1e0791be95fc461" | ||
1792 | dependencies = [ | ||
1793 | "cfg-if", | ||
1794 | "js-sys", | ||
1795 | "wasm-bindgen", | ||
1796 | "web-sys", | ||
1797 | ] | ||
1798 | |||
1799 | [[package]] | ||
1800 | name = "wasm-bindgen-macro" | 2307 | name = "wasm-bindgen-macro" |
1801 | version = "0.2.90" | 2308 | version = "0.2.90" |
1802 | source = "registry+https://github.com/rust-lang/crates.io-index" | 2309 | source = "registry+https://github.com/rust-lang/crates.io-index" |
@@ -1814,7 +2321,7 @@ checksum = "bae1abb6806dc1ad9e560ed242107c0f6c84335f1749dd4e8ddb012ebd5e25a7" | |||
1814 | dependencies = [ | 2321 | dependencies = [ |
1815 | "proc-macro2", | 2322 | "proc-macro2", |
1816 | "quote", | 2323 | "quote", |
1817 | "syn 2.0.48", | 2324 | "syn", |
1818 | "wasm-bindgen-backend", | 2325 | "wasm-bindgen-backend", |
1819 | "wasm-bindgen-shared", | 2326 | "wasm-bindgen-shared", |
1820 | ] | 2327 | ] |
@@ -1826,29 +2333,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
1826 | checksum = "4d91413b1c31d7539ba5ef2451af3f0b833a005eb27a631cec32bc0635a8602b" | 2333 | checksum = "4d91413b1c31d7539ba5ef2451af3f0b833a005eb27a631cec32bc0635a8602b" |
1827 | 2334 | ||
1828 | [[package]] | 2335 | [[package]] |
1829 | name = "wasm-streams" | ||
1830 | version = "0.3.0" | ||
1831 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
1832 | checksum = "b4609d447824375f43e1ffbc051b50ad8f4b3ae8219680c94452ea05eb240ac7" | ||
1833 | dependencies = [ | ||
1834 | "futures-util", | ||
1835 | "js-sys", | ||
1836 | "wasm-bindgen", | ||
1837 | "wasm-bindgen-futures", | ||
1838 | "web-sys", | ||
1839 | ] | ||
1840 | |||
1841 | [[package]] | ||
1842 | name = "web-sys" | ||
1843 | version = "0.3.67" | ||
1844 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
1845 | checksum = "58cd2333b6e0be7a39605f0e255892fd7418a682d8da8fe042fe25128794d2ed" | ||
1846 | dependencies = [ | ||
1847 | "js-sys", | ||
1848 | "wasm-bindgen", | ||
1849 | ] | ||
1850 | |||
1851 | [[package]] | ||
1852 | name = "winapi" | 2336 | name = "winapi" |
1853 | version = "0.3.9" | 2337 | version = "0.3.9" |
1854 | source = "registry+https://github.com/rust-lang/crates.io-index" | 2338 | source = "registry+https://github.com/rust-lang/crates.io-index" |
@@ -2012,11 +2496,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
2012 | checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04" | 2496 | checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04" |
2013 | 2497 | ||
2014 | [[package]] | 2498 | [[package]] |
2015 | name = "winreg" | 2499 | name = "xmlparser" |
2016 | version = "0.50.0" | 2500 | version = "0.13.6" |
2017 | source = "registry+https://github.com/rust-lang/crates.io-index" | 2501 | source = "registry+https://github.com/rust-lang/crates.io-index" |
2018 | checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1" | 2502 | checksum = "66fee0b777b0f5ac1c69bb06d361268faafa61cd4682ae064a171c16c433e9e4" |
2019 | dependencies = [ | 2503 | |
2020 | "cfg-if", | 2504 | [[package]] |
2021 | "windows-sys 0.48.0", | 2505 | name = "zeroize" |
2022 | ] | 2506 | version = "1.7.0" |
2507 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
2508 | checksum = "525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d" | ||
diff --git a/rs/server/Cargo.toml b/rs/server/Cargo.toml index ac571af..188299a 100644 --- a/rs/server/Cargo.toml +++ b/rs/server/Cargo.toml | |||
@@ -4,12 +4,15 @@ version = "0.1.0" | |||
4 | edition = "2021" | 4 | edition = "2021" |
5 | 5 | ||
6 | [dependencies] | 6 | [dependencies] |
7 | aws-config = { version = "1.1.2", features = ["behavior-version-latest"] } | ||
8 | aws-sdk-s3 = "1.12.0" | ||
7 | axum = "0.7" | 9 | axum = "0.7" |
8 | aws-creds = "0.34" | 10 | aws-creds = "0.34" |
11 | base64 = "0.21" | ||
9 | chrono = { version = "0.4", features = ["serde"] } | 12 | chrono = { version = "0.4", features = ["serde"] } |
10 | common = { path = "../common" } | 13 | common = { path = "../common" } |
11 | mime = "0.3" | 14 | mime = "0.3" |
12 | rust-s3 = "0.33" | ||
13 | serde = { version = "1", features = ["derive"] } | 15 | serde = { version = "1", features = ["derive"] } |
14 | tokio = { version = "1.35", features = ["full"] } | 16 | tokio = { version = "1.35", features = ["full"] } |
17 | tower = "0.4" | ||
15 | tower-service = "0.3" | 18 | tower-service = "0.3" |
diff --git a/rs/server/src/main.rs b/rs/server/src/main.rs index 8fe1d16..7d8b83a 100644 --- a/rs/server/src/main.rs +++ b/rs/server/src/main.rs | |||
@@ -1,6 +1,7 @@ | |||
1 | use std::collections::HashMap; | 1 | use std::collections::HashMap; |
2 | use std::sync::Arc; | ||
2 | 3 | ||
3 | use awscreds::Credentials; | 4 | use axum::extract::State; |
4 | use axum::extract::rejection; | 5 | use axum::extract::rejection; |
5 | use axum::extract::FromRequest; | 6 | use axum::extract::FromRequest; |
6 | use axum::extract::Path; | 7 | use axum::extract::Path; |
@@ -9,23 +10,23 @@ use axum::http::HeaderMap; | |||
9 | use axum::http::HeaderValue; | 10 | use axum::http::HeaderValue; |
10 | use axum::response::Response; | 11 | use axum::response::Response; |
11 | use axum::Json; | 12 | use axum::Json; |
13 | use base64::prelude::*; | ||
12 | use chrono::DateTime; | 14 | use chrono::DateTime; |
13 | use chrono::Utc; | 15 | use chrono::Utc; |
14 | use common::HexByte; | 16 | use common::HexByte; |
15 | use common::Operation; | ||
16 | use s3::Bucket; | ||
17 | use serde::de; | 17 | use serde::de; |
18 | use serde::de::DeserializeOwned; | 18 | use serde::de::DeserializeOwned; |
19 | use serde::Deserialize; | 19 | use serde::Deserialize; |
20 | use serde::Serialize; | 20 | use serde::Serialize; |
21 | use tower_service::Service; | 21 | use tower::Layer; |
22 | use axum::ServiceExt; | ||
22 | 23 | ||
23 | use axum::{ | 24 | use axum::{ |
24 | async_trait, | 25 | async_trait, |
25 | extract::{FromRequestParts, OriginalUri, Request}, | 26 | extract::{FromRequestParts, OriginalUri, Request}, |
26 | http::{request::Parts, StatusCode, Uri}, | 27 | http::{request::Parts, StatusCode, Uri}, |
27 | response::IntoResponse, | 28 | response::IntoResponse, |
28 | routing::{any, get, post, put}, | 29 | routing::{get, post, put}, |
29 | Extension, Router, | 30 | Extension, Router, |
30 | }; | 31 | }; |
31 | 32 | ||
@@ -53,46 +54,71 @@ impl<S: Send + Sync> FromRequestParts<S> for RepositoryName { | |||
53 | } | 54 | } |
54 | } | 55 | } |
55 | 56 | ||
57 | async fn rewrite_url<B>(mut req: axum::http::Request<B>) -> Result<axum::http::Request<B>, StatusCode> { | ||
58 | let uri = req.uri(); | ||
59 | let original_uri = OriginalUri(uri.clone()); | ||
60 | |||
61 | let path_and_query = uri.path_and_query().unwrap(); | ||
62 | let Some((repo, path)) = path_and_query.path().split_once("/info/lfs/objects") else { | ||
63 | return Err(StatusCode::NOT_FOUND); | ||
64 | }; | ||
65 | let repo = repo | ||
66 | .trim_start_matches('/') | ||
67 | .trim_end_matches('/') | ||
68 | .to_string(); | ||
69 | if !path.starts_with("/") || !repo.ends_with(".git") { | ||
70 | return Err(StatusCode::NOT_FOUND); | ||
71 | } | ||
72 | |||
73 | let mut parts = uri.clone().into_parts(); | ||
74 | parts.path_and_query = match path_and_query.query() { | ||
75 | None => path.try_into().ok(), | ||
76 | Some(q) => format!("{path}?{q}").try_into().ok(), | ||
77 | }; | ||
78 | let new_uri = Uri::from_parts(parts).unwrap(); | ||
79 | |||
80 | *req.uri_mut() = new_uri; | ||
81 | req.extensions_mut().insert(original_uri); | ||
82 | req.extensions_mut().insert(RepositoryName(repo)); | ||
83 | |||
84 | Ok(req) | ||
85 | } | ||
86 | |||
87 | struct AppState { | ||
88 | s3_client: aws_sdk_s3::Client, | ||
89 | s3_bucket: String, | ||
90 | } | ||
91 | |||
92 | fn get_s3_client() -> aws_sdk_s3::Client { | ||
93 | let access_key_id = std::env::var("S3_ACCESS_KEY_ID").unwrap(); | ||
94 | let secret_access_key = std::env::var("S3_SECRET_ACCESS_KEY").unwrap(); | ||
95 | |||
96 | let credentials = aws_sdk_s3::config::Credentials::new(access_key_id, secret_access_key, None, None, "gitolfs3-env"); | ||
97 | let config = aws_config::SdkConfig::builder() | ||
98 | .endpoint_url(std::env::var("S3_ENDPOINT").unwrap()) | ||
99 | .credentials_provider(aws_sdk_s3::config::SharedCredentialsProvider::new(credentials)) | ||
100 | .build(); | ||
101 | aws_sdk_s3::Client::new(&config) | ||
102 | } | ||
103 | |||
56 | #[tokio::main] | 104 | #[tokio::main] |
57 | async fn main() { | 105 | async fn main() { |
58 | // run our app with hyper, listening globally on port 3000 | 106 | // run our app with hyper, listening globally on port 3000 |
59 | let listener = tokio::net::TcpListener::bind("0.0.0.0:3000").await.unwrap(); | 107 | let listener = tokio::net::TcpListener::bind("0.0.0.0:3000").await.unwrap(); |
60 | let mut app = Router::new() | 108 | |
109 | let s3_client = get_s3_client(); | ||
110 | let s3_bucket = std::env::var("S3_BUCKET").unwrap(); | ||
111 | let shared_state = Arc::new(AppState { s3_client, s3_bucket }); | ||
112 | let app = Router::new() | ||
61 | .route("/batch", post(batch)) | 113 | .route("/batch", post(batch)) |
62 | .route("/:oid0/:oid1/:oid", get(obj_download)) | 114 | .route("/:oid0/:oid1/:oid", get(obj_download)) |
63 | .route("/:oid0/:oid1/:oid", put(obj_upload)); | 115 | .route("/:oid0/:oid1/:oid", put(obj_upload)) |
64 | axum::serve( | 116 | .with_state(shared_state); |
65 | listener, | ||
66 | any(|mut req: Request| async move { | ||
67 | let uri = req.uri(); | ||
68 | let original_uri = OriginalUri(uri.clone()); | ||
69 | |||
70 | let path_and_query = uri.path_and_query().unwrap(); | ||
71 | let Some((repo, path)) = path_and_query.path().split_once("/info/lfs/objects") else { | ||
72 | return Ok(StatusCode::NOT_FOUND.into_response()); | ||
73 | }; | ||
74 | let repo = repo | ||
75 | .trim_start_matches('/') | ||
76 | .trim_end_matches('/') | ||
77 | .to_string(); | ||
78 | if !path.starts_with("/") || !repo.ends_with(".git") { | ||
79 | return Ok(StatusCode::NOT_FOUND.into_response()); | ||
80 | } | ||
81 | 117 | ||
82 | let mut parts = uri.clone().into_parts(); | 118 | let middleware = axum::middleware::map_request(rewrite_url); |
83 | parts.path_and_query = match path_and_query.query() { | 119 | let app_with_middleware = middleware.layer(app); |
84 | None => path.try_into().ok(), | ||
85 | Some(q) => format!("{path}?{q}").try_into().ok(), | ||
86 | }; | ||
87 | let new_uri = Uri::from_parts(parts).unwrap(); | ||
88 | 120 | ||
89 | *req.uri_mut() = new_uri; | 121 | axum::serve(listener, app_with_middleware.into_make_service()) |
90 | req.extensions_mut().insert(original_uri); | ||
91 | req.extensions_mut().insert(RepositoryName(repo)); | ||
92 | |||
93 | app.call(req).await | ||
94 | }), | ||
95 | ) | ||
96 | .await | 122 | .await |
97 | .unwrap(); | 123 | .unwrap(); |
98 | } | 124 | } |
@@ -254,20 +280,28 @@ struct BatchResponse { | |||
254 | hash_algo: HashAlgo, | 280 | hash_algo: HashAlgo, |
255 | } | 281 | } |
256 | 282 | ||
257 | //fn handle_download_object(repo: &str, obj: &BatchRequestObject) { | 283 | async fn handle_download_object(state: &AppState, repo: &str, obj: &BatchRequestObject) { |
258 | // let (oid0, oid1) = (HexByte(obj.oid[0]), HexByte(obj.oid[1])); | 284 | let (oid0, oid1) = (HexByte(obj.oid[0]), HexByte(obj.oid[1])); |
259 | // let full_path = format!("{repo}/lfs/objects/{}/{}/{}", oid0, oid1, obj.oid); | 285 | let full_path = format!("{repo}/lfs/objects/{}/{}/{}", oid0, oid1, obj.oid); |
260 | // | 286 | |
261 | // let bucket_anme = "asdfasdf"; | 287 | let result = state.s3_client.head_object(). |
262 | // let region = s3::Region::Custom { | 288 | bucket(&state.s3_bucket). |
263 | // region: "nl-ams".to_string(), | 289 | key(full_path). |
264 | // endpoint: "rg.nl-ams.swc.cloud".to_string() | 290 | checksum_mode(aws_sdk_s3::types::ChecksumMode::Enabled). |
265 | // }; | 291 | send().await.unwrap(); |
266 | // let credentials = Credentials::new(None, None, None, None, None).unwrap(); | 292 | if let Some(checksum) = result.checksum_sha256() { |
267 | // let bucket = Bucket::new(bucket_anme, region, credentials).unwrap(); | 293 | if let Ok(checksum) = BASE64_STANDARD.decode(checksum) { |
268 | //} | 294 | if let Ok(checksum32b) = TryInto::<[u8; 32]>::try_into(checksum) { |
295 | if Oid::from(checksum32b) != obj.oid { | ||
296 | unreachable!(); | ||
297 | } | ||
298 | } | ||
299 | } | ||
300 | } | ||
301 | } | ||
269 | 302 | ||
270 | async fn batch( | 303 | async fn batch( |
304 | State(state): State<Arc<AppState>>, | ||
271 | header: HeaderMap, | 305 | header: HeaderMap, |
272 | RepositoryName(repo): RepositoryName, | 306 | RepositoryName(repo): RepositoryName, |
273 | GitLfsJson(Json(payload)): GitLfsJson<BatchRequest>, | 307 | GitLfsJson(Json(payload)): GitLfsJson<BatchRequest>, |
@@ -301,6 +335,7 @@ async fn batch( | |||
301 | 335 | ||
302 | let resp: BatchResponse; | 336 | let resp: BatchResponse; |
303 | for obj in payload.objects { | 337 | for obj in payload.objects { |
338 | handle_download_object(&state, &repo, &obj).await; | ||
304 | // match payload.operation { | 339 | // match payload.operation { |
305 | // Operation::Download => resp.objects.push(handle_download_object(repo, obj));, | 340 | // Operation::Download => resp.objects.push(handle_download_object(repo, obj));, |
306 | // Operation::Upload => resp.objects.push(handle_upload_object(repo, obj)), | 341 | // Operation::Upload => resp.objects.push(handle_upload_object(repo, obj)), |