├── .github └── workflows │ └── build-docs.yml ├── .gitignore ├── .gitmodules ├── .settings └── clion-settings.zip ├── Cargo.lock ├── Cargo.toml ├── LICENSE ├── Makefile ├── README.md ├── clippy.toml ├── docs ├── build.md ├── certs.md └── quickstart.md ├── hack ├── .header.script ├── .header.source ├── certgen ├── certgen-client ├── certgen.client.ext ├── certgen.server.ext ├── code-format ├── common ├── file-definitions ├── headers-check ├── headers-write └── server-tls-info ├── logo ├── logo-square.png └── logo.png ├── pki └── .gitkeep └── rustfmt.toml /.github/workflows/build-docs.yml: -------------------------------------------------------------------------------- 1 | name: build docs 2 | 3 | on: 4 | push: 5 | branches: main 6 | pull_request: 7 | branches: main 8 | 9 | jobs: 10 | build: 11 | 12 | runs-on: ubuntu-latest 13 | 14 | steps: 15 | - uses: actions/checkout@v3 16 | - name: build docs 17 | run: | 18 | make docs 19 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | aurae/* 2 | auraed/* 3 | target/* 4 | pki/* 5 | .idea/* 6 | .idea* -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "auraed"] 2 | path = auraed 3 | url = git@github.com:aurae-runtime/auraed 4 | branch = main 5 | [submodule "auraescript"] 6 | path = auraescript 7 | url = git@github.com:aurae-runtime/auraescript.git 8 | branch = main 9 | [submodule "website"] 10 | path = website 11 | url = git@github.com:aurae-runtime/aurae.io.git 12 | branch = main 13 | [submodule "community"] 14 | path = community 15 | url = git@github.com:aurae-runtime/community.git 16 | branch = main -------------------------------------------------------------------------------- /.settings/clion-settings.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aurae-runtime/environment/f6f0a762f8d1558ef88c6b0fc5f381357dc03858/.settings/clion-settings.zip -------------------------------------------------------------------------------- /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 = "Inflector" 7 | version = "0.11.4" 8 | source = "registry+https://github.com/rust-lang/crates.io-index" 9 | checksum = "fe438c63458706e03479442743baae6c88256498e6431708f6dfc520a26515d3" 10 | 11 | [[package]] 12 | name = "ahash" 13 | version = "0.7.6" 14 | source = "registry+https://github.com/rust-lang/crates.io-index" 15 | checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47" 16 | dependencies = [ 17 | "getrandom", 18 | "once_cell", 19 | "version_check", 20 | ] 21 | 22 | [[package]] 23 | name = "ahash" 24 | version = "0.8.0" 25 | source = "registry+https://github.com/rust-lang/crates.io-index" 26 | checksum = "57e6e951cfbb2db8de1828d49073a113a29fd7117b1596caa781a258c7e38d72" 27 | dependencies = [ 28 | "cfg-if", 29 | "getrandom", 30 | "once_cell", 31 | "version_check", 32 | ] 33 | 34 | [[package]] 35 | name = "aliasable" 36 | version = "0.1.3" 37 | source = "registry+https://github.com/rust-lang/crates.io-index" 38 | checksum = "250f629c0161ad8107cf89319e990051fae62832fd343083bea452d93e2205fd" 39 | 40 | [[package]] 41 | name = "android_system_properties" 42 | version = "0.1.5" 43 | source = "registry+https://github.com/rust-lang/crates.io-index" 44 | checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" 45 | dependencies = [ 46 | "libc", 47 | ] 48 | 49 | [[package]] 50 | name = "anyhow" 51 | version = "1.0.65" 52 | source = "registry+https://github.com/rust-lang/crates.io-index" 53 | checksum = "98161a4e3e2184da77bb14f02184cdd111e83bbbcc9979dfee3c44b9a85f5602" 54 | 55 | [[package]] 56 | name = "arrayvec" 57 | version = "0.7.2" 58 | source = "registry+https://github.com/rust-lang/crates.io-index" 59 | checksum = "8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6" 60 | 61 | [[package]] 62 | name = "asn1-rs" 63 | version = "0.5.1" 64 | source = "registry+https://github.com/rust-lang/crates.io-index" 65 | checksum = "cf6690c370453db30743b373a60ba498fc0d6d83b11f4abfd87a84a075db5dd4" 66 | dependencies = [ 67 | "asn1-rs-derive", 68 | "asn1-rs-impl", 69 | "displaydoc", 70 | "nom", 71 | "num-traits", 72 | "rusticata-macros", 73 | "thiserror", 74 | "time 0.3.14", 75 | ] 76 | 77 | [[package]] 78 | name = "asn1-rs-derive" 79 | version = "0.4.0" 80 | source = "registry+https://github.com/rust-lang/crates.io-index" 81 | checksum = "726535892e8eae7e70657b4c8ea93d26b8553afb1ce617caee529ef96d7dee6c" 82 | dependencies = [ 83 | "proc-macro2", 84 | "quote", 85 | "syn", 86 | "synstructure", 87 | ] 88 | 89 | [[package]] 90 | name = "asn1-rs-impl" 91 | version = "0.1.0" 92 | source = "registry+https://github.com/rust-lang/crates.io-index" 93 | checksum = "2777730b2039ac0f95f093556e61b6d26cebed5393ca6f152717777cec3a42ed" 94 | dependencies = [ 95 | "proc-macro2", 96 | "quote", 97 | "syn", 98 | ] 99 | 100 | [[package]] 101 | name = "async-stream" 102 | version = "0.3.3" 103 | source = "registry+https://github.com/rust-lang/crates.io-index" 104 | checksum = "dad5c83079eae9969be7fadefe640a1c566901f05ff91ab221de4b6f68d9507e" 105 | dependencies = [ 106 | "async-stream-impl", 107 | "futures-core", 108 | ] 109 | 110 | [[package]] 111 | name = "async-stream-impl" 112 | version = "0.3.3" 113 | source = "registry+https://github.com/rust-lang/crates.io-index" 114 | checksum = "10f203db73a71dfa2fb6dd22763990fa26f3d2625a6da2da900d23b87d26be27" 115 | dependencies = [ 116 | "proc-macro2", 117 | "quote", 118 | "syn", 119 | ] 120 | 121 | [[package]] 122 | name = "async-trait" 123 | version = "0.1.57" 124 | source = "registry+https://github.com/rust-lang/crates.io-index" 125 | checksum = "76464446b8bc32758d7e88ee1a804d9914cd9b1cb264c029899680b0be29826f" 126 | dependencies = [ 127 | "proc-macro2", 128 | "quote", 129 | "syn", 130 | ] 131 | 132 | [[package]] 133 | name = "atoi" 134 | version = "1.0.0" 135 | source = "registry+https://github.com/rust-lang/crates.io-index" 136 | checksum = "d7c57d12312ff59c811c0643f4d80830505833c9ffaebd193d819392b265be8e" 137 | dependencies = [ 138 | "num-traits", 139 | ] 140 | 141 | [[package]] 142 | name = "atty" 143 | version = "0.2.14" 144 | source = "registry+https://github.com/rust-lang/crates.io-index" 145 | checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" 146 | dependencies = [ 147 | "hermit-abi", 148 | "libc", 149 | "winapi", 150 | ] 151 | 152 | [[package]] 153 | name = "auraed" 154 | version = "0.1.0" 155 | dependencies = [ 156 | "anyhow", 157 | "clap", 158 | "futures", 159 | "h2", 160 | "ipnetwork", 161 | "libc", 162 | "log", 163 | "multi_log", 164 | "netlink-packet-route", 165 | "prost", 166 | "rtnetlink", 167 | "rustls", 168 | "sea-orm", 169 | "simplelog", 170 | "syslog", 171 | "thiserror", 172 | "tokio", 173 | "tokio-stream", 174 | "tonic", 175 | "tonic-build", 176 | "walkdir", 177 | ] 178 | 179 | [[package]] 180 | name = "auraescript" 181 | version = "0.1.0" 182 | dependencies = [ 183 | "anyhow", 184 | "home", 185 | "if_chain", 186 | "json", 187 | "macros", 188 | "oid-registry", 189 | "openssl", 190 | "prost", 191 | "rhai", 192 | "ring", 193 | "rustls-pemfile", 194 | "serde", 195 | "serde_json", 196 | "time 0.3.14", 197 | "tokio", 198 | "tokio-stream", 199 | "toml", 200 | "tonic", 201 | "tonic-build", 202 | "tower", 203 | "x509-certificate", 204 | "x509-parser", 205 | ] 206 | 207 | [[package]] 208 | name = "autocfg" 209 | version = "1.1.0" 210 | source = "registry+https://github.com/rust-lang/crates.io-index" 211 | checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" 212 | 213 | [[package]] 214 | name = "axum" 215 | version = "0.5.16" 216 | source = "registry+https://github.com/rust-lang/crates.io-index" 217 | checksum = "c9e3356844c4d6a6d6467b8da2cffb4a2820be256f50a3a386c9d152bab31043" 218 | dependencies = [ 219 | "async-trait", 220 | "axum-core", 221 | "bitflags", 222 | "bytes", 223 | "futures-util", 224 | "http", 225 | "http-body", 226 | "hyper", 227 | "itoa", 228 | "matchit", 229 | "memchr", 230 | "mime", 231 | "percent-encoding", 232 | "pin-project-lite", 233 | "serde", 234 | "sync_wrapper", 235 | "tokio", 236 | "tower", 237 | "tower-http", 238 | "tower-layer", 239 | "tower-service", 240 | ] 241 | 242 | [[package]] 243 | name = "axum-core" 244 | version = "0.2.8" 245 | source = "registry+https://github.com/rust-lang/crates.io-index" 246 | checksum = "d9f0c0a60006f2a293d82d571f635042a72edf927539b7685bd62d361963839b" 247 | dependencies = [ 248 | "async-trait", 249 | "bytes", 250 | "futures-util", 251 | "http", 252 | "http-body", 253 | "mime", 254 | "tower-layer", 255 | "tower-service", 256 | ] 257 | 258 | [[package]] 259 | name = "bae" 260 | version = "0.1.7" 261 | source = "registry+https://github.com/rust-lang/crates.io-index" 262 | checksum = "33b8de67cc41132507eeece2584804efcb15f85ba516e34c944b7667f480397a" 263 | dependencies = [ 264 | "heck 0.3.3", 265 | "proc-macro-error", 266 | "proc-macro2", 267 | "quote", 268 | "syn", 269 | ] 270 | 271 | [[package]] 272 | name = "base64" 273 | version = "0.13.0" 274 | source = "registry+https://github.com/rust-lang/crates.io-index" 275 | checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd" 276 | 277 | [[package]] 278 | name = "base64ct" 279 | version = "1.5.2" 280 | source = "registry+https://github.com/rust-lang/crates.io-index" 281 | checksum = "ea2b2456fd614d856680dcd9fcc660a51a820fa09daef2e49772b56a193c8474" 282 | 283 | [[package]] 284 | name = "bcder" 285 | version = "0.7.0" 286 | source = "registry+https://github.com/rust-lang/crates.io-index" 287 | checksum = "f007d8acfb8ef7d219911c7164c025a6d3504735120fc5df59c3c479ab84ea51" 288 | dependencies = [ 289 | "bytes", 290 | "smallvec", 291 | ] 292 | 293 | [[package]] 294 | name = "bitflags" 295 | version = "1.3.2" 296 | source = "registry+https://github.com/rust-lang/crates.io-index" 297 | checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" 298 | 299 | [[package]] 300 | name = "block-buffer" 301 | version = "0.10.3" 302 | source = "registry+https://github.com/rust-lang/crates.io-index" 303 | checksum = "69cce20737498f97b993470a6e536b8523f0af7892a4f928cceb1ac5e52ebe7e" 304 | dependencies = [ 305 | "generic-array", 306 | ] 307 | 308 | [[package]] 309 | name = "bumpalo" 310 | version = "3.11.0" 311 | source = "registry+https://github.com/rust-lang/crates.io-index" 312 | checksum = "c1ad822118d20d2c234f427000d5acc36eabe1e29a348c89b63dd60b13f28e5d" 313 | 314 | [[package]] 315 | name = "byteorder" 316 | version = "1.4.3" 317 | source = "registry+https://github.com/rust-lang/crates.io-index" 318 | checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" 319 | 320 | [[package]] 321 | name = "bytes" 322 | version = "1.2.1" 323 | source = "registry+https://github.com/rust-lang/crates.io-index" 324 | checksum = "ec8a7b6a70fde80372154c65702f00a0f56f3e1c36abbc6c440484be248856db" 325 | 326 | [[package]] 327 | name = "cc" 328 | version = "1.0.73" 329 | source = "registry+https://github.com/rust-lang/crates.io-index" 330 | checksum = "2fff2a6927b3bb87f9595d67196a70493f627687a71d87a0d692242c33f58c11" 331 | 332 | [[package]] 333 | name = "cfg-if" 334 | version = "1.0.0" 335 | source = "registry+https://github.com/rust-lang/crates.io-index" 336 | checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" 337 | 338 | [[package]] 339 | name = "chrono" 340 | version = "0.4.22" 341 | source = "registry+https://github.com/rust-lang/crates.io-index" 342 | checksum = "bfd4d1b31faaa3a89d7934dbded3111da0d2ef28e3ebccdb4f0179f5929d1ef1" 343 | dependencies = [ 344 | "iana-time-zone", 345 | "js-sys", 346 | "num-integer", 347 | "num-traits", 348 | "serde", 349 | "time 0.1.44", 350 | "wasm-bindgen", 351 | "winapi", 352 | ] 353 | 354 | [[package]] 355 | name = "clap" 356 | version = "3.2.22" 357 | source = "registry+https://github.com/rust-lang/crates.io-index" 358 | checksum = "86447ad904c7fb335a790c9d7fe3d0d971dc523b8ccd1561a520de9a85302750" 359 | dependencies = [ 360 | "atty", 361 | "bitflags", 362 | "clap_derive", 363 | "clap_lex", 364 | "indexmap", 365 | "once_cell", 366 | "strsim", 367 | "termcolor", 368 | "textwrap", 369 | ] 370 | 371 | [[package]] 372 | name = "clap_derive" 373 | version = "3.2.18" 374 | source = "registry+https://github.com/rust-lang/crates.io-index" 375 | checksum = "ea0c8bce528c4be4da13ea6fead8965e95b6073585a2f05204bd8f4119f82a65" 376 | dependencies = [ 377 | "heck 0.4.0", 378 | "proc-macro-error", 379 | "proc-macro2", 380 | "quote", 381 | "syn", 382 | ] 383 | 384 | [[package]] 385 | name = "clap_lex" 386 | version = "0.2.4" 387 | source = "registry+https://github.com/rust-lang/crates.io-index" 388 | checksum = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5" 389 | dependencies = [ 390 | "os_str_bytes", 391 | ] 392 | 393 | [[package]] 394 | name = "const-oid" 395 | version = "0.7.1" 396 | source = "registry+https://github.com/rust-lang/crates.io-index" 397 | checksum = "e4c78c047431fee22c1a7bb92e00ad095a02a983affe4d8a72e2a2c62c1b94f3" 398 | 399 | [[package]] 400 | name = "core-foundation-sys" 401 | version = "0.8.3" 402 | source = "registry+https://github.com/rust-lang/crates.io-index" 403 | checksum = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc" 404 | 405 | [[package]] 406 | name = "cpufeatures" 407 | version = "0.2.5" 408 | source = "registry+https://github.com/rust-lang/crates.io-index" 409 | checksum = "28d997bd5e24a5928dd43e46dc529867e207907fe0b239c3477d924f7f2ca320" 410 | dependencies = [ 411 | "libc", 412 | ] 413 | 414 | [[package]] 415 | name = "crc" 416 | version = "3.0.0" 417 | source = "registry+https://github.com/rust-lang/crates.io-index" 418 | checksum = "53757d12b596c16c78b83458d732a5d1a17ab3f53f2f7412f6fb57cc8a140ab3" 419 | dependencies = [ 420 | "crc-catalog", 421 | ] 422 | 423 | [[package]] 424 | name = "crc-catalog" 425 | version = "2.1.0" 426 | source = "registry+https://github.com/rust-lang/crates.io-index" 427 | checksum = "2d0165d2900ae6778e36e80bbc4da3b5eefccee9ba939761f9c2882a5d9af3ff" 428 | 429 | [[package]] 430 | name = "crossbeam-queue" 431 | version = "0.3.6" 432 | source = "registry+https://github.com/rust-lang/crates.io-index" 433 | checksum = "1cd42583b04998a5363558e5f9291ee5a5ff6b49944332103f251e7479a82aa7" 434 | dependencies = [ 435 | "cfg-if", 436 | "crossbeam-utils", 437 | ] 438 | 439 | [[package]] 440 | name = "crossbeam-utils" 441 | version = "0.8.12" 442 | source = "registry+https://github.com/rust-lang/crates.io-index" 443 | checksum = "edbafec5fa1f196ca66527c1b12c2ec4745ca14b50f1ad8f9f6f720b55d11fac" 444 | dependencies = [ 445 | "cfg-if", 446 | ] 447 | 448 | [[package]] 449 | name = "crypto-common" 450 | version = "0.1.6" 451 | source = "registry+https://github.com/rust-lang/crates.io-index" 452 | checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" 453 | dependencies = [ 454 | "generic-array", 455 | "typenum", 456 | ] 457 | 458 | [[package]] 459 | name = "data-encoding" 460 | version = "2.3.2" 461 | source = "registry+https://github.com/rust-lang/crates.io-index" 462 | checksum = "3ee2393c4a91429dffb4bedf19f4d6abf27d8a732c8ce4980305d782e5426d57" 463 | 464 | [[package]] 465 | name = "der" 466 | version = "0.5.1" 467 | source = "registry+https://github.com/rust-lang/crates.io-index" 468 | checksum = "6919815d73839e7ad218de758883aae3a257ba6759ce7a9992501efbb53d705c" 469 | dependencies = [ 470 | "const-oid", 471 | ] 472 | 473 | [[package]] 474 | name = "der-parser" 475 | version = "8.1.0" 476 | source = "registry+https://github.com/rust-lang/crates.io-index" 477 | checksum = "42d4bc9b0db0a0df9ae64634ac5bdefb7afcb534e182275ca0beadbe486701c1" 478 | dependencies = [ 479 | "asn1-rs", 480 | "displaydoc", 481 | "nom", 482 | "num-bigint", 483 | "num-traits", 484 | "rusticata-macros", 485 | ] 486 | 487 | [[package]] 488 | name = "digest" 489 | version = "0.10.5" 490 | source = "registry+https://github.com/rust-lang/crates.io-index" 491 | checksum = "adfbc57365a37acbd2ebf2b64d7e69bb766e2fea813521ed536f5d0520dcf86c" 492 | dependencies = [ 493 | "block-buffer", 494 | "crypto-common", 495 | "subtle", 496 | ] 497 | 498 | [[package]] 499 | name = "dirs" 500 | version = "4.0.0" 501 | source = "registry+https://github.com/rust-lang/crates.io-index" 502 | checksum = "ca3aa72a6f96ea37bbc5aa912f6788242832f75369bdfdadcb0e38423f100059" 503 | dependencies = [ 504 | "dirs-sys", 505 | ] 506 | 507 | [[package]] 508 | name = "dirs-sys" 509 | version = "0.3.7" 510 | source = "registry+https://github.com/rust-lang/crates.io-index" 511 | checksum = "1b1d1d91c932ef41c0f2663aa8b0ca0342d444d842c06914aa0a7e352d0bada6" 512 | dependencies = [ 513 | "libc", 514 | "redox_users", 515 | "winapi", 516 | ] 517 | 518 | [[package]] 519 | name = "displaydoc" 520 | version = "0.2.3" 521 | source = "registry+https://github.com/rust-lang/crates.io-index" 522 | checksum = "3bf95dc3f046b9da4f2d51833c0d3547d8564ef6910f5c1ed130306a75b92886" 523 | dependencies = [ 524 | "proc-macro2", 525 | "quote", 526 | "syn", 527 | ] 528 | 529 | [[package]] 530 | name = "dotenvy" 531 | version = "0.15.5" 532 | source = "registry+https://github.com/rust-lang/crates.io-index" 533 | checksum = "ed9155c8f4dc55c7470ae9da3f63c6785245093b3f6aeb0f5bf2e968efbba314" 534 | dependencies = [ 535 | "dirs", 536 | ] 537 | 538 | [[package]] 539 | name = "either" 540 | version = "1.8.0" 541 | source = "registry+https://github.com/rust-lang/crates.io-index" 542 | checksum = "90e5c1c8368803113bf0c9584fc495a58b86dc8a29edbf8fe877d21d9507e797" 543 | 544 | [[package]] 545 | name = "error-chain" 546 | version = "0.12.4" 547 | source = "registry+https://github.com/rust-lang/crates.io-index" 548 | checksum = "2d2f06b9cac1506ece98fe3231e3cc9c4410ec3d5b1f24ae1c8946f0742cdefc" 549 | dependencies = [ 550 | "version_check", 551 | ] 552 | 553 | [[package]] 554 | name = "event-listener" 555 | version = "2.5.3" 556 | source = "registry+https://github.com/rust-lang/crates.io-index" 557 | checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" 558 | 559 | [[package]] 560 | name = "fallible-iterator" 561 | version = "0.2.0" 562 | source = "registry+https://github.com/rust-lang/crates.io-index" 563 | checksum = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7" 564 | 565 | [[package]] 566 | name = "fastrand" 567 | version = "1.8.0" 568 | source = "registry+https://github.com/rust-lang/crates.io-index" 569 | checksum = "a7a407cfaa3385c4ae6b23e84623d48c2798d06e3e6a1878f7f59f17b3f86499" 570 | dependencies = [ 571 | "instant", 572 | ] 573 | 574 | [[package]] 575 | name = "fixedbitset" 576 | version = "0.4.2" 577 | source = "registry+https://github.com/rust-lang/crates.io-index" 578 | checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" 579 | 580 | [[package]] 581 | name = "flume" 582 | version = "0.10.14" 583 | source = "registry+https://github.com/rust-lang/crates.io-index" 584 | checksum = "1657b4441c3403d9f7b3409e47575237dac27b1b5726df654a6ecbf92f0f7577" 585 | dependencies = [ 586 | "futures-core", 587 | "futures-sink", 588 | "pin-project", 589 | "spin 0.9.4", 590 | ] 591 | 592 | [[package]] 593 | name = "fnv" 594 | version = "1.0.7" 595 | source = "registry+https://github.com/rust-lang/crates.io-index" 596 | checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" 597 | 598 | [[package]] 599 | name = "foreign-types" 600 | version = "0.3.2" 601 | source = "registry+https://github.com/rust-lang/crates.io-index" 602 | checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" 603 | dependencies = [ 604 | "foreign-types-shared", 605 | ] 606 | 607 | [[package]] 608 | name = "foreign-types-shared" 609 | version = "0.1.1" 610 | source = "registry+https://github.com/rust-lang/crates.io-index" 611 | checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" 612 | 613 | [[package]] 614 | name = "form_urlencoded" 615 | version = "1.1.0" 616 | source = "registry+https://github.com/rust-lang/crates.io-index" 617 | checksum = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8" 618 | dependencies = [ 619 | "percent-encoding", 620 | ] 621 | 622 | [[package]] 623 | name = "futures" 624 | version = "0.3.24" 625 | source = "registry+https://github.com/rust-lang/crates.io-index" 626 | checksum = "7f21eda599937fba36daeb58a22e8f5cee2d14c4a17b5b7739c7c8e5e3b8230c" 627 | dependencies = [ 628 | "futures-channel", 629 | "futures-core", 630 | "futures-executor", 631 | "futures-io", 632 | "futures-sink", 633 | "futures-task", 634 | "futures-util", 635 | ] 636 | 637 | [[package]] 638 | name = "futures-channel" 639 | version = "0.3.24" 640 | source = "registry+https://github.com/rust-lang/crates.io-index" 641 | checksum = "30bdd20c28fadd505d0fd6712cdfcb0d4b5648baf45faef7f852afb2399bb050" 642 | dependencies = [ 643 | "futures-core", 644 | "futures-sink", 645 | ] 646 | 647 | [[package]] 648 | name = "futures-core" 649 | version = "0.3.24" 650 | source = "registry+https://github.com/rust-lang/crates.io-index" 651 | checksum = "4e5aa3de05362c3fb88de6531e6296e85cde7739cccad4b9dfeeb7f6ebce56bf" 652 | 653 | [[package]] 654 | name = "futures-executor" 655 | version = "0.3.24" 656 | source = "registry+https://github.com/rust-lang/crates.io-index" 657 | checksum = "9ff63c23854bee61b6e9cd331d523909f238fc7636290b96826e9cfa5faa00ab" 658 | dependencies = [ 659 | "futures-core", 660 | "futures-task", 661 | "futures-util", 662 | ] 663 | 664 | [[package]] 665 | name = "futures-intrusive" 666 | version = "0.4.0" 667 | source = "registry+https://github.com/rust-lang/crates.io-index" 668 | checksum = "62007592ac46aa7c2b6416f7deb9a8a8f63a01e0f1d6e1787d5630170db2b63e" 669 | dependencies = [ 670 | "futures-core", 671 | "lock_api", 672 | "parking_lot", 673 | ] 674 | 675 | [[package]] 676 | name = "futures-io" 677 | version = "0.3.24" 678 | source = "registry+https://github.com/rust-lang/crates.io-index" 679 | checksum = "bbf4d2a7a308fd4578637c0b17c7e1c7ba127b8f6ba00b29f717e9655d85eb68" 680 | 681 | [[package]] 682 | name = "futures-macro" 683 | version = "0.3.24" 684 | source = "registry+https://github.com/rust-lang/crates.io-index" 685 | checksum = "42cd15d1c7456c04dbdf7e88bcd69760d74f3a798d6444e16974b505b0e62f17" 686 | dependencies = [ 687 | "proc-macro2", 688 | "quote", 689 | "syn", 690 | ] 691 | 692 | [[package]] 693 | name = "futures-sink" 694 | version = "0.3.24" 695 | source = "registry+https://github.com/rust-lang/crates.io-index" 696 | checksum = "21b20ba5a92e727ba30e72834706623d94ac93a725410b6a6b6fbc1b07f7ba56" 697 | 698 | [[package]] 699 | name = "futures-task" 700 | version = "0.3.24" 701 | source = "registry+https://github.com/rust-lang/crates.io-index" 702 | checksum = "a6508c467c73851293f390476d4491cf4d227dbabcd4170f3bb6044959b294f1" 703 | 704 | [[package]] 705 | name = "futures-util" 706 | version = "0.3.24" 707 | source = "registry+https://github.com/rust-lang/crates.io-index" 708 | checksum = "44fb6cb1be61cc1d2e43b262516aafcf63b241cffdb1d3fa115f91d9c7b09c90" 709 | dependencies = [ 710 | "futures-channel", 711 | "futures-core", 712 | "futures-io", 713 | "futures-macro", 714 | "futures-sink", 715 | "futures-task", 716 | "memchr", 717 | "pin-project-lite", 718 | "pin-utils", 719 | "slab", 720 | ] 721 | 722 | [[package]] 723 | name = "generic-array" 724 | version = "0.14.6" 725 | source = "registry+https://github.com/rust-lang/crates.io-index" 726 | checksum = "bff49e947297f3312447abdca79f45f4738097cc82b06e72054d2223f601f1b9" 727 | dependencies = [ 728 | "typenum", 729 | "version_check", 730 | ] 731 | 732 | [[package]] 733 | name = "getrandom" 734 | version = "0.2.7" 735 | source = "registry+https://github.com/rust-lang/crates.io-index" 736 | checksum = "4eb1a864a501629691edf6c15a593b7a51eebaa1e8468e9ddc623de7c9b58ec6" 737 | dependencies = [ 738 | "cfg-if", 739 | "libc", 740 | "wasi 0.11.0+wasi-snapshot-preview1", 741 | ] 742 | 743 | [[package]] 744 | name = "h2" 745 | version = "0.3.14" 746 | source = "registry+https://github.com/rust-lang/crates.io-index" 747 | checksum = "5ca32592cf21ac7ccab1825cd87f6c9b3d9022c44d086172ed0966bec8af30be" 748 | dependencies = [ 749 | "bytes", 750 | "fnv", 751 | "futures-core", 752 | "futures-sink", 753 | "futures-util", 754 | "http", 755 | "indexmap", 756 | "slab", 757 | "tokio", 758 | "tokio-util", 759 | "tracing", 760 | ] 761 | 762 | [[package]] 763 | name = "hashbrown" 764 | version = "0.12.3" 765 | source = "registry+https://github.com/rust-lang/crates.io-index" 766 | checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" 767 | dependencies = [ 768 | "ahash 0.7.6", 769 | ] 770 | 771 | [[package]] 772 | name = "hashlink" 773 | version = "0.8.1" 774 | source = "registry+https://github.com/rust-lang/crates.io-index" 775 | checksum = "69fe1fcf8b4278d860ad0548329f892a3631fb63f82574df68275f34cdbe0ffa" 776 | dependencies = [ 777 | "hashbrown", 778 | ] 779 | 780 | [[package]] 781 | name = "heck" 782 | version = "0.3.3" 783 | source = "registry+https://github.com/rust-lang/crates.io-index" 784 | checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c" 785 | dependencies = [ 786 | "unicode-segmentation", 787 | ] 788 | 789 | [[package]] 790 | name = "heck" 791 | version = "0.4.0" 792 | source = "registry+https://github.com/rust-lang/crates.io-index" 793 | checksum = "2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9" 794 | dependencies = [ 795 | "unicode-segmentation", 796 | ] 797 | 798 | [[package]] 799 | name = "hermit-abi" 800 | version = "0.1.19" 801 | source = "registry+https://github.com/rust-lang/crates.io-index" 802 | checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" 803 | dependencies = [ 804 | "libc", 805 | ] 806 | 807 | [[package]] 808 | name = "hex" 809 | version = "0.4.3" 810 | source = "registry+https://github.com/rust-lang/crates.io-index" 811 | checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" 812 | 813 | [[package]] 814 | name = "hmac" 815 | version = "0.12.1" 816 | source = "registry+https://github.com/rust-lang/crates.io-index" 817 | checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" 818 | dependencies = [ 819 | "digest", 820 | ] 821 | 822 | [[package]] 823 | name = "home" 824 | version = "0.5.3" 825 | source = "registry+https://github.com/rust-lang/crates.io-index" 826 | checksum = "2456aef2e6b6a9784192ae780c0f15bc57df0e918585282325e8c8ac27737654" 827 | dependencies = [ 828 | "winapi", 829 | ] 830 | 831 | [[package]] 832 | name = "hostname" 833 | version = "0.3.1" 834 | source = "registry+https://github.com/rust-lang/crates.io-index" 835 | checksum = "3c731c3e10504cc8ed35cfe2f1db4c9274c3d35fa486e3b31df46f068ef3e867" 836 | dependencies = [ 837 | "libc", 838 | "match_cfg", 839 | "winapi", 840 | ] 841 | 842 | [[package]] 843 | name = "http" 844 | version = "0.2.8" 845 | source = "registry+https://github.com/rust-lang/crates.io-index" 846 | checksum = "75f43d41e26995c17e71ee126451dd3941010b0514a81a9d11f3b341debc2399" 847 | dependencies = [ 848 | "bytes", 849 | "fnv", 850 | "itoa", 851 | ] 852 | 853 | [[package]] 854 | name = "http-body" 855 | version = "0.4.5" 856 | source = "registry+https://github.com/rust-lang/crates.io-index" 857 | checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1" 858 | dependencies = [ 859 | "bytes", 860 | "http", 861 | "pin-project-lite", 862 | ] 863 | 864 | [[package]] 865 | name = "http-range-header" 866 | version = "0.3.0" 867 | source = "registry+https://github.com/rust-lang/crates.io-index" 868 | checksum = "0bfe8eed0a9285ef776bb792479ea3834e8b94e13d615c2f66d03dd50a435a29" 869 | 870 | [[package]] 871 | name = "httparse" 872 | version = "1.8.0" 873 | source = "registry+https://github.com/rust-lang/crates.io-index" 874 | checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" 875 | 876 | [[package]] 877 | name = "httpdate" 878 | version = "1.0.2" 879 | source = "registry+https://github.com/rust-lang/crates.io-index" 880 | checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421" 881 | 882 | [[package]] 883 | name = "hyper" 884 | version = "0.14.20" 885 | source = "registry+https://github.com/rust-lang/crates.io-index" 886 | checksum = "02c929dc5c39e335a03c405292728118860721b10190d98c2a0f0efd5baafbac" 887 | dependencies = [ 888 | "bytes", 889 | "futures-channel", 890 | "futures-core", 891 | "futures-util", 892 | "h2", 893 | "http", 894 | "http-body", 895 | "httparse", 896 | "httpdate", 897 | "itoa", 898 | "pin-project-lite", 899 | "socket2", 900 | "tokio", 901 | "tower-service", 902 | "tracing", 903 | "want", 904 | ] 905 | 906 | [[package]] 907 | name = "hyper-timeout" 908 | version = "0.4.1" 909 | source = "registry+https://github.com/rust-lang/crates.io-index" 910 | checksum = "bbb958482e8c7be4bc3cf272a766a2b0bf1a6755e7a6ae777f017a31d11b13b1" 911 | dependencies = [ 912 | "hyper", 913 | "pin-project-lite", 914 | "tokio", 915 | "tokio-io-timeout", 916 | ] 917 | 918 | [[package]] 919 | name = "iana-time-zone" 920 | version = "0.1.48" 921 | source = "registry+https://github.com/rust-lang/crates.io-index" 922 | checksum = "237a0714f28b1ee39ccec0770ccb544eb02c9ef2c82bb096230eefcffa6468b0" 923 | dependencies = [ 924 | "android_system_properties", 925 | "core-foundation-sys", 926 | "js-sys", 927 | "once_cell", 928 | "wasm-bindgen", 929 | "winapi", 930 | ] 931 | 932 | [[package]] 933 | name = "idna" 934 | version = "0.3.0" 935 | source = "registry+https://github.com/rust-lang/crates.io-index" 936 | checksum = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6" 937 | dependencies = [ 938 | "unicode-bidi", 939 | "unicode-normalization", 940 | ] 941 | 942 | [[package]] 943 | name = "if_chain" 944 | version = "1.0.2" 945 | source = "registry+https://github.com/rust-lang/crates.io-index" 946 | checksum = "cb56e1aa765b4b4f3aadfab769793b7087bb03a4ea4920644a6d238e2df5b9ed" 947 | 948 | [[package]] 949 | name = "indexmap" 950 | version = "1.9.1" 951 | source = "registry+https://github.com/rust-lang/crates.io-index" 952 | checksum = "10a35a97730320ffe8e2d410b5d3b69279b98d2c14bdb8b70ea89ecf7888d41e" 953 | dependencies = [ 954 | "autocfg", 955 | "hashbrown", 956 | ] 957 | 958 | [[package]] 959 | name = "instant" 960 | version = "0.1.12" 961 | source = "registry+https://github.com/rust-lang/crates.io-index" 962 | checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" 963 | dependencies = [ 964 | "cfg-if", 965 | ] 966 | 967 | [[package]] 968 | name = "ipnetwork" 969 | version = "0.20.0" 970 | source = "registry+https://github.com/rust-lang/crates.io-index" 971 | checksum = "bf466541e9d546596ee94f9f69590f89473455f88372423e0008fc1a7daf100e" 972 | dependencies = [ 973 | "serde", 974 | ] 975 | 976 | [[package]] 977 | name = "itertools" 978 | version = "0.10.4" 979 | source = "registry+https://github.com/rust-lang/crates.io-index" 980 | checksum = "d8bf247779e67a9082a4790b45e71ac7cfd1321331a5c856a74a9faebdab78d0" 981 | dependencies = [ 982 | "either", 983 | ] 984 | 985 | [[package]] 986 | name = "itoa" 987 | version = "1.0.3" 988 | source = "registry+https://github.com/rust-lang/crates.io-index" 989 | checksum = "6c8af84674fe1f223a982c933a0ee1086ac4d4052aa0fb8060c12c6ad838e754" 990 | 991 | [[package]] 992 | name = "js-sys" 993 | version = "0.3.60" 994 | source = "registry+https://github.com/rust-lang/crates.io-index" 995 | checksum = "49409df3e3bf0856b916e2ceaca09ee28e6871cf7d9ce97a692cacfdb2a25a47" 996 | dependencies = [ 997 | "wasm-bindgen", 998 | ] 999 | 1000 | [[package]] 1001 | name = "json" 1002 | version = "0.12.4" 1003 | source = "registry+https://github.com/rust-lang/crates.io-index" 1004 | checksum = "078e285eafdfb6c4b434e0d31e8cfcb5115b651496faca5749b88fafd4f23bfd" 1005 | 1006 | [[package]] 1007 | name = "lazy_static" 1008 | version = "1.4.0" 1009 | source = "registry+https://github.com/rust-lang/crates.io-index" 1010 | checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" 1011 | 1012 | [[package]] 1013 | name = "libc" 1014 | version = "0.2.132" 1015 | source = "registry+https://github.com/rust-lang/crates.io-index" 1016 | checksum = "8371e4e5341c3a96db127eb2465ac681ced4c433e01dd0e938adbef26ba93ba5" 1017 | 1018 | [[package]] 1019 | name = "libsqlite3-sys" 1020 | version = "0.24.2" 1021 | source = "registry+https://github.com/rust-lang/crates.io-index" 1022 | checksum = "898745e570c7d0453cc1fbc4a701eb6c662ed54e8fec8b7d14be137ebeeb9d14" 1023 | dependencies = [ 1024 | "cc", 1025 | "pkg-config", 1026 | "vcpkg", 1027 | ] 1028 | 1029 | [[package]] 1030 | name = "lock_api" 1031 | version = "0.4.9" 1032 | source = "registry+https://github.com/rust-lang/crates.io-index" 1033 | checksum = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df" 1034 | dependencies = [ 1035 | "autocfg", 1036 | "scopeguard", 1037 | ] 1038 | 1039 | [[package]] 1040 | name = "log" 1041 | version = "0.4.17" 1042 | source = "registry+https://github.com/rust-lang/crates.io-index" 1043 | checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e" 1044 | dependencies = [ 1045 | "cfg-if", 1046 | ] 1047 | 1048 | [[package]] 1049 | name = "macros" 1050 | version = "0.1.0" 1051 | dependencies = [ 1052 | "proc-macro2", 1053 | "quote", 1054 | "syn", 1055 | ] 1056 | 1057 | [[package]] 1058 | name = "match_cfg" 1059 | version = "0.1.0" 1060 | source = "registry+https://github.com/rust-lang/crates.io-index" 1061 | checksum = "ffbee8634e0d45d258acb448e7eaab3fce7a0a467395d4d9f228e3c1f01fb2e4" 1062 | 1063 | [[package]] 1064 | name = "matchit" 1065 | version = "0.5.0" 1066 | source = "registry+https://github.com/rust-lang/crates.io-index" 1067 | checksum = "73cbba799671b762df5a175adf59ce145165747bb891505c43d09aefbbf38beb" 1068 | 1069 | [[package]] 1070 | name = "md-5" 1071 | version = "0.10.5" 1072 | source = "registry+https://github.com/rust-lang/crates.io-index" 1073 | checksum = "6365506850d44bff6e2fbcb5176cf63650e48bd45ef2fe2665ae1570e0f4b9ca" 1074 | dependencies = [ 1075 | "digest", 1076 | ] 1077 | 1078 | [[package]] 1079 | name = "memchr" 1080 | version = "2.5.0" 1081 | source = "registry+https://github.com/rust-lang/crates.io-index" 1082 | checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" 1083 | 1084 | [[package]] 1085 | name = "mime" 1086 | version = "0.3.16" 1087 | source = "registry+https://github.com/rust-lang/crates.io-index" 1088 | checksum = "2a60c7ce501c71e03a9c9c0d35b861413ae925bd979cc7a4e30d060069aaac8d" 1089 | 1090 | [[package]] 1091 | name = "minimal-lexical" 1092 | version = "0.2.1" 1093 | source = "registry+https://github.com/rust-lang/crates.io-index" 1094 | checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" 1095 | 1096 | [[package]] 1097 | name = "mio" 1098 | version = "0.8.4" 1099 | source = "registry+https://github.com/rust-lang/crates.io-index" 1100 | checksum = "57ee1c23c7c63b0c9250c339ffdc69255f110b298b901b9f6c82547b7b87caaf" 1101 | dependencies = [ 1102 | "libc", 1103 | "log", 1104 | "wasi 0.11.0+wasi-snapshot-preview1", 1105 | "windows-sys", 1106 | ] 1107 | 1108 | [[package]] 1109 | name = "multi_log" 1110 | version = "0.1.2" 1111 | source = "registry+https://github.com/rust-lang/crates.io-index" 1112 | checksum = "ad56bb3c7c7c15b4e25de86c9123e886e5f80a0c03ace219b453b081c2bf20d7" 1113 | dependencies = [ 1114 | "log", 1115 | ] 1116 | 1117 | [[package]] 1118 | name = "multimap" 1119 | version = "0.8.3" 1120 | source = "registry+https://github.com/rust-lang/crates.io-index" 1121 | checksum = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a" 1122 | 1123 | [[package]] 1124 | name = "netlink-packet-core" 1125 | version = "0.4.2" 1126 | source = "registry+https://github.com/rust-lang/crates.io-index" 1127 | checksum = "345b8ab5bd4e71a2986663e88c56856699d060e78e152e6e9d7966fcd5491297" 1128 | dependencies = [ 1129 | "anyhow", 1130 | "byteorder", 1131 | "libc", 1132 | "netlink-packet-utils", 1133 | ] 1134 | 1135 | [[package]] 1136 | name = "netlink-packet-route" 1137 | version = "0.13.0" 1138 | source = "registry+https://github.com/rust-lang/crates.io-index" 1139 | checksum = "f5dee5ed749373c298237fe694eb0a51887f4cc1a27370c8464bac4382348f1a" 1140 | dependencies = [ 1141 | "anyhow", 1142 | "bitflags", 1143 | "byteorder", 1144 | "libc", 1145 | "netlink-packet-core", 1146 | "netlink-packet-utils", 1147 | ] 1148 | 1149 | [[package]] 1150 | name = "netlink-packet-utils" 1151 | version = "0.5.1" 1152 | source = "registry+https://github.com/rust-lang/crates.io-index" 1153 | checksum = "25af9cf0dc55498b7bd94a1508af7a78706aa0ab715a73c5169273e03c84845e" 1154 | dependencies = [ 1155 | "anyhow", 1156 | "byteorder", 1157 | "paste", 1158 | "thiserror", 1159 | ] 1160 | 1161 | [[package]] 1162 | name = "netlink-proto" 1163 | version = "0.10.0" 1164 | source = "registry+https://github.com/rust-lang/crates.io-index" 1165 | checksum = "65b4b14489ab424703c092062176d52ba55485a89c076b4f9db05092b7223aa6" 1166 | dependencies = [ 1167 | "bytes", 1168 | "futures", 1169 | "log", 1170 | "netlink-packet-core", 1171 | "netlink-sys", 1172 | "thiserror", 1173 | "tokio", 1174 | ] 1175 | 1176 | [[package]] 1177 | name = "netlink-sys" 1178 | version = "0.8.3" 1179 | source = "registry+https://github.com/rust-lang/crates.io-index" 1180 | checksum = "92b654097027250401127914afb37cb1f311df6610a9891ff07a757e94199027" 1181 | dependencies = [ 1182 | "bytes", 1183 | "futures", 1184 | "libc", 1185 | "log", 1186 | "tokio", 1187 | ] 1188 | 1189 | [[package]] 1190 | name = "nix" 1191 | version = "0.24.2" 1192 | source = "registry+https://github.com/rust-lang/crates.io-index" 1193 | checksum = "195cdbc1741b8134346d515b3a56a1c94b0912758009cfd53f99ea0f57b065fc" 1194 | dependencies = [ 1195 | "bitflags", 1196 | "cfg-if", 1197 | "libc", 1198 | ] 1199 | 1200 | [[package]] 1201 | name = "nom" 1202 | version = "7.1.1" 1203 | source = "registry+https://github.com/rust-lang/crates.io-index" 1204 | checksum = "a8903e5a29a317527874d0402f867152a3d21c908bb0b933e416c65e301d4c36" 1205 | dependencies = [ 1206 | "memchr", 1207 | "minimal-lexical", 1208 | ] 1209 | 1210 | [[package]] 1211 | name = "num-bigint" 1212 | version = "0.4.3" 1213 | source = "registry+https://github.com/rust-lang/crates.io-index" 1214 | checksum = "f93ab6289c7b344a8a9f60f88d80aa20032336fe78da341afc91c8a2341fc75f" 1215 | dependencies = [ 1216 | "autocfg", 1217 | "num-integer", 1218 | "num-traits", 1219 | ] 1220 | 1221 | [[package]] 1222 | name = "num-integer" 1223 | version = "0.1.45" 1224 | source = "registry+https://github.com/rust-lang/crates.io-index" 1225 | checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9" 1226 | dependencies = [ 1227 | "autocfg", 1228 | "num-traits", 1229 | ] 1230 | 1231 | [[package]] 1232 | name = "num-traits" 1233 | version = "0.2.15" 1234 | source = "registry+https://github.com/rust-lang/crates.io-index" 1235 | checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" 1236 | dependencies = [ 1237 | "autocfg", 1238 | ] 1239 | 1240 | [[package]] 1241 | name = "num_cpus" 1242 | version = "1.13.1" 1243 | source = "registry+https://github.com/rust-lang/crates.io-index" 1244 | checksum = "19e64526ebdee182341572e50e9ad03965aa510cd94427a4549448f285e957a1" 1245 | dependencies = [ 1246 | "hermit-abi", 1247 | "libc", 1248 | ] 1249 | 1250 | [[package]] 1251 | name = "num_threads" 1252 | version = "0.1.6" 1253 | source = "registry+https://github.com/rust-lang/crates.io-index" 1254 | checksum = "2819ce041d2ee131036f4fc9d6ae7ae125a3a40e97ba64d04fe799ad9dabbb44" 1255 | dependencies = [ 1256 | "libc", 1257 | ] 1258 | 1259 | [[package]] 1260 | name = "oid-registry" 1261 | version = "0.6.0" 1262 | source = "registry+https://github.com/rust-lang/crates.io-index" 1263 | checksum = "7d4bda43fd1b844cbc6e6e54b5444e2b1bc7838bce59ad205902cccbb26d6761" 1264 | dependencies = [ 1265 | "asn1-rs", 1266 | ] 1267 | 1268 | [[package]] 1269 | name = "once_cell" 1270 | version = "1.14.0" 1271 | source = "registry+https://github.com/rust-lang/crates.io-index" 1272 | checksum = "2f7254b99e31cad77da24b08ebf628882739a608578bb1bcdfc1f9c21260d7c0" 1273 | 1274 | [[package]] 1275 | name = "openssl" 1276 | version = "0.10.41" 1277 | source = "registry+https://github.com/rust-lang/crates.io-index" 1278 | checksum = "618febf65336490dfcf20b73f885f5651a0c89c64c2d4a8c3662585a70bf5bd0" 1279 | dependencies = [ 1280 | "bitflags", 1281 | "cfg-if", 1282 | "foreign-types", 1283 | "libc", 1284 | "once_cell", 1285 | "openssl-macros", 1286 | "openssl-sys", 1287 | ] 1288 | 1289 | [[package]] 1290 | name = "openssl-macros" 1291 | version = "0.1.0" 1292 | source = "registry+https://github.com/rust-lang/crates.io-index" 1293 | checksum = "b501e44f11665960c7e7fcf062c7d96a14ade4aa98116c004b2e37b5be7d736c" 1294 | dependencies = [ 1295 | "proc-macro2", 1296 | "quote", 1297 | "syn", 1298 | ] 1299 | 1300 | [[package]] 1301 | name = "openssl-sys" 1302 | version = "0.9.75" 1303 | source = "registry+https://github.com/rust-lang/crates.io-index" 1304 | checksum = "e5f9bd0c2710541a3cda73d6f9ac4f1b240de4ae261065d309dbe73d9dceb42f" 1305 | dependencies = [ 1306 | "autocfg", 1307 | "cc", 1308 | "libc", 1309 | "pkg-config", 1310 | "vcpkg", 1311 | ] 1312 | 1313 | [[package]] 1314 | name = "os_str_bytes" 1315 | version = "6.3.0" 1316 | source = "registry+https://github.com/rust-lang/crates.io-index" 1317 | checksum = "9ff7415e9ae3fff1225851df9e0d9e4e5479f947619774677a63572e55e80eff" 1318 | 1319 | [[package]] 1320 | name = "ouroboros" 1321 | version = "0.15.5" 1322 | source = "registry+https://github.com/rust-lang/crates.io-index" 1323 | checksum = "dfbb50b356159620db6ac971c6d5c9ab788c9cc38a6f49619fca2a27acb062ca" 1324 | dependencies = [ 1325 | "aliasable", 1326 | "ouroboros_macro", 1327 | ] 1328 | 1329 | [[package]] 1330 | name = "ouroboros_macro" 1331 | version = "0.15.5" 1332 | source = "registry+https://github.com/rust-lang/crates.io-index" 1333 | checksum = "4a0d9d1a6191c4f391f87219d1ea42b23f09ee84d64763cd05ee6ea88d9f384d" 1334 | dependencies = [ 1335 | "Inflector", 1336 | "proc-macro-error", 1337 | "proc-macro2", 1338 | "quote", 1339 | "syn", 1340 | ] 1341 | 1342 | [[package]] 1343 | name = "parking_lot" 1344 | version = "0.11.2" 1345 | source = "registry+https://github.com/rust-lang/crates.io-index" 1346 | checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99" 1347 | dependencies = [ 1348 | "instant", 1349 | "lock_api", 1350 | "parking_lot_core", 1351 | ] 1352 | 1353 | [[package]] 1354 | name = "parking_lot_core" 1355 | version = "0.8.5" 1356 | source = "registry+https://github.com/rust-lang/crates.io-index" 1357 | checksum = "d76e8e1493bcac0d2766c42737f34458f1c8c50c0d23bcb24ea953affb273216" 1358 | dependencies = [ 1359 | "cfg-if", 1360 | "instant", 1361 | "libc", 1362 | "redox_syscall", 1363 | "smallvec", 1364 | "winapi", 1365 | ] 1366 | 1367 | [[package]] 1368 | name = "paste" 1369 | version = "1.0.9" 1370 | source = "registry+https://github.com/rust-lang/crates.io-index" 1371 | checksum = "b1de2e551fb905ac83f73f7aedf2f0cb4a0da7e35efa24a202a936269f1f18e1" 1372 | 1373 | [[package]] 1374 | name = "pem" 1375 | version = "1.1.0" 1376 | source = "registry+https://github.com/rust-lang/crates.io-index" 1377 | checksum = "03c64931a1a212348ec4f3b4362585eca7159d0d09cbdf4a7f74f02173596fd4" 1378 | dependencies = [ 1379 | "base64", 1380 | ] 1381 | 1382 | [[package]] 1383 | name = "percent-encoding" 1384 | version = "2.2.0" 1385 | source = "registry+https://github.com/rust-lang/crates.io-index" 1386 | checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e" 1387 | 1388 | [[package]] 1389 | name = "petgraph" 1390 | version = "0.6.2" 1391 | source = "registry+https://github.com/rust-lang/crates.io-index" 1392 | checksum = "e6d5014253a1331579ce62aa67443b4a658c5e7dd03d4bc6d302b94474888143" 1393 | dependencies = [ 1394 | "fixedbitset", 1395 | "indexmap", 1396 | ] 1397 | 1398 | [[package]] 1399 | name = "pin-project" 1400 | version = "1.0.12" 1401 | source = "registry+https://github.com/rust-lang/crates.io-index" 1402 | checksum = "ad29a609b6bcd67fee905812e544992d216af9d755757c05ed2d0e15a74c6ecc" 1403 | dependencies = [ 1404 | "pin-project-internal", 1405 | ] 1406 | 1407 | [[package]] 1408 | name = "pin-project-internal" 1409 | version = "1.0.12" 1410 | source = "registry+https://github.com/rust-lang/crates.io-index" 1411 | checksum = "069bdb1e05adc7a8990dce9cc75370895fbe4e3d58b9b73bf1aee56359344a55" 1412 | dependencies = [ 1413 | "proc-macro2", 1414 | "quote", 1415 | "syn", 1416 | ] 1417 | 1418 | [[package]] 1419 | name = "pin-project-lite" 1420 | version = "0.2.9" 1421 | source = "registry+https://github.com/rust-lang/crates.io-index" 1422 | checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116" 1423 | 1424 | [[package]] 1425 | name = "pin-utils" 1426 | version = "0.1.0" 1427 | source = "registry+https://github.com/rust-lang/crates.io-index" 1428 | checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" 1429 | 1430 | [[package]] 1431 | name = "pkg-config" 1432 | version = "0.3.25" 1433 | source = "registry+https://github.com/rust-lang/crates.io-index" 1434 | checksum = "1df8c4ec4b0627e53bdf214615ad287367e482558cf84b109250b37464dc03ae" 1435 | 1436 | [[package]] 1437 | name = "postgres-protocol" 1438 | version = "0.6.4" 1439 | source = "registry+https://github.com/rust-lang/crates.io-index" 1440 | checksum = "878c6cbf956e03af9aa8204b407b9cbf47c072164800aa918c516cd4b056c50c" 1441 | dependencies = [ 1442 | "base64", 1443 | "byteorder", 1444 | "bytes", 1445 | "fallible-iterator", 1446 | "hmac", 1447 | "md-5", 1448 | "memchr", 1449 | "rand", 1450 | "sha2", 1451 | "stringprep", 1452 | ] 1453 | 1454 | [[package]] 1455 | name = "postgres-types" 1456 | version = "0.2.4" 1457 | source = "registry+https://github.com/rust-lang/crates.io-index" 1458 | checksum = "73d946ec7d256b04dfadc4e6a3292324e6f417124750fc5c0950f981b703a0f1" 1459 | dependencies = [ 1460 | "bytes", 1461 | "chrono", 1462 | "fallible-iterator", 1463 | "postgres-protocol", 1464 | "serde", 1465 | "serde_json", 1466 | "time 0.3.14", 1467 | "uuid", 1468 | ] 1469 | 1470 | [[package]] 1471 | name = "ppv-lite86" 1472 | version = "0.2.16" 1473 | source = "registry+https://github.com/rust-lang/crates.io-index" 1474 | checksum = "eb9f9e6e233e5c4a35559a617bf40a4ec447db2e84c20b55a6f83167b7e57872" 1475 | 1476 | [[package]] 1477 | name = "prettyplease" 1478 | version = "0.1.19" 1479 | source = "registry+https://github.com/rust-lang/crates.io-index" 1480 | checksum = "a49e86d2c26a24059894a3afa13fd17d063419b05dfb83f06d9c3566060c3f5a" 1481 | dependencies = [ 1482 | "proc-macro2", 1483 | "syn", 1484 | ] 1485 | 1486 | [[package]] 1487 | name = "proc-macro-error" 1488 | version = "1.0.4" 1489 | source = "registry+https://github.com/rust-lang/crates.io-index" 1490 | checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" 1491 | dependencies = [ 1492 | "proc-macro-error-attr", 1493 | "proc-macro2", 1494 | "quote", 1495 | "syn", 1496 | "version_check", 1497 | ] 1498 | 1499 | [[package]] 1500 | name = "proc-macro-error-attr" 1501 | version = "1.0.4" 1502 | source = "registry+https://github.com/rust-lang/crates.io-index" 1503 | checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" 1504 | dependencies = [ 1505 | "proc-macro2", 1506 | "quote", 1507 | "version_check", 1508 | ] 1509 | 1510 | [[package]] 1511 | name = "proc-macro2" 1512 | version = "1.0.46" 1513 | source = "registry+https://github.com/rust-lang/crates.io-index" 1514 | checksum = "94e2ef8dbfc347b10c094890f778ee2e36ca9bb4262e86dc99cd217e35f3470b" 1515 | dependencies = [ 1516 | "unicode-ident", 1517 | ] 1518 | 1519 | [[package]] 1520 | name = "prost" 1521 | version = "0.11.0" 1522 | source = "registry+https://github.com/rust-lang/crates.io-index" 1523 | checksum = "399c3c31cdec40583bb68f0b18403400d01ec4289c383aa047560439952c4dd7" 1524 | dependencies = [ 1525 | "bytes", 1526 | "prost-derive", 1527 | ] 1528 | 1529 | [[package]] 1530 | name = "prost-build" 1531 | version = "0.11.1" 1532 | source = "registry+https://github.com/rust-lang/crates.io-index" 1533 | checksum = "7f835c582e6bd972ba8347313300219fed5bfa52caf175298d860b61ff6069bb" 1534 | dependencies = [ 1535 | "bytes", 1536 | "heck 0.4.0", 1537 | "itertools", 1538 | "lazy_static", 1539 | "log", 1540 | "multimap", 1541 | "petgraph", 1542 | "prost", 1543 | "prost-types", 1544 | "regex", 1545 | "tempfile", 1546 | "which", 1547 | ] 1548 | 1549 | [[package]] 1550 | name = "prost-derive" 1551 | version = "0.11.0" 1552 | source = "registry+https://github.com/rust-lang/crates.io-index" 1553 | checksum = "7345d5f0e08c0536d7ac7229952590239e77abf0a0100a1b1d890add6ea96364" 1554 | dependencies = [ 1555 | "anyhow", 1556 | "itertools", 1557 | "proc-macro2", 1558 | "quote", 1559 | "syn", 1560 | ] 1561 | 1562 | [[package]] 1563 | name = "prost-types" 1564 | version = "0.11.1" 1565 | source = "registry+https://github.com/rust-lang/crates.io-index" 1566 | checksum = "4dfaa718ad76a44b3415e6c4d53b17c8f99160dcb3a99b10470fce8ad43f6e3e" 1567 | dependencies = [ 1568 | "bytes", 1569 | "prost", 1570 | ] 1571 | 1572 | [[package]] 1573 | name = "quote" 1574 | version = "1.0.21" 1575 | source = "registry+https://github.com/rust-lang/crates.io-index" 1576 | checksum = "bbe448f377a7d6961e30f5955f9b8d106c3f5e449d493ee1b125c1d43c2b5179" 1577 | dependencies = [ 1578 | "proc-macro2", 1579 | ] 1580 | 1581 | [[package]] 1582 | name = "rand" 1583 | version = "0.8.5" 1584 | source = "registry+https://github.com/rust-lang/crates.io-index" 1585 | checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" 1586 | dependencies = [ 1587 | "libc", 1588 | "rand_chacha", 1589 | "rand_core", 1590 | ] 1591 | 1592 | [[package]] 1593 | name = "rand_chacha" 1594 | version = "0.3.1" 1595 | source = "registry+https://github.com/rust-lang/crates.io-index" 1596 | checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" 1597 | dependencies = [ 1598 | "ppv-lite86", 1599 | "rand_core", 1600 | ] 1601 | 1602 | [[package]] 1603 | name = "rand_core" 1604 | version = "0.6.4" 1605 | source = "registry+https://github.com/rust-lang/crates.io-index" 1606 | checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" 1607 | dependencies = [ 1608 | "getrandom", 1609 | ] 1610 | 1611 | [[package]] 1612 | name = "redox_syscall" 1613 | version = "0.2.16" 1614 | source = "registry+https://github.com/rust-lang/crates.io-index" 1615 | checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" 1616 | dependencies = [ 1617 | "bitflags", 1618 | ] 1619 | 1620 | [[package]] 1621 | name = "redox_users" 1622 | version = "0.4.3" 1623 | source = "registry+https://github.com/rust-lang/crates.io-index" 1624 | checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b" 1625 | dependencies = [ 1626 | "getrandom", 1627 | "redox_syscall", 1628 | "thiserror", 1629 | ] 1630 | 1631 | [[package]] 1632 | name = "regex" 1633 | version = "1.6.0" 1634 | source = "registry+https://github.com/rust-lang/crates.io-index" 1635 | checksum = "4c4eb3267174b8c6c2f654116623910a0fef09c4753f8dd83db29c48a0df988b" 1636 | dependencies = [ 1637 | "regex-syntax", 1638 | ] 1639 | 1640 | [[package]] 1641 | name = "regex-syntax" 1642 | version = "0.6.27" 1643 | source = "registry+https://github.com/rust-lang/crates.io-index" 1644 | checksum = "a3f87b73ce11b1619a3c6332f45341e0047173771e8b8b73f87bfeefb7b56244" 1645 | 1646 | [[package]] 1647 | name = "remove_dir_all" 1648 | version = "0.5.3" 1649 | source = "registry+https://github.com/rust-lang/crates.io-index" 1650 | checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7" 1651 | dependencies = [ 1652 | "winapi", 1653 | ] 1654 | 1655 | [[package]] 1656 | name = "rhai" 1657 | version = "1.10.0" 1658 | source = "registry+https://github.com/rust-lang/crates.io-index" 1659 | checksum = "863c895db914cfbef71203b027f6336c00c9aed51c985c484584c37dd0375c51" 1660 | dependencies = [ 1661 | "ahash 0.8.0", 1662 | "bitflags", 1663 | "instant", 1664 | "num-traits", 1665 | "rhai_codegen", 1666 | "serde", 1667 | "serde_json", 1668 | "smallvec", 1669 | "smartstring", 1670 | ] 1671 | 1672 | [[package]] 1673 | name = "rhai_codegen" 1674 | version = "1.4.2" 1675 | source = "registry+https://github.com/rust-lang/crates.io-index" 1676 | checksum = "36791b0b801159db25130fd46ac726d2751c070260bba3a4a0a3eeb6231bb82a" 1677 | dependencies = [ 1678 | "proc-macro2", 1679 | "quote", 1680 | "syn", 1681 | ] 1682 | 1683 | [[package]] 1684 | name = "ring" 1685 | version = "0.16.20" 1686 | source = "registry+https://github.com/rust-lang/crates.io-index" 1687 | checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc" 1688 | dependencies = [ 1689 | "cc", 1690 | "libc", 1691 | "once_cell", 1692 | "spin 0.5.2", 1693 | "untrusted", 1694 | "web-sys", 1695 | "winapi", 1696 | ] 1697 | 1698 | [[package]] 1699 | name = "rtnetlink" 1700 | version = "0.11.0" 1701 | source = "registry+https://github.com/rust-lang/crates.io-index" 1702 | checksum = "46f1cfa18f8cebe685373a2697915d7e0db3b4554918bba118385e0f71f258a7" 1703 | dependencies = [ 1704 | "futures", 1705 | "log", 1706 | "netlink-packet-route", 1707 | "netlink-proto", 1708 | "nix", 1709 | "thiserror", 1710 | "tokio", 1711 | ] 1712 | 1713 | [[package]] 1714 | name = "rust_decimal" 1715 | version = "1.26.1" 1716 | source = "registry+https://github.com/rust-lang/crates.io-index" 1717 | checksum = "ee9164faf726e4f3ece4978b25ca877ddc6802fa77f38cdccb32c7f805ecd70c" 1718 | dependencies = [ 1719 | "arrayvec", 1720 | "num-traits", 1721 | "serde", 1722 | ] 1723 | 1724 | [[package]] 1725 | name = "rusticata-macros" 1726 | version = "4.1.0" 1727 | source = "registry+https://github.com/rust-lang/crates.io-index" 1728 | checksum = "faf0c4a6ece9950b9abdb62b1cfcf2a68b3b67a10ba445b3bb85be2a293d0632" 1729 | dependencies = [ 1730 | "nom", 1731 | ] 1732 | 1733 | [[package]] 1734 | name = "rustls" 1735 | version = "0.20.6" 1736 | source = "registry+https://github.com/rust-lang/crates.io-index" 1737 | checksum = "5aab8ee6c7097ed6057f43c187a62418d0c05a4bd5f18b3571db50ee0f9ce033" 1738 | dependencies = [ 1739 | "log", 1740 | "ring", 1741 | "sct", 1742 | "webpki", 1743 | ] 1744 | 1745 | [[package]] 1746 | name = "rustls-pemfile" 1747 | version = "1.0.1" 1748 | source = "registry+https://github.com/rust-lang/crates.io-index" 1749 | checksum = "0864aeff53f8c05aa08d86e5ef839d3dfcf07aeba2db32f12db0ef716e87bd55" 1750 | dependencies = [ 1751 | "base64", 1752 | ] 1753 | 1754 | [[package]] 1755 | name = "rustversion" 1756 | version = "1.0.9" 1757 | source = "registry+https://github.com/rust-lang/crates.io-index" 1758 | checksum = "97477e48b4cf8603ad5f7aaf897467cf42ab4218a38ef76fb14c2d6773a6d6a8" 1759 | 1760 | [[package]] 1761 | name = "ryu" 1762 | version = "1.0.11" 1763 | source = "registry+https://github.com/rust-lang/crates.io-index" 1764 | checksum = "4501abdff3ae82a1c1b477a17252eb69cee9e66eb915c1abaa4f44d873df9f09" 1765 | 1766 | [[package]] 1767 | name = "same-file" 1768 | version = "1.0.6" 1769 | source = "registry+https://github.com/rust-lang/crates.io-index" 1770 | checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" 1771 | dependencies = [ 1772 | "winapi-util", 1773 | ] 1774 | 1775 | [[package]] 1776 | name = "scopeguard" 1777 | version = "1.1.0" 1778 | source = "registry+https://github.com/rust-lang/crates.io-index" 1779 | checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" 1780 | 1781 | [[package]] 1782 | name = "sct" 1783 | version = "0.7.0" 1784 | source = "registry+https://github.com/rust-lang/crates.io-index" 1785 | checksum = "d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4" 1786 | dependencies = [ 1787 | "ring", 1788 | "untrusted", 1789 | ] 1790 | 1791 | [[package]] 1792 | name = "sea-orm" 1793 | version = "0.9.3" 1794 | source = "registry+https://github.com/rust-lang/crates.io-index" 1795 | checksum = "84c7282fc3d7f79f6c5bd57e603319862fc778bf74118c0ce2a0dc82d9141dee" 1796 | dependencies = [ 1797 | "async-stream", 1798 | "async-trait", 1799 | "chrono", 1800 | "futures", 1801 | "futures-util", 1802 | "log", 1803 | "once_cell", 1804 | "ouroboros", 1805 | "rust_decimal", 1806 | "sea-orm-macros", 1807 | "sea-query", 1808 | "sea-strum", 1809 | "serde", 1810 | "serde_json", 1811 | "sqlx", 1812 | "time 0.3.14", 1813 | "tracing", 1814 | "url", 1815 | "uuid", 1816 | ] 1817 | 1818 | [[package]] 1819 | name = "sea-orm-macros" 1820 | version = "0.9.3" 1821 | source = "registry+https://github.com/rust-lang/crates.io-index" 1822 | checksum = "f96b8a479d25d8110751a0511265556dd9139bc11e342357a98e60910fbb07e3" 1823 | dependencies = [ 1824 | "bae", 1825 | "heck 0.3.3", 1826 | "proc-macro2", 1827 | "quote", 1828 | "syn", 1829 | ] 1830 | 1831 | [[package]] 1832 | name = "sea-query" 1833 | version = "0.26.3" 1834 | source = "registry+https://github.com/rust-lang/crates.io-index" 1835 | checksum = "a6a1de9d0334895f7eb51bd1603c3c9f6737413f905a134001f1e198f43bfd70" 1836 | dependencies = [ 1837 | "chrono", 1838 | "postgres-types", 1839 | "rust_decimal", 1840 | "sea-query-derive", 1841 | "sea-query-driver", 1842 | "serde_json", 1843 | "time 0.3.14", 1844 | "uuid", 1845 | ] 1846 | 1847 | [[package]] 1848 | name = "sea-query-derive" 1849 | version = "0.2.0" 1850 | source = "registry+https://github.com/rust-lang/crates.io-index" 1851 | checksum = "34cdc022b4f606353fe5dc85b09713a04e433323b70163e81513b141c6ae6eb5" 1852 | dependencies = [ 1853 | "heck 0.3.3", 1854 | "proc-macro2", 1855 | "quote", 1856 | "syn", 1857 | "thiserror", 1858 | ] 1859 | 1860 | [[package]] 1861 | name = "sea-query-driver" 1862 | version = "0.2.2" 1863 | source = "registry+https://github.com/rust-lang/crates.io-index" 1864 | checksum = "7d7f0cae2e7ebb2affc378c40bc343c8197181d601d6755c3e66f1bd18cac253" 1865 | dependencies = [ 1866 | "proc-macro2", 1867 | "quote", 1868 | "syn", 1869 | ] 1870 | 1871 | [[package]] 1872 | name = "sea-strum" 1873 | version = "0.23.0" 1874 | source = "registry+https://github.com/rust-lang/crates.io-index" 1875 | checksum = "391d06a6007842cfe79ac6f7f53911b76dfd69fc9a6769f1cf6569d12ce20e1b" 1876 | dependencies = [ 1877 | "sea-strum_macros", 1878 | ] 1879 | 1880 | [[package]] 1881 | name = "sea-strum_macros" 1882 | version = "0.23.0" 1883 | source = "registry+https://github.com/rust-lang/crates.io-index" 1884 | checksum = "69b4397b825df6ccf1e98bcdabef3bbcfc47ff5853983467850eeab878384f21" 1885 | dependencies = [ 1886 | "heck 0.3.3", 1887 | "proc-macro2", 1888 | "quote", 1889 | "rustversion", 1890 | "syn", 1891 | ] 1892 | 1893 | [[package]] 1894 | name = "serde" 1895 | version = "1.0.144" 1896 | source = "registry+https://github.com/rust-lang/crates.io-index" 1897 | checksum = "0f747710de3dcd43b88c9168773254e809d8ddbdf9653b84e2554ab219f17860" 1898 | dependencies = [ 1899 | "serde_derive", 1900 | ] 1901 | 1902 | [[package]] 1903 | name = "serde_derive" 1904 | version = "1.0.144" 1905 | source = "registry+https://github.com/rust-lang/crates.io-index" 1906 | checksum = "94ed3a816fb1d101812f83e789f888322c34e291f894f19590dc310963e87a00" 1907 | dependencies = [ 1908 | "proc-macro2", 1909 | "quote", 1910 | "syn", 1911 | ] 1912 | 1913 | [[package]] 1914 | name = "serde_json" 1915 | version = "1.0.85" 1916 | source = "registry+https://github.com/rust-lang/crates.io-index" 1917 | checksum = "e55a28e3aaef9d5ce0506d0a14dbba8054ddc7e499ef522dd8b26859ec9d4a44" 1918 | dependencies = [ 1919 | "itoa", 1920 | "ryu", 1921 | "serde", 1922 | ] 1923 | 1924 | [[package]] 1925 | name = "sha2" 1926 | version = "0.10.6" 1927 | source = "registry+https://github.com/rust-lang/crates.io-index" 1928 | checksum = "82e6b795fe2e3b1e845bafcb27aa35405c4d47cdfc92af5fc8d3002f76cebdc0" 1929 | dependencies = [ 1930 | "cfg-if", 1931 | "cpufeatures", 1932 | "digest", 1933 | ] 1934 | 1935 | [[package]] 1936 | name = "signature" 1937 | version = "1.6.3" 1938 | source = "registry+https://github.com/rust-lang/crates.io-index" 1939 | checksum = "deb766570a2825fa972bceff0d195727876a9cdf2460ab2e52d455dc2de47fd9" 1940 | 1941 | [[package]] 1942 | name = "simplelog" 1943 | version = "0.12.0" 1944 | source = "registry+https://github.com/rust-lang/crates.io-index" 1945 | checksum = "48dfff04aade74dd495b007c831cd6f4e0cee19c344dd9dc0884c0289b70a786" 1946 | dependencies = [ 1947 | "log", 1948 | "termcolor", 1949 | "time 0.3.14", 1950 | ] 1951 | 1952 | [[package]] 1953 | name = "slab" 1954 | version = "0.4.7" 1955 | source = "registry+https://github.com/rust-lang/crates.io-index" 1956 | checksum = "4614a76b2a8be0058caa9dbbaf66d988527d86d003c11a94fbd335d7661edcef" 1957 | dependencies = [ 1958 | "autocfg", 1959 | ] 1960 | 1961 | [[package]] 1962 | name = "smallvec" 1963 | version = "1.9.0" 1964 | source = "registry+https://github.com/rust-lang/crates.io-index" 1965 | checksum = "2fd0db749597d91ff862fd1d55ea87f7855a744a8425a64695b6fca237d1dad1" 1966 | dependencies = [ 1967 | "serde", 1968 | ] 1969 | 1970 | [[package]] 1971 | name = "smartstring" 1972 | version = "1.0.1" 1973 | source = "registry+https://github.com/rust-lang/crates.io-index" 1974 | checksum = "3fb72c633efbaa2dd666986505016c32c3044395ceaf881518399d2f4127ee29" 1975 | dependencies = [ 1976 | "autocfg", 1977 | "serde", 1978 | "static_assertions", 1979 | "version_check", 1980 | ] 1981 | 1982 | [[package]] 1983 | name = "socket2" 1984 | version = "0.4.7" 1985 | source = "registry+https://github.com/rust-lang/crates.io-index" 1986 | checksum = "02e2d2db9033d13a1567121ddd7a095ee144db4e1ca1b1bda3419bc0da294ebd" 1987 | dependencies = [ 1988 | "libc", 1989 | "winapi", 1990 | ] 1991 | 1992 | [[package]] 1993 | name = "spin" 1994 | version = "0.5.2" 1995 | source = "registry+https://github.com/rust-lang/crates.io-index" 1996 | checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" 1997 | 1998 | [[package]] 1999 | name = "spin" 2000 | version = "0.9.4" 2001 | source = "registry+https://github.com/rust-lang/crates.io-index" 2002 | checksum = "7f6002a767bff9e83f8eeecf883ecb8011875a21ae8da43bffb817a57e78cc09" 2003 | dependencies = [ 2004 | "lock_api", 2005 | ] 2006 | 2007 | [[package]] 2008 | name = "spki" 2009 | version = "0.5.4" 2010 | source = "registry+https://github.com/rust-lang/crates.io-index" 2011 | checksum = "44d01ac02a6ccf3e07db148d2be087da624fea0221a16152ed01f0496a6b0a27" 2012 | dependencies = [ 2013 | "base64ct", 2014 | "der", 2015 | ] 2016 | 2017 | [[package]] 2018 | name = "sqlformat" 2019 | version = "0.2.0" 2020 | source = "registry+https://github.com/rust-lang/crates.io-index" 2021 | checksum = "f87e292b4291f154971a43c3774364e2cbcaec599d3f5bf6fa9d122885dbc38a" 2022 | dependencies = [ 2023 | "itertools", 2024 | "nom", 2025 | "unicode_categories", 2026 | ] 2027 | 2028 | [[package]] 2029 | name = "sqlx" 2030 | version = "0.6.2" 2031 | source = "registry+https://github.com/rust-lang/crates.io-index" 2032 | checksum = "9249290c05928352f71c077cc44a464d880c63f26f7534728cca008e135c0428" 2033 | dependencies = [ 2034 | "sqlx-core", 2035 | "sqlx-macros", 2036 | ] 2037 | 2038 | [[package]] 2039 | name = "sqlx-core" 2040 | version = "0.6.2" 2041 | source = "registry+https://github.com/rust-lang/crates.io-index" 2042 | checksum = "dcbc16ddba161afc99e14d1713a453747a2b07fc097d2009f4c300ec99286105" 2043 | dependencies = [ 2044 | "ahash 0.7.6", 2045 | "atoi", 2046 | "bitflags", 2047 | "byteorder", 2048 | "bytes", 2049 | "chrono", 2050 | "crc", 2051 | "crossbeam-queue", 2052 | "dotenvy", 2053 | "either", 2054 | "event-listener", 2055 | "flume", 2056 | "futures-channel", 2057 | "futures-core", 2058 | "futures-executor", 2059 | "futures-intrusive", 2060 | "futures-util", 2061 | "hashlink", 2062 | "hex", 2063 | "indexmap", 2064 | "itoa", 2065 | "libc", 2066 | "libsqlite3-sys", 2067 | "log", 2068 | "memchr", 2069 | "num-bigint", 2070 | "once_cell", 2071 | "paste", 2072 | "percent-encoding", 2073 | "rust_decimal", 2074 | "rustls", 2075 | "rustls-pemfile", 2076 | "serde", 2077 | "serde_json", 2078 | "sha2", 2079 | "smallvec", 2080 | "sqlformat", 2081 | "sqlx-rt", 2082 | "stringprep", 2083 | "thiserror", 2084 | "time 0.3.14", 2085 | "tokio-stream", 2086 | "url", 2087 | "uuid", 2088 | "webpki-roots", 2089 | ] 2090 | 2091 | [[package]] 2092 | name = "sqlx-macros" 2093 | version = "0.6.2" 2094 | source = "registry+https://github.com/rust-lang/crates.io-index" 2095 | checksum = "b850fa514dc11f2ee85be9d055c512aa866746adfacd1cb42d867d68e6a5b0d9" 2096 | dependencies = [ 2097 | "dotenvy", 2098 | "either", 2099 | "heck 0.4.0", 2100 | "once_cell", 2101 | "proc-macro2", 2102 | "quote", 2103 | "serde_json", 2104 | "sha2", 2105 | "sqlx-core", 2106 | "sqlx-rt", 2107 | "syn", 2108 | "url", 2109 | ] 2110 | 2111 | [[package]] 2112 | name = "sqlx-rt" 2113 | version = "0.6.2" 2114 | source = "registry+https://github.com/rust-lang/crates.io-index" 2115 | checksum = "24c5b2d25fa654cc5f841750b8e1cdedbe21189bf9a9382ee90bfa9dd3562396" 2116 | dependencies = [ 2117 | "once_cell", 2118 | "tokio", 2119 | "tokio-rustls", 2120 | ] 2121 | 2122 | [[package]] 2123 | name = "static_assertions" 2124 | version = "1.1.0" 2125 | source = "registry+https://github.com/rust-lang/crates.io-index" 2126 | checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" 2127 | 2128 | [[package]] 2129 | name = "stringprep" 2130 | version = "0.1.2" 2131 | source = "registry+https://github.com/rust-lang/crates.io-index" 2132 | checksum = "8ee348cb74b87454fff4b551cbf727025810a004f88aeacae7f85b87f4e9a1c1" 2133 | dependencies = [ 2134 | "unicode-bidi", 2135 | "unicode-normalization", 2136 | ] 2137 | 2138 | [[package]] 2139 | name = "strsim" 2140 | version = "0.10.0" 2141 | source = "registry+https://github.com/rust-lang/crates.io-index" 2142 | checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" 2143 | 2144 | [[package]] 2145 | name = "subtle" 2146 | version = "2.4.1" 2147 | source = "registry+https://github.com/rust-lang/crates.io-index" 2148 | checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" 2149 | 2150 | [[package]] 2151 | name = "syn" 2152 | version = "1.0.101" 2153 | source = "registry+https://github.com/rust-lang/crates.io-index" 2154 | checksum = "e90cde112c4b9690b8cbe810cba9ddd8bc1d7472e2cae317b69e9438c1cba7d2" 2155 | dependencies = [ 2156 | "proc-macro2", 2157 | "quote", 2158 | "unicode-ident", 2159 | ] 2160 | 2161 | [[package]] 2162 | name = "sync_wrapper" 2163 | version = "0.1.1" 2164 | source = "registry+https://github.com/rust-lang/crates.io-index" 2165 | checksum = "20518fe4a4c9acf048008599e464deb21beeae3d3578418951a189c235a7a9a8" 2166 | 2167 | [[package]] 2168 | name = "synstructure" 2169 | version = "0.12.6" 2170 | source = "registry+https://github.com/rust-lang/crates.io-index" 2171 | checksum = "f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f" 2172 | dependencies = [ 2173 | "proc-macro2", 2174 | "quote", 2175 | "syn", 2176 | "unicode-xid", 2177 | ] 2178 | 2179 | [[package]] 2180 | name = "syslog" 2181 | version = "6.0.1" 2182 | source = "registry+https://github.com/rust-lang/crates.io-index" 2183 | checksum = "978044cc68150ad5e40083c9f6a725e6fd02d7ba1bcf691ec2ff0d66c0b41acc" 2184 | dependencies = [ 2185 | "error-chain", 2186 | "hostname", 2187 | "libc", 2188 | "log", 2189 | "time 0.3.14", 2190 | ] 2191 | 2192 | [[package]] 2193 | name = "tempfile" 2194 | version = "3.3.0" 2195 | source = "registry+https://github.com/rust-lang/crates.io-index" 2196 | checksum = "5cdb1ef4eaeeaddc8fbd371e5017057064af0911902ef36b39801f67cc6d79e4" 2197 | dependencies = [ 2198 | "cfg-if", 2199 | "fastrand", 2200 | "libc", 2201 | "redox_syscall", 2202 | "remove_dir_all", 2203 | "winapi", 2204 | ] 2205 | 2206 | [[package]] 2207 | name = "termcolor" 2208 | version = "1.1.3" 2209 | source = "registry+https://github.com/rust-lang/crates.io-index" 2210 | checksum = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755" 2211 | dependencies = [ 2212 | "winapi-util", 2213 | ] 2214 | 2215 | [[package]] 2216 | name = "textwrap" 2217 | version = "0.15.1" 2218 | source = "registry+https://github.com/rust-lang/crates.io-index" 2219 | checksum = "949517c0cf1bf4ee812e2e07e08ab448e3ae0d23472aee8a06c985f0c8815b16" 2220 | 2221 | [[package]] 2222 | name = "thiserror" 2223 | version = "1.0.37" 2224 | source = "registry+https://github.com/rust-lang/crates.io-index" 2225 | checksum = "10deb33631e3c9018b9baf9dcbbc4f737320d2b576bac10f6aefa048fa407e3e" 2226 | dependencies = [ 2227 | "thiserror-impl", 2228 | ] 2229 | 2230 | [[package]] 2231 | name = "thiserror-impl" 2232 | version = "1.0.37" 2233 | source = "registry+https://github.com/rust-lang/crates.io-index" 2234 | checksum = "982d17546b47146b28f7c22e3d08465f6b8903d0ea13c1660d9d84a6e7adcdbb" 2235 | dependencies = [ 2236 | "proc-macro2", 2237 | "quote", 2238 | "syn", 2239 | ] 2240 | 2241 | [[package]] 2242 | name = "time" 2243 | version = "0.1.44" 2244 | source = "registry+https://github.com/rust-lang/crates.io-index" 2245 | checksum = "6db9e6914ab8b1ae1c260a4ae7a49b6c5611b40328a735b21862567685e73255" 2246 | dependencies = [ 2247 | "libc", 2248 | "wasi 0.10.0+wasi-snapshot-preview1", 2249 | "winapi", 2250 | ] 2251 | 2252 | [[package]] 2253 | name = "time" 2254 | version = "0.3.14" 2255 | source = "registry+https://github.com/rust-lang/crates.io-index" 2256 | checksum = "3c3f9a28b618c3a6b9251b6908e9c99e04b9e5c02e6581ccbb67d59c34ef7f9b" 2257 | dependencies = [ 2258 | "itoa", 2259 | "libc", 2260 | "num_threads", 2261 | "time-macros", 2262 | ] 2263 | 2264 | [[package]] 2265 | name = "time-macros" 2266 | version = "0.2.4" 2267 | source = "registry+https://github.com/rust-lang/crates.io-index" 2268 | checksum = "42657b1a6f4d817cda8e7a0ace261fe0cc946cf3a80314390b22cc61ae080792" 2269 | 2270 | [[package]] 2271 | name = "tinyvec" 2272 | version = "1.6.0" 2273 | source = "registry+https://github.com/rust-lang/crates.io-index" 2274 | checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" 2275 | dependencies = [ 2276 | "tinyvec_macros", 2277 | ] 2278 | 2279 | [[package]] 2280 | name = "tinyvec_macros" 2281 | version = "0.1.0" 2282 | source = "registry+https://github.com/rust-lang/crates.io-index" 2283 | checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" 2284 | 2285 | [[package]] 2286 | name = "tokio" 2287 | version = "1.21.1" 2288 | source = "registry+https://github.com/rust-lang/crates.io-index" 2289 | checksum = "0020c875007ad96677dcc890298f4b942882c5d4eb7cc8f439fc3bf813dc9c95" 2290 | dependencies = [ 2291 | "autocfg", 2292 | "bytes", 2293 | "libc", 2294 | "memchr", 2295 | "mio", 2296 | "num_cpus", 2297 | "once_cell", 2298 | "pin-project-lite", 2299 | "socket2", 2300 | "tokio-macros", 2301 | "winapi", 2302 | ] 2303 | 2304 | [[package]] 2305 | name = "tokio-io-timeout" 2306 | version = "1.2.0" 2307 | source = "registry+https://github.com/rust-lang/crates.io-index" 2308 | checksum = "30b74022ada614a1b4834de765f9bb43877f910cc8ce4be40e89042c9223a8bf" 2309 | dependencies = [ 2310 | "pin-project-lite", 2311 | "tokio", 2312 | ] 2313 | 2314 | [[package]] 2315 | name = "tokio-macros" 2316 | version = "1.8.0" 2317 | source = "registry+https://github.com/rust-lang/crates.io-index" 2318 | checksum = "9724f9a975fb987ef7a3cd9be0350edcbe130698af5b8f7a631e23d42d052484" 2319 | dependencies = [ 2320 | "proc-macro2", 2321 | "quote", 2322 | "syn", 2323 | ] 2324 | 2325 | [[package]] 2326 | name = "tokio-rustls" 2327 | version = "0.23.4" 2328 | source = "registry+https://github.com/rust-lang/crates.io-index" 2329 | checksum = "c43ee83903113e03984cb9e5cebe6c04a5116269e900e3ddba8f068a62adda59" 2330 | dependencies = [ 2331 | "rustls", 2332 | "tokio", 2333 | "webpki", 2334 | ] 2335 | 2336 | [[package]] 2337 | name = "tokio-stream" 2338 | version = "0.1.9" 2339 | source = "registry+https://github.com/rust-lang/crates.io-index" 2340 | checksum = "df54d54117d6fdc4e4fea40fe1e4e566b3505700e148a6827e59b34b0d2600d9" 2341 | dependencies = [ 2342 | "futures-core", 2343 | "pin-project-lite", 2344 | "tokio", 2345 | ] 2346 | 2347 | [[package]] 2348 | name = "tokio-util" 2349 | version = "0.7.4" 2350 | source = "registry+https://github.com/rust-lang/crates.io-index" 2351 | checksum = "0bb2e075f03b3d66d8d8785356224ba688d2906a371015e225beeb65ca92c740" 2352 | dependencies = [ 2353 | "bytes", 2354 | "futures-core", 2355 | "futures-sink", 2356 | "pin-project-lite", 2357 | "tokio", 2358 | "tracing", 2359 | ] 2360 | 2361 | [[package]] 2362 | name = "toml" 2363 | version = "0.5.9" 2364 | source = "registry+https://github.com/rust-lang/crates.io-index" 2365 | checksum = "8d82e1a7758622a465f8cee077614c73484dac5b836c02ff6a40d5d1010324d7" 2366 | dependencies = [ 2367 | "serde", 2368 | ] 2369 | 2370 | [[package]] 2371 | name = "tonic" 2372 | version = "0.8.1" 2373 | source = "registry+https://github.com/rust-lang/crates.io-index" 2374 | checksum = "11cd56bdb54ef93935a6a79dbd1d91f1ebd4c64150fd61654031fd6b8b775c91" 2375 | dependencies = [ 2376 | "async-stream", 2377 | "async-trait", 2378 | "axum", 2379 | "base64", 2380 | "bytes", 2381 | "futures-core", 2382 | "futures-util", 2383 | "h2", 2384 | "http", 2385 | "http-body", 2386 | "hyper", 2387 | "hyper-timeout", 2388 | "percent-encoding", 2389 | "pin-project", 2390 | "prost", 2391 | "prost-derive", 2392 | "rustls-pemfile", 2393 | "tokio", 2394 | "tokio-rustls", 2395 | "tokio-stream", 2396 | "tokio-util", 2397 | "tower", 2398 | "tower-layer", 2399 | "tower-service", 2400 | "tracing", 2401 | "tracing-futures", 2402 | ] 2403 | 2404 | [[package]] 2405 | name = "tonic-build" 2406 | version = "0.8.0" 2407 | source = "registry+https://github.com/rust-lang/crates.io-index" 2408 | checksum = "2fbcd2800e34e743b9ae795867d5f77b535d3a3be69fd731e39145719752df8c" 2409 | dependencies = [ 2410 | "prettyplease", 2411 | "proc-macro2", 2412 | "prost-build", 2413 | "quote", 2414 | "syn", 2415 | ] 2416 | 2417 | [[package]] 2418 | name = "tower" 2419 | version = "0.4.13" 2420 | source = "registry+https://github.com/rust-lang/crates.io-index" 2421 | checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" 2422 | dependencies = [ 2423 | "futures-core", 2424 | "futures-util", 2425 | "indexmap", 2426 | "pin-project", 2427 | "pin-project-lite", 2428 | "rand", 2429 | "slab", 2430 | "tokio", 2431 | "tokio-util", 2432 | "tower-layer", 2433 | "tower-service", 2434 | "tracing", 2435 | ] 2436 | 2437 | [[package]] 2438 | name = "tower-http" 2439 | version = "0.3.4" 2440 | source = "registry+https://github.com/rust-lang/crates.io-index" 2441 | checksum = "3c530c8675c1dbf98facee631536fa116b5fb6382d7dd6dc1b118d970eafe3ba" 2442 | dependencies = [ 2443 | "bitflags", 2444 | "bytes", 2445 | "futures-core", 2446 | "futures-util", 2447 | "http", 2448 | "http-body", 2449 | "http-range-header", 2450 | "pin-project-lite", 2451 | "tower", 2452 | "tower-layer", 2453 | "tower-service", 2454 | ] 2455 | 2456 | [[package]] 2457 | name = "tower-layer" 2458 | version = "0.3.1" 2459 | source = "registry+https://github.com/rust-lang/crates.io-index" 2460 | checksum = "343bc9466d3fe6b0f960ef45960509f84480bf4fd96f92901afe7ff3df9d3a62" 2461 | 2462 | [[package]] 2463 | name = "tower-service" 2464 | version = "0.3.2" 2465 | source = "registry+https://github.com/rust-lang/crates.io-index" 2466 | checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" 2467 | 2468 | [[package]] 2469 | name = "tracing" 2470 | version = "0.1.36" 2471 | source = "registry+https://github.com/rust-lang/crates.io-index" 2472 | checksum = "2fce9567bd60a67d08a16488756721ba392f24f29006402881e43b19aac64307" 2473 | dependencies = [ 2474 | "cfg-if", 2475 | "log", 2476 | "pin-project-lite", 2477 | "tracing-attributes", 2478 | "tracing-core", 2479 | ] 2480 | 2481 | [[package]] 2482 | name = "tracing-attributes" 2483 | version = "0.1.22" 2484 | source = "registry+https://github.com/rust-lang/crates.io-index" 2485 | checksum = "11c75893af559bc8e10716548bdef5cb2b983f8e637db9d0e15126b61b484ee2" 2486 | dependencies = [ 2487 | "proc-macro2", 2488 | "quote", 2489 | "syn", 2490 | ] 2491 | 2492 | [[package]] 2493 | name = "tracing-core" 2494 | version = "0.1.29" 2495 | source = "registry+https://github.com/rust-lang/crates.io-index" 2496 | checksum = "5aeea4303076558a00714b823f9ad67d58a3bbda1df83d8827d21193156e22f7" 2497 | dependencies = [ 2498 | "once_cell", 2499 | ] 2500 | 2501 | [[package]] 2502 | name = "tracing-futures" 2503 | version = "0.2.5" 2504 | source = "registry+https://github.com/rust-lang/crates.io-index" 2505 | checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2" 2506 | dependencies = [ 2507 | "pin-project", 2508 | "tracing", 2509 | ] 2510 | 2511 | [[package]] 2512 | name = "try-lock" 2513 | version = "0.2.3" 2514 | source = "registry+https://github.com/rust-lang/crates.io-index" 2515 | checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642" 2516 | 2517 | [[package]] 2518 | name = "typenum" 2519 | version = "1.15.0" 2520 | source = "registry+https://github.com/rust-lang/crates.io-index" 2521 | checksum = "dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987" 2522 | 2523 | [[package]] 2524 | name = "unicode-bidi" 2525 | version = "0.3.8" 2526 | source = "registry+https://github.com/rust-lang/crates.io-index" 2527 | checksum = "099b7128301d285f79ddd55b9a83d5e6b9e97c92e0ea0daebee7263e932de992" 2528 | 2529 | [[package]] 2530 | name = "unicode-ident" 2531 | version = "1.0.4" 2532 | source = "registry+https://github.com/rust-lang/crates.io-index" 2533 | checksum = "dcc811dc4066ac62f84f11307873c4850cb653bfa9b1719cee2bd2204a4bc5dd" 2534 | 2535 | [[package]] 2536 | name = "unicode-normalization" 2537 | version = "0.1.22" 2538 | source = "registry+https://github.com/rust-lang/crates.io-index" 2539 | checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" 2540 | dependencies = [ 2541 | "tinyvec", 2542 | ] 2543 | 2544 | [[package]] 2545 | name = "unicode-segmentation" 2546 | version = "1.10.0" 2547 | source = "registry+https://github.com/rust-lang/crates.io-index" 2548 | checksum = "0fdbf052a0783de01e944a6ce7a8cb939e295b1e7be835a1112c3b9a7f047a5a" 2549 | 2550 | [[package]] 2551 | name = "unicode-xid" 2552 | version = "0.2.4" 2553 | source = "registry+https://github.com/rust-lang/crates.io-index" 2554 | checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" 2555 | 2556 | [[package]] 2557 | name = "unicode_categories" 2558 | version = "0.1.1" 2559 | source = "registry+https://github.com/rust-lang/crates.io-index" 2560 | checksum = "39ec24b3121d976906ece63c9daad25b85969647682eee313cb5779fdd69e14e" 2561 | 2562 | [[package]] 2563 | name = "untrusted" 2564 | version = "0.7.1" 2565 | source = "registry+https://github.com/rust-lang/crates.io-index" 2566 | checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" 2567 | 2568 | [[package]] 2569 | name = "url" 2570 | version = "2.3.1" 2571 | source = "registry+https://github.com/rust-lang/crates.io-index" 2572 | checksum = "0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643" 2573 | dependencies = [ 2574 | "form_urlencoded", 2575 | "idna", 2576 | "percent-encoding", 2577 | ] 2578 | 2579 | [[package]] 2580 | name = "uuid" 2581 | version = "1.1.2" 2582 | source = "registry+https://github.com/rust-lang/crates.io-index" 2583 | checksum = "dd6469f4314d5f1ffec476e05f17cc9a78bc7a27a6a857842170bdf8d6f98d2f" 2584 | dependencies = [ 2585 | "getrandom", 2586 | "serde", 2587 | ] 2588 | 2589 | [[package]] 2590 | name = "vcpkg" 2591 | version = "0.2.15" 2592 | source = "registry+https://github.com/rust-lang/crates.io-index" 2593 | checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" 2594 | 2595 | [[package]] 2596 | name = "version_check" 2597 | version = "0.9.4" 2598 | source = "registry+https://github.com/rust-lang/crates.io-index" 2599 | checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" 2600 | 2601 | [[package]] 2602 | name = "walkdir" 2603 | version = "2.3.2" 2604 | source = "registry+https://github.com/rust-lang/crates.io-index" 2605 | checksum = "808cf2735cd4b6866113f648b791c6adc5714537bc222d9347bb203386ffda56" 2606 | dependencies = [ 2607 | "same-file", 2608 | "winapi", 2609 | "winapi-util", 2610 | ] 2611 | 2612 | [[package]] 2613 | name = "want" 2614 | version = "0.3.0" 2615 | source = "registry+https://github.com/rust-lang/crates.io-index" 2616 | checksum = "1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0" 2617 | dependencies = [ 2618 | "log", 2619 | "try-lock", 2620 | ] 2621 | 2622 | [[package]] 2623 | name = "wasi" 2624 | version = "0.10.0+wasi-snapshot-preview1" 2625 | source = "registry+https://github.com/rust-lang/crates.io-index" 2626 | checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f" 2627 | 2628 | [[package]] 2629 | name = "wasi" 2630 | version = "0.11.0+wasi-snapshot-preview1" 2631 | source = "registry+https://github.com/rust-lang/crates.io-index" 2632 | checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" 2633 | 2634 | [[package]] 2635 | name = "wasm-bindgen" 2636 | version = "0.2.83" 2637 | source = "registry+https://github.com/rust-lang/crates.io-index" 2638 | checksum = "eaf9f5aceeec8be17c128b2e93e031fb8a4d469bb9c4ae2d7dc1888b26887268" 2639 | dependencies = [ 2640 | "cfg-if", 2641 | "wasm-bindgen-macro", 2642 | ] 2643 | 2644 | [[package]] 2645 | name = "wasm-bindgen-backend" 2646 | version = "0.2.83" 2647 | source = "registry+https://github.com/rust-lang/crates.io-index" 2648 | checksum = "4c8ffb332579b0557b52d268b91feab8df3615f265d5270fec2a8c95b17c1142" 2649 | dependencies = [ 2650 | "bumpalo", 2651 | "log", 2652 | "once_cell", 2653 | "proc-macro2", 2654 | "quote", 2655 | "syn", 2656 | "wasm-bindgen-shared", 2657 | ] 2658 | 2659 | [[package]] 2660 | name = "wasm-bindgen-macro" 2661 | version = "0.2.83" 2662 | source = "registry+https://github.com/rust-lang/crates.io-index" 2663 | checksum = "052be0f94026e6cbc75cdefc9bae13fd6052cdcaf532fa6c45e7ae33a1e6c810" 2664 | dependencies = [ 2665 | "quote", 2666 | "wasm-bindgen-macro-support", 2667 | ] 2668 | 2669 | [[package]] 2670 | name = "wasm-bindgen-macro-support" 2671 | version = "0.2.83" 2672 | source = "registry+https://github.com/rust-lang/crates.io-index" 2673 | checksum = "07bc0c051dc5f23e307b13285f9d75df86bfdf816c5721e573dec1f9b8aa193c" 2674 | dependencies = [ 2675 | "proc-macro2", 2676 | "quote", 2677 | "syn", 2678 | "wasm-bindgen-backend", 2679 | "wasm-bindgen-shared", 2680 | ] 2681 | 2682 | [[package]] 2683 | name = "wasm-bindgen-shared" 2684 | version = "0.2.83" 2685 | source = "registry+https://github.com/rust-lang/crates.io-index" 2686 | checksum = "1c38c045535d93ec4f0b4defec448e4291638ee608530863b1e2ba115d4fff7f" 2687 | 2688 | [[package]] 2689 | name = "web-sys" 2690 | version = "0.3.60" 2691 | source = "registry+https://github.com/rust-lang/crates.io-index" 2692 | checksum = "bcda906d8be16e728fd5adc5b729afad4e444e106ab28cd1c7256e54fa61510f" 2693 | dependencies = [ 2694 | "js-sys", 2695 | "wasm-bindgen", 2696 | ] 2697 | 2698 | [[package]] 2699 | name = "webpki" 2700 | version = "0.22.0" 2701 | source = "registry+https://github.com/rust-lang/crates.io-index" 2702 | checksum = "f095d78192e208183081cc07bc5515ef55216397af48b873e5edcd72637fa1bd" 2703 | dependencies = [ 2704 | "ring", 2705 | "untrusted", 2706 | ] 2707 | 2708 | [[package]] 2709 | name = "webpki-roots" 2710 | version = "0.22.5" 2711 | source = "registry+https://github.com/rust-lang/crates.io-index" 2712 | checksum = "368bfe657969fb01238bb756d351dcade285e0f6fcbd36dcb23359a5169975be" 2713 | dependencies = [ 2714 | "webpki", 2715 | ] 2716 | 2717 | [[package]] 2718 | name = "which" 2719 | version = "4.3.0" 2720 | source = "registry+https://github.com/rust-lang/crates.io-index" 2721 | checksum = "1c831fbbee9e129a8cf93e7747a82da9d95ba8e16621cae60ec2cdc849bacb7b" 2722 | dependencies = [ 2723 | "either", 2724 | "libc", 2725 | "once_cell", 2726 | ] 2727 | 2728 | [[package]] 2729 | name = "winapi" 2730 | version = "0.3.9" 2731 | source = "registry+https://github.com/rust-lang/crates.io-index" 2732 | checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" 2733 | dependencies = [ 2734 | "winapi-i686-pc-windows-gnu", 2735 | "winapi-x86_64-pc-windows-gnu", 2736 | ] 2737 | 2738 | [[package]] 2739 | name = "winapi-i686-pc-windows-gnu" 2740 | version = "0.4.0" 2741 | source = "registry+https://github.com/rust-lang/crates.io-index" 2742 | checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" 2743 | 2744 | [[package]] 2745 | name = "winapi-util" 2746 | version = "0.1.5" 2747 | source = "registry+https://github.com/rust-lang/crates.io-index" 2748 | checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" 2749 | dependencies = [ 2750 | "winapi", 2751 | ] 2752 | 2753 | [[package]] 2754 | name = "winapi-x86_64-pc-windows-gnu" 2755 | version = "0.4.0" 2756 | source = "registry+https://github.com/rust-lang/crates.io-index" 2757 | checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" 2758 | 2759 | [[package]] 2760 | name = "windows-sys" 2761 | version = "0.36.1" 2762 | source = "registry+https://github.com/rust-lang/crates.io-index" 2763 | checksum = "ea04155a16a59f9eab786fe12a4a450e75cdb175f9e0d80da1e17db09f55b8d2" 2764 | dependencies = [ 2765 | "windows_aarch64_msvc", 2766 | "windows_i686_gnu", 2767 | "windows_i686_msvc", 2768 | "windows_x86_64_gnu", 2769 | "windows_x86_64_msvc", 2770 | ] 2771 | 2772 | [[package]] 2773 | name = "windows_aarch64_msvc" 2774 | version = "0.36.1" 2775 | source = "registry+https://github.com/rust-lang/crates.io-index" 2776 | checksum = "9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47" 2777 | 2778 | [[package]] 2779 | name = "windows_i686_gnu" 2780 | version = "0.36.1" 2781 | source = "registry+https://github.com/rust-lang/crates.io-index" 2782 | checksum = "180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6" 2783 | 2784 | [[package]] 2785 | name = "windows_i686_msvc" 2786 | version = "0.36.1" 2787 | source = "registry+https://github.com/rust-lang/crates.io-index" 2788 | checksum = "e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024" 2789 | 2790 | [[package]] 2791 | name = "windows_x86_64_gnu" 2792 | version = "0.36.1" 2793 | source = "registry+https://github.com/rust-lang/crates.io-index" 2794 | checksum = "4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1" 2795 | 2796 | [[package]] 2797 | name = "windows_x86_64_msvc" 2798 | version = "0.36.1" 2799 | source = "registry+https://github.com/rust-lang/crates.io-index" 2800 | checksum = "c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680" 2801 | 2802 | [[package]] 2803 | name = "x509-certificate" 2804 | version = "0.14.0" 2805 | source = "registry+https://github.com/rust-lang/crates.io-index" 2806 | checksum = "670fa717535eff7c806dd7b67df2cd5d7670d5f4e71d1ffc5c7f3fa8c66b2546" 2807 | dependencies = [ 2808 | "bcder", 2809 | "bytes", 2810 | "chrono", 2811 | "der", 2812 | "hex", 2813 | "pem", 2814 | "ring", 2815 | "signature", 2816 | "spki", 2817 | "thiserror", 2818 | ] 2819 | 2820 | [[package]] 2821 | name = "x509-parser" 2822 | version = "0.14.0" 2823 | source = "registry+https://github.com/rust-lang/crates.io-index" 2824 | checksum = "e0ecbeb7b67ce215e40e3cc7f2ff902f94a223acf44995934763467e7b1febc8" 2825 | dependencies = [ 2826 | "asn1-rs", 2827 | "base64", 2828 | "data-encoding", 2829 | "der-parser", 2830 | "lazy_static", 2831 | "nom", 2832 | "oid-registry", 2833 | "rusticata-macros", 2834 | "thiserror", 2835 | "time 0.3.14", 2836 | ] 2837 | -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- 1 | [workspace] 2 | 3 | members = [ 4 | "auraescript", 5 | "auraescript/macros", 6 | "auraed", 7 | ] -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Apache License 2 | Version 2.0, January 2004 3 | http://www.apache.org/licenses/ 4 | 5 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 6 | 7 | 1. Definitions. 8 | 9 | "License" shall mean the terms and conditions for use, reproduction, 10 | and distribution as defined by Sections 1 through 9 of this document. 11 | 12 | "Licensor" shall mean the copyright owner or entity authorized by 13 | the copyright owner that is granting the License. 14 | 15 | "Legal Entity" shall mean the union of the acting entity and all 16 | other entities that control, are controlled by, or are under common 17 | control with that entity. For the purposes of this definition, 18 | "control" means (i) the power, direct or indirect, to cause the 19 | direction or management of such entity, whether by contract or 20 | otherwise, or (ii) ownership of fifty percent (50%) or more of the 21 | outstanding shares, or (iii) beneficial ownership of such entity. 22 | 23 | "You" (or "Your") shall mean an individual or Legal Entity 24 | exercising permissions granted by this License. 25 | 26 | "Source" form shall mean the preferred form for making modifications, 27 | including but not limited to software source code, documentation 28 | source, and configuration files. 29 | 30 | "Object" form shall mean any form resulting from mechanical 31 | transformation or translation of a Source form, including but 32 | not limited to compiled object code, generated documentation, 33 | and conversions to other media types. 34 | 35 | "Work" shall mean the work of authorship, whether in Source or 36 | Object form, made available under the License, as indicated by a 37 | copyright notice that is included in or attached to the work 38 | (an example is provided in the Appendix below). 39 | 40 | "Derivative Works" shall mean any work, whether in Source or Object 41 | form, that is based on (or derived from) the Work and for which the 42 | editorial revisions, annotations, elaborations, or other modifications 43 | represent, as a whole, an original work of authorship. For the purposes 44 | of this License, Derivative Works shall not include works that remain 45 | separable from, or merely link (or bind by name) to the interfaces of, 46 | the Work and Derivative Works thereof. 47 | 48 | "Contribution" shall mean any work of authorship, including 49 | the original version of the Work and any modifications or additions 50 | to that Work or Derivative Works thereof, that is intentionally 51 | submitted to Licensor for inclusion in the Work by the copyright owner 52 | or by an individual or Legal Entity authorized to submit on behalf of 53 | the copyright owner. For the purposes of this definition, "submitted" 54 | means any form of electronic, verbal, or written communication sent 55 | to the Licensor or its representatives, including but not limited to 56 | communication on electronic mailing lists, source code control systems, 57 | and issue tracking systems that are managed by, or on behalf of, the 58 | Licensor for the purpose of discussing and improving the Work, but 59 | excluding communication that is conspicuously marked or otherwise 60 | designated in writing by the copyright owner as "Not a Contribution." 61 | 62 | "Contributor" shall mean Licensor and any individual or Legal Entity 63 | on behalf of whom a Contribution has been received by Licensor and 64 | subsequently incorporated within the Work. 65 | 66 | 2. Grant of Copyright License. Subject to the terms and conditions of 67 | this License, each Contributor hereby grants to You a perpetual, 68 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 69 | copyright license to reproduce, prepare Derivative Works of, 70 | publicly display, publicly perform, sublicense, and distribute the 71 | Work and such Derivative Works in Source or Object form. 72 | 73 | 3. Grant of Patent License. Subject to the terms and conditions of 74 | this License, each Contributor hereby grants to You a perpetual, 75 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 76 | (except as stated in this section) patent license to make, have made, 77 | use, offer to sell, sell, import, and otherwise transfer the Work, 78 | where such license applies only to those patent claims licensable 79 | by such Contributor that are necessarily infringed by their 80 | Contribution(s) alone or by combination of their Contribution(s) 81 | with the Work to which such Contribution(s) was submitted. If You 82 | institute patent litigation against any entity (including a 83 | cross-claim or counterclaim in a lawsuit) alleging that the Work 84 | or a Contribution incorporated within the Work constitutes direct 85 | or contributory patent infringement, then any patent licenses 86 | granted to You under this License for that Work shall terminate 87 | as of the date such litigation is filed. 88 | 89 | 4. Redistribution. You may reproduce and distribute copies of the 90 | Work or Derivative Works thereof in any medium, with or without 91 | modifications, and in Source or Object form, provided that You 92 | meet the following conditions: 93 | 94 | (a) You must give any other recipients of the Work or 95 | Derivative Works a copy of this License; and 96 | 97 | (b) You must cause any modified files to carry prominent notices 98 | stating that You changed the files; and 99 | 100 | (c) You must retain, in the Source form of any Derivative Works 101 | that You distribute, all copyright, patent, trademark, and 102 | attribution notices from the Source form of the Work, 103 | excluding those notices that do not pertain to any part of 104 | the Derivative Works; and 105 | 106 | (d) If the Work includes a "NOTICE" text file as part of its 107 | distribution, then any Derivative Works that You distribute must 108 | include a readable copy of the attribution notices contained 109 | within such NOTICE file, excluding those notices that do not 110 | pertain to any part of the Derivative Works, in at least one 111 | of the following places: within a NOTICE text file distributed 112 | as part of the Derivative Works; within the Source form or 113 | documentation, if provided along with the Derivative Works; or, 114 | within a display generated by the Derivative Works, if and 115 | wherever such third-party notices normally appear. The contents 116 | of the NOTICE file are for informational purposes only and 117 | do not modify the License. You may add Your own attribution 118 | notices within Derivative Works that You distribute, alongside 119 | or as an addendum to the NOTICE text from the Work, provided 120 | that such additional attribution notices cannot be construed 121 | as modifying the License. 122 | 123 | You may add Your own copyright statement to Your modifications and 124 | may provide additional or different license terms and conditions 125 | for use, reproduction, or distribution of Your modifications, or 126 | for any such Derivative Works as a whole, provided Your use, 127 | reproduction, and distribution of the Work otherwise complies with 128 | the conditions stated in this License. 129 | 130 | 5. Submission of Contributions. Unless You explicitly state otherwise, 131 | any Contribution intentionally submitted for inclusion in the Work 132 | by You to the Licensor shall be under the terms and conditions of 133 | this License, without any additional terms or conditions. 134 | Notwithstanding the above, nothing herein shall supersede or modify 135 | the terms of any separate license agreement you may have executed 136 | with Licensor regarding such Contributions. 137 | 138 | 6. Trademarks. This License does not grant permission to use the trade 139 | names, trademarks, service marks, or product names of the Licensor, 140 | except as required for reasonable and customary use in describing the 141 | origin of the Work and reproducing the content of the NOTICE file. 142 | 143 | 7. Disclaimer of Warranty. Unless required by applicable law or 144 | agreed to in writing, Licensor provides the Work (and each 145 | Contributor provides its Contributions) on an "AS IS" BASIS, 146 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 147 | implied, including, without limitation, any warranties or conditions 148 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 149 | PARTICULAR PURPOSE. You are solely responsible for determining the 150 | appropriateness of using or redistributing the Work and assume any 151 | risks associated with Your exercise of permissions under this License. 152 | 153 | 8. Limitation of Liability. In no event and under no legal theory, 154 | whether in tort (including negligence), contract, or otherwise, 155 | unless required by applicable law (such as deliberate and grossly 156 | negligent acts) or agreed to in writing, shall any Contributor be 157 | liable to You for damages, including any direct, indirect, special, 158 | incidental, or consequential damages of any character arising as a 159 | result of this License or out of the use or inability to use the 160 | Work (including but not limited to damages for loss of goodwill, 161 | work stoppage, computer failure or malfunction, or any and all 162 | other commercial damages or losses), even if such Contributor 163 | has been advised of the possibility of such damages. 164 | 165 | 9. Accepting Warranty or Additional Liability. While redistributing 166 | the Work or Derivative Works thereof, You may choose to offer, 167 | and charge a fee for, acceptance of support, warranty, indemnity, 168 | or other liability obligations and/or rights consistent with this 169 | License. However, in accepting such obligations, You may act only 170 | on Your own behalf and on Your sole responsibility, not on behalf 171 | of any other Contributor, and only if You agree to indemnify, 172 | defend, and hold each Contributor harmless for any liability 173 | incurred by, or claims asserted against, such Contributor by reason 174 | of your accepting any such warranty or additional liability. 175 | 176 | END OF TERMS AND CONDITIONS 177 | 178 | APPENDIX: How to apply the Apache License to your work. 179 | 180 | To apply the Apache License to your work, attach the following 181 | boilerplate notice, with the fields enclosed by brackets "[]" 182 | replaced with your own identifying information. (Don't include 183 | the brackets!) The text should be enclosed in the appropriate 184 | comment syntax for the file format. We also recommend that a 185 | file or class name and description of purpose be included on the 186 | same "printed page" as the copyright notice for easier 187 | identification within third-party archives. 188 | 189 | Copyright [yyyy] [name of copyright owner] 190 | 191 | Licensed under the Apache License, Version 2.0 (the "License"); 192 | you may not use this file except in compliance with the License. 193 | You may obtain a copy of the License at 194 | 195 | http://www.apache.org/licenses/LICENSE-2.0 196 | 197 | Unless required by applicable law or agreed to in writing, software 198 | distributed under the License is distributed on an "AS IS" BASIS, 199 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 200 | See the License for the specific language governing permissions and 201 | limitations under the License. 202 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | # ---------------------------------------------------------------------------- # 2 | # Apache 2.0 License Copyright © 2022 The Aurae Authors # 3 | # # 4 | # +--------------------------------------------+ # 5 | # | █████╗ ██╗ ██╗██████╗ █████╗ ███████╗ | # 6 | # | ██╔══██╗██║ ██║██╔══██╗██╔══██╗██╔════╝ | # 7 | # | ███████║██║ ██║██████╔╝███████║█████╗ | # 8 | # | ██╔══██║██║ ██║██╔══██╗██╔══██║██╔══╝ | # 9 | # | ██║ ██║╚██████╔╝██║ ██║██║ ██║███████╗ | # 10 | # | ╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚══════╝ | # 11 | # +--------------------------------------------+ # 12 | # # 13 | # Distributed Systems Runtime # 14 | # # 15 | # ---------------------------------------------------------------------------- # 16 | # # 17 | # Licensed under the Apache License, Version 2.0 (the "License"); # 18 | # you may not use this file except in compliance with the License. # 19 | # You may obtain a copy of the License at # 20 | # # 21 | # http://www.apache.org/licenses/LICENSE-2.0 # 22 | # # 23 | # Unless required by applicable law or agreed to in writing, software # 24 | # distributed under the License is distributed on an "AS IS" BASIS, # 25 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # 26 | # See the License for the specific language governing permissions and # 27 | # limitations under the License. # 28 | # # 29 | # ---------------------------------------------------------------------------- # 30 | 31 | # Variables and Settings 32 | branch ?= main 33 | message ?= Default commit message. Aurae Runtime environment. 34 | cargo = cargo 35 | 36 | # Configuration Options 37 | export GIT_PAGER = cat 38 | 39 | default: compile install 40 | all: compile install 41 | 42 | compile: auraescript auraed ## Compile for the local architecture ⚙ 43 | 44 | install: ## Build and install (debug) 🎉 45 | @$(cargo) install --path ./auraescript --debug 46 | @$(cargo) install --path ./auraed --debug 47 | 48 | release: ## Build and install (release) 🎉 49 | @$(cargo) install --path ./auraescript 50 | @$(cargo) install --path ./auraed 51 | 52 | .PHONY: auraescript 53 | auraescript: ## Initialize and compile aurae 54 | @if [ ! -d auraescript ]; then printf "\n\nError: Missing submodules. Run 'make submodule' to download aurae source before compiling.\n\n"; exit 1; fi 55 | @$(cargo) clippy -p auraescript 56 | @$(cargo) install --path ./auraescript --debug 57 | 58 | .PHONY: auraed 59 | auraed: ## Initialize and compile auraed 60 | @if [ ! -d auraed ]; then printf "\n\nError:\nun 'make submodule' to download auraed source before compiling.\n\n"; exit 1; fi 61 | @$(cargo) clippy -p auraed 62 | @$(cargo) install --path ./auraed --debug 63 | 64 | .PHONY: website 65 | website: ## Assemble all the /docs for the website locally. 66 | @if [ ! -d auraed ]; then printf "\n\nError:\nun 'make submodule' to download auraed source before compiling.\n\n"; exit 1; fi 67 | cp -rv README.md website/docs/index.md # Special copy for the main README 68 | cp -rv docs/* website/docs 69 | 70 | # Auraed 71 | cp -rv auraed/docs/* website/docs/auraed 72 | cp -rv auraed/README.md website/docs/auraed/index.md # Special copy for the main README 73 | 74 | # AuraeScript 75 | cp -rv auraescript/docs/* website/docs/auraescript 76 | cp -rv auraescript/README.md website/docs/auraescript/index.md # Special copy for the main README 77 | 78 | # Standard Library 79 | cp -rv auraed/stdlib/v0/docs/* website/docs/stdlib/v0 80 | cp -rv auraed/stdlib/v0/README.md website/docs/stdlib/v0/index.md 81 | cp -rv auraed/stdlib/README.md website/docs/stdlib/index.md # Special copy for the main README 82 | 83 | 84 | .PHONY: docs 85 | docs: ## Run the documentation site locally on port 8000. 86 | cd website && make serve 87 | 88 | test: ## Run the tests 89 | @$(cargo) test 90 | 91 | push: ## (git) Push branch="NAME" 92 | cd auraescript && git push origin $(branch) 93 | cd auraed && git push origin $(branch) 94 | cd website && git push origin $(branch) 95 | cd community && git push origin $(branch) 96 | git push origin $(branch) 97 | 98 | add: ## (git) Add . (dangerous) 99 | cd auraescript && git add . 100 | cd auraed && git add . 101 | cd website && git add . 102 | cd community && git add . 103 | git add . 104 | 105 | commit: ## (git) Commit message="MESSAGE" 106 | cd auraescript && git commit -s -m "$(message)" || true 107 | cd auraed && git commit -s -m "$(message)" || true 108 | cd website && git commit -s -m "$(message)" || true 109 | cd community && git commit -s -m "$(message)" || true 110 | git add . 111 | git commit -s -m "$(message)" || true 112 | 113 | checkout: ## (git) Checkout branch="NAME" 114 | git checkout $(branch) || git checkout -b $(branch) 115 | cd auraescript && git checkout $(branch) || git checkout -b $(branch) 116 | cd auraed && git checkout $(branch) || git checkout -b $(branch) 117 | cd website && git checkout $(branch) || git checkout -b $(branch) 118 | cd website && git checkout $(branch) || git checkout -b $(branch) 119 | 120 | status: ## (git) Status 121 | git status 122 | cd auraescript && git status 123 | cd auraed && git status 124 | cd website && git status 125 | cd community && git status 126 | 127 | pull: ## (git) Pull branch="NAME" 128 | git pull origin $(branch) 129 | cd auraescript && git pull origin $(branch) 130 | cd auraed && git pull origin $(branch) 131 | cd website && git pull origin $(branch) 132 | cd community && git pull origin $(branch) 133 | 134 | submodules: submodule ## Alias for submodule 135 | submodule: ## Initialize all submodules 136 | @echo "Initializing submodules" 137 | @echo "" 138 | @read -p "Warning: This will destroy all work in subdirectories! Press any key to continue." FOO 139 | 140 | # AuraeScript 141 | @if [ -d /tmp/auraescript ]; then rm -rvf /tmp/auraescript; fi 142 | @if [ -d auraescript ]; then mv -v auraescript /tmp/auraescript; fi 143 | 144 | # Auraed 145 | @if [ -d /tmp/auraed ]; then rm -rvf /tmp/auraed; fi 146 | @if [ -d auraed ]; then mv -v auraed /tmp/auraed; fi 147 | 148 | # Website 149 | @if [ -d /tmp/website ]; then rm -rvf /tmp/website; fi 150 | @if [ -d website ]; then mv -v website /tmp/website; fi 151 | 152 | # Community 153 | @if [ -d /tmp/community ]; then rm -rvf /tmp/community; fi 154 | @if [ -d community ]; then mv -v community /tmp/community; fi 155 | 156 | # Init and update 157 | @git submodule update --init --recursive 158 | @git submodule update --remote --rebase 159 | 160 | # Attach to main 161 | cd auraescript && git checkout $(branch) && git branch && git pull origin $(branch) 162 | cd auraed && git checkout $(branch) && git branch && git pull origin $(branch) 163 | cd website && git checkout $(branch) && git branch && git pull origin $(branch) 164 | cd community && git checkout $(branch) && git branch && git pull origin $(branch) 165 | 166 | .PHONY: config 167 | config: ## Set up default config 168 | @mkdir -p $(HOME)/.aurae 169 | @cp -v auraescript/default.config.toml $(HOME)/.aurae/config 170 | @sed -i 's|~|$(HOME)|g' $(HOME)/.aurae/config 171 | @mkdir -p $(HOME)/.aurae/pki 172 | @cp -v pki/* $(HOME)/.aurae/pki 173 | 174 | tlsinfo: ## Show TLS Info for /var/run/aurae* 175 | ./hack/server-tls-info 176 | 177 | .PHONY: pki 178 | pki: certs ## Alias for certs 179 | certs: clean-certs ## Generate x509 mTLS certs in /pki directory 180 | ./hack/certgen 181 | sudo -E mkdir -p /etc/aurae/pki 182 | sudo -E cp -v pki/* /etc/aurae/pki 183 | @echo "Install PKI Auth Material [/etc/aurae]" 184 | 185 | clean-certs: ## Clean the cert material 186 | @rm -rvf pki/* 187 | 188 | fmt: headers ## Format the entire code base(s) 189 | @./hack/code-format 190 | 191 | .PHONY: clean 192 | clean: clean-certs 193 | cd aurae && make clean 194 | #cd auraectl && make clean 195 | cd auraed && make clean 196 | @rm -rvf target/* 197 | 198 | headers: headers-write ## Fix headers. Run this if you want to clobber things. 199 | 200 | headers-check: ## Only check for problematic files. 201 | ./hack/headers-check 202 | 203 | headers-write: ## Fix any problematic files blindly. 204 | ./hack/headers-write 205 | 206 | .PHONY: start 207 | start: 208 | sudo $(HOME)/.cargo/bin/auraed 209 | 210 | .PHONY: help 211 | help: ## Show help messages for make targets 212 | @grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(firstword $(MAKEFILE_LIST)) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[32m%-30s\033[0m %s\n", $$1, $$2}' 213 | 214 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Aurae 2 | 3 | Aurae is a free and open source Rust project which houses a generic systems runtime daemon built specifically for enterprise distributed systems. Aurae is designed to work well with Kubernetes, and serves as an enterprise focused alternative to systemd. 4 | 5 | Think of [auraed](https://github.com/aurae-runtime/auraed) as a pid 1 init machine daemon with a scope similar to [systemd](https://www.freedesktop.org/wiki/Software/systemd/) and functionality similar to [containerd](https://github.com/containerd/containerd) and [firecracker](https://github.com/firecracker-microvm/firecracker). 6 | 7 | Aurae brings [SPIFFE](https://github.com/spiffe)/[SPIRE](https://github.com/spiffe/spire) (x509 mTLS) backed identity, authentication (authn) and authorization (authz) as low as the Unix domain socket layer in a distributed system. 8 | 9 | Aurae exposes its functionality over a gRPC API which is referred to as the [Aurae Standard Library](https://github.com/aurae-runtime/auraed/tree/main/stdlib#the-aurae-standard-library). 10 | 11 | A single Aurae instance has no awareness of higher order scheduling mechanisms such as the Kubernetes control plane. Aurae is designed to take ownership of a single machine, and expose the standard library a generic and meaningful way for higher order consumers. 12 | 13 | 14 | ## Motivation 15 | 16 | Read [Why fix Kubernetes and Systemd](https://medium.com/@kris-nova/why-fix-kubernetes-and-systemd-782840e50104) by [Kris Nóva](https://github.com/krisnova). 17 | 18 | Aurae attempts to simplify and improve the stack in enterprise distributed systems by carving out a small portion of responsibility while offering a few basic guarantees with regard to state, synchronicity, awareness, and security. 19 | 20 | Aurae brings enterprise identity as low as the socket layer in a system, which unlocks multi tenant workloads that run below tools like Kubernetes. 21 | 22 | ## Workloads 23 | 24 | Aurae supports 3 types of workloads which can be started and scheduled alongside each other on a single machine. 25 | 26 | - Executables (Regular executable processes on a host system. Similar to [Systemd Units with ExecStart](https://www.freedesktop.org/software/systemd/man/systemd.service.html)). 27 | - Containers (A secure and opinionated container runtime is baked directly into the Aurae binary). 28 | - Virtualization (A secure and opinionated hypervisor is baked directly into the Aurae binary). 29 | 30 | ## AuraeScript 31 | 32 | Aurae offers a Turing complete scripting language written in Rust and similar to TypeScript called [AuraeScript](https://github.com/aurae-runtime/auraescript). 33 | 34 | ```typescript 35 | let execute = true; // Toggle execution 36 | 37 | let aurae = connect(); // Connect to the daemon 38 | aurae.info().json(); // Show identity 39 | 40 | if execute { 41 | // Execute "cat /etc/resolv.conf" 42 | let runtime = aurae.runtime(); 43 | let example = exec("cat /etc/resolv.conf"); 44 | runtime.start(example).json(); 45 | } 46 | ``` 47 | 48 | AuraeScript servers as one of many clients to the system and can be used to express workload manifests instead of YAML. 49 | AuraeScript can be used to control and gain visibility to the system. 50 | -------------------------------------------------------------------------------- /clippy.toml: -------------------------------------------------------------------------------- 1 | allow-unwrap-in-tests = true -------------------------------------------------------------------------------- /docs/build.md: -------------------------------------------------------------------------------- 1 | # Building Aurae from Source 2 | 3 | Checkout the core [aurae](https://github.com/aurae-runtime/aurae) repository. 4 | 5 | **Note**: Aurae currently only has support for Linux on X86 architecture. 6 | 7 | ```bash 8 | https://github.com/aurae-runtime/aurae.git 9 | ``` 10 | 11 | ### Dependencies 12 | 13 | The Aurae environment depends on the `protoc` protocol buffer compiler being available within the path. 14 | Install `protoc` using your operating system's package manager (Or from source if you want to :) ) 15 | 16 | ##### Ubuntu 17 | 18 | ```bash 19 | sudo apt install -y protobuf-compiler 20 | ``` 21 | 22 | ##### Arch Linux 23 | 24 | ```bash 25 | pacman -S protobuf 26 | ``` 27 | 28 | ### Prepare the Environment 29 | 30 | To install Aurae first build the submodules for the project. 31 | 32 | ```bash 33 | make submodules # Please do not forget to do this! 34 | ``` 35 | 36 | Next you will need to create [authentication certificates](/certs) and create an `~/.aurae/config` file. 37 | 38 | ```bash 39 | make pki config # For quick-start only 40 | ``` 41 | 42 | Now you can compile and install the toolchain 43 | 44 | ```bash 45 | make 46 | ``` 47 | 48 | You can optionally compile each submodule directly. 49 | 50 | ```bash 51 | make auraed # compile and install auraed with cargo 52 | make auraescript # compile and install auraescript with cargo 53 | ``` -------------------------------------------------------------------------------- /docs/certs.md: -------------------------------------------------------------------------------- 1 | # Generating Client Certificate Material 2 | 3 | For an easy start for managing certificate material you can leverage the convenient make target. 4 | 5 | ``` 6 | make pki config 7 | ``` 8 | 9 | Which uses the scripts in [/hack](https://github.com/aurae-runtime/aurae/tree/main/hack) to self sign X509 certificates with mock identities. 10 | 11 | ### Creating Clients 12 | 13 | After the initial PKI has been generated using the above `make pki` command, clients can easily be created using the following. 14 | 15 | ```bash 16 | ./hack/certgen-client 17 | ``` 18 | 19 | Where `` is a unique string for your client you wish to provide authentication material for. -------------------------------------------------------------------------------- /docs/quickstart.md: -------------------------------------------------------------------------------- 1 | # Aurae Quickstart 2 | 3 | Now that you have [built Aurae from source](/build) you can begin using Aurae. 4 | 5 | ### Running the Daemon 6 | 7 | Aurae will run on any system, even if `systemd` or another init daemon is currently active. 8 | 9 | ```bash 10 | sudo -E auraed 11 | ``` 12 | 13 | ### Writing your first AuraeScript 14 | 15 | First create an executable script anywhere you like. 16 | 17 | ```bash 18 | touch ~/hello.aurae 19 | chmod +x ~/.hello.aurae 20 | ``` 21 | 22 | Next add the following content. 23 | 24 | ```typescript 25 | let aurae = connect(); 26 | let runtime = aurae.runtime(); 27 | aurae.info().json(); 28 | 29 | let example = exec("echo 'Hello World!'"); 30 | runtime.start(example).json(); 31 | ``` 32 | 33 | You can now run your first AuraeScript. 34 | 35 | ```bash 36 | ~/hello.aurae 37 | ``` 38 | 39 | Your output should be in valid JSON which should look similar to the following: 40 | 41 | ```json 42 | { 43 | "subject_common_name": "nova.unsafe.aurae.io", 44 | "issuer_common_name": "unsafe.aurae.io", 45 | "sha256_fingerprint": "SHA256:7afa7cbf54dacf8368fd7407039594264c5bb22eaa7f8de5017af53f5ab240b0", 46 | "key_algorithm": "RSA" 47 | } 48 | { 49 | "meta": { 50 | "name": "echo 'Hello World!'", 51 | "message": "-" 52 | }, 53 | "proc": { 54 | "pid": 1428 55 | }, 56 | "status": 6, 57 | "stdout": "'Hello World!'\n", 58 | "stderr": "", 59 | "exit_code": "exit status: 0" 60 | } 61 | ``` 62 | 63 | As long as the `.json()` method is used for output, aurae scripts can be piped to `jq` for easy usage. 64 | 65 | ```bash 66 | ~/hello.aurae | jq -r .stdout 67 | ``` -------------------------------------------------------------------------------- /hack/.header.script: -------------------------------------------------------------------------------- 1 | # ---------------------------------------------------------------------------- # 2 | # Apache 2.0 License Copyright © 2022 The Aurae Authors # 3 | # # 4 | # +--------------------------------------------+ # 5 | # | █████╗ ██╗ ██╗██████╗ █████╗ ███████╗ | # 6 | # | ██╔══██╗██║ ██║██╔══██╗██╔══██╗██╔════╝ | # 7 | # | ███████║██║ ██║██████╔╝███████║█████╗ | # 8 | # | ██╔══██║██║ ██║██╔══██╗██╔══██║██╔══╝ | # 9 | # | ██║ ██║╚██████╔╝██║ ██║██║ ██║███████╗ | # 10 | # | ╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚══════╝ | # 11 | # +--------------------------------------------+ # 12 | # # 13 | # Distributed Systems Runtime # 14 | # # 15 | # ---------------------------------------------------------------------------- # 16 | # # 17 | # Licensed under the Apache License, Version 2.0 (the "License"); # 18 | # you may not use this file except in compliance with the License. # 19 | # You may obtain a copy of the License at # 20 | # # 21 | # http://www.apache.org/licenses/LICENSE-2.0 # 22 | # # 23 | # Unless required by applicable law or agreed to in writing, software # 24 | # distributed under the License is distributed on an "AS IS" BASIS, # 25 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # 26 | # See the License for the specific language governing permissions and # 27 | # limitations under the License. # 28 | # # 29 | # ---------------------------------------------------------------------------- # 30 | -------------------------------------------------------------------------------- /hack/.header.source: -------------------------------------------------------------------------------- 1 | /* -------------------------------------------------------------------------- *\ 2 | * Apache 2.0 License Copyright © 2022 The Aurae Authors * 3 | * * 4 | * +--------------------------------------------+ * 5 | * | █████╗ ██╗ ██╗██████╗ █████╗ ███████╗ | * 6 | * | ██╔══██╗██║ ██║██╔══██╗██╔══██╗██╔════╝ | * 7 | * | ███████║██║ ██║██████╔╝███████║█████╗ | * 8 | * | ██╔══██║██║ ██║██╔══██╗██╔══██║██╔══╝ | * 9 | * | ██║ ██║╚██████╔╝██║ ██║██║ ██║███████╗ | * 10 | * | ╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚══════╝ | * 11 | * +--------------------------------------------+ * 12 | * * 13 | * Distributed Systems Runtime * 14 | * * 15 | * -------------------------------------------------------------------------- * 16 | * * 17 | * Licensed under the Apache License, Version 2.0 (the "License"); * 18 | * you may not use this file except in compliance with the License. * 19 | * You may obtain a copy of the License at * 20 | * * 21 | * http://www.apache.org/licenses/LICENSE-2.0 * 22 | * * 23 | * Unless required by applicable law or agreed to in writing, software * 24 | * distributed under the License is distributed on an "AS IS" BASIS, * 25 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * 26 | * See the License for the specific language governing permissions and * 27 | * limitations under the License. * 28 | * * 29 | \* -------------------------------------------------------------------------- */ 30 | -------------------------------------------------------------------------------- /hack/certgen: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # ---------------------------------------------------------------------------- # 3 | # Apache 2.0 License Copyright © 2022 The Aurae Authors # 4 | # # 5 | # +--------------------------------------------+ # 6 | # | █████╗ ██╗ ██╗██████╗ █████╗ ███████╗ | # 7 | # | ██╔══██╗██║ ██║██╔══██╗██╔══██╗██╔════╝ | # 8 | # | ███████║██║ ██║██████╔╝███████║█████╗ | # 9 | # | ██╔══██║██║ ██║██╔══██╗██╔══██║██╔══╝ | # 10 | # | ██║ ██║╚██████╔╝██║ ██║██║ ██║███████╗ | # 11 | # | ╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚══════╝ | # 12 | # +--------------------------------------------+ # 13 | # # 14 | # Distributed Systems Runtime # 15 | # # 16 | # ---------------------------------------------------------------------------- # 17 | # # 18 | # Licensed under the Apache License, Version 2.0 (the "License"); # 19 | # you may not use this file except in compliance with the License. # 20 | # You may obtain a copy of the License at # 21 | # # 22 | # http://www.apache.org/licenses/LICENSE-2.0 # 23 | # # 24 | # Unless required by applicable law or agreed to in writing, software # 25 | # distributed under the License is distributed on an "AS IS" BASIS, # 26 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # 27 | # See the License for the specific language governing permissions and # 28 | # limitations under the License. # 29 | # # 30 | # ---------------------------------------------------------------------------- # 31 | # 32 | set -e 33 | echo "" 34 | 35 | # Generate a ed25519 private key 36 | #echo " -> Generating Aurae ED25519 Key: aurae.ed25519.key..." 37 | #openssl genpkey -algorithm ED25519 > ./pki/aurae.ed25519.key 38 | 39 | ## Generate a root CA 40 | echo " -> Generating Root CA: ca.key, ca.crt..." 41 | openssl req \ 42 | -new \ 43 | -x509 \ 44 | -nodes \ 45 | -days 9999 \ 46 | -addext "subjectAltName = DNS:unsafe.aurae.io" \ 47 | -subj "/C=IS/ST=aurae/L=aurae/O=Aurae/OU=Runtime/CN=unsafe.aurae.io" \ 48 | -keyout "./pki/ca.key" \ 49 | -out "./pki/ca.crt" 2>/dev/null 50 | 51 | ## Generate server CSR 52 | echo " -> Generating Server Material: server.key, server.csr..." 53 | openssl genrsa -out ./pki/server.key 4096 2>/dev/null 54 | openssl req \ 55 | -new \ 56 | -subj "/C=IS/ST=aurae/L=aurae/O=Aurae/OU=Runtime/CN=server.unsafe.aurae.io" \ 57 | -addext "subjectAltName = DNS:server.unsafe.aurae.io" \ 58 | -key "./pki/server.key" \ 59 | -out "./pki/server.csr" 2>/dev/null 60 | 61 | ## Sign the server cert using the CA 62 | echo " -> Signing Server Material (Root CA): server.csr..." 63 | openssl x509 \ 64 | -req \ 65 | -days 9999 \ 66 | -extfile "./hack/certgen.client.ext" \ 67 | -in "./pki/server.csr" \ 68 | -CA "./pki/ca.crt" \ 69 | -CAkey "./pki/ca.key" \ 70 | -CAcreateserial \ 71 | -extfile "./hack/certgen.server.ext" \ 72 | -out "./pki/_signed.server.crt" 2>/dev/null 73 | 74 | ## Verify the server material is signed 75 | echo " -> Verify Server Material (Root CA): server.csr..." 76 | openssl verify -CAfile "./pki/ca.crt" "./pki/_signed.server.crt" 1>/dev/null && echo " -> Root Verification: Success!" 77 | 78 | # Client 79 | . ./hack/certgen-client nova 80 | 81 | # Client 82 | . ./hack/certgen-client unsafe 83 | 84 | # Client 85 | . ./hack/certgen-client system 86 | 87 | echo "x509 Version Numbers: " 88 | openssl x509 -noout -text -in "./pki/_signed.server.crt" | grep "Version" 89 | openssl x509 -noout -text -in "./pki/_signed.client.unsafe.crt" | grep "Version" 90 | echo "" 91 | -------------------------------------------------------------------------------- /hack/certgen-client: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # ---------------------------------------------------------------------------- # 3 | # Apache 2.0 License Copyright © 2022 The Aurae Authors # 4 | # # 5 | # +--------------------------------------------+ # 6 | # | █████╗ ██╗ ██╗██████╗ █████╗ ███████╗ | # 7 | # | ██╔══██╗██║ ██║██╔══██╗██╔══██╗██╔════╝ | # 8 | # | ███████║██║ ██║██████╔╝███████║█████╗ | # 9 | # | ██╔══██║██║ ██║██╔══██╗██╔══██║██╔══╝ | # 10 | # | ██║ ██║╚██████╔╝██║ ██║██║ ██║███████╗ | # 11 | # | ╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚══════╝ | # 12 | # +--------------------------------------------+ # 13 | # # 14 | # Distributed Systems Runtime # 15 | # # 16 | # ---------------------------------------------------------------------------- # 17 | # # 18 | # Licensed under the Apache License, Version 2.0 (the "License"); # 19 | # you may not use this file except in compliance with the License. # 20 | # You may obtain a copy of the License at # 21 | # # 22 | # http://www.apache.org/licenses/LICENSE-2.0 # 23 | # # 24 | # Unless required by applicable law or agreed to in writing, software # 25 | # distributed under the License is distributed on an "AS IS" BASIS, # 26 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # 27 | # See the License for the specific language governing permissions and # 28 | # limitations under the License. # 29 | # # 30 | # ---------------------------------------------------------------------------- # 31 | # 32 | set -e 33 | # certgen-client assumes certgen has been ran 34 | 35 | if [ -z "$1" ]; then 36 | echo "Usage: ./hack/certgen-client " 37 | exit 1 38 | fi 39 | NAME=$1 40 | echo " -> Generating Client: ${NAME}..." 41 | 42 | ## Generate client CSR 43 | echo " -> Generating Client Material: client.${NAME}.key, client.${NAME}.csr..." 44 | openssl genrsa -out "./pki/client.${NAME}.key" 4096 2>/dev/null 45 | openssl req \ 46 | -new \ 47 | -addext "subjectAltName = DNS:${NAME}.unsafe.aurae.io" \ 48 | -subj "/C=IS/ST=aurae/L=aurae/O=Aurae/OU=Runtime/CN=${NAME}.unsafe.aurae.io" \ 49 | -key "./pki/client.${NAME}.key" \ 50 | -out "./pki/client.${NAME}.csr" 2>/dev/null 51 | 52 | ## Sign the client cert using the CA 53 | echo " -> Signing Client Material (Root CA): client.${NAME}.csr..." 54 | openssl x509 \ 55 | -req \ 56 | -extfile "./hack/certgen.client.ext" \ 57 | -days 9999 \ 58 | -in "./pki/client.${NAME}.csr" \ 59 | -CA "./pki/ca.crt" \ 60 | -CAkey "./pki/ca.key" \ 61 | -CAcreateserial \ 62 | -out "./pki/_signed.client.${NAME}.crt" 2>/dev/null 63 | 64 | ## Verify the client material is signed 65 | echo " -> Verify Client Material (Root CA): client.${NAME}.csr..." 66 | openssl verify -CAfile "./pki/ca.crt" "./pki/_signed.client.${NAME}.crt" 1>/dev/null && echo " -> Root Verification: Success!" 67 | -------------------------------------------------------------------------------- /hack/certgen.client.ext: -------------------------------------------------------------------------------- 1 | basicConstraints=CA:FALSE 2 | keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment 3 | authorityKeyIdentifier = keyid, issuer 4 | -------------------------------------------------------------------------------- /hack/certgen.server.ext: -------------------------------------------------------------------------------- 1 | subjectAltName = DNS:server.unsafe.aurae.io 2 | -------------------------------------------------------------------------------- /hack/code-format: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # ---------------------------------------------------------------------------- # 3 | # Apache 2.0 License Copyright © 2022 The Aurae Authors # 4 | # # 5 | # +--------------------------------------------+ # 6 | # | █████╗ ██╗ ██╗██████╗ █████╗ ███████╗ | # 7 | # | ██╔══██╗██║ ██║██╔══██╗██╔══██╗██╔════╝ | # 8 | # | ███████║██║ ██║██████╔╝███████║█████╗ | # 9 | # | ██╔══██║██║ ██║██╔══██╗██╔══██║██╔══╝ | # 10 | # | ██║ ██║╚██████╔╝██║ ██║██║ ██║███████╗ | # 11 | # | ╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚══════╝ | # 12 | # +--------------------------------------------+ # 13 | # # 14 | # Distributed Systems Runtime # 15 | # # 16 | # ---------------------------------------------------------------------------- # 17 | # # 18 | # Licensed under the Apache License, Version 2.0 (the "License"); # 19 | # you may not use this file except in compliance with the License. # 20 | # You may obtain a copy of the License at # 21 | # # 22 | # http://www.apache.org/licenses/LICENSE-2.0 # 23 | # # 24 | # Unless required by applicable law or agreed to in writing, software # 25 | # distributed under the License is distributed on an "AS IS" BASIS, # 26 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # 27 | # See the License for the specific language governing permissions and # 28 | # limitations under the License. # 29 | # # 30 | # ---------------------------------------------------------------------------- # 31 | 32 | D=$(pwd) 33 | if [[ $D == *"hack"* ]]; then 34 | echo "" 35 | echo "/hack is a special directory. These scripts should only be executed from the Makefile." 36 | echo "..or the directory above this one." 37 | echo "" 38 | echo "We suggest using the github.com/aurae-runtime/environment repository for building aurae" 39 | echo "projects from source." 40 | echo "" 41 | exit 99 42 | fi 43 | 44 | # This script assumes running from the top level directory within a Makefile 45 | 46 | . hack/file-definitions 47 | 48 | echo " [ Formatting Source Code ] " 49 | echo "" 50 | 51 | ## Rust 52 | rustfmt --edition=2021 ${RUSTSOURCES} 53 | 54 | ## Protobuf 55 | clang-format -i ./auraed/proto/*.proto 56 | 57 | -------------------------------------------------------------------------------- /hack/common: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # ---------------------------------------------------------------------------- # 3 | # Apache 2.0 License Copyright © 2022 The Aurae Authors # 4 | # # 5 | # +--------------------------------------------+ # 6 | # | █████╗ ██╗ ██╗██████╗ █████╗ ███████╗ | # 7 | # | ██╔══██╗██║ ██║██╔══██╗██╔══██╗██╔════╝ | # 8 | # | ███████║██║ ██║██████╔╝███████║█████╗ | # 9 | # | ██╔══██║██║ ██║██╔══██╗██╔══██║██╔══╝ | # 10 | # | ██║ ██║╚██████╔╝██║ ██║██║ ██║███████╗ | # 11 | # | ╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚══════╝ | # 12 | # +--------------------------------------------+ # 13 | # # 14 | # Distributed Systems Runtime # 15 | # # 16 | # ---------------------------------------------------------------------------- # 17 | # # 18 | # Licensed under the Apache License, Version 2.0 (the "License"); # 19 | # you may not use this file except in compliance with the License. # 20 | # You may obtain a copy of the License at # 21 | # # 22 | # http://www.apache.org/licenses/LICENSE-2.0 # 23 | # # 24 | # Unless required by applicable law or agreed to in writing, software # 25 | # distributed under the License is distributed on an "AS IS" BASIS, # 26 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # 27 | # See the License for the specific language governing permissions and # 28 | # limitations under the License. # 29 | # # 30 | # ---------------------------------------------------------------------------- # 31 | 32 | D=$(pwd) 33 | if [[ D == *"hack"* ]]; then 34 | echo "" 35 | echo "/hack is a special directory. These scripts should only be executed from the Makefile." 36 | echo "..or the directory above this one." 37 | echo "" 38 | echo "We suggest using the github.com/aurae-runtime/environment repository for building aurae" 39 | echo "projects from source." 40 | echo "" 41 | exit 99 42 | fi 43 | 44 | # This script assumes running from the top level directory within a Makefile 45 | 46 | -------------------------------------------------------------------------------- /hack/file-definitions: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # ---------------------------------------------------------------------------- # 3 | # Apache 2.0 License Copyright © 2022 The Aurae Authors # 4 | # # 5 | # +--------------------------------------------+ # 6 | # | █████╗ ██╗ ██╗██████╗ █████╗ ███████╗ | # 7 | # | ██╔══██╗██║ ██║██╔══██╗██╔══██╗██╔════╝ | # 8 | # | ███████║██║ ██║██████╔╝███████║█████╗ | # 9 | # | ██╔══██║██║ ██║██╔══██╗██╔══██║██╔══╝ | # 10 | # | ██║ ██║╚██████╔╝██║ ██║██║ ██║███████╗ | # 11 | # | ╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚══════╝ | # 12 | # +--------------------------------------------+ # 13 | # # 14 | # Distributed Systems Runtime # 15 | # # 16 | # ---------------------------------------------------------------------------- # 17 | # # 18 | # Licensed under the Apache License, Version 2.0 (the "License"); # 19 | # you may not use this file except in compliance with the License. # 20 | # You may obtain a copy of the License at # 21 | # # 22 | # http://www.apache.org/licenses/LICENSE-2.0 # 23 | # # 24 | # Unless required by applicable law or agreed to in writing, software # 25 | # distributed under the License is distributed on an "AS IS" BASIS, # 26 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # 27 | # See the License for the specific language governing permissions and # 28 | # limitations under the License. # 29 | # # 30 | # ---------------------------------------------------------------------------- # 31 | 32 | D=$(pwd) 33 | if [[ $D == *"hack"* ]]; then 34 | echo "" 35 | echo "/hack is a special directory. These scripts should only be executed from the Makefile." 36 | echo "..or the directory above this one." 37 | echo "" 38 | echo "We suggest using the github.com/aurae-runtime/environment repository for building aurae" 39 | echo "projects from source." 40 | echo "" 41 | exit 99 42 | fi 43 | 44 | # This script assumes running from the top level directory within a Makefile 45 | 46 | EXPECTEDSCRIPT=$(cat hack/.header.script) 47 | EXPECTEDSOURCE=$(cat hack/.header.source) 48 | 49 | ### Define Scripts 50 | SCRIPTS=$(find . \( \ 51 | -iname '*.sh' -or \ 52 | -iname '*.toml' \ 53 | \) -not -path '*/ignore/*') 54 | 55 | ### Define Sources 56 | SOURCES=$(find . \( \ 57 | -iname '*.rs' -or \ 58 | -iname '*.go' -or \ 59 | -iname '*.c' -or \ 60 | -iname '*.h' \ 61 | \) -not -path '*/ignore/*') 62 | 63 | ### Rust Sources 64 | RUSTSOURCES=$(find . \( \ 65 | -iname '*.rs' \ 66 | \) -not -path '*/ignore/*') -------------------------------------------------------------------------------- /hack/headers-check: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # ---------------------------------------------------------------------------- # 3 | # Apache 2.0 License Copyright © 2022 The Aurae Authors # 4 | # # 5 | # +--------------------------------------------+ # 6 | # | █████╗ ██╗ ██╗██████╗ █████╗ ███████╗ | # 7 | # | ██╔══██╗██║ ██║██╔══██╗██╔══██╗██╔════╝ | # 8 | # | ███████║██║ ██║██████╔╝███████║█████╗ | # 9 | # | ██╔══██║██║ ██║██╔══██╗██╔══██║██╔══╝ | # 10 | # | ██║ ██║╚██████╔╝██║ ██║██║ ██║███████╗ | # 11 | # | ╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚══════╝ | # 12 | # +--------------------------------------------+ # 13 | # # 14 | # Distributed Systems Runtime # 15 | # # 16 | # ---------------------------------------------------------------------------- # 17 | # # 18 | # Licensed under the Apache License, Version 2.0 (the "License"); # 19 | # you may not use this file except in compliance with the License. # 20 | # You may obtain a copy of the License at # 21 | # # 22 | # http://www.apache.org/licenses/LICENSE-2.0 # 23 | # # 24 | # Unless required by applicable law or agreed to in writing, software # 25 | # distributed under the License is distributed on an "AS IS" BASIS, # 26 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # 27 | # See the License for the specific language governing permissions and # 28 | # limitations under the License. # 29 | # # 30 | # ---------------------------------------------------------------------------- # 31 | 32 | D=$(pwd) 33 | if [[ $D == *"hack"* ]]; then 34 | echo "" 35 | echo "/hack is a special directory. These scripts should only be executed from the Makefile." 36 | echo "..or the directory above this one." 37 | echo "" 38 | echo "We suggest using the github.com/aurae-runtime/environment repository for building aurae" 39 | echo "projects from source." 40 | echo "" 41 | exit 99 42 | fi 43 | 44 | # This script assumes running from the top level directory within a Makefile 45 | 46 | . hack/file-definitions 47 | 48 | status=0 49 | 50 | ### Check Scripts 51 | echo "" 52 | echo " [ Checking Scripts ] " 53 | echo "" 54 | for SCRIPT in $SCRIPTS; do 55 | # Bypass files here 56 | if [ "$SCRIPT" == "ignore.me" ]; then 57 | continue 58 | fi 59 | 60 | # Replace the actual year with DATE so we can ignore the year when checking for the license header. 61 | HEADER=$(head -n 30 $SCRIPT | sed -E -e 's/Copyright © [0-9]+/Copyright © DATE/') 62 | if [ "$HEADER" != "$EXPECTEDSCRIPT" ]; then 63 | echo " -> [FAILED SCRIPT FILE] Invalid header: $SCRIPT" 64 | STATUS=1 65 | fi 66 | done 67 | 68 | ### Check Source Files 69 | echo " [ Checking Source Code ] " 70 | echo "" 71 | for SOURCE in $SOURCES; do 72 | 73 | # Bypass files here 74 | if [ "$SOURCE" == "ignore.me" ]; then 75 | continue 76 | fi 77 | 78 | # Replace the actual year with DATE so we can ignore the year when checking for the license header. 79 | #HEADER=$(head -n 30 $SOURCE | sed -E -e 's/Copyright © [0-9]+/Copyright © DATE/') 80 | if [ "$HEADER" != "$EXPECTEDSOURCE" ]; then 81 | echo " -> [FAILED SOURCE FILE] Invalid header: $SOURCE" 82 | STATUS=1 83 | fi 84 | 85 | done 86 | 87 | echo " [ Checks Complete ] " 88 | 89 | exit $STATUS -------------------------------------------------------------------------------- /hack/headers-write: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # ---------------------------------------------------------------------------- # 3 | # Apache 2.0 License Copyright © 2022 The Aurae Authors # 4 | # # 5 | # +--------------------------------------------+ # 6 | # | █████╗ ██╗ ██╗██████╗ █████╗ ███████╗ | # 7 | # | ██╔══██╗██║ ██║██╔══██╗██╔══██╗██╔════╝ | # 8 | # | ███████║██║ ██║██████╔╝███████║█████╗ | # 9 | # | ██╔══██║██║ ██║██╔══██╗██╔══██║██╔══╝ | # 10 | # | ██║ ██║╚██████╔╝██║ ██║██║ ██║███████╗ | # 11 | # | ╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚══════╝ | # 12 | # +--------------------------------------------+ # 13 | # # 14 | # Distributed Systems Runtime # 15 | # # 16 | # ---------------------------------------------------------------------------- # 17 | # # 18 | # Licensed under the Apache License, Version 2.0 (the "License"); # 19 | # you may not use this file except in compliance with the License. # 20 | # You may obtain a copy of the License at # 21 | # # 22 | # http://www.apache.org/licenses/LICENSE-2.0 # 23 | # # 24 | # Unless required by applicable law or agreed to in writing, software # 25 | # distributed under the License is distributed on an "AS IS" BASIS, # 26 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # 27 | # See the License for the specific language governing permissions and # 28 | # limitations under the License. # 29 | # # 30 | # ---------------------------------------------------------------------------- # 31 | 32 | D=$(pwd) 33 | if [[ $D == *"hack"* ]]; then 34 | echo "" 35 | echo "/hack is a special directory. These scripts should only be executed from the Makefile." 36 | echo "..or the directory above this one." 37 | echo "" 38 | echo "We suggest using the github.com/aurae-runtime/environment repository for building aurae" 39 | echo "projects from source." 40 | echo "" 41 | exit 99 42 | fi 43 | 44 | # This script assumes running from the top level directory within a Makefile 45 | 46 | . hack/file-definitions 47 | 48 | ### Write Scripts 49 | 50 | echo "" 51 | echo " [ Checking Scripts ] " 52 | echo "" 53 | for FILE in $SCRIPTS; do 54 | 55 | # Bypass files here 56 | if [ "$FILE" == "ignore.me" ]; then 57 | continue 58 | fi 59 | 60 | # Replace the actual year with DATE so we can ignore the year when checking for the license header. 61 | CONTENT=$(head -n 30 $FILE | sed -E -e 's/Copyright © [0-9]+/Copyright © DATE/') 62 | if [ "$CONTENT" != "$EXPECTEDSCRIPT" ]; then 63 | # Replace DATE with the current year. 64 | EXPECTEDSCRIPT=$(echo "$EXPECTEDSCRIPT" | sed -E -e "s/Copyright © DATE/Copyright © $(date +%Y)/") 65 | SRC="$(cat $FILE)" 66 | echo -e "$EXPECTEDSCRIPT\n\n$SRC" > $FILE 67 | echo " -> [MUTATING SOURCE FILE] Writing header: $FILE" 68 | fi 69 | 70 | done 71 | 72 | ### Write Source Files (.rs, .go, .c, etc) 73 | echo " [ Checking Source Code ] " 74 | echo "" 75 | for FILE in $SOURCES; do 76 | 77 | # Bypass files here 78 | if [ "$FILE" == "ignore.me" ]; then 79 | continue 80 | fi 81 | 82 | # Replace the actual year with DATE so we can ignore the year when checking for the license header. 83 | CONTENT=$(head -n 30 $FILE | sed -E -e 's/Copyright © [0-9]+/Copyright © DATE/') 84 | if [ "$CONTENT" != "$EXPECTEDSOURCE" ]; then 85 | # Replace DATE with the current year. 86 | EXPECTEDSOURCE=$(echo "$EXPECTEDSOURCE" | sed -E -e "s/Copyright © DATE/Copyright © $(date +%Y)/") 87 | SRC="$(cat $FILE)" 88 | echo -e "$EXPECTEDSOURCE\n\n$SRC" > $FILE 89 | echo " -> [MUTATING SOURCE FILE] Writing header: $FILE" 90 | fi 91 | 92 | done 93 | 94 | echo " [ Write Complete] " 95 | 96 | echo $status 97 | 98 | -------------------------------------------------------------------------------- /hack/server-tls-info: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # ---------------------------------------------------------------------------- # 3 | # Apache 2.0 License Copyright © 2022 The Aurae Authors # 4 | # # 5 | # +--------------------------------------------+ # 6 | # | █████╗ ██╗ ██╗██████╗ █████╗ ███████╗ | # 7 | # | ██╔══██╗██║ ██║██╔══██╗██╔══██╗██╔════╝ | # 8 | # | ███████║██║ ██║██████╔╝███████║█████╗ | # 9 | # | ██╔══██║██║ ██║██╔══██╗██╔══██║██╔══╝ | # 10 | # | ██║ ██║╚██████╔╝██║ ██║██║ ██║███████╗ | # 11 | # | ╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚══════╝ | # 12 | # +--------------------------------------------+ # 13 | # # 14 | # Distributed Systems Runtime # 15 | # # 16 | # ---------------------------------------------------------------------------- # 17 | # # 18 | # Licensed under the Apache License, Version 2.0 (the "License"); # 19 | # you may not use this file except in compliance with the License. # 20 | # You may obtain a copy of the License at # 21 | # # 22 | # http://www.apache.org/licenses/LICENSE-2.0 # 23 | # # 24 | # Unless required by applicable law or agreed to in writing, software # 25 | # distributed under the License is distributed on an "AS IS" BASIS, # 26 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # 27 | # See the License for the specific language governing permissions and # 28 | # limitations under the License. # 29 | # # 30 | # ---------------------------------------------------------------------------- # 31 | 32 | openssl s_client -showcerts -unix /var/run/aurae/aurae.sock -------------------------------------------------------------------------------- /logo/logo-square.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aurae-runtime/environment/f6f0a762f8d1558ef88c6b0fc5f381357dc03858/logo/logo-square.png -------------------------------------------------------------------------------- /logo/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aurae-runtime/environment/f6f0a762f8d1558ef88c6b0fc5f381357dc03858/logo/logo.png -------------------------------------------------------------------------------- /pki/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aurae-runtime/environment/f6f0a762f8d1558ef88c6b0fc5f381357dc03858/pki/.gitkeep -------------------------------------------------------------------------------- /rustfmt.toml: -------------------------------------------------------------------------------- 1 | max_width = 80 2 | use_small_heuristics = "Max" --------------------------------------------------------------------------------