Commit
+54 -1033 +/-8 browse
1 | diff --git a/Cargo.lock b/Cargo.lock |
2 | index 1e7864d..802bfc3 100644 |
3 | --- a/Cargo.lock |
4 | +++ b/Cargo.lock |
5 | @@ -30,208 +30,12 @@ dependencies = [ |
6 | ] |
7 | |
8 | [[package]] |
9 | - name = "aho-corasick" |
10 | - version = "1.1.3" |
11 | - source = "registry+https://github.com/rust-lang/crates.io-index" |
12 | - checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" |
13 | - dependencies = [ |
14 | - "memchr", |
15 | - ] |
16 | - |
17 | - [[package]] |
18 | name = "allocator-api2" |
19 | version = "0.2.18" |
20 | source = "registry+https://github.com/rust-lang/crates.io-index" |
21 | checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f" |
22 | |
23 | [[package]] |
24 | - name = "async-channel" |
25 | - version = "1.9.0" |
26 | - source = "registry+https://github.com/rust-lang/crates.io-index" |
27 | - checksum = "81953c529336010edd6d8e358f886d9581267795c61b19475b71314bffa46d35" |
28 | - dependencies = [ |
29 | - "concurrent-queue", |
30 | - "event-listener 2.5.3", |
31 | - "futures-core", |
32 | - ] |
33 | - |
34 | - [[package]] |
35 | - name = "async-channel" |
36 | - version = "2.3.1" |
37 | - source = "registry+https://github.com/rust-lang/crates.io-index" |
38 | - checksum = "89b47800b0be77592da0afd425cc03468052844aff33b84e33cc696f64e77b6a" |
39 | - dependencies = [ |
40 | - "concurrent-queue", |
41 | - "event-listener-strategy", |
42 | - "futures-core", |
43 | - "pin-project-lite", |
44 | - ] |
45 | - |
46 | - [[package]] |
47 | - name = "async-executor" |
48 | - version = "1.13.0" |
49 | - source = "registry+https://github.com/rust-lang/crates.io-index" |
50 | - checksum = "d7ebdfa2ebdab6b1760375fa7d6f382b9f486eac35fc994625a00e89280bdbb7" |
51 | - dependencies = [ |
52 | - "async-task", |
53 | - "concurrent-queue", |
54 | - "fastrand 2.1.0", |
55 | - "futures-lite 2.3.0", |
56 | - "slab", |
57 | - ] |
58 | - |
59 | - [[package]] |
60 | - name = "async-fs" |
61 | - version = "1.6.0" |
62 | - source = "registry+https://github.com/rust-lang/crates.io-index" |
63 | - checksum = "279cf904654eeebfa37ac9bb1598880884924aab82e290aa65c9e77a0e142e06" |
64 | - dependencies = [ |
65 | - "async-lock 2.8.0", |
66 | - "autocfg", |
67 | - "blocking", |
68 | - "futures-lite 1.13.0", |
69 | - ] |
70 | - |
71 | - [[package]] |
72 | - name = "async-io" |
73 | - version = "1.13.0" |
74 | - source = "registry+https://github.com/rust-lang/crates.io-index" |
75 | - checksum = "0fc5b45d93ef0529756f812ca52e44c221b35341892d3dcc34132ac02f3dd2af" |
76 | - dependencies = [ |
77 | - "async-lock 2.8.0", |
78 | - "autocfg", |
79 | - "cfg-if", |
80 | - "concurrent-queue", |
81 | - "futures-lite 1.13.0", |
82 | - "log", |
83 | - "parking", |
84 | - "polling 2.8.0", |
85 | - "rustix 0.37.27", |
86 | - "slab", |
87 | - "socket2 0.4.10", |
88 | - "waker-fn", |
89 | - ] |
90 | - |
91 | - [[package]] |
92 | - name = "async-io" |
93 | - version = "2.3.3" |
94 | - source = "registry+https://github.com/rust-lang/crates.io-index" |
95 | - checksum = "0d6baa8f0178795da0e71bc42c9e5d13261aac7ee549853162e66a241ba17964" |
96 | - dependencies = [ |
97 | - "async-lock 3.4.0", |
98 | - "cfg-if", |
99 | - "concurrent-queue", |
100 | - "futures-io", |
101 | - "futures-lite 2.3.0", |
102 | - "parking", |
103 | - "polling 3.7.2", |
104 | - "rustix 0.38.34", |
105 | - "slab", |
106 | - "tracing", |
107 | - "windows-sys 0.52.0", |
108 | - ] |
109 | - |
110 | - [[package]] |
111 | - name = "async-lock" |
112 | - version = "2.8.0" |
113 | - source = "registry+https://github.com/rust-lang/crates.io-index" |
114 | - checksum = "287272293e9d8c41773cec55e365490fe034813a2f172f502d6ddcf75b2f582b" |
115 | - dependencies = [ |
116 | - "event-listener 2.5.3", |
117 | - ] |
118 | - |
119 | - [[package]] |
120 | - name = "async-lock" |
121 | - version = "3.4.0" |
122 | - source = "registry+https://github.com/rust-lang/crates.io-index" |
123 | - checksum = "ff6e472cdea888a4bd64f342f09b3f50e1886d32afe8df3d663c01140b811b18" |
124 | - dependencies = [ |
125 | - "event-listener 5.3.1", |
126 | - "event-listener-strategy", |
127 | - "pin-project-lite", |
128 | - ] |
129 | - |
130 | - [[package]] |
131 | - name = "async-net" |
132 | - version = "1.8.0" |
133 | - source = "registry+https://github.com/rust-lang/crates.io-index" |
134 | - checksum = "0434b1ed18ce1cf5769b8ac540e33f01fa9471058b5e89da9e06f3c882a8c12f" |
135 | - dependencies = [ |
136 | - "async-io 1.13.0", |
137 | - "blocking", |
138 | - "futures-lite 1.13.0", |
139 | - ] |
140 | - |
141 | - [[package]] |
142 | - name = "async-process" |
143 | - version = "1.8.1" |
144 | - source = "registry+https://github.com/rust-lang/crates.io-index" |
145 | - checksum = "ea6438ba0a08d81529c69b36700fa2f95837bfe3e776ab39cde9c14d9149da88" |
146 | - dependencies = [ |
147 | - "async-io 1.13.0", |
148 | - "async-lock 2.8.0", |
149 | - "async-signal", |
150 | - "blocking", |
151 | - "cfg-if", |
152 | - "event-listener 3.1.0", |
153 | - "futures-lite 1.13.0", |
154 | - "rustix 0.38.34", |
155 | - "windows-sys 0.48.0", |
156 | - ] |
157 | - |
158 | - [[package]] |
159 | - name = "async-signal" |
160 | - version = "0.2.9" |
161 | - source = "registry+https://github.com/rust-lang/crates.io-index" |
162 | - checksum = "dfb3634b73397aa844481f814fad23bbf07fdb0eabec10f2eb95e58944b1ec32" |
163 | - dependencies = [ |
164 | - "async-io 2.3.3", |
165 | - "async-lock 3.4.0", |
166 | - "atomic-waker", |
167 | - "cfg-if", |
168 | - "futures-core", |
169 | - "futures-io", |
170 | - "rustix 0.38.34", |
171 | - "signal-hook-registry", |
172 | - "slab", |
173 | - "windows-sys 0.52.0", |
174 | - ] |
175 | - |
176 | - [[package]] |
177 | - name = "async-stream" |
178 | - version = "0.3.5" |
179 | - source = "registry+https://github.com/rust-lang/crates.io-index" |
180 | - checksum = "cd56dd203fef61ac097dd65721a419ddccb106b2d2b70ba60a6b529f03961a51" |
181 | - dependencies = [ |
182 | - "async-stream-impl", |
183 | - "futures-core", |
184 | - "pin-project-lite", |
185 | - ] |
186 | - |
187 | - [[package]] |
188 | - name = "async-stream-impl" |
189 | - version = "0.3.5" |
190 | - source = "registry+https://github.com/rust-lang/crates.io-index" |
191 | - checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" |
192 | - dependencies = [ |
193 | - "proc-macro2", |
194 | - "quote", |
195 | - "syn", |
196 | - ] |
197 | - |
198 | - [[package]] |
199 | - name = "async-task" |
200 | - version = "4.7.1" |
201 | - source = "registry+https://github.com/rust-lang/crates.io-index" |
202 | - checksum = "8b75356056920673b02621b35afd0f7dda9306d03c79a30f5c56c44cf256e3de" |
203 | - |
204 | - [[package]] |
205 | - name = "atomic-waker" |
206 | - version = "1.1.2" |
207 | - source = "registry+https://github.com/rust-lang/crates.io-index" |
208 | - checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" |
209 | - |
210 | - [[package]] |
211 | name = "autocfg" |
212 | version = "1.3.0" |
213 | source = "registry+https://github.com/rust-lang/crates.io-index" |
214 | @@ -253,38 +57,10 @@ dependencies = [ |
215 | ] |
216 | |
217 | [[package]] |
218 | - name = "base64" |
219 | - version = "0.13.1" |
220 | - source = "registry+https://github.com/rust-lang/crates.io-index" |
221 | - checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" |
222 | - |
223 | - [[package]] |
224 | - name = "bitflags" |
225 | - version = "1.3.2" |
226 | - source = "registry+https://github.com/rust-lang/crates.io-index" |
227 | - checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" |
228 | - |
229 | - [[package]] |
230 | name = "bitflags" |
231 | version = "2.6.0" |
232 | source = "registry+https://github.com/rust-lang/crates.io-index" |
233 | checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" |
234 | - dependencies = [ |
235 | - "serde", |
236 | - ] |
237 | - |
238 | - [[package]] |
239 | - name = "blocking" |
240 | - version = "1.6.1" |
241 | - source = "registry+https://github.com/rust-lang/crates.io-index" |
242 | - checksum = "703f41c54fc768e63e091340b424302bb1c29ef4aa0c7f10fe849dfb114d29ea" |
243 | - dependencies = [ |
244 | - "async-channel 2.3.1", |
245 | - "async-task", |
246 | - "futures-io", |
247 | - "futures-lite 2.3.0", |
248 | - "piper", |
249 | - ] |
250 | |
251 | [[package]] |
252 | name = "bytes" |
253 | @@ -305,116 +81,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index" |
254 | checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" |
255 | |
256 | [[package]] |
257 | - name = "concurrent-queue" |
258 | - version = "2.5.0" |
259 | - source = "registry+https://github.com/rust-lang/crates.io-index" |
260 | - checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" |
261 | - dependencies = [ |
262 | - "crossbeam-utils", |
263 | - ] |
264 | - |
265 | - [[package]] |
266 | - name = "core-foundation" |
267 | - version = "0.9.4" |
268 | - source = "registry+https://github.com/rust-lang/crates.io-index" |
269 | - checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" |
270 | - dependencies = [ |
271 | - "core-foundation-sys", |
272 | - "libc", |
273 | - ] |
274 | - |
275 | - [[package]] |
276 | - name = "core-foundation-sys" |
277 | - version = "0.8.6" |
278 | - source = "registry+https://github.com/rust-lang/crates.io-index" |
279 | - checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" |
280 | - |
281 | - [[package]] |
282 | - name = "crc32fast" |
283 | - version = "1.4.2" |
284 | - source = "registry+https://github.com/rust-lang/crates.io-index" |
285 | - checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" |
286 | - dependencies = [ |
287 | - "cfg-if", |
288 | - ] |
289 | - |
290 | - [[package]] |
291 | - name = "crossbeam-utils" |
292 | - version = "0.8.20" |
293 | - source = "registry+https://github.com/rust-lang/crates.io-index" |
294 | - checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" |
295 | - |
296 | - [[package]] |
297 | - name = "data-encoding" |
298 | - version = "2.6.0" |
299 | - source = "registry+https://github.com/rust-lang/crates.io-index" |
300 | - checksum = "e8566979429cf69b49a5c740c60791108e86440e8be149bbea4fe54d2c32d6e2" |
301 | - |
302 | - [[package]] |
303 | - name = "encoding" |
304 | - version = "0.2.33" |
305 | - source = "registry+https://github.com/rust-lang/crates.io-index" |
306 | - checksum = "6b0d943856b990d12d3b55b359144ff341533e516d94098b1d3fc1ac666d36ec" |
307 | - dependencies = [ |
308 | - "encoding-index-japanese", |
309 | - "encoding-index-korean", |
310 | - "encoding-index-simpchinese", |
311 | - "encoding-index-singlebyte", |
312 | - "encoding-index-tradchinese", |
313 | - ] |
314 | - |
315 | - [[package]] |
316 | - name = "encoding-index-japanese" |
317 | - version = "1.20141219.5" |
318 | - source = "registry+https://github.com/rust-lang/crates.io-index" |
319 | - checksum = "04e8b2ff42e9a05335dbf8b5c6f7567e5591d0d916ccef4e0b1710d32a0d0c91" |
320 | - dependencies = [ |
321 | - "encoding_index_tests", |
322 | - ] |
323 | - |
324 | - [[package]] |
325 | - name = "encoding-index-korean" |
326 | - version = "1.20141219.5" |
327 | - source = "registry+https://github.com/rust-lang/crates.io-index" |
328 | - checksum = "4dc33fb8e6bcba213fe2f14275f0963fd16f0a02c878e3095ecfdf5bee529d81" |
329 | - dependencies = [ |
330 | - "encoding_index_tests", |
331 | - ] |
332 | - |
333 | - [[package]] |
334 | - name = "encoding-index-simpchinese" |
335 | - version = "1.20141219.5" |
336 | - source = "registry+https://github.com/rust-lang/crates.io-index" |
337 | - checksum = "d87a7194909b9118fc707194baa434a4e3b0fb6a5a757c73c3adb07aa25031f7" |
338 | - dependencies = [ |
339 | - "encoding_index_tests", |
340 | - ] |
341 | - |
342 | - [[package]] |
343 | - name = "encoding-index-singlebyte" |
344 | - version = "1.20141219.5" |
345 | - source = "registry+https://github.com/rust-lang/crates.io-index" |
346 | - checksum = "3351d5acffb224af9ca265f435b859c7c01537c0849754d3db3fdf2bfe2ae84a" |
347 | - dependencies = [ |
348 | - "encoding_index_tests", |
349 | - ] |
350 | - |
351 | - [[package]] |
352 | - name = "encoding-index-tradchinese" |
353 | - version = "1.20141219.5" |
354 | + name = "email_address" |
355 | + version = "0.2.9" |
356 | source = "registry+https://github.com/rust-lang/crates.io-index" |
357 | - checksum = "fd0e20d5688ce3cab59eb3ef3a2083a5c77bf496cb798dc6fcdb75f323890c18" |
358 | + checksum = "e079f19b08ca6239f47f8ba8509c11cf3ea30095831f7fed61441475edd8c449" |
359 | dependencies = [ |
360 | - "encoding_index_tests", |
361 | + "serde", |
362 | ] |
363 | |
364 | [[package]] |
365 | - name = "encoding_index_tests" |
366 | - version = "0.1.4" |
367 | - source = "registry+https://github.com/rust-lang/crates.io-index" |
368 | - checksum = "a246d82be1c9d791c5dfde9a2bd045fc3cbba3fa2b11ad558f27d01712f00569" |
369 | - |
370 | - [[package]] |
371 | name = "encoding_rs" |
372 | version = "0.8.34" |
373 | source = "registry+https://github.com/rust-lang/crates.io-index" |
374 | @@ -424,94 +99,6 @@ dependencies = [ |
375 | ] |
376 | |
377 | [[package]] |
378 | - name = "errno" |
379 | - version = "0.3.9" |
380 | - source = "registry+https://github.com/rust-lang/crates.io-index" |
381 | - checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" |
382 | - dependencies = [ |
383 | - "libc", |
384 | - "windows-sys 0.52.0", |
385 | - ] |
386 | - |
387 | - [[package]] |
388 | - name = "event-listener" |
389 | - version = "2.5.3" |
390 | - source = "registry+https://github.com/rust-lang/crates.io-index" |
391 | - checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" |
392 | - |
393 | - [[package]] |
394 | - name = "event-listener" |
395 | - version = "3.1.0" |
396 | - source = "registry+https://github.com/rust-lang/crates.io-index" |
397 | - checksum = "d93877bcde0eb80ca09131a08d23f0a5c18a620b01db137dba666d18cd9b30c2" |
398 | - dependencies = [ |
399 | - "concurrent-queue", |
400 | - "parking", |
401 | - "pin-project-lite", |
402 | - ] |
403 | - |
404 | - [[package]] |
405 | - name = "event-listener" |
406 | - version = "5.3.1" |
407 | - source = "registry+https://github.com/rust-lang/crates.io-index" |
408 | - checksum = "6032be9bd27023a771701cc49f9f053c751055f71efb2e0ae5c15809093675ba" |
409 | - dependencies = [ |
410 | - "concurrent-queue", |
411 | - "parking", |
412 | - "pin-project-lite", |
413 | - ] |
414 | - |
415 | - [[package]] |
416 | - name = "event-listener-strategy" |
417 | - version = "0.5.2" |
418 | - source = "registry+https://github.com/rust-lang/crates.io-index" |
419 | - checksum = "0f214dc438f977e6d4e3500aaa277f5ad94ca83fbbd9b1a15713ce2344ccc5a1" |
420 | - dependencies = [ |
421 | - "event-listener 5.3.1", |
422 | - "pin-project-lite", |
423 | - ] |
424 | - |
425 | - [[package]] |
426 | - name = "fastrand" |
427 | - version = "1.9.0" |
428 | - source = "registry+https://github.com/rust-lang/crates.io-index" |
429 | - checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be" |
430 | - dependencies = [ |
431 | - "instant", |
432 | - ] |
433 | - |
434 | - [[package]] |
435 | - name = "fastrand" |
436 | - version = "2.1.0" |
437 | - source = "registry+https://github.com/rust-lang/crates.io-index" |
438 | - checksum = "9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a" |
439 | - |
440 | - [[package]] |
441 | - name = "flate2" |
442 | - version = "1.0.30" |
443 | - source = "registry+https://github.com/rust-lang/crates.io-index" |
444 | - checksum = "5f54427cfd1c7829e2a139fcefea601bf088ebca651d2bf53ebc600eac295dae" |
445 | - dependencies = [ |
446 | - "crc32fast", |
447 | - "miniz_oxide", |
448 | - ] |
449 | - |
450 | - [[package]] |
451 | - name = "foreign-types" |
452 | - version = "0.3.2" |
453 | - source = "registry+https://github.com/rust-lang/crates.io-index" |
454 | - checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" |
455 | - dependencies = [ |
456 | - "foreign-types-shared", |
457 | - ] |
458 | - |
459 | - [[package]] |
460 | - name = "foreign-types-shared" |
461 | - version = "0.1.1" |
462 | - source = "registry+https://github.com/rust-lang/crates.io-index" |
463 | - checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" |
464 | - |
465 | - [[package]] |
466 | name = "form_urlencoded" |
467 | version = "1.2.1" |
468 | source = "registry+https://github.com/rust-lang/crates.io-index" |
469 | @@ -569,34 +156,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" |
470 | checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" |
471 | |
472 | [[package]] |
473 | - name = "futures-lite" |
474 | - version = "1.13.0" |
475 | - source = "registry+https://github.com/rust-lang/crates.io-index" |
476 | - checksum = "49a9d51ce47660b1e808d3c990b4709f2f415d928835a17dfd16991515c46bce" |
477 | - dependencies = [ |
478 | - "fastrand 1.9.0", |
479 | - "futures-core", |
480 | - "futures-io", |
481 | - "memchr", |
482 | - "parking", |
483 | - "pin-project-lite", |
484 | - "waker-fn", |
485 | - ] |
486 | - |
487 | - [[package]] |
488 | - name = "futures-lite" |
489 | - version = "2.3.0" |
490 | - source = "registry+https://github.com/rust-lang/crates.io-index" |
491 | - checksum = "52527eb5074e35e9339c6b4e8d12600c7128b68fb25dcb9fa9dec18f7c25f3a5" |
492 | - dependencies = [ |
493 | - "fastrand 2.1.0", |
494 | - "futures-core", |
495 | - "futures-io", |
496 | - "parking", |
497 | - "pin-project-lite", |
498 | - ] |
499 | - |
500 | - [[package]] |
501 | name = "futures-macro" |
502 | version = "0.3.30" |
503 | source = "registry+https://github.com/rust-lang/crates.io-index" |
504 | @@ -638,17 +197,6 @@ dependencies = [ |
505 | ] |
506 | |
507 | [[package]] |
508 | - name = "getrandom" |
509 | - version = "0.2.15" |
510 | - source = "registry+https://github.com/rust-lang/crates.io-index" |
511 | - checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" |
512 | - dependencies = [ |
513 | - "cfg-if", |
514 | - "libc", |
515 | - "wasi", |
516 | - ] |
517 | - |
518 | - [[package]] |
519 | name = "gimli" |
520 | version = "0.29.0" |
521 | source = "registry+https://github.com/rust-lang/crates.io-index" |
522 | @@ -656,12 +204,6 @@ checksum = "40ecd4077b5ae9fd2e9e169b102c6c330d0605168eb0e8bf79952b256dbefffd" |
523 | |
524 | [[package]] |
525 | name = "hashbrown" |
526 | - version = "0.12.3" |
527 | - source = "registry+https://github.com/rust-lang/crates.io-index" |
528 | - checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" |
529 | - |
530 | - [[package]] |
531 | - name = "hashbrown" |
532 | version = "0.14.5" |
533 | source = "registry+https://github.com/rust-lang/crates.io-index" |
534 | checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" |
535 | @@ -677,91 +219,26 @@ source = "registry+https://github.com/rust-lang/crates.io-index" |
536 | checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" |
537 | |
538 | [[package]] |
539 | - name = "hermit-abi" |
540 | - version = "0.4.0" |
541 | - source = "registry+https://github.com/rust-lang/crates.io-index" |
542 | - checksum = "fbf6a919d6cf397374f7dfeeea91d974c7c0a7221d0d0f4f20d859d329e53fcc" |
543 | - |
544 | - [[package]] |
545 | name = "idna" |
546 | version = "0.5.0" |
547 | source = "registry+https://github.com/rust-lang/crates.io-index" |
548 | checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" |
549 | - dependencies = [ |
550 | - "unicode-bidi", |
551 | - "unicode-normalization", |
552 | - ] |
553 | - |
554 | - [[package]] |
555 | - name = "indexmap" |
556 | - version = "1.9.3" |
557 | - source = "registry+https://github.com/rust-lang/crates.io-index" |
558 | - checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" |
559 | - dependencies = [ |
560 | - "autocfg", |
561 | - "hashbrown 0.12.3", |
562 | - "serde", |
563 | - ] |
564 | - |
565 | - [[package]] |
566 | - name = "instant" |
567 | - version = "0.1.13" |
568 | - source = "registry+https://github.com/rust-lang/crates.io-index" |
569 | - checksum = "e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222" |
570 | - dependencies = [ |
571 | - "cfg-if", |
572 | - ] |
573 | - |
574 | - [[package]] |
575 | - name = "io-lifetimes" |
576 | - version = "1.0.11" |
577 | - source = "registry+https://github.com/rust-lang/crates.io-index" |
578 | - checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2" |
579 | - dependencies = [ |
580 | - "hermit-abi 0.3.9", |
581 | - "libc", |
582 | - "windows-sys 0.48.0", |
583 | - ] |
584 | - |
585 | - [[package]] |
586 | - name = "itoa" |
587 | - version = "1.0.11" |
588 | - source = "registry+https://github.com/rust-lang/crates.io-index" |
589 | - checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" |
590 | - |
591 | - [[package]] |
592 | - name = "lazy_static" |
593 | - version = "1.5.0" |
594 | - source = "registry+https://github.com/rust-lang/crates.io-index" |
595 | - checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" |
596 | - |
597 | - [[package]] |
598 | - name = "libc" |
599 | - version = "0.2.155" |
600 | - source = "registry+https://github.com/rust-lang/crates.io-index" |
601 | - checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" |
602 | - |
603 | - [[package]] |
604 | - name = "libloading" |
605 | - version = "0.7.4" |
606 | - source = "registry+https://github.com/rust-lang/crates.io-index" |
607 | - checksum = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f" |
608 | - dependencies = [ |
609 | - "cfg-if", |
610 | - "winapi", |
611 | + dependencies = [ |
612 | + "unicode-bidi", |
613 | + "unicode-normalization", |
614 | ] |
615 | |
616 | [[package]] |
617 | - name = "linux-raw-sys" |
618 | - version = "0.3.8" |
619 | + name = "lazy_static" |
620 | + version = "1.5.0" |
621 | source = "registry+https://github.com/rust-lang/crates.io-index" |
622 | - checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519" |
623 | + checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" |
624 | |
625 | [[package]] |
626 | - name = "linux-raw-sys" |
627 | - version = "0.4.14" |
628 | + name = "libc" |
629 | + version = "0.2.155" |
630 | source = "registry+https://github.com/rust-lang/crates.io-index" |
631 | - checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" |
632 | + checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" |
633 | |
634 | [[package]] |
635 | name = "lock_api" |
636 | @@ -794,10 +271,10 @@ name = "maitred" |
637 | version = "0.1.0" |
638 | dependencies = [ |
639 | "bytes", |
640 | + "email_address", |
641 | "futures", |
642 | "mail-parser", |
643 | "md5", |
644 | - "melib", |
645 | "smtp-proto", |
646 | "thiserror", |
647 | "tokio", |
648 | @@ -825,62 +302,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" |
649 | checksum = "490cc448043f947bae3cbee9c203358d62dbee0db12107a74be5c30ccfd09771" |
650 | |
651 | [[package]] |
652 | - name = "melib" |
653 | - version = "0.8.6" |
654 | - source = "registry+https://github.com/rust-lang/crates.io-index" |
655 | - checksum = "4f233699ab6a71d41529624e3d9600c8a3a208874fcf4ec4a05778314afdd2e7" |
656 | - dependencies = [ |
657 | - "async-stream", |
658 | - "base64", |
659 | - "bitflags 2.6.0", |
660 | - "data-encoding", |
661 | - "encoding", |
662 | - "encoding_rs", |
663 | - "flate2", |
664 | - "futures", |
665 | - "indexmap", |
666 | - "libc", |
667 | - "libloading", |
668 | - "log", |
669 | - "native-tls", |
670 | - "nix", |
671 | - "nom", |
672 | - "polling 2.8.0", |
673 | - "regex", |
674 | - "serde", |
675 | - "serde_derive", |
676 | - "serde_json", |
677 | - "serde_path_to_error", |
678 | - "smallvec", |
679 | - "smol", |
680 | - "socket2 0.5.7", |
681 | - "unicode-segmentation", |
682 | - "uuid", |
683 | - "xdg", |
684 | - ] |
685 | - |
686 | - [[package]] |
687 | name = "memchr" |
688 | version = "2.7.4" |
689 | source = "registry+https://github.com/rust-lang/crates.io-index" |
690 | checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" |
691 | |
692 | [[package]] |
693 | - name = "memoffset" |
694 | - version = "0.9.1" |
695 | - source = "registry+https://github.com/rust-lang/crates.io-index" |
696 | - checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a" |
697 | - dependencies = [ |
698 | - "autocfg", |
699 | - ] |
700 | - |
701 | - [[package]] |
702 | - name = "minimal-lexical" |
703 | - version = "0.2.1" |
704 | - source = "registry+https://github.com/rust-lang/crates.io-index" |
705 | - checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" |
706 | - |
707 | - [[package]] |
708 | name = "miniz_oxide" |
709 | version = "0.7.4" |
710 | source = "registry+https://github.com/rust-lang/crates.io-index" |
711 | @@ -895,49 +322,10 @@ version = "1.0.1" |
712 | source = "registry+https://github.com/rust-lang/crates.io-index" |
713 | checksum = "4569e456d394deccd22ce1c1913e6ea0e54519f577285001215d33557431afe4" |
714 | dependencies = [ |
715 | - "hermit-abi 0.3.9", |
716 | + "hermit-abi", |
717 | "libc", |
718 | "wasi", |
719 | - "windows-sys 0.52.0", |
720 | - ] |
721 | - |
722 | - [[package]] |
723 | - name = "native-tls" |
724 | - version = "0.2.12" |
725 | - source = "registry+https://github.com/rust-lang/crates.io-index" |
726 | - checksum = "a8614eb2c83d59d1c8cc974dd3f920198647674a0a035e1af1fa58707e317466" |
727 | - dependencies = [ |
728 | - "libc", |
729 | - "log", |
730 | - "openssl", |
731 | - "openssl-probe", |
732 | - "openssl-sys", |
733 | - "schannel", |
734 | - "security-framework", |
735 | - "security-framework-sys", |
736 | - "tempfile", |
737 | - ] |
738 | - |
739 | - [[package]] |
740 | - name = "nix" |
741 | - version = "0.27.1" |
742 | - source = "registry+https://github.com/rust-lang/crates.io-index" |
743 | - checksum = "2eb04e9c688eff1c89d72b407f168cf79bb9e867a9d3323ed6c01519eb9cc053" |
744 | - dependencies = [ |
745 | - "bitflags 2.6.0", |
746 | - "cfg-if", |
747 | - "libc", |
748 | - "memoffset", |
749 | - ] |
750 | - |
751 | - [[package]] |
752 | - name = "nom" |
753 | - version = "7.1.3" |
754 | - source = "registry+https://github.com/rust-lang/crates.io-index" |
755 | - checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" |
756 | - dependencies = [ |
757 | - "memchr", |
758 | - "minimal-lexical", |
759 | + "windows-sys", |
760 | ] |
761 | |
762 | [[package]] |
763 | @@ -966,62 +354,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" |
764 | checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" |
765 | |
766 | [[package]] |
767 | - name = "openssl" |
768 | - version = "0.10.66" |
769 | - source = "registry+https://github.com/rust-lang/crates.io-index" |
770 | - checksum = "9529f4786b70a3e8c61e11179af17ab6188ad8d0ded78c5529441ed39d4bd9c1" |
771 | - dependencies = [ |
772 | - "bitflags 2.6.0", |
773 | - "cfg-if", |
774 | - "foreign-types", |
775 | - "libc", |
776 | - "once_cell", |
777 | - "openssl-macros", |
778 | - "openssl-sys", |
779 | - ] |
780 | - |
781 | - [[package]] |
782 | - name = "openssl-macros" |
783 | - version = "0.1.1" |
784 | - source = "registry+https://github.com/rust-lang/crates.io-index" |
785 | - checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" |
786 | - dependencies = [ |
787 | - "proc-macro2", |
788 | - "quote", |
789 | - "syn", |
790 | - ] |
791 | - |
792 | - [[package]] |
793 | - name = "openssl-probe" |
794 | - version = "0.1.5" |
795 | - source = "registry+https://github.com/rust-lang/crates.io-index" |
796 | - checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" |
797 | - |
798 | - [[package]] |
799 | - name = "openssl-sys" |
800 | - version = "0.9.103" |
801 | - source = "registry+https://github.com/rust-lang/crates.io-index" |
802 | - checksum = "7f9e8deee91df40a943c71b917e5874b951d32a802526c85721ce3b776c929d6" |
803 | - dependencies = [ |
804 | - "cc", |
805 | - "libc", |
806 | - "pkg-config", |
807 | - "vcpkg", |
808 | - ] |
809 | - |
810 | - [[package]] |
811 | name = "overload" |
812 | version = "0.1.1" |
813 | source = "registry+https://github.com/rust-lang/crates.io-index" |
814 | checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" |
815 | |
816 | [[package]] |
817 | - name = "parking" |
818 | - version = "2.2.0" |
819 | - source = "registry+https://github.com/rust-lang/crates.io-index" |
820 | - checksum = "bb813b8af86854136c6922af0598d719255ecb2179515e6e7730d468f05c9cae" |
821 | - |
822 | - [[package]] |
823 | name = "parking_lot" |
824 | version = "0.12.3" |
825 | source = "registry+https://github.com/rust-lang/crates.io-index" |
826 | @@ -1041,7 +379,7 @@ dependencies = [ |
827 | "libc", |
828 | "redox_syscall", |
829 | "smallvec", |
830 | - "windows-targets 0.52.6", |
831 | + "windows-targets", |
832 | ] |
833 | |
834 | [[package]] |
835 | @@ -1063,54 +401,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" |
836 | checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" |
837 | |
838 | [[package]] |
839 | - name = "piper" |
840 | - version = "0.2.3" |
841 | - source = "registry+https://github.com/rust-lang/crates.io-index" |
842 | - checksum = "ae1d5c74c9876f070d3e8fd503d748c7d974c3e48da8f41350fa5222ef9b4391" |
843 | - dependencies = [ |
844 | - "atomic-waker", |
845 | - "fastrand 2.1.0", |
846 | - "futures-io", |
847 | - ] |
848 | - |
849 | - [[package]] |
850 | - name = "pkg-config" |
851 | - version = "0.3.30" |
852 | - source = "registry+https://github.com/rust-lang/crates.io-index" |
853 | - checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" |
854 | - |
855 | - [[package]] |
856 | - name = "polling" |
857 | - version = "2.8.0" |
858 | - source = "registry+https://github.com/rust-lang/crates.io-index" |
859 | - checksum = "4b2d323e8ca7996b3e23126511a523f7e62924d93ecd5ae73b333815b0eb3dce" |
860 | - dependencies = [ |
861 | - "autocfg", |
862 | - "bitflags 1.3.2", |
863 | - "cfg-if", |
864 | - "concurrent-queue", |
865 | - "libc", |
866 | - "log", |
867 | - "pin-project-lite", |
868 | - "windows-sys 0.48.0", |
869 | - ] |
870 | - |
871 | - [[package]] |
872 | - name = "polling" |
873 | - version = "3.7.2" |
874 | - source = "registry+https://github.com/rust-lang/crates.io-index" |
875 | - checksum = "a3ed00ed3fbf728b5816498ecd316d1716eecaced9c0c8d2c5a6740ca214985b" |
876 | - dependencies = [ |
877 | - "cfg-if", |
878 | - "concurrent-queue", |
879 | - "hermit-abi 0.4.0", |
880 | - "pin-project-lite", |
881 | - "rustix 0.38.34", |
882 | - "tracing", |
883 | - "windows-sys 0.52.0", |
884 | - ] |
885 | - |
886 | - [[package]] |
887 | name = "proc-macro2" |
888 | version = "1.0.86" |
889 | source = "registry+https://github.com/rust-lang/crates.io-index" |
890 | @@ -1134,116 +424,22 @@ version = "0.5.3" |
891 | source = "registry+https://github.com/rust-lang/crates.io-index" |
892 | checksum = "2a908a6e00f1fdd0dfd9c0eb08ce85126f6d8bbda50017e74bc4a4b7d4a926a4" |
893 | dependencies = [ |
894 | - "bitflags 2.6.0", |
895 | - ] |
896 | - |
897 | - [[package]] |
898 | - name = "regex" |
899 | - version = "1.10.5" |
900 | - source = "registry+https://github.com/rust-lang/crates.io-index" |
901 | - checksum = "b91213439dad192326a0d7c6ee3955910425f441d7038e0d6933b0aec5c4517f" |
902 | - dependencies = [ |
903 | - "aho-corasick", |
904 | - "memchr", |
905 | - "regex-automata", |
906 | - "regex-syntax", |
907 | - ] |
908 | - |
909 | - [[package]] |
910 | - name = "regex-automata" |
911 | - version = "0.4.7" |
912 | - source = "registry+https://github.com/rust-lang/crates.io-index" |
913 | - checksum = "38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df" |
914 | - dependencies = [ |
915 | - "aho-corasick", |
916 | - "memchr", |
917 | - "regex-syntax", |
918 | + "bitflags", |
919 | ] |
920 | |
921 | [[package]] |
922 | - name = "regex-syntax" |
923 | - version = "0.8.4" |
924 | - source = "registry+https://github.com/rust-lang/crates.io-index" |
925 | - checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b" |
926 | - |
927 | - [[package]] |
928 | name = "rustc-demangle" |
929 | version = "0.1.24" |
930 | source = "registry+https://github.com/rust-lang/crates.io-index" |
931 | checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" |
932 | |
933 | [[package]] |
934 | - name = "rustix" |
935 | - version = "0.37.27" |
936 | - source = "registry+https://github.com/rust-lang/crates.io-index" |
937 | - checksum = "fea8ca367a3a01fe35e6943c400addf443c0f57670e6ec51196f71a4b8762dd2" |
938 | - dependencies = [ |
939 | - "bitflags 1.3.2", |
940 | - "errno", |
941 | - "io-lifetimes", |
942 | - "libc", |
943 | - "linux-raw-sys 0.3.8", |
944 | - "windows-sys 0.48.0", |
945 | - ] |
946 | - |
947 | - [[package]] |
948 | - name = "rustix" |
949 | - version = "0.38.34" |
950 | - source = "registry+https://github.com/rust-lang/crates.io-index" |
951 | - checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f" |
952 | - dependencies = [ |
953 | - "bitflags 2.6.0", |
954 | - "errno", |
955 | - "libc", |
956 | - "linux-raw-sys 0.4.14", |
957 | - "windows-sys 0.52.0", |
958 | - ] |
959 | - |
960 | - [[package]] |
961 | - name = "ryu" |
962 | - version = "1.0.18" |
963 | - source = "registry+https://github.com/rust-lang/crates.io-index" |
964 | - checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" |
965 | - |
966 | - [[package]] |
967 | - name = "schannel" |
968 | - version = "0.1.23" |
969 | - source = "registry+https://github.com/rust-lang/crates.io-index" |
970 | - checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534" |
971 | - dependencies = [ |
972 | - "windows-sys 0.52.0", |
973 | - ] |
974 | - |
975 | - [[package]] |
976 | name = "scopeguard" |
977 | version = "1.2.0" |
978 | source = "registry+https://github.com/rust-lang/crates.io-index" |
979 | checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" |
980 | |
981 | [[package]] |
982 | - name = "security-framework" |
983 | - version = "2.11.1" |
984 | - source = "registry+https://github.com/rust-lang/crates.io-index" |
985 | - checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" |
986 | - dependencies = [ |
987 | - "bitflags 2.6.0", |
988 | - "core-foundation", |
989 | - "core-foundation-sys", |
990 | - "libc", |
991 | - "security-framework-sys", |
992 | - ] |
993 | - |
994 | - [[package]] |
995 | - name = "security-framework-sys" |
996 | - version = "2.11.1" |
997 | - source = "registry+https://github.com/rust-lang/crates.io-index" |
998 | - checksum = "75da29fe9b9b08fe9d6b22b5b4bcbc75d8db3aa31e639aa56bb62e9d46bfceaf" |
999 | - dependencies = [ |
1000 | - "core-foundation-sys", |
1001 | - "libc", |
1002 | - ] |
1003 | - |
1004 | - [[package]] |
1005 | name = "serde" |
1006 | version = "1.0.204" |
1007 | source = "registry+https://github.com/rust-lang/crates.io-index" |
1008 | @@ -1264,33 +460,6 @@ dependencies = [ |
1009 | ] |
1010 | |
1011 | [[package]] |
1012 | - name = "serde_json" |
1013 | - version = "1.0.120" |
1014 | - source = "registry+https://github.com/rust-lang/crates.io-index" |
1015 | - checksum = "4e0d21c9a8cae1235ad58a00c11cb40d4b1e5c784f1ef2c537876ed6ffd8b7c5" |
1016 | - dependencies = [ |
1017 | - "itoa", |
1018 | - "ryu", |
1019 | - "serde", |
1020 | - ] |
1021 | - |
1022 | - [[package]] |
1023 | - name = "serde_path_to_error" |
1024 | - version = "0.1.16" |
1025 | - source = "registry+https://github.com/rust-lang/crates.io-index" |
1026 | - checksum = "af99884400da37c88f5e9146b7f1fd0fbcae8f6eec4e9da38b67d05486f814a6" |
1027 | - dependencies = [ |
1028 | - "itoa", |
1029 | - "serde", |
1030 | - ] |
1031 | - |
1032 | - [[package]] |
1033 | - name = "sha1_smol" |
1034 | - version = "1.0.1" |
1035 | - source = "registry+https://github.com/rust-lang/crates.io-index" |
1036 | - checksum = "bbfa15b3dddfee50a0fff136974b3e1bde555604ba463834a7eb7deb6417705d" |
1037 | - |
1038 | - [[package]] |
1039 | name = "sharded-slab" |
1040 | version = "0.1.7" |
1041 | source = "registry+https://github.com/rust-lang/crates.io-index" |
1042 | @@ -1322,26 +491,6 @@ name = "smallvec" |
1043 | version = "1.13.2" |
1044 | source = "registry+https://github.com/rust-lang/crates.io-index" |
1045 | checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" |
1046 | - dependencies = [ |
1047 | - "serde", |
1048 | - ] |
1049 | - |
1050 | - [[package]] |
1051 | - name = "smol" |
1052 | - version = "1.3.0" |
1053 | - source = "registry+https://github.com/rust-lang/crates.io-index" |
1054 | - checksum = "13f2b548cd8447f8de0fdf1c592929f70f4fc7039a05e47404b0d096ec6987a1" |
1055 | - dependencies = [ |
1056 | - "async-channel 1.9.0", |
1057 | - "async-executor", |
1058 | - "async-fs", |
1059 | - "async-io 1.13.0", |
1060 | - "async-lock 2.8.0", |
1061 | - "async-net", |
1062 | - "async-process", |
1063 | - "blocking", |
1064 | - "futures-lite 1.13.0", |
1065 | - ] |
1066 | |
1067 | [[package]] |
1068 | name = "smtp-proto" |
1069 | @@ -1354,22 +503,12 @@ dependencies = [ |
1070 | |
1071 | [[package]] |
1072 | name = "socket2" |
1073 | - version = "0.4.10" |
1074 | - source = "registry+https://github.com/rust-lang/crates.io-index" |
1075 | - checksum = "9f7916fc008ca5542385b89a3d3ce689953c143e9304a9bf8beec1de48994c0d" |
1076 | - dependencies = [ |
1077 | - "libc", |
1078 | - "winapi", |
1079 | - ] |
1080 | - |
1081 | - [[package]] |
1082 | - name = "socket2" |
1083 | version = "0.5.7" |
1084 | source = "registry+https://github.com/rust-lang/crates.io-index" |
1085 | checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c" |
1086 | dependencies = [ |
1087 | "libc", |
1088 | - "windows-sys 0.52.0", |
1089 | + "windows-sys", |
1090 | ] |
1091 | |
1092 | [[package]] |
1093 | @@ -1384,18 +523,6 @@ dependencies = [ |
1094 | ] |
1095 | |
1096 | [[package]] |
1097 | - name = "tempfile" |
1098 | - version = "3.10.1" |
1099 | - source = "registry+https://github.com/rust-lang/crates.io-index" |
1100 | - checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1" |
1101 | - dependencies = [ |
1102 | - "cfg-if", |
1103 | - "fastrand 2.1.0", |
1104 | - "rustix 0.38.34", |
1105 | - "windows-sys 0.52.0", |
1106 | - ] |
1107 | - |
1108 | - [[package]] |
1109 | name = "thiserror" |
1110 | version = "1.0.63" |
1111 | source = "registry+https://github.com/rust-lang/crates.io-index" |
1112 | @@ -1453,9 +580,9 @@ dependencies = [ |
1113 | "parking_lot", |
1114 | "pin-project-lite", |
1115 | "signal-hook-registry", |
1116 | - "socket2 0.5.7", |
1117 | + "socket2", |
1118 | "tokio-macros", |
1119 | - "windows-sys 0.52.0", |
1120 | + "windows-sys", |
1121 | ] |
1122 | |
1123 | [[package]] |
1124 | @@ -1492,7 +619,7 @@ dependencies = [ |
1125 | "futures-io", |
1126 | "futures-sink", |
1127 | "futures-util", |
1128 | - "hashbrown 0.14.5", |
1129 | + "hashbrown", |
1130 | "pin-project-lite", |
1131 | "slab", |
1132 | "tokio", |
1133 | @@ -1578,12 +705,6 @@ dependencies = [ |
1134 | ] |
1135 | |
1136 | [[package]] |
1137 | - name = "unicode-segmentation" |
1138 | - version = "1.11.0" |
1139 | - source = "registry+https://github.com/rust-lang/crates.io-index" |
1140 | - checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202" |
1141 | - |
1142 | - [[package]] |
1143 | name = "url" |
1144 | version = "2.5.2" |
1145 | source = "registry+https://github.com/rust-lang/crates.io-index" |
1146 | @@ -1595,41 +716,18 @@ dependencies = [ |
1147 | ] |
1148 | |
1149 | [[package]] |
1150 | - name = "uuid" |
1151 | - version = "1.10.0" |
1152 | - source = "registry+https://github.com/rust-lang/crates.io-index" |
1153 | - checksum = "81dfa00651efa65069b0b6b651f4aaa31ba9e3c3ce0137aaad053604ee7e0314" |
1154 | - dependencies = [ |
1155 | - "getrandom", |
1156 | - "serde", |
1157 | - "sha1_smol", |
1158 | - ] |
1159 | - |
1160 | - [[package]] |
1161 | name = "valuable" |
1162 | version = "0.1.0" |
1163 | source = "registry+https://github.com/rust-lang/crates.io-index" |
1164 | checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" |
1165 | |
1166 | [[package]] |
1167 | - name = "vcpkg" |
1168 | - version = "0.2.15" |
1169 | - source = "registry+https://github.com/rust-lang/crates.io-index" |
1170 | - checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" |
1171 | - |
1172 | - [[package]] |
1173 | name = "version_check" |
1174 | version = "0.9.5" |
1175 | source = "registry+https://github.com/rust-lang/crates.io-index" |
1176 | checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" |
1177 | |
1178 | [[package]] |
1179 | - name = "waker-fn" |
1180 | - version = "1.2.0" |
1181 | - source = "registry+https://github.com/rust-lang/crates.io-index" |
1182 | - checksum = "317211a0dc0ceedd78fb2ca9a44aed3d7b9b26f81870d485c07122b4350673b7" |
1183 | - |
1184 | - [[package]] |
1185 | name = "wasi" |
1186 | version = "0.11.0+wasi-snapshot-preview1" |
1187 | source = "registry+https://github.com/rust-lang/crates.io-index" |
1188 | @@ -1659,35 +757,11 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" |
1189 | |
1190 | [[package]] |
1191 | name = "windows-sys" |
1192 | - version = "0.48.0" |
1193 | - source = "registry+https://github.com/rust-lang/crates.io-index" |
1194 | - checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" |
1195 | - dependencies = [ |
1196 | - "windows-targets 0.48.5", |
1197 | - ] |
1198 | - |
1199 | - [[package]] |
1200 | - name = "windows-sys" |
1201 | version = "0.52.0" |
1202 | source = "registry+https://github.com/rust-lang/crates.io-index" |
1203 | checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" |
1204 | dependencies = [ |
1205 | - "windows-targets 0.52.6", |
1206 | - ] |
1207 | - |
1208 | - [[package]] |
1209 | - name = "windows-targets" |
1210 | - version = "0.48.5" |
1211 | - source = "registry+https://github.com/rust-lang/crates.io-index" |
1212 | - checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" |
1213 | - dependencies = [ |
1214 | - "windows_aarch64_gnullvm 0.48.5", |
1215 | - "windows_aarch64_msvc 0.48.5", |
1216 | - "windows_i686_gnu 0.48.5", |
1217 | - "windows_i686_msvc 0.48.5", |
1218 | - "windows_x86_64_gnu 0.48.5", |
1219 | - "windows_x86_64_gnullvm 0.48.5", |
1220 | - "windows_x86_64_msvc 0.48.5", |
1221 | + "windows-targets", |
1222 | ] |
1223 | |
1224 | [[package]] |
1225 | @@ -1696,48 +770,30 @@ version = "0.52.6" |
1226 | source = "registry+https://github.com/rust-lang/crates.io-index" |
1227 | checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" |
1228 | dependencies = [ |
1229 | - "windows_aarch64_gnullvm 0.52.6", |
1230 | - "windows_aarch64_msvc 0.52.6", |
1231 | - "windows_i686_gnu 0.52.6", |
1232 | + "windows_aarch64_gnullvm", |
1233 | + "windows_aarch64_msvc", |
1234 | + "windows_i686_gnu", |
1235 | "windows_i686_gnullvm", |
1236 | - "windows_i686_msvc 0.52.6", |
1237 | - "windows_x86_64_gnu 0.52.6", |
1238 | - "windows_x86_64_gnullvm 0.52.6", |
1239 | - "windows_x86_64_msvc 0.52.6", |
1240 | + "windows_i686_msvc", |
1241 | + "windows_x86_64_gnu", |
1242 | + "windows_x86_64_gnullvm", |
1243 | + "windows_x86_64_msvc", |
1244 | ] |
1245 | |
1246 | [[package]] |
1247 | name = "windows_aarch64_gnullvm" |
1248 | - version = "0.48.5" |
1249 | - source = "registry+https://github.com/rust-lang/crates.io-index" |
1250 | - checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" |
1251 | - |
1252 | - [[package]] |
1253 | - name = "windows_aarch64_gnullvm" |
1254 | version = "0.52.6" |
1255 | source = "registry+https://github.com/rust-lang/crates.io-index" |
1256 | checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" |
1257 | |
1258 | [[package]] |
1259 | name = "windows_aarch64_msvc" |
1260 | - version = "0.48.5" |
1261 | - source = "registry+https://github.com/rust-lang/crates.io-index" |
1262 | - checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" |
1263 | - |
1264 | - [[package]] |
1265 | - name = "windows_aarch64_msvc" |
1266 | version = "0.52.6" |
1267 | source = "registry+https://github.com/rust-lang/crates.io-index" |
1268 | checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" |
1269 | |
1270 | [[package]] |
1271 | name = "windows_i686_gnu" |
1272 | - version = "0.48.5" |
1273 | - source = "registry+https://github.com/rust-lang/crates.io-index" |
1274 | - checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" |
1275 | - |
1276 | - [[package]] |
1277 | - name = "windows_i686_gnu" |
1278 | version = "0.52.6" |
1279 | source = "registry+https://github.com/rust-lang/crates.io-index" |
1280 | checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" |
1281 | @@ -1750,59 +806,29 @@ checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" |
1282 | |
1283 | [[package]] |
1284 | name = "windows_i686_msvc" |
1285 | - version = "0.48.5" |
1286 | - source = "registry+https://github.com/rust-lang/crates.io-index" |
1287 | - checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" |
1288 | - |
1289 | - [[package]] |
1290 | - name = "windows_i686_msvc" |
1291 | version = "0.52.6" |
1292 | source = "registry+https://github.com/rust-lang/crates.io-index" |
1293 | checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" |
1294 | |
1295 | [[package]] |
1296 | name = "windows_x86_64_gnu" |
1297 | - version = "0.48.5" |
1298 | - source = "registry+https://github.com/rust-lang/crates.io-index" |
1299 | - checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" |
1300 | - |
1301 | - [[package]] |
1302 | - name = "windows_x86_64_gnu" |
1303 | version = "0.52.6" |
1304 | source = "registry+https://github.com/rust-lang/crates.io-index" |
1305 | checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" |
1306 | |
1307 | [[package]] |
1308 | name = "windows_x86_64_gnullvm" |
1309 | - version = "0.48.5" |
1310 | - source = "registry+https://github.com/rust-lang/crates.io-index" |
1311 | - checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" |
1312 | - |
1313 | - [[package]] |
1314 | - name = "windows_x86_64_gnullvm" |
1315 | version = "0.52.6" |
1316 | source = "registry+https://github.com/rust-lang/crates.io-index" |
1317 | checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" |
1318 | |
1319 | [[package]] |
1320 | name = "windows_x86_64_msvc" |
1321 | - version = "0.48.5" |
1322 | - source = "registry+https://github.com/rust-lang/crates.io-index" |
1323 | - checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" |
1324 | - |
1325 | - [[package]] |
1326 | - name = "windows_x86_64_msvc" |
1327 | version = "0.52.6" |
1328 | source = "registry+https://github.com/rust-lang/crates.io-index" |
1329 | checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" |
1330 | |
1331 | [[package]] |
1332 | - name = "xdg" |
1333 | - version = "2.5.2" |
1334 | - source = "registry+https://github.com/rust-lang/crates.io-index" |
1335 | - checksum = "213b7324336b53d2414b2db8537e56544d981803139155afa84f76eeebb7a546" |
1336 | - |
1337 | - [[package]] |
1338 | name = "zerocopy" |
1339 | version = "0.7.35" |
1340 | source = "registry+https://github.com/rust-lang/crates.io-index" |
1341 | diff --git a/maitred/Cargo.toml b/maitred/Cargo.toml |
1342 | index 9626221..d39f001 100644 |
1343 | --- a/maitred/Cargo.toml |
1344 | +++ b/maitred/Cargo.toml |
1345 | @@ -5,10 +5,10 @@ edition = "2021" |
1346 | |
1347 | [dependencies] |
1348 | bytes = "1.6.1" |
1349 | + email_address = "0.2.9" |
1350 | futures = "0.3.30" |
1351 | mail-parser = { version = "0.9.3", features = ["serde", "serde_support"] } |
1352 | md5 = "0.7.0" |
1353 | - melib = { version = "0.8.6", default-features = false, features = ["base64", "smtp"] } |
1354 | smtp-proto = { version = "0.1.5", features = ["serde", "serde_support"] } |
1355 | thiserror = "1.0.63" |
1356 | tokio = { version = "1.39.2", features = ["full"] } |
1357 | diff --git a/maitred/src/addresses.rs b/maitred/src/addresses.rs |
1358 | index 4728649..db8c8a3 100644 |
1359 | --- a/maitred/src/addresses.rs |
1360 | +++ b/maitred/src/addresses.rs |
1361 | @@ -1,10 +1,10 @@ |
1362 | use std::fmt::Display; |
1363 | |
1364 | - use melib::Address; |
1365 | + use email_address::EmailAddress; |
1366 | |
1367 | /// Array of resolved e-mail addresses that are associated with a mailing list |
1368 | #[derive(Debug)] |
1369 | - pub struct Addresses(pub Vec<Address>); |
1370 | + pub struct Addresses(pub Vec<EmailAddress>); |
1371 | |
1372 | impl Display for Addresses { |
1373 | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { |
1374 | @@ -12,5 +12,3 @@ impl Display for Addresses { |
1375 | write!(f, "{}", addresses.join("\n")) |
1376 | } |
1377 | } |
1378 | - |
1379 | - |
1380 | diff --git a/maitred/src/error.rs b/maitred/src/error.rs |
1381 | index afee461..739268d 100644 |
1382 | --- a/maitred/src/error.rs |
1383 | +++ b/maitred/src/error.rs |
1384 | @@ -1,6 +1,5 @@ |
1385 | use std::string::FromUtf8Error; |
1386 | |
1387 | - use melib::error::Error as MelibError; |
1388 | use smtp_proto::Error as SmtpError; |
1389 | use url::ParseError; |
1390 | |
1391 | @@ -12,8 +11,6 @@ pub enum Error { |
1392 | Io(#[from] std::io::Error), |
1393 | #[error("Smtp failure: {0}")] |
1394 | Smtp(#[from] SmtpError), |
1395 | - #[error("Melib error: {0}")] |
1396 | - Melib(#[from] MelibError), |
1397 | #[error("Failed to parse Url: {0}")] |
1398 | UrlParsing(#[from] ParseError), |
1399 | #[error("Failed to read UTF8: {0}")] |
1400 | diff --git a/maitred/src/expansion.rs b/maitred/src/expansion.rs |
1401 | index 72e1ddc..16d4588 100644 |
1402 | --- a/maitred/src/expansion.rs |
1403 | +++ b/maitred/src/expansion.rs |
1404 | @@ -1,4 +1,4 @@ |
1405 | - use std::{fmt::Display, result::Result as StdResult}; |
1406 | + use std::result::Result as StdResult; |
1407 | |
1408 | use crate::addresses::Addresses; |
1409 | |
1410 | diff --git a/maitred/src/server.rs b/maitred/src/server.rs |
1411 | index 44e0b85..4d1fb2e 100644 |
1412 | --- a/maitred/src/server.rs |
1413 | +++ b/maitred/src/server.rs |
1414 | @@ -278,9 +278,9 @@ mod test { |
1415 | let session = server.process(framed).await.unwrap(); |
1416 | assert!(session |
1417 | .mail_from |
1418 | - .is_some_and(|mail_from| mail_from.get_email() == "fuu@bar.com")); |
1419 | + .is_some_and(|mail_from| mail_from.email() == "fuu@bar.com")); |
1420 | assert!(session.rcpt_to.is_some_and(|rcpts| rcpts |
1421 | .first() |
1422 | - .is_some_and(|rcpt_to| rcpt_to.get_email() == "baz@qux.com"))); |
1423 | + .is_some_and(|rcpt_to| rcpt_to.email() == "baz@qux.com"))); |
1424 | } |
1425 | } |
1426 | diff --git a/maitred/src/session.rs b/maitred/src/session.rs |
1427 | index 4ef0078..dcba00d 100644 |
1428 | --- a/maitred/src/session.rs |
1429 | +++ b/maitred/src/session.rs |
1430 | @@ -1,8 +1,9 @@ |
1431 | use std::result::Result as StdResult; |
1432 | + use std::str::FromStr; |
1433 | |
1434 | use bytes::Bytes; |
1435 | + use email_address::EmailAddress; |
1436 | use mail_parser::MessageParser; |
1437 | - use melib::Address; |
1438 | use smtp_proto::{EhloResponse, Request, Response as SmtpResponse}; |
1439 | use url::Host; |
1440 | |
1441 | @@ -42,9 +43,9 @@ pub(crate) struct Session { |
1442 | /// message body |
1443 | pub body: Option<Vec<u8>>, |
1444 | /// mailto address |
1445 | - pub mail_from: Option<Address>, |
1446 | + pub mail_from: Option<EmailAddress>, |
1447 | /// rcpt address |
1448 | - pub rcpt_to: Option<Vec<Address>>, |
1449 | + pub rcpt_to: Option<Vec<EmailAddress>>, |
1450 | pub hostname: Option<Host>, |
1451 | /// If an active data transfer is taking place |
1452 | data_transfer: Option<DataTransfer>, |
1453 | @@ -183,7 +184,7 @@ impl Session { |
1454 | } |
1455 | Request::Mail { from } => { |
1456 | self.check_initialized()?; |
1457 | - let mail_from = Address::try_from(from.address.as_str()).map_err(|e| { |
1458 | + let mail_from = EmailAddress::from_str(from.address.as_str()).map_err(|e| { |
1459 | smtp_response!( |
1460 | 500, |
1461 | 0, |
1462 | @@ -197,8 +198,8 @@ impl Session { |
1463 | } |
1464 | Request::Rcpt { to } => { |
1465 | self.check_initialized()?; |
1466 | - let rcpt_to = Address::try_from(to.address.as_str()).map_err(|e| { |
1467 | - smtp_response!(500, 0, 0, 0, format!("Cannot parse: {} {}", to.address, e)) |
1468 | + let rcpt_to = EmailAddress::from_str(to.address.as_str()).map_err(|e| { |
1469 | + smtp_response!(500, 0, 0, 0, format!("cannot parse: {} {}", to.address, e)) |
1470 | })?; |
1471 | if let Some(ref mut rcpts) = self.rcpt_to { |
1472 | rcpts.push(rcpt_to.clone()); |
1473 | @@ -255,8 +256,8 @@ impl Session { |
1474 | } |
1475 | Request::Vrfy { value } => { |
1476 | if let Some(verifier) = &self.verification { |
1477 | - let address = Address::try_from(value.as_str()).map_err(|e| { |
1478 | - smtp_response!(500, 0, 0, 0, format!("Cannot parse: {} {}", value, e)) |
1479 | + let address = EmailAddress::from_str(value.as_str()).map_err(|e| { |
1480 | + smtp_response!(500, 0, 0, 0, format!("cannot parse: {} {}", value, e)) |
1481 | })?; |
1482 | match verifier.verify(&address) { |
1483 | Ok(_) => { |
1484 | @@ -600,10 +601,10 @@ transport rather than the session. |
1485 | process_all(&mut session, requests); |
1486 | assert!(session |
1487 | .mail_from |
1488 | - .is_some_and(|mail_from| mail_from.get_email() == "fuu@example.org")); |
1489 | + .is_some_and(|mail_from| mail_from.email() == "fuu@example.org")); |
1490 | assert!(session.rcpt_to.is_some_and(|rcpts| rcpts |
1491 | .first() |
1492 | - .is_some_and(|rcpt_to| rcpt_to.get_email() == "bar@example.org"))); |
1493 | + .is_some_and(|rcpt_to| rcpt_to.email() == "bar@example.org"))); |
1494 | assert!(session.body.is_some_and(|body| { |
1495 | let message = MessageParser::new().parse(&body).unwrap(); |
1496 | message |
1497 | diff --git a/maitred/src/verify.rs b/maitred/src/verify.rs |
1498 | index a1bf270..44224cb 100644 |
1499 | --- a/maitred/src/verify.rs |
1500 | +++ b/maitred/src/verify.rs |
1501 | @@ -1,7 +1,6 @@ |
1502 | - use std::{fmt::Display, result::Result as StdResult}; |
1503 | + use std::result::Result as StdResult; |
1504 | |
1505 | - use crate::addresses::Addresses; |
1506 | - use melib::Address; |
1507 | + use email_address::EmailAddress; |
1508 | |
1509 | pub type Result = StdResult<(), Error>; |
1510 | |
1511 | @@ -17,24 +16,24 @@ pub enum Error { |
1512 | /// Indicates that the input as ambigious and multiple addresses are |
1513 | /// associated with the string. |
1514 | #[error("Name is Ambiguous: {0}")] |
1515 | - Ambiguous(Addresses), |
1516 | + Ambiguous(EmailAddress), |
1517 | } |
1518 | |
1519 | pub trait Verify { |
1520 | /// Verify the e-mail address on the server |
1521 | - fn verify(&self, address: &Address) -> Result; |
1522 | + fn verify(&self, address: &EmailAddress) -> Result; |
1523 | } |
1524 | |
1525 | /// Wrapper type implementing the Verify trait |
1526 | pub struct Func<F>(pub F) |
1527 | where |
1528 | - F: Fn(&Address) -> Result; |
1529 | + F: Fn(&EmailAddress) -> Result; |
1530 | |
1531 | impl<F> Verify for Func<F> |
1532 | where |
1533 | - F: Fn(&Address) -> Result, |
1534 | + F: Fn(&EmailAddress) -> Result, |
1535 | { |
1536 | - fn verify(&self, address: &Address) -> Result { |
1537 | + fn verify(&self, address: &EmailAddress) -> Result { |
1538 | let f = &self.0; |
1539 | f(address) |
1540 | } |