Your locally hosted lumina server for IDAPro

Compare changes

Choose any two refs to compare.

Changed files
+991 -688
common
migrations
2024-03-22-062826_func-ea64s
src
lumen
+826 -526
Cargo.lock
··· 1 # This file is automatically @generated by Cargo. 2 # It is not intended for manual editing. 3 - version = 3 4 5 [[package]] 6 name = "addr2line" 7 - version = "0.21.0" 8 source = "registry+https://github.com/rust-lang/crates.io-index" 9 - checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" 10 dependencies = [ 11 "gimli", 12 ] 13 14 [[package]] 15 - name = "adler" 16 - version = "1.0.2" 17 source = "registry+https://github.com/rust-lang/crates.io-index" 18 - checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" 19 20 [[package]] 21 name = "aho-corasick" 22 - version = "1.1.2" 23 source = "registry+https://github.com/rust-lang/crates.io-index" 24 - checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0" 25 dependencies = [ 26 "memchr", 27 ] 28 29 [[package]] 30 name = "anstream" 31 - version = "0.6.5" 32 source = "registry+https://github.com/rust-lang/crates.io-index" 33 - checksum = "d664a92ecae85fd0a7392615844904654d1d5f5514837f471ddef4a057aba1b6" 34 dependencies = [ 35 "anstyle", 36 "anstyle-parse", 37 "anstyle-query", 38 "anstyle-wincon", 39 "colorchoice", 40 "utf8parse", 41 ] 42 43 [[package]] 44 name = "anstyle" 45 - version = "1.0.4" 46 source = "registry+https://github.com/rust-lang/crates.io-index" 47 - checksum = "7079075b41f533b8c61d2a4d073c4676e1f8b249ff94a393b0595db304e0dd87" 48 49 [[package]] 50 name = "anstyle-parse" 51 - version = "0.2.3" 52 source = "registry+https://github.com/rust-lang/crates.io-index" 53 - checksum = "c75ac65da39e5fe5ab759307499ddad880d724eed2f6ce5b5e8a26f4f387928c" 54 dependencies = [ 55 "utf8parse", 56 ] 57 58 [[package]] 59 name = "anstyle-query" 60 - version = "1.0.2" 61 source = "registry+https://github.com/rust-lang/crates.io-index" 62 - checksum = "e28923312444cdd728e4738b3f9c9cac739500909bb3d3c94b43551b16517648" 63 dependencies = [ 64 - "windows-sys 0.52.0", 65 ] 66 67 [[package]] 68 name = "anstyle-wincon" 69 - version = "3.0.2" 70 source = "registry+https://github.com/rust-lang/crates.io-index" 71 - checksum = "1cd54b81ec8d6180e24654d0b371ad22fc3dd083b6ff8ba325b72e00c87660a7" 72 dependencies = [ 73 "anstyle", 74 - "windows-sys 0.52.0", 75 ] 76 77 [[package]] 78 name = "anyhow" 79 - version = "1.0.78" 80 source = "registry+https://github.com/rust-lang/crates.io-index" 81 - checksum = "ca87830a3e3fb156dc96cfbd31cb620265dd053be734723f22b760d6cc3c3051" 82 83 [[package]] 84 name = "async-trait" 85 - version = "0.1.76" 86 source = "registry+https://github.com/rust-lang/crates.io-index" 87 - checksum = "531b97fb4cd3dfdce92c35dedbfdc1f0b9d8091c8ca943d6dae340ef5012d514" 88 dependencies = [ 89 "proc-macro2", 90 "quote", ··· 93 94 [[package]] 95 name = "autocfg" 96 - version = "1.1.0" 97 source = "registry+https://github.com/rust-lang/crates.io-index" 98 - checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" 99 100 [[package]] 101 name = "backtrace" 102 - version = "0.3.69" 103 source = "registry+https://github.com/rust-lang/crates.io-index" 104 - checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837" 105 dependencies = [ 106 "addr2line", 107 - "cc", 108 "cfg-if", 109 "libc", 110 "miniz_oxide", 111 "object", 112 "rustc-demangle", 113 ] 114 115 [[package]] 116 name = "base64" 117 - version = "0.21.5" 118 source = "registry+https://github.com/rust-lang/crates.io-index" 119 - checksum = "35636a1494ede3b646cc98f74f8e62c773a38a659ebc777a2cf26b9b74171df9" 120 121 [[package]] 122 name = "bb8" 123 - version = "0.8.1" 124 source = "registry+https://github.com/rust-lang/crates.io-index" 125 - checksum = "98b4b0f25f18bcdc3ac72bdb486ed0acf7e185221fd4dc985bc15db5800b0ba2" 126 dependencies = [ 127 "async-trait", 128 - "futures-channel", 129 "futures-util", 130 "parking_lot", 131 "tokio", ··· 139 140 [[package]] 141 name = "bitflags" 142 - version = "1.3.2" 143 - source = "registry+https://github.com/rust-lang/crates.io-index" 144 - checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" 145 - 146 - [[package]] 147 - name = "bitflags" 148 - version = "2.4.1" 149 source = "registry+https://github.com/rust-lang/crates.io-index" 150 - checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07" 151 152 [[package]] 153 name = "block-buffer" ··· 160 161 [[package]] 162 name = "bumpalo" 163 - version = "3.14.0" 164 source = "registry+https://github.com/rust-lang/crates.io-index" 165 - checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec" 166 167 [[package]] 168 name = "byteorder" ··· 172 173 [[package]] 174 name = "bytes" 175 - version = "1.5.0" 176 source = "registry+https://github.com/rust-lang/crates.io-index" 177 - checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223" 178 179 [[package]] 180 name = "cc" 181 - version = "1.0.83" 182 source = "registry+https://github.com/rust-lang/crates.io-index" 183 - checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0" 184 dependencies = [ 185 - "libc", 186 ] 187 188 [[package]] ··· 193 194 [[package]] 195 name = "clap" 196 - version = "4.4.12" 197 source = "registry+https://github.com/rust-lang/crates.io-index" 198 - checksum = "dcfab8ba68f3668e89f6ff60f5b205cea56aa7b769451a59f34b8682f51c056d" 199 dependencies = [ 200 "clap_builder", 201 ] 202 203 [[package]] 204 name = "clap_builder" 205 - version = "4.4.12" 206 source = "registry+https://github.com/rust-lang/crates.io-index" 207 - checksum = "fb7fb5e4e979aec3be7791562fcba452f94ad85e954da024396433e0e25a79e9" 208 dependencies = [ 209 "anstream", 210 "anstyle", ··· 214 215 [[package]] 216 name = "clap_lex" 217 - version = "0.6.0" 218 source = "registry+https://github.com/rust-lang/crates.io-index" 219 - checksum = "702fc72eb24e5a1e48ce58027a675bc24edd52096d5397d4aea7c6dd9eca0bd1" 220 221 [[package]] 222 name = "colorchoice" 223 - version = "1.0.0" 224 source = "registry+https://github.com/rust-lang/crates.io-index" 225 - checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7" 226 227 [[package]] 228 name = "common" ··· 257 258 [[package]] 259 name = "core-foundation-sys" 260 - version = "0.8.6" 261 source = "registry+https://github.com/rust-lang/crates.io-index" 262 - checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" 263 264 [[package]] 265 name = "cpufeatures" 266 - version = "0.2.11" 267 source = "registry+https://github.com/rust-lang/crates.io-index" 268 - checksum = "ce420fe07aecd3e67c5f910618fe65e94158f6dcc0adf44e00d69ce2bdfe0fd0" 269 dependencies = [ 270 "libc", 271 ] ··· 281 ] 282 283 [[package]] 284 name = "data-encoding" 285 - version = "2.5.0" 286 source = "registry+https://github.com/rust-lang/crates.io-index" 287 - checksum = "7e962a19be5cfc3f3bf6dd8f61eb50107f356ad6270fbb3ed41476571db78be5" 288 289 [[package]] 290 name = "deranged" 291 - version = "0.3.11" 292 source = "registry+https://github.com/rust-lang/crates.io-index" 293 - checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" 294 dependencies = [ 295 "powerfmt", 296 ] 297 298 [[package]] 299 name = "diesel" 300 - version = "2.1.4" 301 source = "registry+https://github.com/rust-lang/crates.io-index" 302 - checksum = "62c6fcf842f17f8c78ecf7c81d75c5ce84436b41ee07e03f490fbb5f5a8731d8" 303 dependencies = [ 304 - "bitflags 2.4.1", 305 "byteorder", 306 "diesel_derives", 307 "itoa", ··· 310 311 [[package]] 312 name = "diesel-async" 313 - version = "0.4.1" 314 source = "registry+https://github.com/rust-lang/crates.io-index" 315 - checksum = "acada1517534c92d3f382217b485db8a8638f111b0e3f2a2a8e26165050f77be" 316 dependencies = [ 317 "async-trait", 318 "bb8", ··· 325 326 [[package]] 327 name = "diesel_derives" 328 - version = "2.1.2" 329 source = "registry+https://github.com/rust-lang/crates.io-index" 330 - checksum = "ef8337737574f55a468005a83499da720f20c65586241ffea339db9ecdfd2b44" 331 dependencies = [ 332 "diesel_table_macro_syntax", 333 "proc-macro2", 334 "quote", 335 "syn", ··· 337 338 [[package]] 339 name = "diesel_table_macro_syntax" 340 - version = "0.1.0" 341 source = "registry+https://github.com/rust-lang/crates.io-index" 342 - checksum = "fc5557efc453706fed5e4fa85006fe9817c224c3f480a34c7e5959fd700921c5" 343 dependencies = [ 344 "syn", 345 ] ··· 356 ] 357 358 [[package]] 359 name = "dtoa" 360 - version = "1.0.9" 361 source = "registry+https://github.com/rust-lang/crates.io-index" 362 - checksum = "dcbb2bf8e87535c23f7a8a321e364ce21462d0ff10cb6407820e8e96dfff6653" 363 364 [[package]] 365 name = "encoding_rs" 366 - version = "0.8.33" 367 source = "registry+https://github.com/rust-lang/crates.io-index" 368 - checksum = "7268b386296a025e474d5140678f75d6de9493ae55a5d709eeb9dd08149945e1" 369 dependencies = [ 370 "cfg-if", 371 ] 372 373 [[package]] 374 name = "env_logger" 375 - version = "0.10.1" 376 source = "registry+https://github.com/rust-lang/crates.io-index" 377 - checksum = "95b3f3e67048839cb0d0781f445682a35113da7121f7c949db0e2be96a4fbece" 378 dependencies = [ 379 "humantime", 380 "is-terminal", ··· 385 386 [[package]] 387 name = "equivalent" 388 - version = "1.0.1" 389 source = "registry+https://github.com/rust-lang/crates.io-index" 390 - checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" 391 392 [[package]] 393 name = "errno" 394 - version = "0.3.8" 395 source = "registry+https://github.com/rust-lang/crates.io-index" 396 - checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245" 397 dependencies = [ 398 "libc", 399 - "windows-sys 0.52.0", 400 ] 401 402 [[package]] ··· 407 408 [[package]] 409 name = "fastrand" 410 - version = "2.0.1" 411 source = "registry+https://github.com/rust-lang/crates.io-index" 412 - checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5" 413 - 414 - [[package]] 415 - name = "finl_unicode" 416 - version = "1.2.0" 417 - source = "registry+https://github.com/rust-lang/crates.io-index" 418 - checksum = "8fcfdc7a0362c9f4444381a9e697c79d435fe65b52a37466fc2c1184cee9edc6" 419 420 [[package]] 421 name = "fnv" ··· 448 ] 449 450 [[package]] 451 - name = "futures" 452 - version = "0.3.30" 453 - source = "registry+https://github.com/rust-lang/crates.io-index" 454 - checksum = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0" 455 - dependencies = [ 456 - "futures-channel", 457 - "futures-core", 458 - "futures-executor", 459 - "futures-io", 460 - "futures-sink", 461 - "futures-task", 462 - "futures-util", 463 - ] 464 - 465 - [[package]] 466 name = "futures-channel" 467 - version = "0.3.30" 468 source = "registry+https://github.com/rust-lang/crates.io-index" 469 - checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" 470 dependencies = [ 471 "futures-core", 472 "futures-sink", ··· 474 475 [[package]] 476 name = "futures-core" 477 - version = "0.3.30" 478 - source = "registry+https://github.com/rust-lang/crates.io-index" 479 - checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" 480 - 481 - [[package]] 482 - name = "futures-executor" 483 - version = "0.3.30" 484 - source = "registry+https://github.com/rust-lang/crates.io-index" 485 - checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d" 486 - dependencies = [ 487 - "futures-core", 488 - "futures-task", 489 - "futures-util", 490 - ] 491 - 492 - [[package]] 493 - name = "futures-io" 494 - version = "0.3.30" 495 source = "registry+https://github.com/rust-lang/crates.io-index" 496 - checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" 497 498 [[package]] 499 name = "futures-macro" 500 - version = "0.3.30" 501 source = "registry+https://github.com/rust-lang/crates.io-index" 502 - checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" 503 dependencies = [ 504 "proc-macro2", 505 "quote", ··· 508 509 [[package]] 510 name = "futures-sink" 511 - version = "0.3.30" 512 source = "registry+https://github.com/rust-lang/crates.io-index" 513 - checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" 514 515 [[package]] 516 name = "futures-task" 517 - version = "0.3.30" 518 source = "registry+https://github.com/rust-lang/crates.io-index" 519 - checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" 520 521 [[package]] 522 name = "futures-util" 523 - version = "0.3.30" 524 source = "registry+https://github.com/rust-lang/crates.io-index" 525 - checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" 526 dependencies = [ 527 - "futures-channel", 528 "futures-core", 529 - "futures-io", 530 "futures-macro", 531 "futures-sink", 532 "futures-task", 533 - "memchr", 534 "pin-project-lite", 535 "pin-utils", 536 "slab", ··· 548 549 [[package]] 550 name = "getrandom" 551 - version = "0.2.11" 552 source = "registry+https://github.com/rust-lang/crates.io-index" 553 - checksum = "fe9006bed769170c11f845cf00c7c1e9092aeb3f268e007c3e760ac68008070f" 554 dependencies = [ 555 "cfg-if", 556 "libc", 557 - "wasi", 558 ] 559 560 [[package]] 561 name = "gimli" 562 - version = "0.28.1" 563 source = "registry+https://github.com/rust-lang/crates.io-index" 564 - checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" 565 566 [[package]] 567 name = "h2" 568 - version = "0.3.24" 569 source = "registry+https://github.com/rust-lang/crates.io-index" 570 - checksum = "bb2c4422095b67ee78da96fbb51a4cc413b3b25883c7717ff7ca1ab31022c9c9" 571 dependencies = [ 572 "bytes", 573 "fnv", 574 "futures-core", 575 "futures-sink", 576 "futures-util", 577 - "http", 578 "indexmap", 579 "slab", 580 "tokio", ··· 584 585 [[package]] 586 name = "hashbrown" 587 - version = "0.14.3" 588 source = "registry+https://github.com/rust-lang/crates.io-index" 589 - checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604" 590 591 [[package]] 592 name = "headers" ··· 594 source = "registry+https://github.com/rust-lang/crates.io-index" 595 checksum = "06683b93020a07e3dbcf5f8c0f6d40080d725bea7936fc01ad345c01b97dc270" 596 dependencies = [ 597 - "base64", 598 "bytes", 599 "headers-core", 600 - "http", 601 "httpdate", 602 "mime", 603 "sha1", ··· 609 source = "registry+https://github.com/rust-lang/crates.io-index" 610 checksum = "e7f66481bfee273957b1f20485a4ff3362987f85b2c236580d81b4eb7a326429" 611 dependencies = [ 612 - "http", 613 ] 614 615 [[package]] 616 name = "hermit-abi" 617 - version = "0.3.3" 618 source = "registry+https://github.com/rust-lang/crates.io-index" 619 - checksum = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7" 620 621 [[package]] 622 name = "hmac" ··· 629 630 [[package]] 631 name = "http" 632 - version = "0.2.11" 633 source = "registry+https://github.com/rust-lang/crates.io-index" 634 - checksum = "8947b1a6fad4393052c7ba1f4cd97bed3e953a95c79c92ad9b051a04611d9fbb" 635 dependencies = [ 636 "bytes", 637 "fnv", ··· 645 checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" 646 dependencies = [ 647 "bytes", 648 - "http", 649 "pin-project-lite", 650 ] 651 652 [[package]] 653 name = "httparse" 654 - version = "1.8.0" 655 source = "registry+https://github.com/rust-lang/crates.io-index" 656 - checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" 657 658 [[package]] 659 name = "httpdate" ··· 663 664 [[package]] 665 name = "humantime" 666 - version = "2.1.0" 667 source = "registry+https://github.com/rust-lang/crates.io-index" 668 - checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" 669 670 [[package]] 671 name = "hyper" 672 - version = "0.14.28" 673 source = "registry+https://github.com/rust-lang/crates.io-index" 674 - checksum = "bf96e135eb83a2a8ddf766e426a841d8ddd7449d5f00d34ea02b41d2f19eef80" 675 dependencies = [ 676 "bytes", 677 "futures-channel", 678 "futures-core", 679 "futures-util", 680 "h2", 681 - "http", 682 "http-body", 683 "httparse", 684 "httpdate", ··· 692 ] 693 694 [[package]] 695 name = "idna" 696 - version = "0.5.0" 697 source = "registry+https://github.com/rust-lang/crates.io-index" 698 - checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" 699 dependencies = [ 700 - "unicode-bidi", 701 - "unicode-normalization", 702 ] 703 704 [[package]] 705 name = "indexmap" 706 - version = "2.1.0" 707 source = "registry+https://github.com/rust-lang/crates.io-index" 708 - checksum = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f" 709 dependencies = [ 710 "equivalent", 711 "hashbrown", ··· 713 714 [[package]] 715 name = "is-terminal" 716 - version = "0.4.10" 717 source = "registry+https://github.com/rust-lang/crates.io-index" 718 - checksum = "0bad00257d07be169d870ab665980b06cdb366d792ad690bf2e76876dc503455" 719 dependencies = [ 720 "hermit-abi", 721 - "rustix", 722 - "windows-sys 0.52.0", 723 ] 724 725 [[package]] 726 name = "itoa" 727 - version = "1.0.10" 728 source = "registry+https://github.com/rust-lang/crates.io-index" 729 - checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c" 730 731 [[package]] 732 name = "js-sys" 733 - version = "0.3.66" 734 source = "registry+https://github.com/rust-lang/crates.io-index" 735 - checksum = "cee9c64da59eae3b50095c18d3e74f8b73c0b86d2792824ff01bbce68ba229ca" 736 dependencies = [ 737 "wasm-bindgen", 738 ] 739 740 [[package]] 741 - name = "lazy_static" 742 - version = "1.4.0" 743 source = "registry+https://github.com/rust-lang/crates.io-index" 744 - checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" 745 746 [[package]] 747 - name = "libc" 748 - version = "0.2.151" 749 source = "registry+https://github.com/rust-lang/crates.io-index" 750 - checksum = "302d7ab3130588088d277783b1e2d2e10c9e9e4a16dd9050e6ec93fb3e7048f4" 751 752 [[package]] 753 - name = "linux-raw-sys" 754 - version = "0.4.12" 755 source = "registry+https://github.com/rust-lang/crates.io-index" 756 - checksum = "c4cd1a83af159aa67994778be9070f0ae1bd732942279cabb14f86f986a21456" 757 758 [[package]] 759 name = "lock_api" 760 - version = "0.4.11" 761 source = "registry+https://github.com/rust-lang/crates.io-index" 762 - checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45" 763 dependencies = [ 764 "autocfg", 765 "scopeguard", ··· 767 768 [[package]] 769 name = "log" 770 - version = "0.4.20" 771 source = "registry+https://github.com/rust-lang/crates.io-index" 772 - checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" 773 774 [[package]] 775 name = "lumen" ··· 798 799 [[package]] 800 name = "memchr" 801 - version = "2.7.1" 802 source = "registry+https://github.com/rust-lang/crates.io-index" 803 - checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149" 804 805 [[package]] 806 name = "mime" ··· 810 811 [[package]] 812 name = "mime_guess" 813 - version = "2.0.4" 814 source = "registry+https://github.com/rust-lang/crates.io-index" 815 - checksum = "4192263c238a5f0d0c6bfd21f336a313a4ce1c450542449ca191bb657b4642ef" 816 dependencies = [ 817 "mime", 818 "unicase", ··· 820 821 [[package]] 822 name = "miniz_oxide" 823 - version = "0.7.1" 824 source = "registry+https://github.com/rust-lang/crates.io-index" 825 - checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7" 826 dependencies = [ 827 - "adler", 828 ] 829 830 [[package]] 831 name = "mio" 832 - version = "0.8.11" 833 source = "registry+https://github.com/rust-lang/crates.io-index" 834 - checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" 835 dependencies = [ 836 "libc", 837 - "wasi", 838 - "windows-sys 0.48.0", 839 ] 840 841 [[package]] ··· 847 "bytes", 848 "encoding_rs", 849 "futures-util", 850 - "http", 851 "httparse", 852 "log", 853 "memchr", ··· 858 859 [[package]] 860 name = "native-tls" 861 - version = "0.2.11" 862 source = "registry+https://github.com/rust-lang/crates.io-index" 863 - checksum = "07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e" 864 dependencies = [ 865 - "lazy_static", 866 "libc", 867 "log", 868 "openssl", ··· 875 ] 876 877 [[package]] 878 - name = "num_cpus" 879 - version = "1.16.0" 880 source = "registry+https://github.com/rust-lang/crates.io-index" 881 - checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" 882 - dependencies = [ 883 - "hermit-abi", 884 - "libc", 885 - ] 886 887 [[package]] 888 name = "object" 889 - version = "0.32.2" 890 source = "registry+https://github.com/rust-lang/crates.io-index" 891 - checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441" 892 dependencies = [ 893 "memchr", 894 ] 895 896 [[package]] 897 name = "once_cell" 898 - version = "1.19.0" 899 source = "registry+https://github.com/rust-lang/crates.io-index" 900 - checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" 901 902 [[package]] 903 name = "openssl" 904 - version = "0.10.62" 905 source = "registry+https://github.com/rust-lang/crates.io-index" 906 - checksum = "8cde4d2d9200ad5909f8dac647e29482e07c3a35de8a13fce7c9c7747ad9f671" 907 dependencies = [ 908 - "bitflags 2.4.1", 909 "cfg-if", 910 "foreign-types", 911 "libc", ··· 927 928 [[package]] 929 name = "openssl-probe" 930 - version = "0.1.5" 931 source = "registry+https://github.com/rust-lang/crates.io-index" 932 - checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" 933 934 [[package]] 935 name = "openssl-sys" 936 - version = "0.9.98" 937 source = "registry+https://github.com/rust-lang/crates.io-index" 938 - checksum = "c1665caf8ab2dc9aef43d1c0023bd904633a6a05cb30b0ad59bec2ae986e57a7" 939 dependencies = [ 940 "cc", 941 "libc", ··· 945 946 [[package]] 947 name = "parking_lot" 948 - version = "0.12.1" 949 source = "registry+https://github.com/rust-lang/crates.io-index" 950 - checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" 951 dependencies = [ 952 "lock_api", 953 "parking_lot_core", ··· 955 956 [[package]] 957 name = "parking_lot_core" 958 - version = "0.9.9" 959 source = "registry+https://github.com/rust-lang/crates.io-index" 960 - checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e" 961 dependencies = [ 962 "cfg-if", 963 "libc", 964 "redox_syscall", 965 "smallvec", 966 - "windows-targets 0.48.5", 967 ] 968 969 [[package]] ··· 974 975 [[package]] 976 name = "phf" 977 - version = "0.11.2" 978 source = "registry+https://github.com/rust-lang/crates.io-index" 979 - checksum = "ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc" 980 dependencies = [ 981 "phf_shared", 982 ] 983 984 [[package]] 985 name = "phf_shared" 986 - version = "0.11.2" 987 source = "registry+https://github.com/rust-lang/crates.io-index" 988 - checksum = "90fcb95eef784c2ac79119d1dd819e162b5da872ce6f3c3abe1e8ca1c082f72b" 989 dependencies = [ 990 "siphasher", 991 ] 992 993 [[package]] 994 name = "pin-project" 995 - version = "1.1.3" 996 source = "registry+https://github.com/rust-lang/crates.io-index" 997 - checksum = "fda4ed1c6c173e3fc7a83629421152e01d7b1f9b7f65fb301e490e8cfc656422" 998 dependencies = [ 999 "pin-project-internal", 1000 ] 1001 1002 [[package]] 1003 name = "pin-project-internal" 1004 - version = "1.1.3" 1005 source = "registry+https://github.com/rust-lang/crates.io-index" 1006 - checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405" 1007 dependencies = [ 1008 "proc-macro2", 1009 "quote", ··· 1012 1013 [[package]] 1014 name = "pin-project-lite" 1015 - version = "0.2.13" 1016 source = "registry+https://github.com/rust-lang/crates.io-index" 1017 - checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58" 1018 1019 [[package]] 1020 name = "pin-utils" ··· 1024 1025 [[package]] 1026 name = "pkg-config" 1027 - version = "0.3.28" 1028 source = "registry+https://github.com/rust-lang/crates.io-index" 1029 - checksum = "69d3587f8a9e599cc7ec2c00e331f71c4e69a5f9a4b8a6efd5b07466b9736f9a" 1030 1031 [[package]] 1032 name = "postgres-native-tls" 1033 - version = "0.5.0" 1034 source = "registry+https://github.com/rust-lang/crates.io-index" 1035 - checksum = "2d442770e2b1e244bb5eb03b31c79b65bb2568f413b899eaba850fa945a65954" 1036 dependencies = [ 1037 - "futures", 1038 "native-tls", 1039 "tokio", 1040 "tokio-native-tls", ··· 1043 1044 [[package]] 1045 name = "postgres-protocol" 1046 - version = "0.6.6" 1047 source = "registry+https://github.com/rust-lang/crates.io-index" 1048 - checksum = "49b6c5ef183cd3ab4ba005f1ca64c21e8bd97ce4699cfea9e8d9a2c4958ca520" 1049 dependencies = [ 1050 - "base64", 1051 "byteorder", 1052 "bytes", 1053 "fallible-iterator", 1054 "hmac", 1055 "md-5", 1056 "memchr", 1057 - "rand", 1058 "sha2", 1059 "stringprep", 1060 ] 1061 1062 [[package]] 1063 name = "postgres-types" 1064 - version = "0.2.6" 1065 source = "registry+https://github.com/rust-lang/crates.io-index" 1066 - checksum = "8d2234cdee9408b523530a9b6d2d6b373d1db34f6a8e51dc03ded1828d7fb67c" 1067 dependencies = [ 1068 "bytes", 1069 "fallible-iterator", ··· 1071 ] 1072 1073 [[package]] 1074 name = "powerfmt" 1075 version = "0.2.0" 1076 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 1078 1079 [[package]] 1080 name = "ppv-lite86" 1081 - version = "0.2.17" 1082 source = "registry+https://github.com/rust-lang/crates.io-index" 1083 - checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" 1084 1085 [[package]] 1086 name = "pretty_env_logger" ··· 1094 1095 [[package]] 1096 name = "proc-macro2" 1097 - version = "1.0.72" 1098 source = "registry+https://github.com/rust-lang/crates.io-index" 1099 - checksum = "a293318316cf6478ec1ad2a21c49390a8d5b5eae9fab736467d93fbc0edc29c5" 1100 dependencies = [ 1101 "unicode-ident", 1102 ] 1103 1104 [[package]] 1105 name = "prometheus-client" 1106 - version = "0.22.0" 1107 source = "registry+https://github.com/rust-lang/crates.io-index" 1108 - checksum = "510c4f1c9d81d556458f94c98f857748130ea9737bbd6053da497503b26ea63c" 1109 dependencies = [ 1110 "dtoa", 1111 "itoa", ··· 1126 1127 [[package]] 1128 name = "quote" 1129 - version = "1.0.34" 1130 source = "registry+https://github.com/rust-lang/crates.io-index" 1131 - checksum = "22a37c9326af5ed140c86a46655b5278de879853be5573c01df185b6f49a580a" 1132 dependencies = [ 1133 "proc-macro2", 1134 ] 1135 1136 [[package]] 1137 name = "rand" 1138 version = "0.8.5" 1139 source = "registry+https://github.com/rust-lang/crates.io-index" 1140 checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" 1141 dependencies = [ 1142 "libc", 1143 - "rand_chacha", 1144 - "rand_core", 1145 ] 1146 1147 [[package]] ··· 1151 checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" 1152 dependencies = [ 1153 "ppv-lite86", 1154 - "rand_core", 1155 ] 1156 1157 [[package]] ··· 1160 source = "registry+https://github.com/rust-lang/crates.io-index" 1161 checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" 1162 dependencies = [ 1163 - "getrandom", 1164 ] 1165 1166 [[package]] 1167 name = "redox_syscall" 1168 - version = "0.4.1" 1169 source = "registry+https://github.com/rust-lang/crates.io-index" 1170 - checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" 1171 dependencies = [ 1172 - "bitflags 1.3.2", 1173 ] 1174 1175 [[package]] 1176 name = "regex" 1177 - version = "1.10.2" 1178 source = "registry+https://github.com/rust-lang/crates.io-index" 1179 - checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343" 1180 dependencies = [ 1181 "aho-corasick", 1182 "memchr", ··· 1186 1187 [[package]] 1188 name = "regex-automata" 1189 - version = "0.4.3" 1190 source = "registry+https://github.com/rust-lang/crates.io-index" 1191 - checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f" 1192 dependencies = [ 1193 "aho-corasick", 1194 "memchr", ··· 1197 1198 [[package]] 1199 name = "regex-syntax" 1200 - version = "0.8.2" 1201 source = "registry+https://github.com/rust-lang/crates.io-index" 1202 - checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" 1203 1204 [[package]] 1205 name = "rustc-demangle" 1206 - version = "0.1.23" 1207 source = "registry+https://github.com/rust-lang/crates.io-index" 1208 - checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" 1209 1210 [[package]] 1211 name = "rustix" 1212 - version = "0.38.28" 1213 source = "registry+https://github.com/rust-lang/crates.io-index" 1214 - checksum = "72e572a5e8ca657d7366229cdde4bd14c4eb5499a9573d4d366fe1b599daa316" 1215 dependencies = [ 1216 - "bitflags 2.4.1", 1217 "errno", 1218 "libc", 1219 "linux-raw-sys", 1220 - "windows-sys 0.52.0", 1221 - ] 1222 - 1223 - [[package]] 1224 - name = "rustls-pemfile" 1225 - version = "1.0.4" 1226 - source = "registry+https://github.com/rust-lang/crates.io-index" 1227 - checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c" 1228 - dependencies = [ 1229 - "base64", 1230 ] 1231 1232 [[package]] 1233 name = "ryu" 1234 - version = "1.0.16" 1235 source = "registry+https://github.com/rust-lang/crates.io-index" 1236 - checksum = "f98d2aa92eebf49b69786be48e4477826b256916e84a57ff2a4f21923b48eb4c" 1237 1238 [[package]] 1239 name = "schannel" 1240 - version = "0.1.23" 1241 source = "registry+https://github.com/rust-lang/crates.io-index" 1242 - checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534" 1243 dependencies = [ 1244 - "windows-sys 0.52.0", 1245 ] 1246 1247 [[package]] 1248 name = "scoped-futures" 1249 - version = "0.1.3" 1250 source = "registry+https://github.com/rust-lang/crates.io-index" 1251 - checksum = "b1473e24c637950c9bd38763220bea91ec3e095a89f672bbd7a10d03e77ba467" 1252 dependencies = [ 1253 - "cfg-if", 1254 - "pin-utils", 1255 ] 1256 1257 [[package]] ··· 1268 1269 [[package]] 1270 name = "security-framework" 1271 - version = "2.9.2" 1272 source = "registry+https://github.com/rust-lang/crates.io-index" 1273 - checksum = "05b64fb303737d99b81884b2c63433e9ae28abebe5eb5045dcdd175dc2ecf4de" 1274 dependencies = [ 1275 - "bitflags 1.3.2", 1276 "core-foundation", 1277 "core-foundation-sys", 1278 "libc", ··· 1281 1282 [[package]] 1283 name = "security-framework-sys" 1284 - version = "2.9.1" 1285 source = "registry+https://github.com/rust-lang/crates.io-index" 1286 - checksum = "e932934257d3b408ed8f30db49d85ea163bfe74961f017f405b025af298f0c7a" 1287 dependencies = [ 1288 "core-foundation-sys", 1289 "libc", ··· 1291 1292 [[package]] 1293 name = "serde" 1294 - version = "1.0.193" 1295 source = "registry+https://github.com/rust-lang/crates.io-index" 1296 - checksum = "25dd9975e68d0cb5aa1120c288333fc98731bd1dd12f561e468ea4728c042b89" 1297 dependencies = [ 1298 "serde_derive", 1299 ] 1300 1301 [[package]] 1302 name = "serde_derive" 1303 - version = "1.0.193" 1304 source = "registry+https://github.com/rust-lang/crates.io-index" 1305 - checksum = "43576ca501357b9b071ac53cdc7da8ef0cbd9493d8df094cd821777ea6e894d3" 1306 dependencies = [ 1307 "proc-macro2", 1308 "quote", ··· 1311 1312 [[package]] 1313 name = "serde_json" 1314 - version = "1.0.108" 1315 source = "registry+https://github.com/rust-lang/crates.io-index" 1316 - checksum = "3d1c7e3eac408d115102c4c24ad393e0821bb3a5df4d506a80f85f7a742a526b" 1317 dependencies = [ 1318 "itoa", 1319 "ryu", 1320 "serde", 1321 ] 1322 1323 [[package]] 1324 name = "serde_spanned" 1325 - version = "0.6.5" 1326 source = "registry+https://github.com/rust-lang/crates.io-index" 1327 - checksum = "eb3622f419d1296904700073ea6cc23ad690adbd66f13ea683df73298736f0c1" 1328 dependencies = [ 1329 "serde", 1330 ] ··· 1354 1355 [[package]] 1356 name = "sha2" 1357 - version = "0.10.8" 1358 source = "registry+https://github.com/rust-lang/crates.io-index" 1359 - checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" 1360 dependencies = [ 1361 "cfg-if", 1362 "cpufeatures", ··· 1364 ] 1365 1366 [[package]] 1367 name = "signal-hook-registry" 1368 - version = "1.4.1" 1369 source = "registry+https://github.com/rust-lang/crates.io-index" 1370 - checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1" 1371 dependencies = [ 1372 "libc", 1373 ] 1374 1375 [[package]] 1376 name = "siphasher" 1377 - version = "0.3.11" 1378 source = "registry+https://github.com/rust-lang/crates.io-index" 1379 - checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" 1380 1381 [[package]] 1382 name = "slab" ··· 1389 1390 [[package]] 1391 name = "smallvec" 1392 - version = "1.11.2" 1393 source = "registry+https://github.com/rust-lang/crates.io-index" 1394 - checksum = "4dccd0940a2dcdf68d092b8cbab7dc0ad8fa938bf95787e1b916b0e3d0e8e970" 1395 1396 [[package]] 1397 name = "socket2" 1398 - version = "0.5.5" 1399 source = "registry+https://github.com/rust-lang/crates.io-index" 1400 - checksum = "7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9" 1401 dependencies = [ 1402 "libc", 1403 - "windows-sys 0.48.0", 1404 ] 1405 1406 [[package]] ··· 1408 version = "0.9.8" 1409 source = "registry+https://github.com/rust-lang/crates.io-index" 1410 checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" 1411 1412 [[package]] 1413 name = "stringprep" 1414 - version = "0.1.4" 1415 source = "registry+https://github.com/rust-lang/crates.io-index" 1416 - checksum = "bb41d74e231a107a1b4ee36bd1214b11285b77768d2e3824aedafa988fd36ee6" 1417 dependencies = [ 1418 - "finl_unicode", 1419 "unicode-bidi", 1420 "unicode-normalization", 1421 ] 1422 1423 [[package]] 1424 name = "strsim" 1425 - version = "0.10.0" 1426 source = "registry+https://github.com/rust-lang/crates.io-index" 1427 - checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" 1428 1429 [[package]] 1430 name = "subtle" 1431 - version = "2.5.0" 1432 source = "registry+https://github.com/rust-lang/crates.io-index" 1433 - checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc" 1434 1435 [[package]] 1436 name = "syn" 1437 - version = "2.0.43" 1438 source = "registry+https://github.com/rust-lang/crates.io-index" 1439 - checksum = "ee659fb5f3d355364e1f3e5bc10fb82068efbf824a1e9d1c9504244a6469ad53" 1440 dependencies = [ 1441 "proc-macro2", 1442 "quote", ··· 1444 ] 1445 1446 [[package]] 1447 name = "tempfile" 1448 - version = "3.9.0" 1449 source = "registry+https://github.com/rust-lang/crates.io-index" 1450 - checksum = "01ce4141aa927a6d1bd34a041795abd0db1cccba5d5f24b009f694bdf3a1f3fa" 1451 dependencies = [ 1452 - "cfg-if", 1453 "fastrand", 1454 - "redox_syscall", 1455 "rustix", 1456 - "windows-sys 0.52.0", 1457 ] 1458 1459 [[package]] 1460 name = "termcolor" 1461 - version = "1.4.0" 1462 source = "registry+https://github.com/rust-lang/crates.io-index" 1463 - checksum = "ff1bc3d3f05aff0403e8ac0d92ced918ec05b666a43f83297ccef5bea8a3d449" 1464 dependencies = [ 1465 "winapi-util", 1466 ] 1467 1468 [[package]] 1469 name = "thiserror" 1470 - version = "1.0.53" 1471 source = "registry+https://github.com/rust-lang/crates.io-index" 1472 - checksum = "b2cd5904763bad08ad5513ddbb12cf2ae273ca53fa9f68e843e236ec6dfccc09" 1473 dependencies = [ 1474 "thiserror-impl", 1475 ] 1476 1477 [[package]] 1478 name = "thiserror-impl" 1479 - version = "1.0.53" 1480 source = "registry+https://github.com/rust-lang/crates.io-index" 1481 - checksum = "3dcf4a824cce0aeacd6f38ae6f24234c8e80d68632338ebaa1443b5df9e29e19" 1482 dependencies = [ 1483 "proc-macro2", 1484 "quote", ··· 1487 1488 [[package]] 1489 name = "time" 1490 - version = "0.3.31" 1491 source = "registry+https://github.com/rust-lang/crates.io-index" 1492 - checksum = "f657ba42c3f86e7680e53c8cd3af8abbe56b5491790b46e22e19c0d57463583e" 1493 dependencies = [ 1494 "deranged", 1495 "powerfmt", 1496 "serde", 1497 "time-core", ··· 1500 1501 [[package]] 1502 name = "time-core" 1503 - version = "0.1.2" 1504 source = "registry+https://github.com/rust-lang/crates.io-index" 1505 - checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" 1506 1507 [[package]] 1508 name = "time-macros" 1509 - version = "0.2.16" 1510 source = "registry+https://github.com/rust-lang/crates.io-index" 1511 - checksum = "26197e33420244aeb70c3e8c78376ca46571bc4e701e4791c2cd9f57dcb3a43f" 1512 dependencies = [ 1513 "time-core", 1514 ] 1515 1516 [[package]] 1517 name = "tinyvec" 1518 - version = "1.6.0" 1519 source = "registry+https://github.com/rust-lang/crates.io-index" 1520 - checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" 1521 dependencies = [ 1522 "tinyvec_macros", 1523 ] ··· 1530 1531 [[package]] 1532 name = "tokio" 1533 - version = "1.35.1" 1534 source = "registry+https://github.com/rust-lang/crates.io-index" 1535 - checksum = "c89b4efa943be685f629b149f53829423f8f5531ea21249408e8e2f8671ec104" 1536 dependencies = [ 1537 "backtrace", 1538 "bytes", 1539 "libc", 1540 "mio", 1541 - "num_cpus", 1542 "parking_lot", 1543 "pin-project-lite", 1544 "signal-hook-registry", 1545 "socket2", 1546 "tokio-macros", 1547 - "windows-sys 0.48.0", 1548 ] 1549 1550 [[package]] 1551 name = "tokio-macros" 1552 - version = "2.2.0" 1553 source = "registry+https://github.com/rust-lang/crates.io-index" 1554 - checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" 1555 dependencies = [ 1556 "proc-macro2", 1557 "quote", ··· 1570 1571 [[package]] 1572 name = "tokio-postgres" 1573 - version = "0.7.10" 1574 source = "registry+https://github.com/rust-lang/crates.io-index" 1575 - checksum = "d340244b32d920260ae7448cb72b6e238bddc3d4f7603394e7dd46ed8e48f5b8" 1576 dependencies = [ 1577 "async-trait", 1578 "byteorder", ··· 1587 "pin-project-lite", 1588 "postgres-protocol", 1589 "postgres-types", 1590 - "rand", 1591 "socket2", 1592 "tokio", 1593 "tokio-util", ··· 1595 ] 1596 1597 [[package]] 1598 - name = "tokio-stream" 1599 - version = "0.1.14" 1600 - source = "registry+https://github.com/rust-lang/crates.io-index" 1601 - checksum = "397c988d37662c7dda6d2208364a706264bf3d6138b11d436cbac0ad38832842" 1602 - dependencies = [ 1603 - "futures-core", 1604 - "pin-project-lite", 1605 - "tokio", 1606 - ] 1607 - 1608 - [[package]] 1609 name = "tokio-tungstenite" 1610 - version = "0.20.1" 1611 source = "registry+https://github.com/rust-lang/crates.io-index" 1612 - checksum = "212d5dcb2a1ce06d81107c3d0ffa3121fe974b73f068c8282cb1c32328113b6c" 1613 dependencies = [ 1614 "futures-util", 1615 "log", ··· 1619 1620 [[package]] 1621 name = "tokio-util" 1622 - version = "0.7.10" 1623 source = "registry+https://github.com/rust-lang/crates.io-index" 1624 - checksum = "5419f34732d9eb6ee4c3578b7989078579b7f039cbbb9ca2c4da015749371e15" 1625 dependencies = [ 1626 "bytes", 1627 "futures-core", 1628 "futures-sink", 1629 "pin-project-lite", 1630 "tokio", 1631 - "tracing", 1632 ] 1633 1634 [[package]] 1635 name = "toml" 1636 - version = "0.8.8" 1637 source = "registry+https://github.com/rust-lang/crates.io-index" 1638 - checksum = "a1a195ec8c9da26928f773888e0742ca3ca1040c6cd859c919c9f59c1954ab35" 1639 dependencies = [ 1640 "serde", 1641 "serde_spanned", ··· 1645 1646 [[package]] 1647 name = "toml_datetime" 1648 - version = "0.6.5" 1649 source = "registry+https://github.com/rust-lang/crates.io-index" 1650 - checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1" 1651 dependencies = [ 1652 "serde", 1653 ] 1654 1655 [[package]] 1656 name = "toml_edit" 1657 - version = "0.21.0" 1658 source = "registry+https://github.com/rust-lang/crates.io-index" 1659 - checksum = "d34d383cd00a163b4a5b85053df514d45bc330f6de7737edfe0a93311d1eaa03" 1660 dependencies = [ 1661 "indexmap", 1662 "serde", 1663 "serde_spanned", 1664 "toml_datetime", 1665 "winnow", 1666 ] 1667 1668 [[package]] 1669 name = "tower-service" 1670 - version = "0.3.2" 1671 source = "registry+https://github.com/rust-lang/crates.io-index" 1672 - checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" 1673 1674 [[package]] 1675 name = "tracing" 1676 - version = "0.1.40" 1677 source = "registry+https://github.com/rust-lang/crates.io-index" 1678 - checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" 1679 dependencies = [ 1680 "log", 1681 "pin-project-lite", ··· 1684 1685 [[package]] 1686 name = "tracing-core" 1687 - version = "0.1.32" 1688 source = "registry+https://github.com/rust-lang/crates.io-index" 1689 - checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" 1690 dependencies = [ 1691 "once_cell", 1692 ] ··· 1699 1700 [[package]] 1701 name = "tungstenite" 1702 - version = "0.20.1" 1703 source = "registry+https://github.com/rust-lang/crates.io-index" 1704 - checksum = "9e3dac10fd62eaf6617d3a904ae222845979aec67c615d1c842b4002c7666fb9" 1705 dependencies = [ 1706 "byteorder", 1707 "bytes", 1708 "data-encoding", 1709 - "http", 1710 "httparse", 1711 "log", 1712 - "rand", 1713 "sha1", 1714 "thiserror", 1715 "url", ··· 1718 1719 [[package]] 1720 name = "typenum" 1721 - version = "1.17.0" 1722 source = "registry+https://github.com/rust-lang/crates.io-index" 1723 - checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" 1724 1725 [[package]] 1726 name = "unicase" 1727 - version = "2.7.0" 1728 source = "registry+https://github.com/rust-lang/crates.io-index" 1729 - checksum = "f7d2d4dafb69621809a81864c9c1b864479e1235c0dd4e199924b9742439ed89" 1730 - dependencies = [ 1731 - "version_check", 1732 - ] 1733 1734 [[package]] 1735 name = "unicode-bidi" 1736 - version = "0.3.14" 1737 source = "registry+https://github.com/rust-lang/crates.io-index" 1738 - checksum = "6f2528f27a9eb2b21e69c95319b30bd0efd85d09c379741b0f78ea1d86be2416" 1739 1740 [[package]] 1741 name = "unicode-ident" 1742 - version = "1.0.12" 1743 source = "registry+https://github.com/rust-lang/crates.io-index" 1744 - checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" 1745 1746 [[package]] 1747 name = "unicode-normalization" 1748 - version = "0.1.22" 1749 source = "registry+https://github.com/rust-lang/crates.io-index" 1750 - checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" 1751 dependencies = [ 1752 "tinyvec", 1753 ] 1754 1755 [[package]] 1756 name = "url" 1757 - version = "2.5.0" 1758 source = "registry+https://github.com/rust-lang/crates.io-index" 1759 - checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633" 1760 dependencies = [ 1761 "form_urlencoded", 1762 "idna", ··· 1770 checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" 1771 1772 [[package]] 1773 name = "utf8parse" 1774 - version = "0.2.1" 1775 source = "registry+https://github.com/rust-lang/crates.io-index" 1776 - checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" 1777 1778 [[package]] 1779 name = "vcpkg" ··· 1783 1784 [[package]] 1785 name = "version_check" 1786 - version = "0.9.4" 1787 source = "registry+https://github.com/rust-lang/crates.io-index" 1788 - checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" 1789 1790 [[package]] 1791 name = "want" ··· 1798 1799 [[package]] 1800 name = "warp" 1801 - version = "0.3.6" 1802 source = "registry+https://github.com/rust-lang/crates.io-index" 1803 - checksum = "c1e92e22e03ff1230c03a1a8ee37d2f89cd489e2e541b7550d6afad96faed169" 1804 dependencies = [ 1805 "bytes", 1806 "futures-channel", 1807 "futures-util", 1808 "headers", 1809 - "http", 1810 "hyper", 1811 "log", 1812 "mime", ··· 1814 "multer", 1815 "percent-encoding", 1816 "pin-project", 1817 - "rustls-pemfile", 1818 "scoped-tls", 1819 "serde", 1820 "serde_json", 1821 "serde_urlencoded", 1822 "tokio", 1823 - "tokio-stream", 1824 "tokio-tungstenite", 1825 "tokio-util", 1826 "tower-service", ··· 1834 checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" 1835 1836 [[package]] 1837 name = "wasm-bindgen" 1838 - version = "0.2.89" 1839 source = "registry+https://github.com/rust-lang/crates.io-index" 1840 - checksum = "0ed0d4f68a3015cc185aff4db9506a015f4b96f95303897bfa23f846db54064e" 1841 dependencies = [ 1842 "cfg-if", 1843 "wasm-bindgen-macro", 1844 ] 1845 1846 [[package]] 1847 name = "wasm-bindgen-backend" 1848 - version = "0.2.89" 1849 source = "registry+https://github.com/rust-lang/crates.io-index" 1850 - checksum = "1b56f625e64f3a1084ded111c4d5f477df9f8c92df113852fa5a374dbda78826" 1851 dependencies = [ 1852 "bumpalo", 1853 "log", 1854 - "once_cell", 1855 "proc-macro2", 1856 "quote", 1857 "syn", ··· 1860 1861 [[package]] 1862 name = "wasm-bindgen-macro" 1863 - version = "0.2.89" 1864 source = "registry+https://github.com/rust-lang/crates.io-index" 1865 - checksum = "0162dbf37223cd2afce98f3d0785506dcb8d266223983e4b5b525859e6e182b2" 1866 dependencies = [ 1867 "quote", 1868 "wasm-bindgen-macro-support", ··· 1870 1871 [[package]] 1872 name = "wasm-bindgen-macro-support" 1873 - version = "0.2.89" 1874 source = "registry+https://github.com/rust-lang/crates.io-index" 1875 - checksum = "f0eb82fcb7930ae6219a7ecfd55b217f5f0893484b7a13022ebb2b2bf20b5283" 1876 dependencies = [ 1877 "proc-macro2", 1878 "quote", ··· 1883 1884 [[package]] 1885 name = "wasm-bindgen-shared" 1886 - version = "0.2.89" 1887 source = "registry+https://github.com/rust-lang/crates.io-index" 1888 - checksum = "7ab9b36309365056cd639da3134bf87fa8f3d86008abf99e612384a6eecd459f" 1889 1890 [[package]] 1891 name = "web-sys" 1892 - version = "0.3.66" 1893 source = "registry+https://github.com/rust-lang/crates.io-index" 1894 - checksum = "50c24a44ec86bb68fbecd1b3efed7e85ea5621b39b35ef2766b66cd984f8010f" 1895 dependencies = [ 1896 "js-sys", 1897 "wasm-bindgen", ··· 1899 1900 [[package]] 1901 name = "whoami" 1902 - version = "1.4.1" 1903 source = "registry+https://github.com/rust-lang/crates.io-index" 1904 - checksum = "22fc3756b8a9133049b26c7f61ab35416c130e8c09b660f5b3958b446f52cc50" 1905 dependencies = [ 1906 - "wasm-bindgen", 1907 "web-sys", 1908 ] 1909 1910 [[package]] 1911 - name = "winapi" 1912 - version = "0.3.9" 1913 source = "registry+https://github.com/rust-lang/crates.io-index" 1914 - checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" 1915 dependencies = [ 1916 - "winapi-i686-pc-windows-gnu", 1917 - "winapi-x86_64-pc-windows-gnu", 1918 ] 1919 1920 [[package]] 1921 - name = "winapi-i686-pc-windows-gnu" 1922 - version = "0.4.0" 1923 source = "registry+https://github.com/rust-lang/crates.io-index" 1924 - checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" 1925 1926 [[package]] 1927 - name = "winapi-util" 1928 - version = "0.1.6" 1929 source = "registry+https://github.com/rust-lang/crates.io-index" 1930 - checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596" 1931 dependencies = [ 1932 - "winapi", 1933 ] 1934 1935 [[package]] 1936 - name = "winapi-x86_64-pc-windows-gnu" 1937 - version = "0.4.0" 1938 source = "registry+https://github.com/rust-lang/crates.io-index" 1939 - checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" 1940 1941 [[package]] 1942 - name = "windows-sys" 1943 - version = "0.48.0" 1944 source = "registry+https://github.com/rust-lang/crates.io-index" 1945 - checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" 1946 - dependencies = [ 1947 - "windows-targets 0.48.5", 1948 - ] 1949 1950 [[package]] 1951 - name = "windows-sys" 1952 - version = "0.52.0" 1953 source = "registry+https://github.com/rust-lang/crates.io-index" 1954 - checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" 1955 - dependencies = [ 1956 - "windows-targets 0.52.0", 1957 - ] 1958 1959 [[package]] 1960 - name = "windows-targets" 1961 - version = "0.48.5" 1962 source = "registry+https://github.com/rust-lang/crates.io-index" 1963 - checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" 1964 - dependencies = [ 1965 - "windows_aarch64_gnullvm 0.48.5", 1966 - "windows_aarch64_msvc 0.48.5", 1967 - "windows_i686_gnu 0.48.5", 1968 - "windows_i686_msvc 0.48.5", 1969 - "windows_x86_64_gnu 0.48.5", 1970 - "windows_x86_64_gnullvm 0.48.5", 1971 - "windows_x86_64_msvc 0.48.5", 1972 - ] 1973 1974 [[package]] 1975 - name = "windows-targets" 1976 - version = "0.52.0" 1977 source = "registry+https://github.com/rust-lang/crates.io-index" 1978 - checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd" 1979 - dependencies = [ 1980 - "windows_aarch64_gnullvm 0.52.0", 1981 - "windows_aarch64_msvc 0.52.0", 1982 - "windows_i686_gnu 0.52.0", 1983 - "windows_i686_msvc 0.52.0", 1984 - "windows_x86_64_gnu 0.52.0", 1985 - "windows_x86_64_gnullvm 0.52.0", 1986 - "windows_x86_64_msvc 0.52.0", 1987 - ] 1988 1989 [[package]] 1990 - name = "windows_aarch64_gnullvm" 1991 - version = "0.48.5" 1992 source = "registry+https://github.com/rust-lang/crates.io-index" 1993 - checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" 1994 1995 [[package]] 1996 - name = "windows_aarch64_gnullvm" 1997 - version = "0.52.0" 1998 source = "registry+https://github.com/rust-lang/crates.io-index" 1999 - checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea" 2000 2001 [[package]] 2002 - name = "windows_aarch64_msvc" 2003 - version = "0.48.5" 2004 source = "registry+https://github.com/rust-lang/crates.io-index" 2005 - checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" 2006 2007 [[package]] 2008 - name = "windows_aarch64_msvc" 2009 - version = "0.52.0" 2010 source = "registry+https://github.com/rust-lang/crates.io-index" 2011 - checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef" 2012 2013 [[package]] 2014 - name = "windows_i686_gnu" 2015 - version = "0.48.5" 2016 source = "registry+https://github.com/rust-lang/crates.io-index" 2017 - checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" 2018 2019 [[package]] 2020 - name = "windows_i686_gnu" 2021 - version = "0.52.0" 2022 source = "registry+https://github.com/rust-lang/crates.io-index" 2023 - checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313" 2024 2025 [[package]] 2026 - name = "windows_i686_msvc" 2027 - version = "0.48.5" 2028 source = "registry+https://github.com/rust-lang/crates.io-index" 2029 - checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" 2030 2031 [[package]] 2032 - name = "windows_i686_msvc" 2033 - version = "0.52.0" 2034 source = "registry+https://github.com/rust-lang/crates.io-index" 2035 - checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a" 2036 2037 [[package]] 2038 - name = "windows_x86_64_gnu" 2039 - version = "0.48.5" 2040 source = "registry+https://github.com/rust-lang/crates.io-index" 2041 - checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" 2042 2043 [[package]] 2044 - name = "windows_x86_64_gnu" 2045 - version = "0.52.0" 2046 source = "registry+https://github.com/rust-lang/crates.io-index" 2047 - checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd" 2048 2049 [[package]] 2050 - name = "windows_x86_64_gnullvm" 2051 - version = "0.48.5" 2052 source = "registry+https://github.com/rust-lang/crates.io-index" 2053 - checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" 2054 2055 [[package]] 2056 - name = "windows_x86_64_gnullvm" 2057 - version = "0.52.0" 2058 source = "registry+https://github.com/rust-lang/crates.io-index" 2059 - checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e" 2060 2061 [[package]] 2062 - name = "windows_x86_64_msvc" 2063 - version = "0.48.5" 2064 source = "registry+https://github.com/rust-lang/crates.io-index" 2065 - checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" 2066 2067 [[package]] 2068 - name = "windows_x86_64_msvc" 2069 - version = "0.52.0" 2070 source = "registry+https://github.com/rust-lang/crates.io-index" 2071 - checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04" 2072 2073 [[package]] 2074 - name = "winnow" 2075 - version = "0.5.31" 2076 source = "registry+https://github.com/rust-lang/crates.io-index" 2077 - checksum = "97a4882e6b134d6c28953a387571f1acdd3496830d5e36c5e3a1075580ea641c" 2078 dependencies = [ 2079 - "memchr", 2080 ]
··· 1 # This file is automatically @generated by Cargo. 2 # It is not intended for manual editing. 3 + version = 4 4 5 [[package]] 6 name = "addr2line" 7 + version = "0.24.2" 8 source = "registry+https://github.com/rust-lang/crates.io-index" 9 + checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1" 10 dependencies = [ 11 "gimli", 12 ] 13 14 [[package]] 15 + name = "adler2" 16 + version = "2.0.0" 17 source = "registry+https://github.com/rust-lang/crates.io-index" 18 + checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" 19 20 [[package]] 21 name = "aho-corasick" 22 + version = "1.1.3" 23 source = "registry+https://github.com/rust-lang/crates.io-index" 24 + checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" 25 dependencies = [ 26 "memchr", 27 ] 28 29 [[package]] 30 name = "anstream" 31 + version = "0.6.19" 32 source = "registry+https://github.com/rust-lang/crates.io-index" 33 + checksum = "301af1932e46185686725e0fad2f8f2aa7da69dd70bf6ecc44d6b703844a3933" 34 dependencies = [ 35 "anstyle", 36 "anstyle-parse", 37 "anstyle-query", 38 "anstyle-wincon", 39 "colorchoice", 40 + "is_terminal_polyfill", 41 "utf8parse", 42 ] 43 44 [[package]] 45 name = "anstyle" 46 + version = "1.0.11" 47 source = "registry+https://github.com/rust-lang/crates.io-index" 48 + checksum = "862ed96ca487e809f1c8e5a8447f6ee2cf102f846893800b20cebdf541fc6bbd" 49 50 [[package]] 51 name = "anstyle-parse" 52 + version = "0.2.7" 53 source = "registry+https://github.com/rust-lang/crates.io-index" 54 + checksum = "4e7644824f0aa2c7b9384579234ef10eb7efb6a0deb83f9630a49594dd9c15c2" 55 dependencies = [ 56 "utf8parse", 57 ] 58 59 [[package]] 60 name = "anstyle-query" 61 + version = "1.1.3" 62 source = "registry+https://github.com/rust-lang/crates.io-index" 63 + checksum = "6c8bdeb6047d8983be085bab0ba1472e6dc604e7041dbf6fcd5e71523014fae9" 64 dependencies = [ 65 + "windows-sys 0.59.0", 66 ] 67 68 [[package]] 69 name = "anstyle-wincon" 70 + version = "3.0.9" 71 source = "registry+https://github.com/rust-lang/crates.io-index" 72 + checksum = "403f75924867bb1033c59fbf0797484329750cfbe3c4325cd33127941fabc882" 73 dependencies = [ 74 "anstyle", 75 + "once_cell_polyfill", 76 + "windows-sys 0.59.0", 77 ] 78 79 [[package]] 80 name = "anyhow" 81 + version = "1.0.98" 82 source = "registry+https://github.com/rust-lang/crates.io-index" 83 + checksum = "e16d2d3311acee920a9eb8d33b8cbc1787ce4a264e85f964c2404b969bdcd487" 84 85 [[package]] 86 name = "async-trait" 87 + version = "0.1.88" 88 source = "registry+https://github.com/rust-lang/crates.io-index" 89 + checksum = "e539d3fca749fcee5236ab05e93a52867dd549cc157c8cb7f99595f3cedffdb5" 90 dependencies = [ 91 "proc-macro2", 92 "quote", ··· 95 96 [[package]] 97 name = "autocfg" 98 + version = "1.4.0" 99 source = "registry+https://github.com/rust-lang/crates.io-index" 100 + checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" 101 102 [[package]] 103 name = "backtrace" 104 + version = "0.3.75" 105 source = "registry+https://github.com/rust-lang/crates.io-index" 106 + checksum = "6806a6321ec58106fea15becdad98371e28d92ccbc7c8f1b3b6dd724fe8f1002" 107 dependencies = [ 108 "addr2line", 109 "cfg-if", 110 "libc", 111 "miniz_oxide", 112 "object", 113 "rustc-demangle", 114 + "windows-targets", 115 ] 116 117 [[package]] 118 name = "base64" 119 + version = "0.21.7" 120 source = "registry+https://github.com/rust-lang/crates.io-index" 121 + checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" 122 + 123 + [[package]] 124 + name = "base64" 125 + version = "0.22.1" 126 + source = "registry+https://github.com/rust-lang/crates.io-index" 127 + checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" 128 129 [[package]] 130 name = "bb8" 131 + version = "0.8.6" 132 source = "registry+https://github.com/rust-lang/crates.io-index" 133 + checksum = "d89aabfae550a5c44b43ab941844ffcd2e993cb6900b342debf59e9ea74acdb8" 134 dependencies = [ 135 "async-trait", 136 "futures-util", 137 "parking_lot", 138 "tokio", ··· 146 147 [[package]] 148 name = "bitflags" 149 + version = "2.9.1" 150 source = "registry+https://github.com/rust-lang/crates.io-index" 151 + checksum = "1b8e56985ec62d17e9c1001dc89c88ecd7dc08e47eba5ec7c29c7b5eeecde967" 152 153 [[package]] 154 name = "block-buffer" ··· 161 162 [[package]] 163 name = "bumpalo" 164 + version = "3.18.1" 165 source = "registry+https://github.com/rust-lang/crates.io-index" 166 + checksum = "793db76d6187cd04dff33004d8e6c9cc4e05cd330500379d2394209271b4aeee" 167 168 [[package]] 169 name = "byteorder" ··· 173 174 [[package]] 175 name = "bytes" 176 + version = "1.10.1" 177 source = "registry+https://github.com/rust-lang/crates.io-index" 178 + checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a" 179 180 [[package]] 181 name = "cc" 182 + version = "1.2.26" 183 source = "registry+https://github.com/rust-lang/crates.io-index" 184 + checksum = "956a5e21988b87f372569b66183b78babf23ebc2e744b733e4350a752c4dafac" 185 dependencies = [ 186 + "shlex", 187 ] 188 189 [[package]] ··· 194 195 [[package]] 196 name = "clap" 197 + version = "4.5.39" 198 source = "registry+https://github.com/rust-lang/crates.io-index" 199 + checksum = "fd60e63e9be68e5fb56422e397cf9baddded06dae1d2e523401542383bc72a9f" 200 dependencies = [ 201 "clap_builder", 202 ] 203 204 [[package]] 205 name = "clap_builder" 206 + version = "4.5.39" 207 source = "registry+https://github.com/rust-lang/crates.io-index" 208 + checksum = "89cc6392a1f72bbeb820d71f32108f61fdaf18bc526e1d23954168a67759ef51" 209 dependencies = [ 210 "anstream", 211 "anstyle", ··· 215 216 [[package]] 217 name = "clap_lex" 218 + version = "0.7.4" 219 source = "registry+https://github.com/rust-lang/crates.io-index" 220 + checksum = "f46ad14479a25103f283c0f10005961cf086d8dc42205bb44c46ac563475dca6" 221 222 [[package]] 223 name = "colorchoice" 224 + version = "1.0.4" 225 source = "registry+https://github.com/rust-lang/crates.io-index" 226 + checksum = "b05b61dc5112cbb17e4b6cd61790d9845d13888356391624cbe7e41efeac1e75" 227 228 [[package]] 229 name = "common" ··· 258 259 [[package]] 260 name = "core-foundation-sys" 261 + version = "0.8.7" 262 source = "registry+https://github.com/rust-lang/crates.io-index" 263 + checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" 264 265 [[package]] 266 name = "cpufeatures" 267 + version = "0.2.17" 268 source = "registry+https://github.com/rust-lang/crates.io-index" 269 + checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" 270 dependencies = [ 271 "libc", 272 ] ··· 282 ] 283 284 [[package]] 285 + name = "darling" 286 + version = "0.20.11" 287 + source = "registry+https://github.com/rust-lang/crates.io-index" 288 + checksum = "fc7f46116c46ff9ab3eb1597a45688b6715c6e628b5c133e288e709a29bcb4ee" 289 + dependencies = [ 290 + "darling_core", 291 + "darling_macro", 292 + ] 293 + 294 + [[package]] 295 + name = "darling_core" 296 + version = "0.20.11" 297 + source = "registry+https://github.com/rust-lang/crates.io-index" 298 + checksum = "0d00b9596d185e565c2207a0b01f8bd1a135483d02d9b7b0a54b11da8d53412e" 299 + dependencies = [ 300 + "fnv", 301 + "ident_case", 302 + "proc-macro2", 303 + "quote", 304 + "strsim", 305 + "syn", 306 + ] 307 + 308 + [[package]] 309 + name = "darling_macro" 310 + version = "0.20.11" 311 + source = "registry+https://github.com/rust-lang/crates.io-index" 312 + checksum = "fc34b93ccb385b40dc71c6fceac4b2ad23662c7eeb248cf10d529b7e055b6ead" 313 + dependencies = [ 314 + "darling_core", 315 + "quote", 316 + "syn", 317 + ] 318 + 319 + [[package]] 320 name = "data-encoding" 321 + version = "2.9.0" 322 source = "registry+https://github.com/rust-lang/crates.io-index" 323 + checksum = "2a2330da5de22e8a3cb63252ce2abb30116bf5265e89c0e01bc17015ce30a476" 324 325 [[package]] 326 name = "deranged" 327 + version = "0.4.0" 328 source = "registry+https://github.com/rust-lang/crates.io-index" 329 + checksum = "9c9e6a11ca8224451684bc0d7d5a7adbf8f2fd6887261a1cfc3c0432f9d4068e" 330 dependencies = [ 331 "powerfmt", 332 ] 333 334 [[package]] 335 name = "diesel" 336 + version = "2.2.10" 337 source = "registry+https://github.com/rust-lang/crates.io-index" 338 + checksum = "ff3e1edb1f37b4953dd5176916347289ed43d7119cc2e6c7c3f7849ff44ea506" 339 dependencies = [ 340 + "bitflags", 341 "byteorder", 342 "diesel_derives", 343 "itoa", ··· 346 347 [[package]] 348 name = "diesel-async" 349 + version = "0.5.2" 350 source = "registry+https://github.com/rust-lang/crates.io-index" 351 + checksum = "51a307ac00f7c23f526a04a77761a0519b9f0eb2838ebf5b905a58580095bdcb" 352 dependencies = [ 353 "async-trait", 354 "bb8", ··· 361 362 [[package]] 363 name = "diesel_derives" 364 + version = "2.2.5" 365 source = "registry+https://github.com/rust-lang/crates.io-index" 366 + checksum = "68d4216021b3ea446fd2047f5c8f8fe6e98af34508a254a01e4d6bc1e844f84d" 367 dependencies = [ 368 "diesel_table_macro_syntax", 369 + "dsl_auto_type", 370 "proc-macro2", 371 "quote", 372 "syn", ··· 374 375 [[package]] 376 name = "diesel_table_macro_syntax" 377 + version = "0.2.0" 378 source = "registry+https://github.com/rust-lang/crates.io-index" 379 + checksum = "209c735641a413bc68c4923a9d6ad4bcb3ca306b794edaa7eb0b3228a99ffb25" 380 dependencies = [ 381 "syn", 382 ] ··· 393 ] 394 395 [[package]] 396 + name = "displaydoc" 397 + version = "0.2.5" 398 + source = "registry+https://github.com/rust-lang/crates.io-index" 399 + checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" 400 + dependencies = [ 401 + "proc-macro2", 402 + "quote", 403 + "syn", 404 + ] 405 + 406 + [[package]] 407 + name = "dsl_auto_type" 408 + version = "0.1.3" 409 + source = "registry+https://github.com/rust-lang/crates.io-index" 410 + checksum = "139ae9aca7527f85f26dd76483eb38533fd84bd571065da1739656ef71c5ff5b" 411 + dependencies = [ 412 + "darling", 413 + "either", 414 + "heck", 415 + "proc-macro2", 416 + "quote", 417 + "syn", 418 + ] 419 + 420 + [[package]] 421 name = "dtoa" 422 + version = "1.0.10" 423 + source = "registry+https://github.com/rust-lang/crates.io-index" 424 + checksum = "d6add3b8cff394282be81f3fc1a0605db594ed69890078ca6e2cab1c408bcf04" 425 + 426 + [[package]] 427 + name = "either" 428 + version = "1.15.0" 429 source = "registry+https://github.com/rust-lang/crates.io-index" 430 + checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" 431 432 [[package]] 433 name = "encoding_rs" 434 + version = "0.8.35" 435 source = "registry+https://github.com/rust-lang/crates.io-index" 436 + checksum = "75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3" 437 dependencies = [ 438 "cfg-if", 439 ] 440 441 [[package]] 442 name = "env_logger" 443 + version = "0.10.2" 444 source = "registry+https://github.com/rust-lang/crates.io-index" 445 + checksum = "4cd405aab171cb85d6735e5c8d9db038c17d3ca007a4d2c25f337935c3d90580" 446 dependencies = [ 447 "humantime", 448 "is-terminal", ··· 453 454 [[package]] 455 name = "equivalent" 456 + version = "1.0.2" 457 source = "registry+https://github.com/rust-lang/crates.io-index" 458 + checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" 459 460 [[package]] 461 name = "errno" 462 + version = "0.3.12" 463 source = "registry+https://github.com/rust-lang/crates.io-index" 464 + checksum = "cea14ef9355e3beab063703aa9dab15afd25f0667c341310c1e5274bb1d0da18" 465 dependencies = [ 466 "libc", 467 + "windows-sys 0.59.0", 468 ] 469 470 [[package]] ··· 475 476 [[package]] 477 name = "fastrand" 478 + version = "2.3.0" 479 source = "registry+https://github.com/rust-lang/crates.io-index" 480 + checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" 481 482 [[package]] 483 name = "fnv" ··· 510 ] 511 512 [[package]] 513 name = "futures-channel" 514 + version = "0.3.31" 515 source = "registry+https://github.com/rust-lang/crates.io-index" 516 + checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" 517 dependencies = [ 518 "futures-core", 519 "futures-sink", ··· 521 522 [[package]] 523 name = "futures-core" 524 + version = "0.3.31" 525 source = "registry+https://github.com/rust-lang/crates.io-index" 526 + checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" 527 528 [[package]] 529 name = "futures-macro" 530 + version = "0.3.31" 531 source = "registry+https://github.com/rust-lang/crates.io-index" 532 + checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" 533 dependencies = [ 534 "proc-macro2", 535 "quote", ··· 538 539 [[package]] 540 name = "futures-sink" 541 + version = "0.3.31" 542 source = "registry+https://github.com/rust-lang/crates.io-index" 543 + checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" 544 545 [[package]] 546 name = "futures-task" 547 + version = "0.3.31" 548 source = "registry+https://github.com/rust-lang/crates.io-index" 549 + checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" 550 551 [[package]] 552 name = "futures-util" 553 + version = "0.3.31" 554 source = "registry+https://github.com/rust-lang/crates.io-index" 555 + checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" 556 dependencies = [ 557 "futures-core", 558 "futures-macro", 559 "futures-sink", 560 "futures-task", 561 "pin-project-lite", 562 "pin-utils", 563 "slab", ··· 575 576 [[package]] 577 name = "getrandom" 578 + version = "0.2.16" 579 source = "registry+https://github.com/rust-lang/crates.io-index" 580 + checksum = "335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592" 581 dependencies = [ 582 "cfg-if", 583 "libc", 584 + "wasi 0.11.0+wasi-snapshot-preview1", 585 + ] 586 + 587 + [[package]] 588 + name = "getrandom" 589 + version = "0.3.3" 590 + source = "registry+https://github.com/rust-lang/crates.io-index" 591 + checksum = "26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4" 592 + dependencies = [ 593 + "cfg-if", 594 + "libc", 595 + "r-efi", 596 + "wasi 0.14.2+wasi-0.2.4", 597 ] 598 599 [[package]] 600 name = "gimli" 601 + version = "0.31.1" 602 source = "registry+https://github.com/rust-lang/crates.io-index" 603 + checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" 604 605 [[package]] 606 name = "h2" 607 + version = "0.3.26" 608 source = "registry+https://github.com/rust-lang/crates.io-index" 609 + checksum = "81fe527a889e1532da5c525686d96d4c2e74cdd345badf8dfef9f6b39dd5f5e8" 610 dependencies = [ 611 "bytes", 612 "fnv", 613 "futures-core", 614 "futures-sink", 615 "futures-util", 616 + "http 0.2.12", 617 "indexmap", 618 "slab", 619 "tokio", ··· 623 624 [[package]] 625 name = "hashbrown" 626 + version = "0.15.4" 627 source = "registry+https://github.com/rust-lang/crates.io-index" 628 + checksum = "5971ac85611da7067dbfcabef3c70ebb5606018acd9e2a3903a0da507521e0d5" 629 630 [[package]] 631 name = "headers" ··· 633 source = "registry+https://github.com/rust-lang/crates.io-index" 634 checksum = "06683b93020a07e3dbcf5f8c0f6d40080d725bea7936fc01ad345c01b97dc270" 635 dependencies = [ 636 + "base64 0.21.7", 637 "bytes", 638 "headers-core", 639 + "http 0.2.12", 640 "httpdate", 641 "mime", 642 "sha1", ··· 648 source = "registry+https://github.com/rust-lang/crates.io-index" 649 checksum = "e7f66481bfee273957b1f20485a4ff3362987f85b2c236580d81b4eb7a326429" 650 dependencies = [ 651 + "http 0.2.12", 652 ] 653 654 [[package]] 655 + name = "heck" 656 + version = "0.5.0" 657 + source = "registry+https://github.com/rust-lang/crates.io-index" 658 + checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" 659 + 660 + [[package]] 661 name = "hermit-abi" 662 + version = "0.5.1" 663 source = "registry+https://github.com/rust-lang/crates.io-index" 664 + checksum = "f154ce46856750ed433c8649605bf7ed2de3bc35fd9d2a9f30cddd873c80cb08" 665 666 [[package]] 667 name = "hmac" ··· 674 675 [[package]] 676 name = "http" 677 + version = "0.2.12" 678 + source = "registry+https://github.com/rust-lang/crates.io-index" 679 + checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1" 680 + dependencies = [ 681 + "bytes", 682 + "fnv", 683 + "itoa", 684 + ] 685 + 686 + [[package]] 687 + name = "http" 688 + version = "1.3.1" 689 source = "registry+https://github.com/rust-lang/crates.io-index" 690 + checksum = "f4a85d31aea989eead29a3aaf9e1115a180df8282431156e533de47660892565" 691 dependencies = [ 692 "bytes", 693 "fnv", ··· 701 checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" 702 dependencies = [ 703 "bytes", 704 + "http 0.2.12", 705 "pin-project-lite", 706 ] 707 708 [[package]] 709 name = "httparse" 710 + version = "1.10.1" 711 source = "registry+https://github.com/rust-lang/crates.io-index" 712 + checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87" 713 714 [[package]] 715 name = "httpdate" ··· 719 720 [[package]] 721 name = "humantime" 722 + version = "2.2.0" 723 source = "registry+https://github.com/rust-lang/crates.io-index" 724 + checksum = "9b112acc8b3adf4b107a8ec20977da0273a8c386765a3ec0229bd500a1443f9f" 725 726 [[package]] 727 name = "hyper" 728 + version = "0.14.32" 729 source = "registry+https://github.com/rust-lang/crates.io-index" 730 + checksum = "41dfc780fdec9373c01bae43289ea34c972e40ee3c9f6b3c8801a35f35586ce7" 731 dependencies = [ 732 "bytes", 733 "futures-channel", 734 "futures-core", 735 "futures-util", 736 "h2", 737 + "http 0.2.12", 738 "http-body", 739 "httparse", 740 "httpdate", ··· 748 ] 749 750 [[package]] 751 + name = "icu_collections" 752 + version = "2.0.0" 753 + source = "registry+https://github.com/rust-lang/crates.io-index" 754 + checksum = "200072f5d0e3614556f94a9930d5dc3e0662a652823904c3a75dc3b0af7fee47" 755 + dependencies = [ 756 + "displaydoc", 757 + "potential_utf", 758 + "yoke", 759 + "zerofrom", 760 + "zerovec", 761 + ] 762 + 763 + [[package]] 764 + name = "icu_locale_core" 765 + version = "2.0.0" 766 + source = "registry+https://github.com/rust-lang/crates.io-index" 767 + checksum = "0cde2700ccaed3872079a65fb1a78f6c0a36c91570f28755dda67bc8f7d9f00a" 768 + dependencies = [ 769 + "displaydoc", 770 + "litemap", 771 + "tinystr", 772 + "writeable", 773 + "zerovec", 774 + ] 775 + 776 + [[package]] 777 + name = "icu_normalizer" 778 + version = "2.0.0" 779 + source = "registry+https://github.com/rust-lang/crates.io-index" 780 + checksum = "436880e8e18df4d7bbc06d58432329d6458cc84531f7ac5f024e93deadb37979" 781 + dependencies = [ 782 + "displaydoc", 783 + "icu_collections", 784 + "icu_normalizer_data", 785 + "icu_properties", 786 + "icu_provider", 787 + "smallvec", 788 + "zerovec", 789 + ] 790 + 791 + [[package]] 792 + name = "icu_normalizer_data" 793 + version = "2.0.0" 794 + source = "registry+https://github.com/rust-lang/crates.io-index" 795 + checksum = "00210d6893afc98edb752b664b8890f0ef174c8adbb8d0be9710fa66fbbf72d3" 796 + 797 + [[package]] 798 + name = "icu_properties" 799 + version = "2.0.1" 800 + source = "registry+https://github.com/rust-lang/crates.io-index" 801 + checksum = "016c619c1eeb94efb86809b015c58f479963de65bdb6253345c1a1276f22e32b" 802 + dependencies = [ 803 + "displaydoc", 804 + "icu_collections", 805 + "icu_locale_core", 806 + "icu_properties_data", 807 + "icu_provider", 808 + "potential_utf", 809 + "zerotrie", 810 + "zerovec", 811 + ] 812 + 813 + [[package]] 814 + name = "icu_properties_data" 815 + version = "2.0.1" 816 + source = "registry+https://github.com/rust-lang/crates.io-index" 817 + checksum = "298459143998310acd25ffe6810ed544932242d3f07083eee1084d83a71bd632" 818 + 819 + [[package]] 820 + name = "icu_provider" 821 + version = "2.0.0" 822 + source = "registry+https://github.com/rust-lang/crates.io-index" 823 + checksum = "03c80da27b5f4187909049ee2d72f276f0d9f99a42c306bd0131ecfe04d8e5af" 824 + dependencies = [ 825 + "displaydoc", 826 + "icu_locale_core", 827 + "stable_deref_trait", 828 + "tinystr", 829 + "writeable", 830 + "yoke", 831 + "zerofrom", 832 + "zerotrie", 833 + "zerovec", 834 + ] 835 + 836 + [[package]] 837 + name = "ident_case" 838 + version = "1.0.1" 839 + source = "registry+https://github.com/rust-lang/crates.io-index" 840 + checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" 841 + 842 + [[package]] 843 name = "idna" 844 + version = "1.0.3" 845 source = "registry+https://github.com/rust-lang/crates.io-index" 846 + checksum = "686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e" 847 dependencies = [ 848 + "idna_adapter", 849 + "smallvec", 850 + "utf8_iter", 851 + ] 852 + 853 + [[package]] 854 + name = "idna_adapter" 855 + version = "1.2.1" 856 + source = "registry+https://github.com/rust-lang/crates.io-index" 857 + checksum = "3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344" 858 + dependencies = [ 859 + "icu_normalizer", 860 + "icu_properties", 861 ] 862 863 [[package]] 864 name = "indexmap" 865 + version = "2.9.0" 866 source = "registry+https://github.com/rust-lang/crates.io-index" 867 + checksum = "cea70ddb795996207ad57735b50c5982d8844f38ba9ee5f1aedcfb708a2aa11e" 868 dependencies = [ 869 "equivalent", 870 "hashbrown", ··· 872 873 [[package]] 874 name = "is-terminal" 875 + version = "0.4.16" 876 source = "registry+https://github.com/rust-lang/crates.io-index" 877 + checksum = "e04d7f318608d35d4b61ddd75cbdaee86b023ebe2bd5a66ee0915f0bf93095a9" 878 dependencies = [ 879 "hermit-abi", 880 + "libc", 881 + "windows-sys 0.59.0", 882 ] 883 884 [[package]] 885 + name = "is_terminal_polyfill" 886 + version = "1.70.1" 887 + source = "registry+https://github.com/rust-lang/crates.io-index" 888 + checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" 889 + 890 + [[package]] 891 name = "itoa" 892 + version = "1.0.15" 893 source = "registry+https://github.com/rust-lang/crates.io-index" 894 + checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" 895 896 [[package]] 897 name = "js-sys" 898 + version = "0.3.77" 899 source = "registry+https://github.com/rust-lang/crates.io-index" 900 + checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f" 901 dependencies = [ 902 + "once_cell", 903 "wasm-bindgen", 904 ] 905 906 [[package]] 907 + name = "libc" 908 + version = "0.2.172" 909 source = "registry+https://github.com/rust-lang/crates.io-index" 910 + checksum = "d750af042f7ef4f724306de029d18836c26c1765a54a6a3f094cbd23a7267ffa" 911 912 [[package]] 913 + name = "linux-raw-sys" 914 + version = "0.9.4" 915 source = "registry+https://github.com/rust-lang/crates.io-index" 916 + checksum = "cd945864f07fe9f5371a27ad7b52a172b4b499999f1d97574c9fa68373937e12" 917 918 [[package]] 919 + name = "litemap" 920 + version = "0.8.0" 921 source = "registry+https://github.com/rust-lang/crates.io-index" 922 + checksum = "241eaef5fd12c88705a01fc1066c48c4b36e0dd4377dcdc7ec3942cea7a69956" 923 924 [[package]] 925 name = "lock_api" 926 + version = "0.4.13" 927 source = "registry+https://github.com/rust-lang/crates.io-index" 928 + checksum = "96936507f153605bddfcda068dd804796c84324ed2510809e5b2a624c81da765" 929 dependencies = [ 930 "autocfg", 931 "scopeguard", ··· 933 934 [[package]] 935 name = "log" 936 + version = "0.4.27" 937 source = "registry+https://github.com/rust-lang/crates.io-index" 938 + checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94" 939 940 [[package]] 941 name = "lumen" ··· 964 965 [[package]] 966 name = "memchr" 967 + version = "2.7.4" 968 source = "registry+https://github.com/rust-lang/crates.io-index" 969 + checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" 970 971 [[package]] 972 name = "mime" ··· 976 977 [[package]] 978 name = "mime_guess" 979 + version = "2.0.5" 980 source = "registry+https://github.com/rust-lang/crates.io-index" 981 + checksum = "f7c44f8e672c00fe5308fa235f821cb4198414e1c77935c1ab6948d3fd78550e" 982 dependencies = [ 983 "mime", 984 "unicase", ··· 986 987 [[package]] 988 name = "miniz_oxide" 989 + version = "0.8.8" 990 source = "registry+https://github.com/rust-lang/crates.io-index" 991 + checksum = "3be647b768db090acb35d5ec5db2b0e1f1de11133ca123b9eacf5137868f892a" 992 dependencies = [ 993 + "adler2", 994 ] 995 996 [[package]] 997 name = "mio" 998 + version = "1.0.4" 999 source = "registry+https://github.com/rust-lang/crates.io-index" 1000 + checksum = "78bed444cc8a2160f01cbcf811ef18cac863ad68ae8ca62092e8db51d51c761c" 1001 dependencies = [ 1002 "libc", 1003 + "wasi 0.11.0+wasi-snapshot-preview1", 1004 + "windows-sys 0.59.0", 1005 ] 1006 1007 [[package]] ··· 1013 "bytes", 1014 "encoding_rs", 1015 "futures-util", 1016 + "http 0.2.12", 1017 "httparse", 1018 "log", 1019 "memchr", ··· 1024 1025 [[package]] 1026 name = "native-tls" 1027 + version = "0.2.14" 1028 source = "registry+https://github.com/rust-lang/crates.io-index" 1029 + checksum = "87de3442987e9dbec73158d5c715e7ad9072fda936bb03d19d7fa10e00520f0e" 1030 dependencies = [ 1031 "libc", 1032 "log", 1033 "openssl", ··· 1040 ] 1041 1042 [[package]] 1043 + name = "num-conv" 1044 + version = "0.1.0" 1045 source = "registry+https://github.com/rust-lang/crates.io-index" 1046 + checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" 1047 1048 [[package]] 1049 name = "object" 1050 + version = "0.36.7" 1051 source = "registry+https://github.com/rust-lang/crates.io-index" 1052 + checksum = "62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87" 1053 dependencies = [ 1054 "memchr", 1055 ] 1056 1057 [[package]] 1058 name = "once_cell" 1059 + version = "1.21.3" 1060 + source = "registry+https://github.com/rust-lang/crates.io-index" 1061 + checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" 1062 + 1063 + [[package]] 1064 + name = "once_cell_polyfill" 1065 + version = "1.70.1" 1066 source = "registry+https://github.com/rust-lang/crates.io-index" 1067 + checksum = "a4895175b425cb1f87721b59f0f286c2092bd4af812243672510e1ac53e2e0ad" 1068 1069 [[package]] 1070 name = "openssl" 1071 + version = "0.10.73" 1072 source = "registry+https://github.com/rust-lang/crates.io-index" 1073 + checksum = "8505734d46c8ab1e19a1dce3aef597ad87dcb4c37e7188231769bd6bd51cebf8" 1074 dependencies = [ 1075 + "bitflags", 1076 "cfg-if", 1077 "foreign-types", 1078 "libc", ··· 1094 1095 [[package]] 1096 name = "openssl-probe" 1097 + version = "0.1.6" 1098 source = "registry+https://github.com/rust-lang/crates.io-index" 1099 + checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e" 1100 1101 [[package]] 1102 name = "openssl-sys" 1103 + version = "0.9.109" 1104 source = "registry+https://github.com/rust-lang/crates.io-index" 1105 + checksum = "90096e2e47630d78b7d1c20952dc621f957103f8bc2c8359ec81290d75238571" 1106 dependencies = [ 1107 "cc", 1108 "libc", ··· 1112 1113 [[package]] 1114 name = "parking_lot" 1115 + version = "0.12.4" 1116 source = "registry+https://github.com/rust-lang/crates.io-index" 1117 + checksum = "70d58bf43669b5795d1576d0641cfb6fbb2057bf629506267a92807158584a13" 1118 dependencies = [ 1119 "lock_api", 1120 "parking_lot_core", ··· 1122 1123 [[package]] 1124 name = "parking_lot_core" 1125 + version = "0.9.11" 1126 source = "registry+https://github.com/rust-lang/crates.io-index" 1127 + checksum = "bc838d2a56b5b1a6c25f55575dfc605fabb63bb2365f6c2353ef9159aa69e4a5" 1128 dependencies = [ 1129 "cfg-if", 1130 "libc", 1131 "redox_syscall", 1132 "smallvec", 1133 + "windows-targets", 1134 ] 1135 1136 [[package]] ··· 1141 1142 [[package]] 1143 name = "phf" 1144 + version = "0.11.3" 1145 source = "registry+https://github.com/rust-lang/crates.io-index" 1146 + checksum = "1fd6780a80ae0c52cc120a26a1a42c1ae51b247a253e4e06113d23d2c2edd078" 1147 dependencies = [ 1148 "phf_shared", 1149 ] 1150 1151 [[package]] 1152 name = "phf_shared" 1153 + version = "0.11.3" 1154 source = "registry+https://github.com/rust-lang/crates.io-index" 1155 + checksum = "67eabc2ef2a60eb7faa00097bd1ffdb5bd28e62bf39990626a582201b7a754e5" 1156 dependencies = [ 1157 "siphasher", 1158 ] 1159 1160 [[package]] 1161 name = "pin-project" 1162 + version = "1.1.10" 1163 source = "registry+https://github.com/rust-lang/crates.io-index" 1164 + checksum = "677f1add503faace112b9f1373e43e9e054bfdd22ff1a63c1bc485eaec6a6a8a" 1165 dependencies = [ 1166 "pin-project-internal", 1167 ] 1168 1169 [[package]] 1170 name = "pin-project-internal" 1171 + version = "1.1.10" 1172 source = "registry+https://github.com/rust-lang/crates.io-index" 1173 + checksum = "6e918e4ff8c4549eb882f14b3a4bc8c8bc93de829416eacf579f1207a8fbf861" 1174 dependencies = [ 1175 "proc-macro2", 1176 "quote", ··· 1179 1180 [[package]] 1181 name = "pin-project-lite" 1182 + version = "0.2.16" 1183 source = "registry+https://github.com/rust-lang/crates.io-index" 1184 + checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" 1185 1186 [[package]] 1187 name = "pin-utils" ··· 1191 1192 [[package]] 1193 name = "pkg-config" 1194 + version = "0.3.32" 1195 source = "registry+https://github.com/rust-lang/crates.io-index" 1196 + checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" 1197 1198 [[package]] 1199 name = "postgres-native-tls" 1200 + version = "0.5.1" 1201 source = "registry+https://github.com/rust-lang/crates.io-index" 1202 + checksum = "a1f39498473c92f7b6820ae970382c1d83178a3454c618161cb772e8598d9f6f" 1203 dependencies = [ 1204 "native-tls", 1205 "tokio", 1206 "tokio-native-tls", ··· 1209 1210 [[package]] 1211 name = "postgres-protocol" 1212 + version = "0.6.8" 1213 source = "registry+https://github.com/rust-lang/crates.io-index" 1214 + checksum = "76ff0abab4a9b844b93ef7b81f1efc0a366062aaef2cd702c76256b5dc075c54" 1215 dependencies = [ 1216 + "base64 0.22.1", 1217 "byteorder", 1218 "bytes", 1219 "fallible-iterator", 1220 "hmac", 1221 "md-5", 1222 "memchr", 1223 + "rand 0.9.1", 1224 "sha2", 1225 "stringprep", 1226 ] 1227 1228 [[package]] 1229 name = "postgres-types" 1230 + version = "0.2.9" 1231 source = "registry+https://github.com/rust-lang/crates.io-index" 1232 + checksum = "613283563cd90e1dfc3518d548caee47e0e725455ed619881f5cf21f36de4b48" 1233 dependencies = [ 1234 "bytes", 1235 "fallible-iterator", ··· 1237 ] 1238 1239 [[package]] 1240 + name = "potential_utf" 1241 + version = "0.1.2" 1242 + source = "registry+https://github.com/rust-lang/crates.io-index" 1243 + checksum = "e5a7c30837279ca13e7c867e9e40053bc68740f988cb07f7ca6df43cc734b585" 1244 + dependencies = [ 1245 + "zerovec", 1246 + ] 1247 + 1248 + [[package]] 1249 name = "powerfmt" 1250 version = "0.2.0" 1251 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 1253 1254 [[package]] 1255 name = "ppv-lite86" 1256 + version = "0.2.21" 1257 source = "registry+https://github.com/rust-lang/crates.io-index" 1258 + checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" 1259 + dependencies = [ 1260 + "zerocopy", 1261 + ] 1262 1263 [[package]] 1264 name = "pretty_env_logger" ··· 1272 1273 [[package]] 1274 name = "proc-macro2" 1275 + version = "1.0.95" 1276 source = "registry+https://github.com/rust-lang/crates.io-index" 1277 + checksum = "02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778" 1278 dependencies = [ 1279 "unicode-ident", 1280 ] 1281 1282 [[package]] 1283 name = "prometheus-client" 1284 + version = "0.22.3" 1285 source = "registry+https://github.com/rust-lang/crates.io-index" 1286 + checksum = "504ee9ff529add891127c4827eb481bd69dc0ebc72e9a682e187db4caa60c3ca" 1287 dependencies = [ 1288 "dtoa", 1289 "itoa", ··· 1304 1305 [[package]] 1306 name = "quote" 1307 + version = "1.0.40" 1308 source = "registry+https://github.com/rust-lang/crates.io-index" 1309 + checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d" 1310 dependencies = [ 1311 "proc-macro2", 1312 ] 1313 1314 [[package]] 1315 + name = "r-efi" 1316 + version = "5.2.0" 1317 + source = "registry+https://github.com/rust-lang/crates.io-index" 1318 + checksum = "74765f6d916ee2faa39bc8e68e4f3ed8949b48cccdac59983d287a7cb71ce9c5" 1319 + 1320 + [[package]] 1321 name = "rand" 1322 version = "0.8.5" 1323 source = "registry+https://github.com/rust-lang/crates.io-index" 1324 checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" 1325 dependencies = [ 1326 "libc", 1327 + "rand_chacha 0.3.1", 1328 + "rand_core 0.6.4", 1329 + ] 1330 + 1331 + [[package]] 1332 + name = "rand" 1333 + version = "0.9.1" 1334 + source = "registry+https://github.com/rust-lang/crates.io-index" 1335 + checksum = "9fbfd9d094a40bf3ae768db9361049ace4c0e04a4fd6b359518bd7b73a73dd97" 1336 + dependencies = [ 1337 + "rand_chacha 0.9.0", 1338 + "rand_core 0.9.3", 1339 ] 1340 1341 [[package]] ··· 1345 checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" 1346 dependencies = [ 1347 "ppv-lite86", 1348 + "rand_core 0.6.4", 1349 + ] 1350 + 1351 + [[package]] 1352 + name = "rand_chacha" 1353 + version = "0.9.0" 1354 + source = "registry+https://github.com/rust-lang/crates.io-index" 1355 + checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" 1356 + dependencies = [ 1357 + "ppv-lite86", 1358 + "rand_core 0.9.3", 1359 ] 1360 1361 [[package]] ··· 1364 source = "registry+https://github.com/rust-lang/crates.io-index" 1365 checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" 1366 dependencies = [ 1367 + "getrandom 0.2.16", 1368 + ] 1369 + 1370 + [[package]] 1371 + name = "rand_core" 1372 + version = "0.9.3" 1373 + source = "registry+https://github.com/rust-lang/crates.io-index" 1374 + checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38" 1375 + dependencies = [ 1376 + "getrandom 0.3.3", 1377 ] 1378 1379 [[package]] 1380 name = "redox_syscall" 1381 + version = "0.5.12" 1382 source = "registry+https://github.com/rust-lang/crates.io-index" 1383 + checksum = "928fca9cf2aa042393a8325b9ead81d2f0df4cb12e1e24cef072922ccd99c5af" 1384 dependencies = [ 1385 + "bitflags", 1386 ] 1387 1388 [[package]] 1389 name = "regex" 1390 + version = "1.11.1" 1391 source = "registry+https://github.com/rust-lang/crates.io-index" 1392 + checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" 1393 dependencies = [ 1394 "aho-corasick", 1395 "memchr", ··· 1399 1400 [[package]] 1401 name = "regex-automata" 1402 + version = "0.4.9" 1403 source = "registry+https://github.com/rust-lang/crates.io-index" 1404 + checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908" 1405 dependencies = [ 1406 "aho-corasick", 1407 "memchr", ··· 1410 1411 [[package]] 1412 name = "regex-syntax" 1413 + version = "0.8.5" 1414 source = "registry+https://github.com/rust-lang/crates.io-index" 1415 + checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" 1416 1417 [[package]] 1418 name = "rustc-demangle" 1419 + version = "0.1.24" 1420 source = "registry+https://github.com/rust-lang/crates.io-index" 1421 + checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" 1422 1423 [[package]] 1424 name = "rustix" 1425 + version = "1.0.7" 1426 source = "registry+https://github.com/rust-lang/crates.io-index" 1427 + checksum = "c71e83d6afe7ff64890ec6b71d6a69bb8a610ab78ce364b3352876bb4c801266" 1428 dependencies = [ 1429 + "bitflags", 1430 "errno", 1431 "libc", 1432 "linux-raw-sys", 1433 + "windows-sys 0.59.0", 1434 ] 1435 1436 [[package]] 1437 name = "ryu" 1438 + version = "1.0.20" 1439 source = "registry+https://github.com/rust-lang/crates.io-index" 1440 + checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" 1441 1442 [[package]] 1443 name = "schannel" 1444 + version = "0.1.27" 1445 source = "registry+https://github.com/rust-lang/crates.io-index" 1446 + checksum = "1f29ebaa345f945cec9fbbc532eb307f0fdad8161f281b6369539c8d84876b3d" 1447 dependencies = [ 1448 + "windows-sys 0.59.0", 1449 ] 1450 1451 [[package]] 1452 name = "scoped-futures" 1453 + version = "0.1.4" 1454 source = "registry+https://github.com/rust-lang/crates.io-index" 1455 + checksum = "1b24aae2d0636530f359e9d5ef0c04669d11c5e756699b27a6a6d845d8329091" 1456 dependencies = [ 1457 + "pin-project-lite", 1458 ] 1459 1460 [[package]] ··· 1471 1472 [[package]] 1473 name = "security-framework" 1474 + version = "2.11.1" 1475 source = "registry+https://github.com/rust-lang/crates.io-index" 1476 + checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" 1477 dependencies = [ 1478 + "bitflags", 1479 "core-foundation", 1480 "core-foundation-sys", 1481 "libc", ··· 1484 1485 [[package]] 1486 name = "security-framework-sys" 1487 + version = "2.14.0" 1488 source = "registry+https://github.com/rust-lang/crates.io-index" 1489 + checksum = "49db231d56a190491cb4aeda9527f1ad45345af50b0851622a7adb8c03b01c32" 1490 dependencies = [ 1491 "core-foundation-sys", 1492 "libc", ··· 1494 1495 [[package]] 1496 name = "serde" 1497 + version = "1.0.219" 1498 source = "registry+https://github.com/rust-lang/crates.io-index" 1499 + checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6" 1500 dependencies = [ 1501 "serde_derive", 1502 ] 1503 1504 [[package]] 1505 name = "serde_derive" 1506 + version = "1.0.219" 1507 source = "registry+https://github.com/rust-lang/crates.io-index" 1508 + checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" 1509 dependencies = [ 1510 "proc-macro2", 1511 "quote", ··· 1514 1515 [[package]] 1516 name = "serde_json" 1517 + version = "1.0.140" 1518 source = "registry+https://github.com/rust-lang/crates.io-index" 1519 + checksum = "20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373" 1520 dependencies = [ 1521 "itoa", 1522 + "memchr", 1523 "ryu", 1524 "serde", 1525 ] 1526 1527 [[package]] 1528 name = "serde_spanned" 1529 + version = "0.6.9" 1530 source = "registry+https://github.com/rust-lang/crates.io-index" 1531 + checksum = "bf41e0cfaf7226dca15e8197172c295a782857fcb97fad1808a166870dee75a3" 1532 dependencies = [ 1533 "serde", 1534 ] ··· 1558 1559 [[package]] 1560 name = "sha2" 1561 + version = "0.10.9" 1562 source = "registry+https://github.com/rust-lang/crates.io-index" 1563 + checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" 1564 dependencies = [ 1565 "cfg-if", 1566 "cpufeatures", ··· 1568 ] 1569 1570 [[package]] 1571 + name = "shlex" 1572 + version = "1.3.0" 1573 + source = "registry+https://github.com/rust-lang/crates.io-index" 1574 + checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" 1575 + 1576 + [[package]] 1577 name = "signal-hook-registry" 1578 + version = "1.4.5" 1579 source = "registry+https://github.com/rust-lang/crates.io-index" 1580 + checksum = "9203b8055f63a2a00e2f593bb0510367fe707d7ff1e5c872de2f537b339e5410" 1581 dependencies = [ 1582 "libc", 1583 ] 1584 1585 [[package]] 1586 name = "siphasher" 1587 + version = "1.0.1" 1588 source = "registry+https://github.com/rust-lang/crates.io-index" 1589 + checksum = "56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d" 1590 1591 [[package]] 1592 name = "slab" ··· 1599 1600 [[package]] 1601 name = "smallvec" 1602 + version = "1.15.1" 1603 source = "registry+https://github.com/rust-lang/crates.io-index" 1604 + checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" 1605 1606 [[package]] 1607 name = "socket2" 1608 + version = "0.5.10" 1609 source = "registry+https://github.com/rust-lang/crates.io-index" 1610 + checksum = "e22376abed350d73dd1cd119b57ffccad95b4e585a7cda43e286245ce23c0678" 1611 dependencies = [ 1612 "libc", 1613 + "windows-sys 0.52.0", 1614 ] 1615 1616 [[package]] ··· 1618 version = "0.9.8" 1619 source = "registry+https://github.com/rust-lang/crates.io-index" 1620 checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" 1621 + 1622 + [[package]] 1623 + name = "stable_deref_trait" 1624 + version = "1.2.0" 1625 + source = "registry+https://github.com/rust-lang/crates.io-index" 1626 + checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" 1627 1628 [[package]] 1629 name = "stringprep" 1630 + version = "0.1.5" 1631 source = "registry+https://github.com/rust-lang/crates.io-index" 1632 + checksum = "7b4df3d392d81bd458a8a621b8bffbd2302a12ffe288a9d931670948749463b1" 1633 dependencies = [ 1634 "unicode-bidi", 1635 "unicode-normalization", 1636 + "unicode-properties", 1637 ] 1638 1639 [[package]] 1640 name = "strsim" 1641 + version = "0.11.1" 1642 source = "registry+https://github.com/rust-lang/crates.io-index" 1643 + checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" 1644 1645 [[package]] 1646 name = "subtle" 1647 + version = "2.6.1" 1648 source = "registry+https://github.com/rust-lang/crates.io-index" 1649 + checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" 1650 1651 [[package]] 1652 name = "syn" 1653 + version = "2.0.101" 1654 source = "registry+https://github.com/rust-lang/crates.io-index" 1655 + checksum = "8ce2b7fc941b3a24138a0a7cf8e858bfc6a992e7978a068a5c760deb0ed43caf" 1656 dependencies = [ 1657 "proc-macro2", 1658 "quote", ··· 1660 ] 1661 1662 [[package]] 1663 + name = "synstructure" 1664 + version = "0.13.2" 1665 + source = "registry+https://github.com/rust-lang/crates.io-index" 1666 + checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" 1667 + dependencies = [ 1668 + "proc-macro2", 1669 + "quote", 1670 + "syn", 1671 + ] 1672 + 1673 + [[package]] 1674 name = "tempfile" 1675 + version = "3.20.0" 1676 source = "registry+https://github.com/rust-lang/crates.io-index" 1677 + checksum = "e8a64e3985349f2441a1a9ef0b853f869006c3855f2cda6862a94d26ebb9d6a1" 1678 dependencies = [ 1679 "fastrand", 1680 + "getrandom 0.3.3", 1681 + "once_cell", 1682 "rustix", 1683 + "windows-sys 0.59.0", 1684 ] 1685 1686 [[package]] 1687 name = "termcolor" 1688 + version = "1.4.1" 1689 source = "registry+https://github.com/rust-lang/crates.io-index" 1690 + checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755" 1691 dependencies = [ 1692 "winapi-util", 1693 ] 1694 1695 [[package]] 1696 name = "thiserror" 1697 + version = "1.0.69" 1698 source = "registry+https://github.com/rust-lang/crates.io-index" 1699 + checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" 1700 dependencies = [ 1701 "thiserror-impl", 1702 ] 1703 1704 [[package]] 1705 name = "thiserror-impl" 1706 + version = "1.0.69" 1707 source = "registry+https://github.com/rust-lang/crates.io-index" 1708 + checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" 1709 dependencies = [ 1710 "proc-macro2", 1711 "quote", ··· 1714 1715 [[package]] 1716 name = "time" 1717 + version = "0.3.41" 1718 source = "registry+https://github.com/rust-lang/crates.io-index" 1719 + checksum = "8a7619e19bc266e0f9c5e6686659d394bc57973859340060a69221e57dbc0c40" 1720 dependencies = [ 1721 "deranged", 1722 + "num-conv", 1723 "powerfmt", 1724 "serde", 1725 "time-core", ··· 1728 1729 [[package]] 1730 name = "time-core" 1731 + version = "0.1.4" 1732 source = "registry+https://github.com/rust-lang/crates.io-index" 1733 + checksum = "c9e9a38711f559d9e3ce1cdb06dd7c5b8ea546bc90052da6d06bb76da74bb07c" 1734 1735 [[package]] 1736 name = "time-macros" 1737 + version = "0.2.22" 1738 source = "registry+https://github.com/rust-lang/crates.io-index" 1739 + checksum = "3526739392ec93fd8b359c8e98514cb3e8e021beb4e5f597b00a0221f8ed8a49" 1740 dependencies = [ 1741 + "num-conv", 1742 "time-core", 1743 ] 1744 1745 [[package]] 1746 + name = "tinystr" 1747 + version = "0.8.1" 1748 + source = "registry+https://github.com/rust-lang/crates.io-index" 1749 + checksum = "5d4f6d1145dcb577acf783d4e601bc1d76a13337bb54e6233add580b07344c8b" 1750 + dependencies = [ 1751 + "displaydoc", 1752 + "zerovec", 1753 + ] 1754 + 1755 + [[package]] 1756 name = "tinyvec" 1757 + version = "1.9.0" 1758 source = "registry+https://github.com/rust-lang/crates.io-index" 1759 + checksum = "09b3661f17e86524eccd4371ab0429194e0d7c008abb45f7a7495b1719463c71" 1760 dependencies = [ 1761 "tinyvec_macros", 1762 ] ··· 1769 1770 [[package]] 1771 name = "tokio" 1772 + version = "1.45.1" 1773 source = "registry+https://github.com/rust-lang/crates.io-index" 1774 + checksum = "75ef51a33ef1da925cea3e4eb122833cb377c61439ca401b770f54902b806779" 1775 dependencies = [ 1776 "backtrace", 1777 "bytes", 1778 "libc", 1779 "mio", 1780 "parking_lot", 1781 "pin-project-lite", 1782 "signal-hook-registry", 1783 "socket2", 1784 "tokio-macros", 1785 + "windows-sys 0.52.0", 1786 ] 1787 1788 [[package]] 1789 name = "tokio-macros" 1790 + version = "2.5.0" 1791 source = "registry+https://github.com/rust-lang/crates.io-index" 1792 + checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8" 1793 dependencies = [ 1794 "proc-macro2", 1795 "quote", ··· 1808 1809 [[package]] 1810 name = "tokio-postgres" 1811 + version = "0.7.13" 1812 source = "registry+https://github.com/rust-lang/crates.io-index" 1813 + checksum = "6c95d533c83082bb6490e0189acaa0bbeef9084e60471b696ca6988cd0541fb0" 1814 dependencies = [ 1815 "async-trait", 1816 "byteorder", ··· 1825 "pin-project-lite", 1826 "postgres-protocol", 1827 "postgres-types", 1828 + "rand 0.9.1", 1829 "socket2", 1830 "tokio", 1831 "tokio-util", ··· 1833 ] 1834 1835 [[package]] 1836 name = "tokio-tungstenite" 1837 + version = "0.21.0" 1838 source = "registry+https://github.com/rust-lang/crates.io-index" 1839 + checksum = "c83b561d025642014097b66e6c1bb422783339e0909e4429cde4749d1990bc38" 1840 dependencies = [ 1841 "futures-util", 1842 "log", ··· 1846 1847 [[package]] 1848 name = "tokio-util" 1849 + version = "0.7.15" 1850 source = "registry+https://github.com/rust-lang/crates.io-index" 1851 + checksum = "66a539a9ad6d5d281510d5bd368c973d636c02dbf8a67300bfb6b950696ad7df" 1852 dependencies = [ 1853 "bytes", 1854 "futures-core", 1855 "futures-sink", 1856 "pin-project-lite", 1857 "tokio", 1858 ] 1859 1860 [[package]] 1861 name = "toml" 1862 + version = "0.8.23" 1863 source = "registry+https://github.com/rust-lang/crates.io-index" 1864 + checksum = "dc1beb996b9d83529a9e75c17a1686767d148d70663143c7854d8b4a09ced362" 1865 dependencies = [ 1866 "serde", 1867 "serde_spanned", ··· 1871 1872 [[package]] 1873 name = "toml_datetime" 1874 + version = "0.6.11" 1875 source = "registry+https://github.com/rust-lang/crates.io-index" 1876 + checksum = "22cddaf88f4fbc13c51aebbf5f8eceb5c7c5a9da2ac40a13519eb5b0a0e8f11c" 1877 dependencies = [ 1878 "serde", 1879 ] 1880 1881 [[package]] 1882 name = "toml_edit" 1883 + version = "0.22.27" 1884 source = "registry+https://github.com/rust-lang/crates.io-index" 1885 + checksum = "41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a" 1886 dependencies = [ 1887 "indexmap", 1888 "serde", 1889 "serde_spanned", 1890 "toml_datetime", 1891 + "toml_write", 1892 "winnow", 1893 ] 1894 1895 [[package]] 1896 + name = "toml_write" 1897 + version = "0.1.2" 1898 + source = "registry+https://github.com/rust-lang/crates.io-index" 1899 + checksum = "5d99f8c9a7727884afe522e9bd5edbfc91a3312b36a77b5fb8926e4c31a41801" 1900 + 1901 + [[package]] 1902 name = "tower-service" 1903 + version = "0.3.3" 1904 source = "registry+https://github.com/rust-lang/crates.io-index" 1905 + checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" 1906 1907 [[package]] 1908 name = "tracing" 1909 + version = "0.1.41" 1910 source = "registry+https://github.com/rust-lang/crates.io-index" 1911 + checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0" 1912 dependencies = [ 1913 "log", 1914 "pin-project-lite", ··· 1917 1918 [[package]] 1919 name = "tracing-core" 1920 + version = "0.1.34" 1921 source = "registry+https://github.com/rust-lang/crates.io-index" 1922 + checksum = "b9d12581f227e93f094d3af2ae690a574abb8a2b9b7a96e7cfe9647b2b617678" 1923 dependencies = [ 1924 "once_cell", 1925 ] ··· 1932 1933 [[package]] 1934 name = "tungstenite" 1935 + version = "0.21.0" 1936 source = "registry+https://github.com/rust-lang/crates.io-index" 1937 + checksum = "9ef1a641ea34f399a848dea702823bbecfb4c486f911735368f1f137cb8257e1" 1938 dependencies = [ 1939 "byteorder", 1940 "bytes", 1941 "data-encoding", 1942 + "http 1.3.1", 1943 "httparse", 1944 "log", 1945 + "rand 0.8.5", 1946 "sha1", 1947 "thiserror", 1948 "url", ··· 1951 1952 [[package]] 1953 name = "typenum" 1954 + version = "1.18.0" 1955 source = "registry+https://github.com/rust-lang/crates.io-index" 1956 + checksum = "1dccffe3ce07af9386bfd29e80c0ab1a8205a2fc34e4bcd40364df902cfa8f3f" 1957 1958 [[package]] 1959 name = "unicase" 1960 + version = "2.8.1" 1961 source = "registry+https://github.com/rust-lang/crates.io-index" 1962 + checksum = "75b844d17643ee918803943289730bec8aac480150456169e647ed0b576ba539" 1963 1964 [[package]] 1965 name = "unicode-bidi" 1966 + version = "0.3.18" 1967 source = "registry+https://github.com/rust-lang/crates.io-index" 1968 + checksum = "5c1cb5db39152898a79168971543b1cb5020dff7fe43c8dc468b0885f5e29df5" 1969 1970 [[package]] 1971 name = "unicode-ident" 1972 + version = "1.0.18" 1973 source = "registry+https://github.com/rust-lang/crates.io-index" 1974 + checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512" 1975 1976 [[package]] 1977 name = "unicode-normalization" 1978 + version = "0.1.24" 1979 source = "registry+https://github.com/rust-lang/crates.io-index" 1980 + checksum = "5033c97c4262335cded6d6fc3e5c18ab755e1a3dc96376350f3d8e9f009ad956" 1981 dependencies = [ 1982 "tinyvec", 1983 ] 1984 1985 [[package]] 1986 + name = "unicode-properties" 1987 + version = "0.1.3" 1988 + source = "registry+https://github.com/rust-lang/crates.io-index" 1989 + checksum = "e70f2a8b45122e719eb623c01822704c4e0907e7e426a05927e1a1cfff5b75d0" 1990 + 1991 + [[package]] 1992 name = "url" 1993 + version = "2.5.4" 1994 source = "registry+https://github.com/rust-lang/crates.io-index" 1995 + checksum = "32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60" 1996 dependencies = [ 1997 "form_urlencoded", 1998 "idna", ··· 2006 checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" 2007 2008 [[package]] 2009 + name = "utf8_iter" 2010 + version = "1.0.4" 2011 + source = "registry+https://github.com/rust-lang/crates.io-index" 2012 + checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" 2013 + 2014 + [[package]] 2015 name = "utf8parse" 2016 + version = "0.2.2" 2017 source = "registry+https://github.com/rust-lang/crates.io-index" 2018 + checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" 2019 2020 [[package]] 2021 name = "vcpkg" ··· 2025 2026 [[package]] 2027 name = "version_check" 2028 + version = "0.9.5" 2029 source = "registry+https://github.com/rust-lang/crates.io-index" 2030 + checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" 2031 2032 [[package]] 2033 name = "want" ··· 2040 2041 [[package]] 2042 name = "warp" 2043 + version = "0.3.7" 2044 source = "registry+https://github.com/rust-lang/crates.io-index" 2045 + checksum = "4378d202ff965b011c64817db11d5829506d3404edeadb61f190d111da3f231c" 2046 dependencies = [ 2047 "bytes", 2048 "futures-channel", 2049 "futures-util", 2050 "headers", 2051 + "http 0.2.12", 2052 "hyper", 2053 "log", 2054 "mime", ··· 2056 "multer", 2057 "percent-encoding", 2058 "pin-project", 2059 "scoped-tls", 2060 "serde", 2061 "serde_json", 2062 "serde_urlencoded", 2063 "tokio", 2064 "tokio-tungstenite", 2065 "tokio-util", 2066 "tower-service", ··· 2074 checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" 2075 2076 [[package]] 2077 + name = "wasi" 2078 + version = "0.14.2+wasi-0.2.4" 2079 + source = "registry+https://github.com/rust-lang/crates.io-index" 2080 + checksum = "9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3" 2081 + dependencies = [ 2082 + "wit-bindgen-rt", 2083 + ] 2084 + 2085 + [[package]] 2086 + name = "wasite" 2087 + version = "0.1.0" 2088 + source = "registry+https://github.com/rust-lang/crates.io-index" 2089 + checksum = "b8dad83b4f25e74f184f64c43b150b91efe7647395b42289f38e50566d82855b" 2090 + 2091 + [[package]] 2092 name = "wasm-bindgen" 2093 + version = "0.2.100" 2094 source = "registry+https://github.com/rust-lang/crates.io-index" 2095 + checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5" 2096 dependencies = [ 2097 "cfg-if", 2098 + "once_cell", 2099 "wasm-bindgen-macro", 2100 ] 2101 2102 [[package]] 2103 name = "wasm-bindgen-backend" 2104 + version = "0.2.100" 2105 source = "registry+https://github.com/rust-lang/crates.io-index" 2106 + checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6" 2107 dependencies = [ 2108 "bumpalo", 2109 "log", 2110 "proc-macro2", 2111 "quote", 2112 "syn", ··· 2115 2116 [[package]] 2117 name = "wasm-bindgen-macro" 2118 + version = "0.2.100" 2119 source = "registry+https://github.com/rust-lang/crates.io-index" 2120 + checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407" 2121 dependencies = [ 2122 "quote", 2123 "wasm-bindgen-macro-support", ··· 2125 2126 [[package]] 2127 name = "wasm-bindgen-macro-support" 2128 + version = "0.2.100" 2129 source = "registry+https://github.com/rust-lang/crates.io-index" 2130 + checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" 2131 dependencies = [ 2132 "proc-macro2", 2133 "quote", ··· 2138 2139 [[package]] 2140 name = "wasm-bindgen-shared" 2141 + version = "0.2.100" 2142 source = "registry+https://github.com/rust-lang/crates.io-index" 2143 + checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d" 2144 + dependencies = [ 2145 + "unicode-ident", 2146 + ] 2147 2148 [[package]] 2149 name = "web-sys" 2150 + version = "0.3.77" 2151 source = "registry+https://github.com/rust-lang/crates.io-index" 2152 + checksum = "33b6dd2ef9186f1f2072e409e99cd22a975331a6b3591b12c764e0e55c60d5d2" 2153 dependencies = [ 2154 "js-sys", 2155 "wasm-bindgen", ··· 2157 2158 [[package]] 2159 name = "whoami" 2160 + version = "1.6.0" 2161 source = "registry+https://github.com/rust-lang/crates.io-index" 2162 + checksum = "6994d13118ab492c3c80c1f81928718159254c53c472bf9ce36f8dae4add02a7" 2163 dependencies = [ 2164 + "redox_syscall", 2165 + "wasite", 2166 "web-sys", 2167 ] 2168 2169 [[package]] 2170 + name = "winapi-util" 2171 + version = "0.1.9" 2172 source = "registry+https://github.com/rust-lang/crates.io-index" 2173 + checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" 2174 dependencies = [ 2175 + "windows-sys 0.59.0", 2176 ] 2177 2178 [[package]] 2179 + name = "windows-sys" 2180 + version = "0.52.0" 2181 source = "registry+https://github.com/rust-lang/crates.io-index" 2182 + checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" 2183 + dependencies = [ 2184 + "windows-targets", 2185 + ] 2186 2187 [[package]] 2188 + name = "windows-sys" 2189 + version = "0.59.0" 2190 source = "registry+https://github.com/rust-lang/crates.io-index" 2191 + checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" 2192 dependencies = [ 2193 + "windows-targets", 2194 ] 2195 2196 [[package]] 2197 + name = "windows-targets" 2198 + version = "0.52.6" 2199 source = "registry+https://github.com/rust-lang/crates.io-index" 2200 + checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" 2201 + dependencies = [ 2202 + "windows_aarch64_gnullvm", 2203 + "windows_aarch64_msvc", 2204 + "windows_i686_gnu", 2205 + "windows_i686_gnullvm", 2206 + "windows_i686_msvc", 2207 + "windows_x86_64_gnu", 2208 + "windows_x86_64_gnullvm", 2209 + "windows_x86_64_msvc", 2210 + ] 2211 2212 [[package]] 2213 + name = "windows_aarch64_gnullvm" 2214 + version = "0.52.6" 2215 source = "registry+https://github.com/rust-lang/crates.io-index" 2216 + checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" 2217 2218 [[package]] 2219 + name = "windows_aarch64_msvc" 2220 + version = "0.52.6" 2221 source = "registry+https://github.com/rust-lang/crates.io-index" 2222 + checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" 2223 2224 [[package]] 2225 + name = "windows_i686_gnu" 2226 + version = "0.52.6" 2227 source = "registry+https://github.com/rust-lang/crates.io-index" 2228 + checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" 2229 2230 [[package]] 2231 + name = "windows_i686_gnullvm" 2232 + version = "0.52.6" 2233 source = "registry+https://github.com/rust-lang/crates.io-index" 2234 + checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" 2235 + 2236 + [[package]] 2237 + name = "windows_i686_msvc" 2238 + version = "0.52.6" 2239 + source = "registry+https://github.com/rust-lang/crates.io-index" 2240 + checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" 2241 2242 [[package]] 2243 + name = "windows_x86_64_gnu" 2244 + version = "0.52.6" 2245 source = "registry+https://github.com/rust-lang/crates.io-index" 2246 + checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" 2247 2248 [[package]] 2249 + name = "windows_x86_64_gnullvm" 2250 + version = "0.52.6" 2251 source = "registry+https://github.com/rust-lang/crates.io-index" 2252 + checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" 2253 2254 [[package]] 2255 + name = "windows_x86_64_msvc" 2256 + version = "0.52.6" 2257 source = "registry+https://github.com/rust-lang/crates.io-index" 2258 + checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" 2259 2260 [[package]] 2261 + name = "winnow" 2262 + version = "0.7.10" 2263 source = "registry+https://github.com/rust-lang/crates.io-index" 2264 + checksum = "c06928c8748d81b05c9be96aad92e1b6ff01833332f281e8cfca3be4b35fc9ec" 2265 + dependencies = [ 2266 + "memchr", 2267 + ] 2268 2269 [[package]] 2270 + name = "wit-bindgen-rt" 2271 + version = "0.39.0" 2272 source = "registry+https://github.com/rust-lang/crates.io-index" 2273 + checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1" 2274 + dependencies = [ 2275 + "bitflags", 2276 + ] 2277 2278 [[package]] 2279 + name = "writeable" 2280 + version = "0.6.1" 2281 source = "registry+https://github.com/rust-lang/crates.io-index" 2282 + checksum = "ea2f10b9bb0928dfb1b42b65e1f9e36f7f54dbdf08457afefb38afcdec4fa2bb" 2283 2284 [[package]] 2285 + name = "yoke" 2286 + version = "0.8.0" 2287 source = "registry+https://github.com/rust-lang/crates.io-index" 2288 + checksum = "5f41bb01b8226ef4bfd589436a297c53d118f65921786300e427be8d487695cc" 2289 + dependencies = [ 2290 + "serde", 2291 + "stable_deref_trait", 2292 + "yoke-derive", 2293 + "zerofrom", 2294 + ] 2295 2296 [[package]] 2297 + name = "yoke-derive" 2298 + version = "0.8.0" 2299 source = "registry+https://github.com/rust-lang/crates.io-index" 2300 + checksum = "38da3c9736e16c5d3c8c597a9aaa5d1fa565d0532ae05e27c24aa62fb32c0ab6" 2301 + dependencies = [ 2302 + "proc-macro2", 2303 + "quote", 2304 + "syn", 2305 + "synstructure", 2306 + ] 2307 2308 [[package]] 2309 + name = "zerocopy" 2310 + version = "0.8.25" 2311 source = "registry+https://github.com/rust-lang/crates.io-index" 2312 + checksum = "a1702d9583232ddb9174e01bb7c15a2ab8fb1bc6f227aa1233858c351a3ba0cb" 2313 + dependencies = [ 2314 + "zerocopy-derive", 2315 + ] 2316 2317 [[package]] 2318 + name = "zerocopy-derive" 2319 + version = "0.8.25" 2320 source = "registry+https://github.com/rust-lang/crates.io-index" 2321 + checksum = "28a6e20d751156648aa063f3800b706ee209a32c0b4d9f24be3d980b01be55ef" 2322 + dependencies = [ 2323 + "proc-macro2", 2324 + "quote", 2325 + "syn", 2326 + ] 2327 2328 [[package]] 2329 + name = "zerofrom" 2330 + version = "0.1.6" 2331 source = "registry+https://github.com/rust-lang/crates.io-index" 2332 + checksum = "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5" 2333 + dependencies = [ 2334 + "zerofrom-derive", 2335 + ] 2336 2337 [[package]] 2338 + name = "zerofrom-derive" 2339 + version = "0.1.6" 2340 source = "registry+https://github.com/rust-lang/crates.io-index" 2341 + checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" 2342 + dependencies = [ 2343 + "proc-macro2", 2344 + "quote", 2345 + "syn", 2346 + "synstructure", 2347 + ] 2348 2349 [[package]] 2350 + name = "zerotrie" 2351 + version = "0.2.2" 2352 source = "registry+https://github.com/rust-lang/crates.io-index" 2353 + checksum = "36f0bbd478583f79edad978b407914f61b2972f5af6fa089686016be8f9af595" 2354 + dependencies = [ 2355 + "displaydoc", 2356 + "yoke", 2357 + "zerofrom", 2358 + ] 2359 2360 [[package]] 2361 + name = "zerovec" 2362 + version = "0.11.2" 2363 source = "registry+https://github.com/rust-lang/crates.io-index" 2364 + checksum = "4a05eb080e015ba39cc9e23bbe5e7fb04d5fb040350f99f34e338d5fdd294428" 2365 + dependencies = [ 2366 + "yoke", 2367 + "zerofrom", 2368 + "zerovec-derive", 2369 + ] 2370 2371 [[package]] 2372 + name = "zerovec-derive" 2373 + version = "0.11.1" 2374 source = "registry+https://github.com/rust-lang/crates.io-index" 2375 + checksum = "5b96237efa0c878c64bd89c436f661be4e46b2f3eff1ebb976f7ef2321d2f58f" 2376 dependencies = [ 2377 + "proc-macro2", 2378 + "quote", 2379 + "syn", 2380 ]
+5 -6
Dockerfile
··· 1 - FROM rust:1.74.1-slim-buster 2 ARG DEBIAN_FRONTEND=noninteractive 3 RUN apt-get update && apt-get install -y --no-install-recommends --no-install-suggests ca-certificates pkg-config libssl-dev libpq-dev 4 ENV CARGO_REGISTRIES_CRATES_IO_PROTOCOL=sparse 5 6 RUN --mount=type=cache,target=$CARGO_HOME/registry \ 7 - cargo install diesel_cli --version 2.1.1 --no-default-features --features postgres 8 9 COPY common /lumen/common 10 COPY lumen /lumen/lumen 11 COPY Cargo.toml /lumen/ 12 RUN --mount=type=cache,target=$CARGO_HOME/registry,target=/lumen/target \ 13 - cd /lumen && cargo build --release && cp /lumen/target/release/lumen /root/ 14 15 - FROM debian:buster-slim 16 ARG DEBIAN_FRONTEND=noninteractive 17 RUN apt-get update && apt-get install -y --no-install-recommends --no-install-suggests openssl libpq5 && \ 18 - sed -i -e 's,\[ v3_req \],\[ v3_req \]\nextendedKeyUsage = serverAuth,' /etc/ssl/openssl.cnf 19 RUN mkdir /usr/lib/lumen/ 20 21 COPY --from=0 /usr/local/cargo/bin/diesel /usr/bin/diesel ··· 26 COPY config-example.toml docker-init.sh /lumen/ 27 RUN chmod a+x /lumen/docker-init.sh && chmod a+x /usr/bin/lumen 28 WORKDIR /lumen 29 - STOPSIGNAL SIGINT 30 CMD /lumen/docker-init.sh
··· 1 + FROM rust:1.87.0-slim-bookworm 2 ARG DEBIAN_FRONTEND=noninteractive 3 RUN apt-get update && apt-get install -y --no-install-recommends --no-install-suggests ca-certificates pkg-config libssl-dev libpq-dev 4 ENV CARGO_REGISTRIES_CRATES_IO_PROTOCOL=sparse 5 6 RUN --mount=type=cache,target=$CARGO_HOME/registry \ 7 + cargo install diesel_cli --version 2.2.10 --no-default-features --features postgres 8 9 COPY common /lumen/common 10 COPY lumen /lumen/lumen 11 COPY Cargo.toml /lumen/ 12 RUN --mount=type=cache,target=$CARGO_HOME/registry,target=/lumen/target \ 13 + cd /lumen && cargo build --release && cp /lumen/target/release/lumen /root/ 14 15 + FROM debian:bookworm-slim 16 ARG DEBIAN_FRONTEND=noninteractive 17 RUN apt-get update && apt-get install -y --no-install-recommends --no-install-suggests openssl libpq5 && \ 18 + sed -i -e 's,\[ v3_req \],\[ v3_req \]\nextendedKeyUsage = serverAuth,' /etc/ssl/openssl.cnf 19 RUN mkdir /usr/lib/lumen/ 20 21 COPY --from=0 /usr/local/cargo/bin/diesel /usr/bin/diesel ··· 26 COPY config-example.toml docker-init.sh /lumen/ 27 RUN chmod a+x /lumen/docker-init.sh && chmod a+x /usr/bin/lumen 28 WORKDIR /lumen 29 CMD /lumen/docker-init.sh
+26 -12
common/Cargo.toml
··· 7 publish = false 8 9 [dependencies] 10 - tokio = {version = "1.32", features = ["full"], optional = true} 11 - log = {version = "0.4", features = ["release_max_level_debug"]} 12 - serde = {version = "1.0", features = ["derive"]} 13 - postgres-native-tls = {version = "0.5", optional = true} 14 - native-tls = {version = "0.2", optional = true} 15 futures-util = "0.3" 16 toml = "0.8" 17 - warp = {version = "0.3", optional = true} 18 binascii = "0.1" 19 20 - tokio-postgres = {version = "0.7", default-features = false, optional = true} 21 - diesel = {version = "2.1", optional = true, default-features = false, features = ["postgres_backend", "time"]} 22 - time = {version = "0.3.31", optional = true} 23 - diesel-async = {version = "0.4.1", optional = true, features = ["postgres", "bb8"]} 24 anyhow = "1.0" 25 - prometheus-client = "0.22.0" 26 27 [features] 28 default = ["web", "db"] 29 web = ["warp"] 30 - db = ["tokio", "postgres-native-tls", "native-tls", "diesel", "diesel-async", "tokio-postgres", "time"]
··· 7 publish = false 8 9 [dependencies] 10 + tokio = { version = "1.39", features = ["full"], optional = true } 11 + log = { version = "0.4", features = ["release_max_level_debug"] } 12 + serde = { version = "1.0", features = ["derive"] } 13 + postgres-native-tls = { version = "0.5", optional = true } 14 + native-tls = { version = "0.2", optional = true } 15 futures-util = "0.3" 16 toml = "0.8" 17 + warp = { version = "0.3", optional = true } 18 binascii = "0.1" 19 20 + tokio-postgres = { version = "0.7", default-features = false, optional = true } 21 + diesel = { version = "2.2", optional = true, default-features = false, features = [ 22 + "postgres_backend", 23 + "time", 24 + ] } 25 + time = { version = "0.3.36", optional = true } 26 + diesel-async = { version = "0.5", optional = true, features = [ 27 + "postgres", 28 + "bb8", 29 + ] } 30 anyhow = "1.0" 31 + prometheus-client = "0.22" 32 33 [features] 34 default = ["web", "db"] 35 web = ["warp"] 36 + db = [ 37 + "tokio", 38 + "postgres-native-tls", 39 + "native-tls", 40 + "diesel", 41 + "diesel-async", 42 + "tokio-postgres", 43 + "time", 44 + ]
-2
common/migrations/2024-03-22-062826_func-ea64s/down.sql
··· 1 - ALTER TABLE funcs 2 - DROP COLUMN ea;
···
-2
common/migrations/2024-03-22-062826_func-ea64s/up.sql
··· 1 - ALTER TABLE funcs 2 - ADD COLUMN ea bigint DEFAULT NULL;
···
+7 -7
common/src/db/mod.rs
··· 135 } 136 137 pub async fn get_funcs( 138 - &self, funcs: &[crate::rpc::PatternId<'_>], 139 ) -> Result<Vec<Option<FunctionInfo>>, anyhow::Error> { 140 - let chksums: Vec<&[u8]> = funcs.iter().map(|v| v.data).collect(); 141 142 let rows: Vec<(String, i32, Vec<u8>, Vec<u8>)> = { 143 let conn = &mut self.diesel.get().await?; ··· 218 ) -> Result<i32, anyhow::Error> { 219 use schema::files::{chksum, id, table as files}; 220 221 - let hash = &funcs.input_md5[..]; 222 223 let conn = &mut self.diesel.get().await?; 224 ··· 265 dbs.select(db_id) 266 .filter(db_user.eq(user_id)) 267 .filter(db_file_id.eq(file_id)) 268 - .filter(file_path.eq(funcs.input_path)) 269 .filter(idb_path.eq(funcs.idb_path)) 270 }; 271 ··· 279 .values(vec![( 280 db_user.eq(user_id), 281 db_file_id.eq(file_id), 282 - file_path.eq(funcs.input_path), 283 idb_path.eq(funcs.idb_path), 284 )]) 285 .returning(db_id) ··· 315 for (idx, (func, &score)) in funcs.funcs.iter().zip(scores.iter()).enumerate() { 316 let name = func.name; 317 let len = func.func_len as i32; 318 - let chksum = func.pattern_id.data; 319 let md = func.func_data; 320 let score = score as i32; 321 ··· 418 ) -> Result<(), anyhow::Error> { 419 use schema::funcs::{chksum, table as funcs}; 420 421 - let chksums = req.calcrel_hashes.iter().map(|v| v.as_slice()).collect::<Vec<_>>(); 422 423 let conn = &mut self.diesel.get().await?; 424 let rows_modified =
··· 135 } 136 137 pub async fn get_funcs( 138 + &self, funcs: &[crate::rpc::PullMetadataFunc<'_>], 139 ) -> Result<Vec<Option<FunctionInfo>>, anyhow::Error> { 140 + let chksums: Vec<&[u8]> = funcs.iter().map(|v| v.mb_hash).collect(); 141 142 let rows: Vec<(String, i32, Vec<u8>, Vec<u8>)> = { 143 let conn = &mut self.diesel.get().await?; ··· 218 ) -> Result<i32, anyhow::Error> { 219 use schema::files::{chksum, id, table as files}; 220 221 + let hash = &funcs.md5[..]; 222 223 let conn = &mut self.diesel.get().await?; 224 ··· 265 dbs.select(db_id) 266 .filter(db_user.eq(user_id)) 267 .filter(db_file_id.eq(file_id)) 268 + .filter(file_path.eq(funcs.file_path)) 269 .filter(idb_path.eq(funcs.idb_path)) 270 }; 271 ··· 279 .values(vec![( 280 db_user.eq(user_id), 281 db_file_id.eq(file_id), 282 + file_path.eq(funcs.file_path), 283 idb_path.eq(funcs.idb_path), 284 )]) 285 .returning(db_id) ··· 315 for (idx, (func, &score)) in funcs.funcs.iter().zip(scores.iter()).enumerate() { 316 let name = func.name; 317 let len = func.func_len as i32; 318 + let chksum = func.hash; 319 let md = func.func_data; 320 let score = score as i32; 321 ··· 418 ) -> Result<(), anyhow::Error> { 419 use schema::funcs::{chksum, table as funcs}; 420 421 + let chksums = req.funcs.iter().map(|v| v.as_slice()).collect::<Vec<_>>(); 422 423 let conn = &mut self.diesel.get().await?; 424 let rows_modified =
+1 -10
common/src/db/schema_auto.rs
··· 3 diesel::table! { 4 dbs (id) { 5 id -> Int4, 6 - #[max_length = 260] 7 file_path -> Nullable<Varchar>, 8 - #[max_length = 260] 9 idb_path -> Nullable<Varchar>, 10 file_id -> Nullable<Int4>, 11 user_id -> Nullable<Int4>, ··· 30 rank -> Nullable<Int4>, 31 push_dt -> Nullable<Timestamptz>, 32 update_dt -> Nullable<Timestamptz>, 33 - ea -> Nullable<Int8>, 34 } 35 } 36 ··· 39 id -> Int4, 40 lic_id -> Nullable<Bytea>, 41 lic_data -> Nullable<Bytea>, 42 - #[max_length = 260] 43 hostname -> Nullable<Varchar>, 44 first_seen -> Nullable<Timestamptz>, 45 } ··· 49 diesel::joinable!(dbs -> users (user_id)); 50 diesel::joinable!(funcs -> dbs (db_id)); 51 52 - diesel::allow_tables_to_appear_in_same_query!( 53 - dbs, 54 - files, 55 - funcs, 56 - users, 57 - );
··· 3 diesel::table! { 4 dbs (id) { 5 id -> Int4, 6 file_path -> Nullable<Varchar>, 7 idb_path -> Nullable<Varchar>, 8 file_id -> Nullable<Int4>, 9 user_id -> Nullable<Int4>, ··· 28 rank -> Nullable<Int4>, 29 push_dt -> Nullable<Timestamptz>, 30 update_dt -> Nullable<Timestamptz>, 31 } 32 } 33 ··· 36 id -> Int4, 37 lic_id -> Nullable<Bytea>, 38 lic_data -> Nullable<Bytea>, 39 hostname -> Nullable<Varchar>, 40 first_seen -> Nullable<Timestamptz>, 41 } ··· 45 diesel::joinable!(dbs -> users (user_id)); 46 diesel::joinable!(funcs -> dbs (db_id)); 47 48 + diesel::allow_tables_to_appear_in_same_query!(dbs, files, funcs, users,);
+38 -35
common/src/rpc/messages.rs
··· 3 4 #[derive(Deserialize, Serialize)] 5 pub struct RpcFail<'a> { 6 - pub result: u32, 7 - pub error: &'a str, 8 } 9 10 #[derive(Serialize, Deserialize)] 11 pub struct RpcNotify<'a> { 12 - pub ty: u32, 13 - pub text: &'a str, 14 } 15 16 #[derive(Serialize, Deserialize, Debug)] ··· 21 22 #[derive(Serialize, Deserialize)] 23 pub struct RpcHello<'a> { 24 - pub client_version: u32, 25 pub license_data: &'a [u8], 26 pub lic_number: [u8; 6], 27 - pub record_conv: u32, 28 } 29 30 #[derive(Debug, Deserialize, Serialize, Clone)] 31 - pub struct PatternId<'a> { 32 - pub ty: u32, 33 - pub data: &'a [u8], 34 } 35 36 #[derive(Deserialize, Serialize)] 37 pub struct PullMetadata<'a> { 38 - pub flags: u32, 39 - pub keys: Cow<'a, [u32]>, 40 41 #[serde(borrow)] 42 - pub pattern_ids: Cow<'a, [PatternId<'a>]>, 43 } 44 45 #[derive(Deserialize, Serialize, Clone)] ··· 52 53 #[derive(Deserialize, Serialize)] 54 pub struct PullMetadataResult<'a> { 55 - pub codes: Cow<'a, [u32]>, 56 #[serde(borrow)] 57 pub funcs: Cow<'a, [PullMetadataResultFunc<'a>]>, 58 } ··· 62 pub name: &'a str, 63 pub func_len: u32, 64 pub func_data: &'a [u8], 65 - pub pattern_id: PatternId<'a>, 66 } 67 68 #[derive(Deserialize, Serialize)] 69 pub struct PushMetadata<'a> { 70 - pub flags: u32, 71 pub idb_path: &'a str, 72 - pub input_path: &'a str, 73 - pub input_md5: [u8; 16], 74 pub hostname: &'a str, 75 pub funcs: Cow<'a, [PushMetadataFunc<'a>]>, 76 - pub ea64s: Cow<'a, [u64]>, 77 } 78 79 #[derive(Deserialize, Serialize)] ··· 84 85 #[derive(Debug, Deserialize, Serialize)] 86 pub struct DelHistory<'a> { 87 - pub flags: u32, // =0x08 88 - pub license_ids: Cow<'a, [Cow<'a, str>]>, 89 - pub time_ranges: Cow<'a, [[u64; 2]]>, 90 - pub history_id_ranges: Cow<'a, [[u64; 2]]>, 91 - pub idbs: Cow<'a, [Cow<'a, str>]>, 92 - pub inputs: Cow<'a, [Cow<'a, str>]>, 93 - pub funcs: Cow<'a, [Cow<'a, str>]>, // funcs 94 - pub usernames: Cow<'a, [Cow<'a, str>]>, 95 - pub input_hashes: Cow<'a, [Cow<'a, [u8; 16]>]>, 96 - pub calcrel_hashes: Cow<'a, [Cow<'a, [u8; 16]>]>, 97 - pub push_id_ranges: Cow<'a, [[u64; 2]]>, 98 - pub max_entries: u64, 99 } 100 101 #[derive(Deserialize, Serialize)] 102 pub struct DelHistoryResult { 103 - pub ndeleted: u32, 104 } 105 106 #[derive(Debug, Deserialize, Serialize, Default)] ··· 122 #[derive(Debug, Deserialize, Serialize)] 123 pub struct GetFuncHistories<'a> { 124 #[serde(borrow)] 125 - pub funcs: Cow<'a, [PatternId<'a>]>, 126 - pub flags: u32, 127 } 128 129 #[derive(Debug, Deserialize, Serialize, Clone)] ··· 148 pub status: Cow<'a, [u32]>, 149 #[serde(borrow)] 150 pub funcs: Cow<'a, [FunctionHistories<'a>]>, 151 - pub authors: Cow<'a, [Cow<'a, str>]>, 152 - pub idb_paths: Cow<'a, [Cow<'a, str>]>, 153 }
··· 3 4 #[derive(Deserialize, Serialize)] 5 pub struct RpcFail<'a> { 6 + pub code: u32, 7 + pub message: &'a str, 8 } 9 10 #[derive(Serialize, Deserialize)] 11 pub struct RpcNotify<'a> { 12 + pub code: u32, 13 + pub msg: &'a str, 14 } 15 16 #[derive(Serialize, Deserialize, Debug)] ··· 21 22 #[derive(Serialize, Deserialize)] 23 pub struct RpcHello<'a> { 24 + pub protocol_version: u32, 25 pub license_data: &'a [u8], 26 pub lic_number: [u8; 6], 27 + pub unk2: u32, 28 } 29 30 #[derive(Debug, Deserialize, Serialize, Clone)] 31 + pub struct PullMetadataFunc<'a> { 32 + pub unk0: u32, 33 + pub mb_hash: &'a [u8], 34 } 35 36 #[derive(Deserialize, Serialize)] 37 pub struct PullMetadata<'a> { 38 + pub unk0: u32, 39 + pub unk1: Cow<'a, [u32]>, 40 41 #[serde(borrow)] 42 + pub funcs: Cow<'a, [PullMetadataFunc<'a>]>, 43 } 44 45 #[derive(Deserialize, Serialize, Clone)] ··· 52 53 #[derive(Deserialize, Serialize)] 54 pub struct PullMetadataResult<'a> { 55 + pub unk0: Cow<'a, [u32]>, 56 #[serde(borrow)] 57 pub funcs: Cow<'a, [PullMetadataResultFunc<'a>]>, 58 } ··· 62 pub name: &'a str, 63 pub func_len: u32, 64 pub func_data: &'a [u8], 65 + 66 + // PullMetadata's fields (tuple 'unk2') are similar to these two 67 + pub unk2: u32, 68 + pub hash: &'a [u8], 69 } 70 71 #[derive(Deserialize, Serialize)] 72 pub struct PushMetadata<'a> { 73 + pub unk0: u32, 74 pub idb_path: &'a str, 75 + pub file_path: &'a str, 76 + pub md5: [u8; 16], 77 pub hostname: &'a str, 78 pub funcs: Cow<'a, [PushMetadataFunc<'a>]>, 79 + pub unk1: Cow<'a, [u64]>, 80 } 81 82 #[derive(Deserialize, Serialize)] ··· 87 88 #[derive(Debug, Deserialize, Serialize)] 89 pub struct DelHistory<'a> { 90 + pub unk0: u32, // =0x08 91 + pub unk1: Cow<'a, [Cow<'a, str>]>, 92 + pub unk2: Cow<'a, [[u64; 2]]>, 93 + pub unk3: Cow<'a, [[u64; 2]]>, 94 + pub unk4: Cow<'a, [Cow<'a, str>]>, 95 + pub unk5: Cow<'a, [Cow<'a, str>]>, 96 + pub unk6: Cow<'a, [Cow<'a, str>]>, 97 + pub unk7: Cow<'a, [Cow<'a, str>]>, 98 + pub unk8: Cow<'a, [Cow<'a, [u8; 16]>]>, 99 + pub funcs: Cow<'a, [Cow<'a, [u8; 16]>]>, 100 + pub unk10: Cow<'a, [[u64; 2]]>, 101 + pub unk11: u64, 102 } 103 104 #[derive(Deserialize, Serialize)] 105 pub struct DelHistoryResult { 106 + pub deleted_mds: u32, 107 } 108 109 #[derive(Debug, Deserialize, Serialize, Default)] ··· 125 #[derive(Debug, Deserialize, Serialize)] 126 pub struct GetFuncHistories<'a> { 127 #[serde(borrow)] 128 + pub funcs: Cow<'a, [PullMetadataFunc<'a>]>, 129 + pub unk0: u32, 130 } 131 132 #[derive(Debug, Deserialize, Serialize, Clone)] ··· 151 pub status: Cow<'a, [u32]>, 152 #[serde(borrow)] 153 pub funcs: Cow<'a, [FunctionHistories<'a>]>, 154 + pub users: Cow<'a, [Cow<'a, str>]>, 155 + pub dbs: Cow<'a, [Cow<'a, str>]>, 156 }
+2 -2
common/src/rpc/mod.rs
··· 193 0x0c => RpcMessage::Notify(Self::deserialize_check(payload)?), 194 0x0d => { 195 let (hello, consumed) = de::from_slice::<messages::RpcHello>(payload)?; 196 - let creds = if payload.len() > consumed && hello.client_version > 2 { 197 let payload = &payload[consumed..]; 198 let (creds, consumed) = de::from_slice::<Creds>(payload)?; 199 if payload.len() != consumed { ··· 201 } 202 Some(creds) 203 } else { 204 - if hello.client_version > 2 || payload.len() != consumed { 205 trace!("Unexpected Hello msg: {payload:02x?}"); 206 } 207 None
··· 193 0x0c => RpcMessage::Notify(Self::deserialize_check(payload)?), 194 0x0d => { 195 let (hello, consumed) = de::from_slice::<messages::RpcHello>(payload)?; 196 + let creds = if payload.len() > consumed && hello.protocol_version > 2 { 197 let payload = &payload[consumed..]; 198 let (creds, consumed) = de::from_slice::<Creds>(payload)?; 199 if payload.len() != consumed { ··· 201 } 202 Some(creds) 203 } else { 204 + if hello.protocol_version > 2 || payload.len() != consumed { 205 trace!("Unexpected Hello msg: {payload:02x?}"); 206 } 207 None
+1 -1
common/src/web/api.rs
··· 111 in_files: &'a [Md5], 112 } 113 114 - let funcs = [crate::rpc::PatternId { ty: 1, data: &md5.0 }]; 115 116 let files_with = state.db.get_files_with_func(&md5.0[..]); 117 let files_info = state.db.get_funcs(&funcs);
··· 111 in_files: &'a [Md5], 112 } 113 114 + let funcs = [crate::rpc::PullMetadataFunc { unk0: 1, mb_hash: &md5.0 }]; 115 116 let files_with = state.db.get_files_with_func(&md5.0[..]); 117 let files_info = state.db.get_funcs(&funcs);
+6 -6
lumen/Cargo.toml
··· 7 publish = false 8 9 [dependencies] 10 - common = {path = "../common"} 11 - tokio = {version = "1.32", features = ["full"]} 12 - log = {version = "0.4", features = ["release_max_level_debug"]} 13 pretty_env_logger = "0.5" 14 - clap = "4.3" 15 tokio-native-tls = "0.3" 16 - native-tls = {version = "0.2"} 17 warp = "0.3" 18 - prometheus-client = "0.22.0"
··· 7 publish = false 8 9 [dependencies] 10 + common = { path = "../common" } 11 + tokio = { version = "1.39", features = ["full"] } 12 + log = { version = "0.4", features = ["release_max_level_debug"] } 13 pretty_env_logger = "0.5" 14 + clap = "4.5" 15 tokio-native-tls = "0.3" 16 + native-tls = { version = "0.2" } 17 warp = "0.3" 18 + prometheus-client = "0.22"
+79 -79
lumen/src/server.rs
··· 1 use std::{ 2 - borrow::Cow, 3 - collections::HashMap, 4 - mem::discriminant, 5 - process::exit, 6 - sync::Arc, 7 - time::{Duration, Instant}, 8 }; 9 10 use common::{ ··· 33 let server_name = state.server_name.as_str(); 34 35 trace!("waiting for command.."); 36 - let req = match timeout(Duration::from_secs(3600), rpc::read_packet(&mut stream)).await { 37 - Ok(res) => match res { 38 - Ok(v) => v, 39 - Err(e) => return Err(e), 40 - }, 41 - Err(_) => { 42 - _ = RpcMessage::Fail(RpcFail { 43 - result: 0, 44 - error: &format!("{server_name} client idle for too long.\n"), 45 - }) 46 - .async_write(&mut stream) 47 - .await; 48 - return Err(Error::Timeout); 49 - }, 50 - }; 51 trace!("got command!"); 52 let req = match RpcMessage::deserialize(&req) { 53 Ok(v) => v, ··· 55 warn!("bad message: \n{}\n", make_pretty_hex(&req)); 56 error!("failed to process rpc message: {}", err); 57 let resp = rpc::RpcFail { 58 - result: 0, 59 - error: &format!("{server_name}: error: invalid data.\n"), 60 }; 61 let resp = RpcMessage::Fail(resp); 62 resp.async_write(&mut stream).await?; ··· 67 match req { 68 RpcMessage::PullMetadata(md) => { 69 let start = Instant::now(); 70 - let funcs = match timeout(Duration::from_secs(4 * 60), db.get_funcs(&md.pattern_ids)) 71 - .await 72 - { 73 - Ok(r) => match r { 74 - Ok(v) => v, 75 - Err(e) => { 76 - error!("pull failed, db: {}", e); 77 - rpc::RpcMessage::Fail(rpc::RpcFail { 78 - result: 0, 79 - error: &format!("{server_name}: db error; please try again later..\n"), 80 }) 81 .async_write(&mut stream) 82 .await?; 83 - return Ok(()); 84 }, 85 - }, 86 - Err(_) => { 87 - RpcMessage::Fail(RpcFail { 88 - result: 0, 89 - error: &format!("{server_name}: query took too long to execute.\n"), 90 - }) 91 - .async_write(&mut stream) 92 - .await?; 93 - debug!("pull query timeout"); 94 - return Err(Error::Timeout); 95 - }, 96 - }; 97 let pulled_funcs = funcs.iter().filter(|v| v.is_some()).count(); 98 state.metrics.pulls.inc_by(pulled_funcs as _); 99 - state.metrics.queried_funcs.inc_by(md.pattern_ids.len() as _); 100 debug!( 101 "pull {pulled_funcs}/{} funcs ended after {:?}", 102 - md.pattern_ids.len(), 103 start.elapsed() 104 ); 105 ··· 116 .collect(); 117 118 RpcMessage::PullMetadataResult(rpc::PullMetadataResult { 119 - codes: Cow::Owned(statuses), 120 funcs: Cow::Owned(found), 121 }) 122 .async_write(&mut stream) ··· 132 Err(err) => { 133 log::error!("push failed, db: {}", err); 134 rpc::RpcMessage::Fail(rpc::RpcFail { 135 - result: 0, 136 - error: &format!("{server_name}: db error; please try again later.\n"), 137 }) 138 .async_write(&mut stream) 139 .await?; ··· 158 let is_delete_allowed = state.config.lumina.allow_deletes.unwrap_or(false); 159 if !is_delete_allowed { 160 RpcMessage::Fail(rpc::RpcFail { 161 - result: 2, 162 - error: &format!("{server_name}: Delete command is disabled on this server."), 163 }) 164 .async_write(&mut stream) 165 .await?; ··· 167 if let Err(err) = db.delete_metadata(&req).await { 168 error!("delete failed. db: {err}"); 169 RpcMessage::Fail(rpc::RpcFail { 170 - result: 3, 171 - error: &format!("{server_name}: db error, please try again later."), 172 }) 173 .async_write(&mut stream) 174 .await?; 175 return Ok(()); 176 } 177 RpcMessage::DelHistoryResult(rpc::DelHistoryResult { 178 - ndeleted: req.calcrel_hashes.len() as u32, 179 }) 180 .async_write(&mut stream) 181 .await?; ··· 186 187 if limit == 0 { 188 RpcMessage::Fail(rpc::RpcFail { 189 - result: 4, 190 - error: &format!( 191 "{server_name}: function histories are disabled on this server." 192 ), 193 }) ··· 198 199 let mut statuses = vec![]; 200 let mut res = vec![]; 201 - for chksum in req.funcs.iter().map(|v| v.data) { 202 let history = match db.get_func_histories(chksum, limit).await { 203 Ok(v) => v, 204 Err(err) => { 205 error!("failed to get function histories: {err:?}"); 206 RpcMessage::Fail(rpc::RpcFail { 207 - result: 3, 208 - error: &format!("{server_name}: db error, please try again later."), 209 }) 210 .async_write(&mut stream) 211 .await?; ··· 237 RpcMessage::GetFuncHistoriesResult(rpc::GetFuncHistoriesResult { 238 status: statuses.into(), 239 funcs: Cow::Owned(res), 240 - authors: vec![].into(), 241 - idb_paths: vec![].into(), 242 }) 243 .async_write(&mut stream) 244 .await?; 245 }, 246 _ => { 247 RpcMessage::Fail(rpc::RpcFail { 248 - result: 0, 249 - error: &format!("{server_name}: invalid data.\n"), 250 }) 251 .async_write(&mut stream) 252 .await?; ··· 259 state: &SharedState, mut stream: S, 260 ) -> Result<(), rpc::Error> { 261 let server_name = &state.server_name; 262 - let hello = match timeout(Duration::from_secs(15), rpc::read_packet(&mut stream)).await { 263 - Ok(v) => v?, 264 - Err(_) => { 265 - debug!("didn't get hello in time."); 266 - return Ok(()); 267 - }, 268 - }; 269 270 let (hello, creds) = match RpcMessage::deserialize(&hello) { 271 Ok(RpcMessage::Hello(v, creds)) => { 272 - debug!("hello protocol={}, login creds: {creds:?}", v.client_version); 273 (v, creds) 274 }, 275 _ => { 276 // send error 277 error!("got bad hello message"); 278 279 - let resp = rpc::RpcFail { result: 0, error: &format!("{server_name}: bad sequence.") }; 280 let resp = rpc::RpcMessage::Fail(resp); 281 resp.async_write(&mut stream).await?; 282 ··· 286 state 287 .metrics 288 .lumina_version 289 - .get_or_create(&LuminaVersion { protocol_version: hello.client_version }) 290 .inc(); 291 292 if let Some(ref creds) = creds { 293 if creds.username != "guest" { 294 // Only allow "guest" to connect for now. 295 rpc::RpcMessage::Fail(rpc::RpcFail { 296 - result: 1, 297 - error: &format!("{server_name}: invalid username or password. Try logging in with `guest` instead."), 298 }).async_write(&mut stream).await?; 299 return Ok(()); 300 } 301 } 302 303 - let resp = match hello.client_version { 304 0..=4 => rpc::RpcMessage::Ok(()), 305 306 // starting IDA 8.3 ··· 394 debug!("Connection from {:?}{}: {} active connections", &addr, protocol, count); 395 match accpt { 396 Some(accpt) => { 397 - match timeout(Duration::from_secs(10), accpt.accept(client)).await { 398 Ok(r) => match r { 399 Ok(s) => { 400 handle_connection(&state, s).await;
··· 1 use std::{ 2 + borrow::Cow, collections::HashMap, mem::discriminant, process::exit, sync::Arc, time::Instant, 3 }; 4 5 use common::{ ··· 28 let server_name = state.server_name.as_str(); 29 30 trace!("waiting for command.."); 31 + let req = 32 + match timeout(state.config.limits.command_timeout, rpc::read_packet(&mut stream)).await { 33 + Ok(res) => match res { 34 + Ok(v) => v, 35 + Err(e) => return Err(e), 36 + }, 37 + Err(_) => { 38 + _ = RpcMessage::Fail(RpcFail { 39 + code: 0, 40 + message: &format!("{server_name} client idle for too long.\n"), 41 + }) 42 + .async_write(&mut stream) 43 + .await; 44 + return Err(Error::Timeout); 45 + }, 46 + }; 47 trace!("got command!"); 48 let req = match RpcMessage::deserialize(&req) { 49 Ok(v) => v, ··· 51 warn!("bad message: \n{}\n", make_pretty_hex(&req)); 52 error!("failed to process rpc message: {}", err); 53 let resp = rpc::RpcFail { 54 + code: 0, 55 + message: &format!("{server_name}: error: invalid data.\n"), 56 }; 57 let resp = RpcMessage::Fail(resp); 58 resp.async_write(&mut stream).await?; ··· 63 match req { 64 RpcMessage::PullMetadata(md) => { 65 let start = Instant::now(); 66 + let funcs = 67 + match timeout(state.config.limits.pull_md_timeout, db.get_funcs(&md.funcs)).await { 68 + Ok(r) => match r { 69 + Ok(v) => v, 70 + Err(e) => { 71 + error!("pull failed, db: {}", e); 72 + rpc::RpcMessage::Fail(rpc::RpcFail { 73 + code: 0, 74 + message: &format!( 75 + "{server_name}: db error; please try again later..\n" 76 + ), 77 + }) 78 + .async_write(&mut stream) 79 + .await?; 80 + return Ok(()); 81 + }, 82 + }, 83 + Err(_) => { 84 + RpcMessage::Fail(RpcFail { 85 + code: 0, 86 + message: &format!("{server_name}: query took too long to execute.\n"), 87 }) 88 .async_write(&mut stream) 89 .await?; 90 + debug!("pull query timeout"); 91 + return Err(Error::Timeout); 92 }, 93 + }; 94 let pulled_funcs = funcs.iter().filter(|v| v.is_some()).count(); 95 state.metrics.pulls.inc_by(pulled_funcs as _); 96 + state.metrics.queried_funcs.inc_by(md.funcs.len() as _); 97 debug!( 98 "pull {pulled_funcs}/{} funcs ended after {:?}", 99 + md.funcs.len(), 100 start.elapsed() 101 ); 102 ··· 113 .collect(); 114 115 RpcMessage::PullMetadataResult(rpc::PullMetadataResult { 116 + unk0: Cow::Owned(statuses), 117 funcs: Cow::Owned(found), 118 }) 119 .async_write(&mut stream) ··· 129 Err(err) => { 130 log::error!("push failed, db: {}", err); 131 rpc::RpcMessage::Fail(rpc::RpcFail { 132 + code: 0, 133 + message: &format!("{server_name}: db error; please try again later.\n"), 134 }) 135 .async_write(&mut stream) 136 .await?; ··· 155 let is_delete_allowed = state.config.lumina.allow_deletes.unwrap_or(false); 156 if !is_delete_allowed { 157 RpcMessage::Fail(rpc::RpcFail { 158 + code: 2, 159 + message: &format!("{server_name}: Delete command is disabled on this server."), 160 }) 161 .async_write(&mut stream) 162 .await?; ··· 164 if let Err(err) = db.delete_metadata(&req).await { 165 error!("delete failed. db: {err}"); 166 RpcMessage::Fail(rpc::RpcFail { 167 + code: 3, 168 + message: &format!("{server_name}: db error, please try again later."), 169 }) 170 .async_write(&mut stream) 171 .await?; 172 return Ok(()); 173 } 174 RpcMessage::DelHistoryResult(rpc::DelHistoryResult { 175 + deleted_mds: req.funcs.len() as u32, 176 }) 177 .async_write(&mut stream) 178 .await?; ··· 183 184 if limit == 0 { 185 RpcMessage::Fail(rpc::RpcFail { 186 + code: 4, 187 + message: &format!( 188 "{server_name}: function histories are disabled on this server." 189 ), 190 }) ··· 195 196 let mut statuses = vec![]; 197 let mut res = vec![]; 198 + for chksum in req.funcs.iter().map(|v| v.mb_hash) { 199 let history = match db.get_func_histories(chksum, limit).await { 200 Ok(v) => v, 201 Err(err) => { 202 error!("failed to get function histories: {err:?}"); 203 RpcMessage::Fail(rpc::RpcFail { 204 + code: 3, 205 + message: &format!("{server_name}: db error, please try again later."), 206 }) 207 .async_write(&mut stream) 208 .await?; ··· 234 RpcMessage::GetFuncHistoriesResult(rpc::GetFuncHistoriesResult { 235 status: statuses.into(), 236 funcs: Cow::Owned(res), 237 + users: vec![].into(), 238 + dbs: vec![].into(), 239 }) 240 .async_write(&mut stream) 241 .await?; 242 }, 243 _ => { 244 RpcMessage::Fail(rpc::RpcFail { 245 + code: 0, 246 + message: &format!("{server_name}: invalid data.\n"), 247 }) 248 .async_write(&mut stream) 249 .await?; ··· 256 state: &SharedState, mut stream: S, 257 ) -> Result<(), rpc::Error> { 258 let server_name = &state.server_name; 259 + let hello = 260 + match timeout(state.config.limits.hello_timeout, rpc::read_packet(&mut stream)).await { 261 + Ok(v) => v?, 262 + Err(_) => { 263 + debug!("didn't get hello in time."); 264 + return Ok(()); 265 + }, 266 + }; 267 268 let (hello, creds) = match RpcMessage::deserialize(&hello) { 269 Ok(RpcMessage::Hello(v, creds)) => { 270 + debug!("hello protocol={}, login creds: {creds:?}", v.protocol_version); 271 (v, creds) 272 }, 273 _ => { 274 // send error 275 error!("got bad hello message"); 276 277 + let resp = rpc::RpcFail { code: 0, message: &format!("{server_name}: bad sequence.") }; 278 let resp = rpc::RpcMessage::Fail(resp); 279 resp.async_write(&mut stream).await?; 280 ··· 284 state 285 .metrics 286 .lumina_version 287 + .get_or_create(&LuminaVersion { protocol_version: hello.protocol_version }) 288 .inc(); 289 290 if let Some(ref creds) = creds { 291 if creds.username != "guest" { 292 // Only allow "guest" to connect for now. 293 rpc::RpcMessage::Fail(rpc::RpcFail { 294 + code: 1, 295 + message: &format!("{server_name}: invalid username or password. Try logging in with `guest` instead."), 296 }).async_write(&mut stream).await?; 297 return Ok(()); 298 } 299 } 300 301 + let resp = match hello.protocol_version { 302 0..=4 => rpc::RpcMessage::Ok(()), 303 304 // starting IDA 8.3 ··· 392 debug!("Connection from {:?}{}: {} active connections", &addr, protocol, count); 393 match accpt { 394 Some(accpt) => { 395 + match timeout(state.config.limits.tls_handshake_timeout, accpt.accept(client)) 396 + .await 397 + { 398 Ok(r) => match r { 399 Ok(s) => { 400 handle_connection(&state, s).await;