From 2a070ced73f5f7c5f2a3743fb6281c9a1852e456 Mon Sep 17 00:00:00 2001 From: Joep Meindertsma Date: Thu, 30 Dec 2021 12:15:51 +0100 Subject: [PATCH] #246 update actix again (#265) * #246 update actix again * #240 fix rustls * #246 fix server test * #246 publish tauri action * #246 changelog --- .github/workflows/release-github.yml | 91 +- CHANGELOG.md | 4 + Cargo.lock | 1062 +++++++------------ server/Cargo.toml | 30 +- server/src/bin.rs | 5 +- server/src/content_types.rs | 4 +- server/src/handlers/download.rs | 2 +- server/src/handlers/resource.rs | 39 +- server/src/handlers/single_page_app.rs | 4 +- server/src/handlers/tpf.rs | 2 +- server/src/handlers/upload.rs | 4 +- server/src/handlers/web_sockets.rs | 7 +- server/src/helpers.rs | 2 +- server/src/https.rs | 23 +- server/src/routes.rs | 12 +- server/src/serve.rs | 10 +- server/src/tests.rs | 79 +- src-tauri/Cargo.lock | 1312 +++++++++++------------- src-tauri/Cargo.toml | 12 +- src-tauri/README.md | 5 +- src-tauri/src/main.rs | 13 +- 21 files changed, 1165 insertions(+), 1557 deletions(-) diff --git a/.github/workflows/release-github.yml b/.github/workflows/release-github.yml index b198b6f7b..58cdfd416 100644 --- a/.github/workflows/release-github.yml +++ b/.github/workflows/release-github.yml @@ -34,53 +34,50 @@ jobs: # (required) GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - # Disable this until tauri image is ready - # https://github.com/joepio/atomic-data-rust/issues/246 - # publish-tauri: - # strategy: - # fail-fast: false - # matrix: - # platform: [macos-latest, ubuntu-latest, windows-latest] - - # runs-on: ${{ matrix.platform }} - # steps: - # - uses: actions/checkout@v2 - # - name: setup node - # uses: actions/setup-node@v1 - # with: - # node-version: 12 - # - name: install Rust stable - # uses: actions-rs/toolchain@v1 - # with: - # toolchain: stable - # - name: install webkit2gtk and - # sudo apt-get install -y webkit2gtk-4.0 libappindicator3 (ubuntu only) - # if: matrix.platform == 'ubuntu-latest' - # run: | - # sudo apt-get update - # sudo apt-get install -y webkit2gtk-4.0 libappindicator3-dev - # - name: Get Changelog Entry - # id: changelog_reader - # uses: mindsers/changelog-reader-action@v2 - # with: - # version: ${{ steps.tag_name.outputs.current_version }} - # path: CHANGELOG.md - # - uses: tauri-apps/tauri-action@ecbab6a4d4b0deee6a67d644c9b73ed53c5aa739 - # env: - # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - # # TODO: https://github.com/joepio/atomic-data-rust/issues/237 - # # ENABLE_CODE_SIGNING: ${{ secrets.APPLE_CERTIFICATE }} - # # APPLE_CERTIFICATE: ${{ secrets.APPLE_CERTIFICATE }} - # # APPLE_CERTIFICATE_PASSWORD: ${{ secrets.APPLE_CERTIFICATE_PASSWORD }} - # # APPLE_SIGNING_IDENTITY: ${{ secrets.APPLE_IDENTITY_ID }} - # # APPLE_ID: ${{ secrets.APPLE_ID }} - # # APPLE_PASSWORD: ${{ secrets.APPLE_PASSWORD }} - # with: - # tagName: ${{ steps.changelog_reader.outputs.version }} - # releaseName: ${{ steps.changelog_reader.outputs.version }} - # releaseBody: ${{ steps.changelog_reader.outputs.changes }} - # releaseDraft: ${{ steps.changelog_reader.outputs.status == 'unreleased' }} - # prerelease: ${{ steps.changelog_reader.outputs.status == 'prereleased' }} + publish-tauri: + strategy: + fail-fast: false + matrix: + platform: [macos-latest, ubuntu-latest, windows-latest] + runs-on: ${{ matrix.platform }} + steps: + - uses: actions/checkout@v2 + - name: setup node + uses: actions/setup-node@v1 + with: + node-version: 12 + - name: install Rust stable + uses: actions-rs/toolchain@v1 + with: + toolchain: stable + - name: install webkit2gtk and + sudo apt-get install -y webkit2gtk-4.0 libappindicator3 (ubuntu only) + if: matrix.platform == 'ubuntu-latest' + run: | + sudo apt-get update + sudo apt-get install -y webkit2gtk-4.0 libappindicator3-dev + - name: Get Changelog Entry + id: changelog_reader + uses: mindsers/changelog-reader-action@v2 + with: + version: ${{ steps.tag_name.outputs.current_version }} + path: CHANGELOG.md + - uses: tauri-apps/tauri-action@ecbab6a4d4b0deee6a67d644c9b73ed53c5aa739 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + # TODO: https://github.com/joepio/atomic-data-rust/issues/237 + # ENABLE_CODE_SIGNING: ${{ secrets.APPLE_CERTIFICATE }} + # APPLE_CERTIFICATE: ${{ secrets.APPLE_CERTIFICATE }} + # APPLE_CERTIFICATE_PASSWORD: ${{ secrets.APPLE_CERTIFICATE_PASSWORD }} + # APPLE_SIGNING_IDENTITY: ${{ secrets.APPLE_IDENTITY_ID }} + # APPLE_ID: ${{ secrets.APPLE_ID }} + # APPLE_PASSWORD: ${{ secrets.APPLE_PASSWORD }} + with: + tagName: ${{ steps.changelog_reader.outputs.version }} + releaseName: ${{ steps.changelog_reader.outputs.version }} + releaseBody: ${{ steps.changelog_reader.outputs.changes }} + releaseDraft: ${{ steps.changelog_reader.outputs.status == 'unreleased' }} + prerelease: ${{ steps.changelog_reader.outputs.status == 'prereleased' }} upload-assets: strategy: diff --git a/CHANGELOG.md b/CHANGELOG.md index 7f2d3dcc7..58f8acfbd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,10 @@ List of changes for this repo, including `atomic-cli`, `atomic-server` and `atomic-lib`. By far most changes relate to `atomic-server`, so if not specified, assume the changes are relevant only for the server. +## [v0.30.2] - 2021-12-30 + +- Update to actix v4, get Tauri to work again #246 + ## [v0.30.1] - 2021-12-28 - Replace `log` with `tracing` for structured logging and add tracing to `atomic-lib`, enables better (performance) diagnostics #261 diff --git a/Cargo.lock b/Cargo.lock index e2b789719..8d17d0251 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -8,7 +8,7 @@ version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "292ac9d513052341a7f5bdae61f31c4dc93c1dce2598508f52709df08cecc8b0" dependencies = [ - "base64 0.13.0", + "base64", "lazy_static", "log", "openssl", @@ -20,154 +20,127 @@ dependencies = [ [[package]] name = "actix" -version = "0.10.0" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1be241f88f3b1e7e9a3fbe3b5a8a0f6915b5a1d7ee0d9a248d3376d01068cc60" +checksum = "3720d0064a0ce5c0de7bd93bdb0a6caebab2a9b5668746145d7b3b0c5da02914" dependencies = [ "actix-rt", "actix_derive", "bitflags", - "bytes 0.5.6", - "crossbeam-channel 0.4.4", - "derive_more", - "futures-channel", + "bytes", + "crossbeam-channel", + "futures-core", + "futures-sink", + "futures-task", "futures-util", "log", "once_cell", "parking_lot", - "pin-project 0.4.29", + "pin-project-lite", "smallvec", - "tokio 0.2.25", + "tokio", "tokio-util", - "trust-dns-proto", - "trust-dns-resolver", ] [[package]] name = "actix-codec" -version = "0.3.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78d1833b3838dbe990df0f1f87baf640cf6146e898166afe401839d1b001e570" +checksum = "13895df506faee81e423febbae3a33b27fca71831b96bb3d60adf16ebcfea952" dependencies = [ "bitflags", - "bytes 0.5.6", + "bytes", "futures-core", "futures-sink", "log", - "pin-project 0.4.29", - "tokio 0.2.25", + "memchr", + "pin-project-lite", + "tokio", "tokio-util", ] [[package]] -name = "actix-connect" -version = "2.0.0" +name = "actix-cors" +version = "0.6.0-beta.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "177837a10863f15ba8d3ae3ec12fac1099099529ed20083a27fdfe247381d0dc" +checksum = "d4f1bd0e31c745df129f0e94efd374d21f2a455bcc386c15d78ed9a9e7d4dd50" dependencies = [ - "actix-codec", - "actix-rt", "actix-service", "actix-utils", - "derive_more", - "either", - "futures-util", - "http", - "log", - "rustls 0.18.1", - "tokio-rustls", - "trust-dns-proto", - "trust-dns-resolver", - "webpki", -] - -[[package]] -name = "actix-cors" -version = "0.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36b133d8026a9f209a9aeeeacd028e7451bcca975f592881b305d37983f303d7" -dependencies = [ "actix-web", "derive_more", "futures-util", "log", "once_cell", - "tinyvec", + "smallvec", ] [[package]] name = "actix-files" -version = "0.5.0" +version = "0.6.0-beta.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c51e8a9146c12fce92a6e4c24b8c4d9b05268130bfd8d61bc587e822c32ce689" +checksum = "0f6111a58030526aedce52fb19dbfcd7890beb2f2a8cb680dfdb797efb868437" dependencies = [ + "actix-http", "actix-service", + "actix-utils", "actix-web", + "askama_escape", "bitflags", - "bytes 0.5.6", + "bytes", "derive_more", "futures-core", - "futures-util", + "http-range", "log", "mime", "mime_guess", "percent-encoding", - "v_htmlescape", + "pin-project-lite", ] [[package]] name = "actix-http" -version = "2.2.1" +version = "3.0.0-beta.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cb8958da437716f3f31b0e76f8daf36554128517d7df37ceba7df00f09622ee" +checksum = "dac76407e2be239b5e544c9d83bdac4a0d68ae188031ac0424aa3e4868a669be" dependencies = [ "actix-codec", - "actix-connect", "actix-rt", "actix-service", - "actix-threadpool", "actix-tls", "actix-utils", - "base64 0.13.0", + "ahash", + "base64", "bitflags", "brotli2", - "bytes 0.5.6", - "cookie", - "copyless", + "bytes", + "bytestring", "derive_more", - "either", "encoding_rs", "flate2", - "futures-channel", "futures-core", - "futures-util", - "fxhash", "h2", "http", "httparse", - "indexmap", - "itoa 0.4.8", + "httpdate", + "itoa 1.0.1", "language-tags", - "lazy_static", + "local-channel", "log", "mime", "percent-encoding", - "pin-project 1.0.9", - "rand 0.7.3", - "regex", - "serde", - "serde_json", - "serde_urlencoded", + "pin-project-lite", + "rand 0.8.4", "sha-1", - "slab", - "time 0.2.27", + "smallvec", + "zstd", ] [[package]] name = "actix-macros" -version = "0.1.3" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4ca8ce00b267af8ccebbd647de0d61e0674b6e61185cc7a592ff88772bed655" +checksum = "465a6172cf69b960917811022d8f29bc0b7fa1398bc4f78b3c466673db1213b6" dependencies = [ "quote", "syn", @@ -175,17 +148,17 @@ dependencies = [ [[package]] name = "actix-multipart" -version = "0.3.0" +version = "0.4.0-beta.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "774bfeb11b54bf9c857a005b8ab893293da4eaff79261a66a9200dab7f5ab6e3" +checksum = "473ef32141eec0050af83ce8945b5e62b1609a68ce19f753a8dac1ccce8d2dd3" dependencies = [ - "actix-service", "actix-utils", "actix-web", - "bytes 0.5.6", + "bytes", "derive_more", - "futures-util", + "futures-core", "httparse", + "local-waker", "log", "mime", "twoway", @@ -193,11 +166,12 @@ dependencies = [ [[package]] name = "actix-router" -version = "0.2.7" +version = "0.5.0-beta.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ad299af73649e1fc893e333ccf86f377751eb95ff875d095131574c6f43452c" +checksum = "ddd9f117b910fbcce6e9f45092ffd4ff017785a346d09e2d4fd049f4e20384f4" dependencies = [ "bytestring", + "firestorm", "http", "log", "regex", @@ -206,119 +180,79 @@ dependencies = [ [[package]] name = "actix-rt" -version = "1.1.1" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "143fcc2912e0d1de2bcf4e2f720d2a60c28652ab4179685a1ee159e0fb3db227" +checksum = "05c2f80ce8d0c990941c7a7a931f69fd0701b76d521f8d36298edf59cd3fbf1f" dependencies = [ "actix-macros", - "actix-threadpool", - "copyless", - "futures-channel", - "futures-util", - "smallvec", - "tokio 0.2.25", + "futures-core", + "tokio", ] [[package]] name = "actix-server" -version = "1.0.4" +version = "2.0.0-rc.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45407e6e672ca24784baa667c5d32ef109ccdd8d5e0b5ebb9ef8a67f4dfb708e" +checksum = "29b7894a5b47aa84e15fbe8d89ee953568296a3739c5f6e6b5858802a561390c" dependencies = [ - "actix-codec", "actix-rt", "actix-service", "actix-utils", - "futures-channel", + "futures-core", "futures-util", "log", - "mio", - "mio-uds", + "mio 0.8.0", "num_cpus", - "slab", - "socket2 0.3.19", + "socket2", + "tokio", ] [[package]] name = "actix-service" -version = "1.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0052435d581b5be835d11f4eb3bce417c8af18d87ddf8ace99f8e67e595882bb" -dependencies = [ - "futures-util", - "pin-project 0.4.29", -] - -[[package]] -name = "actix-testing" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47239ca38799ab74ee6a8a94d1ce857014b2ac36f242f70f3f75a66f691e791c" -dependencies = [ - "actix-macros", - "actix-rt", - "actix-server", - "actix-service", - "log", - "socket2 0.3.19", -] - -[[package]] -name = "actix-threadpool" -version = "0.3.3" +version = "2.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d209f04d002854b9afd3743032a27b066158817965bf5d036824d19ac2cc0e30" +checksum = "3b894941f818cfdc7ccc4b9e60fa7e53b5042a2e8567270f9147d5591893373a" dependencies = [ - "derive_more", - "futures-channel", - "lazy_static", - "log", - "num_cpus", - "parking_lot", - "threadpool", + "futures-core", + "paste", + "pin-project-lite", ] [[package]] name = "actix-tls" -version = "2.0.0" +version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24789b7d7361cf5503a504ebe1c10806896f61e96eca9a7350e23001aca715fb" +checksum = "b5ef5760747cdfb108a1f35e6911a7a40939da893f95e035f9eee0c18b4b4025" dependencies = [ "actix-codec", + "actix-rt", "actix-service", "actix-utils", - "futures-util", - "rustls 0.18.1", + "derive_more", + "futures-core", + "http", + "log", + "pin-project-lite", "tokio-rustls", - "webpki", - "webpki-roots 0.20.0", + "tokio-util", + "webpki-roots 0.22.1", ] [[package]] name = "actix-utils" -version = "2.0.0" +version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e9022dec56632d1d7979e59af14f0597a28a830a9c1c7fec8b2327eb9f16b5a" +checksum = "e491cbaac2e7fc788dfff99ff48ef317e23b3cf63dbaf7aaab6418f40f92aa94" dependencies = [ - "actix-codec", - "actix-rt", - "actix-service", - "bitflags", - "bytes 0.5.6", - "either", - "futures-channel", - "futures-sink", - "futures-util", - "log", - "pin-project 0.4.29", - "slab", + "local-waker", + "pin-project-lite", ] [[package]] name = "actix-web" -version = "3.3.3" +version = "4.0.0-beta.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6534a126df581caf443ba2751cab42092c89b3f1d06a9d829b1e17edfe3e277" +checksum = "a542a92e385844d988b34f1af289dbb0ca927c23740076a56fdf770b1af69fbc" dependencies = [ "actix-codec", "actix-http", @@ -327,55 +261,57 @@ dependencies = [ "actix-rt", "actix-server", "actix-service", - "actix-testing", - "actix-threadpool", "actix-tls", "actix-utils", "actix-web-codegen", - "awc", - "bytes 0.5.6", + "ahash", + "bytes", + "cfg-if 1.0.0", + "cookie 0.16.0", "derive_more", "encoding_rs", - "futures-channel", "futures-core", "futures-util", - "fxhash", + "itoa 1.0.1", + "language-tags", "log", "mime", - "pin-project 1.0.9", + "once_cell", + "pin-project-lite", "regex", - "rustls 0.18.1", "serde", "serde_json", "serde_urlencoded", - "socket2 0.3.19", - "time 0.2.27", - "tinyvec", + "smallvec", + "socket2", + "time 0.3.5", "url", ] [[package]] name = "actix-web-actors" -version = "3.0.0" +version = "4.0.0-beta.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f6edf3c2693e2a8c422800c87ee89a6a4eac7dd01109bc172a1093ce1f4f001" +checksum = "c90a44d42110d0ca9950b02c58382e5092769b654e62d72ec9fb9129bbf2456c" dependencies = [ "actix", "actix-codec", "actix-http", "actix-web", - "bytes 0.5.6", - "futures-channel", + "bytes", + "bytestring", "futures-core", - "pin-project 0.4.29", + "pin-project-lite", + "tokio", ] [[package]] name = "actix-web-codegen" -version = "0.4.0" +version = "0.5.0-beta.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad26f77093333e0e7c6ffe54ebe3582d908a104e448723eec6d43d08b07143fb" +checksum = "30a90b7f6c2fde9a1fe3df4da758c2c3c9d620dfa3eae4da0b6925dc0a13444a" dependencies = [ + "actix-router", "proc-macro2", "quote", "syn", @@ -383,9 +319,9 @@ dependencies = [ [[package]] name = "actix_derive" -version = "0.5.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b95aceadaf327f18f0df5962fedc1bde2f870566a0b9f65c89508a3b1f79334c" +checksum = "6d44b8fee1ced9671ba043476deddef739dd0959bf77030b26b738cc591737a7" dependencies = [ "proc-macro2", "quote", @@ -406,7 +342,7 @@ checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47" dependencies = [ "getrandom 0.2.3", "once_cell", - "version_check 0.9.4", + "version_check", ] [[package]] @@ -424,7 +360,7 @@ version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2" dependencies = [ - "winapi 0.3.9", + "winapi", ] [[package]] @@ -433,6 +369,12 @@ version = "1.0.52" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "84450d0b4a8bd1ba4144ce8ce718fbc5d071358b1e5384bace6536b3d1f2d5b3" +[[package]] +name = "askama_escape" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a1bb320f97e6edf9f756bf015900038e43c7700e059688e5724a928c8f3b8d5" + [[package]] name = "assert_cmd" version = "1.0.8" @@ -502,9 +444,9 @@ dependencies = [ "parking", "polling", "slab", - "socket2 0.4.2", + "socket2", "waker-fn", - "winapi 0.3.9", + "winapi", ] [[package]] @@ -535,7 +477,7 @@ dependencies = [ "async-global-executor", "async-io", "async-lock", - "crossbeam-utils 0.8.5", + "crossbeam-utils", "futures-channel", "futures-core", "futures-io", @@ -546,7 +488,7 @@ dependencies = [ "memchr", "num_cpus", "once_cell", - "pin-project-lite 0.2.7", + "pin-project-lite", "pin-utils", "slab", "wasm-bindgen-futures", @@ -558,17 +500,6 @@ version = "4.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e91831deabf0d6d7ec49552e489aed63b7456a7a3c46cff62adad428110b0af0" -[[package]] -name = "async-trait" -version = "0.1.52" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "061a7acccaa286c011ddc30970520b98fa40e00c9d644633fb26b5fc63a265e3" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - [[package]] name = "atk" version = "0.14.0" @@ -621,6 +552,7 @@ dependencies = [ "actix-web-actors", "async-std", "atomic_lib", + "awc", "chrono", "clap 3.0.0-rc.9", "dirs 3.0.2", @@ -631,13 +563,14 @@ dependencies = [ "regex", "rio_api", "rio_turtle", - "rustls 0.18.1", + "rustls 0.20.2", + "rustls-pemfile", "sanitize-filename", "serde", "serde_json", "sysinfo", "tantivy", - "tokio 1.15.0", + "tokio", "tracing", "tracing-actix-web", "tracing-chrome", @@ -657,7 +590,7 @@ checksum = "065374052e7df7ee4047b1160cca5e1467a12351a40b3da123c870ba0b8eda2a" name = "atomic_lib" version = "0.30.1" dependencies = [ - "base64 0.13.0", + "base64", "bincode", "dirs 4.0.0", "lazy_static", @@ -685,7 +618,7 @@ checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" dependencies = [ "hermit-abi", "libc", - "winapi 0.3.9", + "winapi", ] [[package]] @@ -696,27 +629,36 @@ checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a" [[package]] name = "awc" -version = "2.0.3" +version = "3.0.0-beta.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b381e490e7b0cfc37ebc54079b0413d8093ef43d14a4e4747083f7fa47a9e691" +checksum = "2e79692bb8a7966b27f7e908a3bcb46c4ba4eb41ffb736344481b1ace08865d0" dependencies = [ "actix-codec", "actix-http", "actix-rt", "actix-service", - "base64 0.13.0", - "bytes 0.5.6", + "actix-tls", + "actix-utils", + "ahash", + "base64", + "bytes", "cfg-if 1.0.0", + "cookie 0.16.0", "derive_more", "futures-core", + "futures-util", + "h2", + "http", + "itoa 1.0.1", "log", "mime", "percent-encoding", - "rand 0.7.3", - "rustls 0.18.1", + "pin-project-lite", + "rand 0.8.4", "serde", "serde_json", "serde_urlencoded", + "tokio", ] [[package]] @@ -725,12 +667,6 @@ version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a4521f3e3d031370679b3b140beb36dfe4801b09ac77e30c61941f97df3ef28b" -[[package]] -name = "base64" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3441f0f7b02788e948e47f457ca01f1d7e6d92c693bc132c22b087d3141c03ff" - [[package]] name = "base64" version = "0.13.0" @@ -769,9 +705,9 @@ checksum = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a" [[package]] name = "block-buffer" -version = "0.9.0" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4" +checksum = "f1d36a02058e76b040de25a4464ba1c80935655595b661505c8b39b664828b95" dependencies = [ "generic-array", ] @@ -821,15 +757,6 @@ dependencies = [ "regex-automata", ] -[[package]] -name = "buf-min" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa17aa1cf56bdd6bb30518767d00e58019d326f3f05d8c3e0730b549d332ea83" -dependencies = [ - "bytes 0.5.6", -] - [[package]] name = "bumpalo" version = "3.8.0" @@ -842,12 +769,6 @@ version = "1.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" -[[package]] -name = "bytes" -version = "0.5.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e4cec68f03f32e44924783795810fa50a7035d8c8ebe78580ad7e6c703fba38" - [[package]] name = "bytes" version = "1.1.0" @@ -860,7 +781,7 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "90706ba19e97b90786e19dc0d5e2abd80008d99d4c0c5d1ad0b5e72cec7c494d" dependencies = [ - "bytes 1.1.0", + "bytes", ] [[package]] @@ -898,6 +819,9 @@ name = "cc" version = "1.0.72" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "22a9137b95ea06864e018375b72adfb7db6e6f68cfc8df5a04d00288050485ee" +dependencies = [ + "jobserver", +] [[package]] name = "census" @@ -936,7 +860,7 @@ dependencies = [ "num-integer", "num-traits", "time 0.1.44", - "winapi 0.3.9", + "winapi", ] [[package]] @@ -1029,7 +953,7 @@ checksum = "b3616f750b84d8f0de8a58bda93e08e2a81ad3f523089b05f1dffecab48c6cbd" dependencies = [ "atty", "lazy_static", - "winapi 0.3.9", + "winapi", ] [[package]] @@ -1070,7 +994,18 @@ checksum = "03a5d7b21829bc7b4bf4754a978a241ae54ea55a40f92bb20216e54096f4b951" dependencies = [ "percent-encoding", "time 0.2.27", - "version_check 0.9.4", + "version_check", +] + +[[package]] +name = "cookie" +version = "0.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94d4706de1b0fa5b132270cddffa8585166037822e260a944fe161acd137ca05" +dependencies = [ + "percent-encoding", + "time 0.3.5", + "version_check", ] [[package]] @@ -1079,7 +1014,7 @@ version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3818dfca4b0cb5211a659bbcbb94225b7127407b2b135e650d717bfb78ab10d3" dependencies = [ - "cookie", + "cookie 0.14.4", "idna", "log", "publicsuffix", @@ -1089,12 +1024,6 @@ dependencies = [ "url", ] -[[package]] -name = "copyless" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2df960f5d869b2dd8532793fde43eb5427cceb126c929747a26823ab0eeb536" - [[package]] name = "core-foundation" version = "0.9.2" @@ -1161,21 +1090,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4ae5588f6b3c3cb05239e90bd110f257254aecd01e4635400391aeae07497845" dependencies = [ "cfg-if 1.0.0", - "crossbeam-channel 0.5.1", + "crossbeam-channel", "crossbeam-deque", "crossbeam-epoch", "crossbeam-queue", - "crossbeam-utils 0.8.5", -] - -[[package]] -name = "crossbeam-channel" -version = "0.4.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b153fe7cbef478c567df0f972e02e6d736db11affe43dfc9c56a9374d1adfb87" -dependencies = [ - "crossbeam-utils 0.7.2", - "maybe-uninit", + "crossbeam-utils", ] [[package]] @@ -1185,7 +1104,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "06ed27e177f16d65f0f0c22a213e17c696ace5dd64b14258b52f9417ccb52db4" dependencies = [ "cfg-if 1.0.0", - "crossbeam-utils 0.8.5", + "crossbeam-utils", ] [[package]] @@ -1196,7 +1115,7 @@ checksum = "6455c0ca19f0d2fbf751b908d5c55c1f5cbc65e03c4225427254b46890bdde1e" dependencies = [ "cfg-if 1.0.0", "crossbeam-epoch", - "crossbeam-utils 0.8.5", + "crossbeam-utils", ] [[package]] @@ -1206,7 +1125,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4ec02e091aa634e2c3ada4a392989e7c3116673ef0ac5b72232439094d73b7fd" dependencies = [ "cfg-if 1.0.0", - "crossbeam-utils 0.8.5", + "crossbeam-utils", "lazy_static", "memoffset", "scopeguard", @@ -1219,18 +1138,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9b10ddc024425c88c2ad148c1b0fd53f4c6d38db9697c9f1588381212fa657c9" dependencies = [ "cfg-if 1.0.0", - "crossbeam-utils 0.8.5", -] - -[[package]] -name = "crossbeam-utils" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3c7c73a2d1e9fc0886a08b93e98eb643461230d5f1925e4036204d5f2e261a8" -dependencies = [ - "autocfg", - "cfg-if 0.1.10", - "lazy_static", + "crossbeam-utils", ] [[package]] @@ -1249,6 +1157,15 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" +[[package]] +name = "crypto-common" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "683d6b536309245c849479fba3da410962a43ed8e51c26b729208ec0ac2798d0" +dependencies = [ + "generic-array", +] + [[package]] name = "ctor" version = "0.1.21" @@ -1280,10 +1197,12 @@ checksum = "6184e33543162437515c2e2b48714794e37845ec9851711914eec9d308f6ebe8" [[package]] name = "digest" -version = "0.9.0" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066" +checksum = "b697d66081d42af4fba142d56918a3cb21dc8eb63372c6b85d14f44fb9c5979b" dependencies = [ + "block-buffer", + "crypto-common", "generic-array", ] @@ -1323,7 +1242,7 @@ checksum = "03d86534ed367a67548dc68113a0f5db55432fdfbb6e6f9d77704397d95d5780" dependencies = [ "libc", "redox_users", - "winapi 0.3.9", + "winapi", ] [[package]] @@ -1334,7 +1253,7 @@ checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d" dependencies = [ "libc", "redox_users", - "winapi 0.3.9", + "winapi", ] [[package]] @@ -1386,18 +1305,6 @@ dependencies = [ "cfg-if 1.0.0", ] -[[package]] -name = "enum-as-inner" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c5f0096a91d210159eceb2ff5e1c4da18388a170e1e3ce948aac9c8fdbbf595" -dependencies = [ - "heck", - "proc-macro2", - "quote", - "syn", -] - [[package]] name = "event-listener" version = "2.5.1" @@ -1450,6 +1357,12 @@ dependencies = [ "rustc_version 0.3.3", ] +[[package]] +name = "firestorm" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "31586bda1b136406162e381a3185a506cdfc1631708dd40cba2f6628d8634499" + [[package]] name = "flate2" version = "1.0.22" @@ -1500,25 +1413,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9564fc758e15025b46aa6643b1b77d047d1a56a1aea6e01002ac0c7026876213" dependencies = [ "libc", - "winapi 0.3.9", -] - -[[package]] -name = "fuchsia-zircon" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82" -dependencies = [ - "bitflags", - "fuchsia-zircon-sys", + "winapi", ] -[[package]] -name = "fuchsia-zircon-sys" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7" - [[package]] name = "futures" version = "0.3.19" @@ -1579,7 +1476,7 @@ dependencies = [ "futures-io", "memchr", "parking", - "pin-project-lite 0.2.7", + "pin-project-lite", "waker-fn", ] @@ -1619,7 +1516,7 @@ dependencies = [ "futures-sink", "futures-task", "memchr", - "pin-project-lite 0.2.7", + "pin-project-lite", "pin-utils", "slab", ] @@ -1698,7 +1595,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "501466ecc8a30d1d3b7fc9229b122b2ce8ed6e9d9223f1138d4babb253e51817" dependencies = [ "typenum", - "version_check 0.9.4", + "version_check", ] [[package]] @@ -1750,7 +1647,7 @@ dependencies = [ "gobject-sys", "libc", "system-deps", - "winapi 0.3.9", + "winapi", ] [[package]] @@ -1879,11 +1776,11 @@ dependencies = [ [[package]] name = "h2" -version = "0.2.7" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e4728fd124914ad25e99e3d15a9361a879f6620f63cb56bbb08f95abb97a535" +checksum = "8f072413d126e57991455e0a922b31e4c8ba7c2ffbebf6b78b4f8521397d65cd" dependencies = [ - "bytes 0.5.6", + "bytes", "fnv", "futures-core", "futures-sink", @@ -1891,10 +1788,9 @@ dependencies = [ "http", "indexmap", "slab", - "tokio 0.2.25", + "tokio", "tokio-util", "tracing", - "tracing-futures", ] [[package]] @@ -1924,17 +1820,6 @@ dependencies = [ "libc", ] -[[package]] -name = "hostname" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c731c3e10504cc8ed35cfe2f1db4c9274c3d35fa486e3b31df46f068ef3e867" -dependencies = [ - "libc", - "match_cfg", - "winapi 0.3.9", -] - [[package]] name = "htmlescape" version = "0.3.1" @@ -1947,17 +1832,29 @@ version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1323096b05d41827dadeaee54c9981958c0f94e670bc94ed80037d1a7b8b186b" dependencies = [ - "bytes 1.1.0", + "bytes", "fnv", "itoa 0.4.8", ] +[[package]] +name = "http-range" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eee9694f83d9b7c09682fdb32213682939507884e5bcf227be9aff5d644b90dc" + [[package]] name = "httparse" version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "acd94fdbe1d4ff688b67b04eee2e17bd50995534a61539e45adfefb45e5e5503" +[[package]] +name = "httpdate" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421" + [[package]] name = "idna" version = "0.2.3" @@ -1985,28 +1882,7 @@ version = "0.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" dependencies = [ - "cfg-if 1.0.0", -] - -[[package]] -name = "iovec" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2b3ea6ff95e175473f8ffe6a7eb7c00d054240321b84c57051175fe3c1e075e" -dependencies = [ - "libc", -] - -[[package]] -name = "ipconfig" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7e2f18aece9709094573a9f24f483c4f65caa4298e2f7ae1b71cc65d853fad7" -dependencies = [ - "socket2 0.3.19", - "widestring", - "winapi 0.3.9", - "winreg", + "cfg-if 1.0.0", ] [[package]] @@ -2030,6 +1906,15 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1aab8fc367588b89dcee83ab0fd66b72b50b72fa1904d7095045ace2b0c81c35" +[[package]] +name = "jobserver" +version = "0.1.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af25a77299a7f711a01975c35a6a424eb6862092cc2d6c72c4ed6cbc56dfc1fa" +dependencies = [ + "libc", +] + [[package]] name = "js-sys" version = "0.3.55" @@ -2045,16 +1930,6 @@ version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "078e285eafdfb6c4b434e0d31e8cfcb5115b651496faca5749b88fafd4f23bfd" -[[package]] -name = "kernel32-sys" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d" -dependencies = [ - "winapi 0.2.8", - "winapi-build", -] - [[package]] name = "kv-log-macro" version = "1.0.7" @@ -2066,9 +1941,9 @@ dependencies = [ [[package]] name = "language-tags" -version = "0.2.2" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a91d884b6667cd606bb5a69aa0c99ba811a115fc68915e7056ec08a46e93199a" +checksum = "d4345964bb142484797b161f473a503a434de77149dd8c7427788c6e13379388" [[package]] name = "lazy_static" @@ -2112,10 +1987,22 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b03d17f364a3a042d5e5d46b053bbbf82c92c9430c592dd4c064dc6ee997125" [[package]] -name = "linked-hash-map" -version = "0.5.4" +name = "local-channel" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6246c68cf195087205a0512559c97e15eaf95198bf0e206d662092cdcb03fe9f" +dependencies = [ + "futures-core", + "futures-sink", + "futures-util", + "local-waker", +] + +[[package]] +name = "local-waker" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fb9b38af92608140b86b693604b9ffcc5824240a484d1ecd4795bacb2fe88f3" +checksum = "902eb695eb0591864543cbfbf6d742510642a605a61fc5e97fe6ceb5a30ac4fb" [[package]] name = "lock_api" @@ -2145,15 +2032,6 @@ dependencies = [ "hashbrown", ] -[[package]] -name = "lru-cache" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31e24f1ad8321ca0e8a1e0ac13f23cb668e6f5466c2c57319f6a5cf1cc8e3b1c" -dependencies = [ - "linked-hash-map", -] - [[package]] name = "lz4_flex" version = "0.8.2" @@ -2172,12 +2050,6 @@ dependencies = [ "libc", ] -[[package]] -name = "match_cfg" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffbee8634e0d45d258acb448e7eaab3fce7a0a467395d4d9f228e3c1f01fb2e4" - [[package]] name = "matchers" version = "0.1.0" @@ -2193,12 +2065,6 @@ version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f" -[[package]] -name = "maybe-uninit" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60302e4db3a61da70c0cb7991976248362f30319e88850c487b9b95bbf059e00" - [[package]] name = "measure_time" version = "0.7.0" @@ -2260,44 +2126,37 @@ dependencies = [ [[package]] name = "mio" -version = "0.6.23" +version = "0.7.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4afd66f5b91bf2a3bc13fad0e21caedac168ca4c707504e75585648ae80e4cc4" +checksum = "8067b404fe97c70829f082dec8bcf4f71225d7eaea1d8645349cb76fa06205cc" dependencies = [ - "cfg-if 0.1.10", - "fuchsia-zircon", - "fuchsia-zircon-sys", - "iovec", - "kernel32-sys", "libc", "log", "miow", - "net2", - "slab", - "winapi 0.2.8", + "ntapi", + "winapi", ] [[package]] -name = "mio-uds" -version = "0.6.8" +name = "mio" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "afcb699eb26d4332647cc848492bbc15eafb26f08d0304550d5aa1f612e066f0" +checksum = "ba272f85fa0b41fc91872be579b3bbe0f56b792aa361a380eb669469f68dafb2" dependencies = [ - "iovec", "libc", - "mio", + "log", + "miow", + "ntapi", + "winapi", ] [[package]] name = "miow" -version = "0.2.2" +version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebd808424166322d4a38da87083bfddd3ac4c131334ed55856112eb06d46944d" +checksum = "b9f1c5b025cda876f66ef43a113f91ebc9f4ccef34843000e0adf6ebbab84e21" dependencies = [ - "kernel32-sys", - "net2", - "winapi 0.2.8", - "ws2_32-sys", + "winapi", ] [[package]] @@ -2309,17 +2168,6 @@ dependencies = [ "byteorder", ] -[[package]] -name = "net2" -version = "0.2.37" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "391630d12b68002ae1e25e8f974306474966550ad82dac6886fb8910c19568ae" -dependencies = [ - "cfg-if 0.1.10", - "libc", - "winapi 0.3.9", -] - [[package]] name = "nix" version = "0.18.0" @@ -2332,23 +2180,13 @@ dependencies = [ "libc", ] -[[package]] -name = "nom" -version = "4.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ad2a91a8e869eeb30b9cb3119ae87773a8f4ae617f41b1eb9c154b2905f7bd6" -dependencies = [ - "memchr", - "version_check 0.1.5", -] - [[package]] name = "ntapi" version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f6bb902e437b6d86e03cce10a7e2af662292c5dfef23b65899ea3ac9354ad44" dependencies = [ - "winapi 0.3.9", + "winapi", ] [[package]] @@ -2456,12 +2294,6 @@ version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "da32515d9f6e6e489d7bc9d84c71b060db7247dc035bbe44eac88cf87486d8d5" -[[package]] -name = "opaque-debug" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" - [[package]] name = "open" version = "2.0.2" @@ -2469,7 +2301,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "176ee4b630d174d2da8241336763bb459281dddc0f4d87f72c3b1efc9a6109b7" dependencies = [ "pathdiff", - "winapi 0.3.9", + "winapi", ] [[package]] @@ -2588,9 +2420,15 @@ dependencies = [ "libc", "redox_syscall", "smallvec", - "winapi 0.3.9", + "winapi", ] +[[package]] +name = "paste" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0744126afe1a6dd7f394cb50a716dbe086cb06e255e53d8d0185d82828358fb5" + [[package]] name = "pathdiff" version = "0.2.1" @@ -2612,33 +2450,13 @@ dependencies = [ "ucd-trie", ] -[[package]] -name = "pin-project" -version = "0.4.29" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9615c18d31137579e9ff063499264ddc1278e7b1982757ebc111028c4d1dc909" -dependencies = [ - "pin-project-internal 0.4.29", -] - [[package]] name = "pin-project" version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1622113ce508488160cff04e6abc60960e676d330e1ca0f77c0b8df17c81438f" dependencies = [ - "pin-project-internal 1.0.9", -] - -[[package]] -name = "pin-project-internal" -version = "0.4.29" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "044964427019eed9d49d9d5bbce6047ef18f37100ea400912a9fa4a3523ab12a" -dependencies = [ - "proc-macro2", - "quote", - "syn", + "pin-project-internal", ] [[package]] @@ -2652,12 +2470,6 @@ dependencies = [ "syn", ] -[[package]] -name = "pin-project-lite" -version = "0.1.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "257b64915a082f7811703966789728173279bdebb956b143dbcd23f6f970a777" - [[package]] name = "pin-project-lite" version = "0.2.7" @@ -2686,7 +2498,7 @@ dependencies = [ "libc", "log", "wepoll-ffi", - "winapi 0.3.9", + "winapi", ] [[package]] @@ -2751,7 +2563,7 @@ dependencies = [ "proc-macro2", "quote", "syn", - "version_check 0.9.4", + "version_check", ] [[package]] @@ -2762,7 +2574,7 @@ checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" dependencies = [ "proc-macro2", "quote", - "version_check 0.9.4", + "version_check", ] [[package]] @@ -2808,12 +2620,6 @@ dependencies = [ "percent-encoding", ] -[[package]] -name = "quick-error" -version = "1.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" - [[package]] name = "quote" version = "1.0.14" @@ -2922,9 +2728,9 @@ version = "1.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d78120e2c850279833f1dd3582f730c4ab53ed95aeaaaa862a2a5c71b1656d8e" dependencies = [ - "crossbeam-channel 0.5.1", + "crossbeam-channel", "crossbeam-deque", - "crossbeam-utils 0.8.5", + "crossbeam-utils", "lazy_static", "num_cpus", ] @@ -2986,17 +2792,7 @@ version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7" dependencies = [ - "winapi 0.3.9", -] - -[[package]] -name = "resolv-conf" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52e44394d2086d010551b14b53b1f24e31647570cd1deb0379e2c21b329aba00" -dependencies = [ - "hostname", - "quick-error", + "winapi", ] [[package]] @@ -3011,7 +2807,7 @@ dependencies = [ "spin", "untrusted", "web-sys", - "winapi 0.3.9", + "winapi", ] [[package]] @@ -3070,28 +2866,36 @@ dependencies = [ [[package]] name = "rustls" -version = "0.18.1" +version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d1126dcf58e93cee7d098dbda643b5f92ed724f1f6a63007c1116eed6700c81" +checksum = "35edb675feee39aec9c99fa5ff985081995a06d594114ae14cbe797ad7b7a6d7" dependencies = [ - "base64 0.12.3", + "base64", "log", "ring", - "sct", - "webpki", + "sct 0.6.1", + "webpki 0.21.4", ] [[package]] name = "rustls" -version = "0.19.1" +version = "0.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35edb675feee39aec9c99fa5ff985081995a06d594114ae14cbe797ad7b7a6d7" +checksum = "d37e5e2290f3e040b594b1a9e04377c2c671f1a1cfd9bfdef82106ac1c113f84" dependencies = [ - "base64 0.13.0", "log", "ring", - "sct", - "webpki", + "sct 0.7.0", + "webpki 0.22.0", +] + +[[package]] +name = "rustls-pemfile" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5eebeaeb360c87bfb72e84abdb3447159c0eaececf1bef2aecd65a8be949d1c9" +dependencies = [ + "base64", ] [[package]] @@ -3110,7 +2914,7 @@ dependencies = [ "unicode-segmentation", "unicode-width", "utf8parse", - "winapi 0.3.9", + "winapi", ] [[package]] @@ -3145,6 +2949,16 @@ dependencies = [ "untrusted", ] +[[package]] +name = "sct" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4" +dependencies = [ + "ring", + "untrusted", +] + [[package]] name = "semver" version = "0.9.0" @@ -3229,15 +3043,13 @@ dependencies = [ [[package]] name = "sha-1" -version = "0.9.8" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99cd6713db3cf16b6c84e06321e049a9b9f699826e16096d23bbcc44d15d51a6" +checksum = "028f48d513f9678cda28f6e4064755b3fbb2af6acd672f2c209b62323f7aea0f" dependencies = [ - "block-buffer", "cfg-if 1.0.0", "cpufeatures", "digest", - "opaque-debug", ] [[package]] @@ -3278,7 +3090,7 @@ checksum = "7f96b4737c2ce5987354855aed3797279def4ebf734436c6aa4552cf8e169935" dependencies = [ "crc32fast", "crossbeam-epoch", - "crossbeam-utils 0.8.5", + "crossbeam-utils", "fs2", "fxhash", "libc", @@ -3292,17 +3104,6 @@ version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1ecab6c735a6bb4139c0caafd0cc3635748bbb3acf4550e8138122099251f309" -[[package]] -name = "socket2" -version = "0.3.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "122e570113d28d773067fab24266b66753f6ea915758651696b6e35e49f88d6e" -dependencies = [ - "cfg-if 1.0.0", - "libc", - "winapi 0.3.9", -] - [[package]] name = "socket2" version = "0.4.2" @@ -3310,7 +3111,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5dc90fe6c7be1a323296982db1836d1ea9e47b6839496dde9a541bc496df3516" dependencies = [ "libc", - "winapi 0.3.9", + "winapi", ] [[package]] @@ -3331,7 +3132,7 @@ version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e113fb6f3de07a243d434a56ec6f186dfd51cb08448239fe7bcae73f87ff28ff" dependencies = [ - "version_check 0.9.4", + "version_check", ] [[package]] @@ -3442,7 +3243,7 @@ dependencies = [ "ntapi", "once_cell", "rayon", - "winapi 0.3.9", + "winapi", ] [[package]] @@ -3469,7 +3270,7 @@ version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "25e733d58e88c51fb0ed76305885ce617a49731e3476514cf7ad4394668dfbc7" dependencies = [ - "base64 0.13.0", + "base64", "bitpacking", "byteorder", "census", @@ -3509,7 +3310,7 @@ dependencies = [ "tempfile", "thiserror", "uuid", - "winapi 0.3.9", + "winapi", ] [[package]] @@ -3558,7 +3359,7 @@ dependencies = [ "rand 0.8.4", "redox_syscall", "remove_dir_all", - "winapi 0.3.9", + "winapi", ] [[package]] @@ -3620,15 +3421,6 @@ dependencies = [ "once_cell", ] -[[package]] -name = "threadpool" -version = "1.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d050e60b33d41c19108b32cea32164033a9013fe3b46cbd4457559bfbf77afaa" -dependencies = [ - "num_cpus", -] - [[package]] name = "time" version = "0.1.44" @@ -3637,7 +3429,7 @@ checksum = "6db9e6914ab8b1ae1c260a4ae7a49b6c5611b40328a735b21862567685e73255" dependencies = [ "libc", "wasi 0.10.0+wasi-snapshot-preview1", - "winapi 0.3.9", + "winapi", ] [[package]] @@ -3650,9 +3442,20 @@ dependencies = [ "libc", "standback", "stdweb", - "time-macros", - "version_check 0.9.4", - "winapi 0.3.9", + "time-macros 0.1.1", + "version_check", + "winapi", +] + +[[package]] +name = "time" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41effe7cfa8af36f439fac33861b66b049edc6f9a32331e2312660529c1c24ad" +dependencies = [ + "itoa 0.4.8", + "libc", + "time-macros 0.2.3", ] [[package]] @@ -3665,6 +3468,12 @@ dependencies = [ "time-macros-impl", ] +[[package]] +name = "time-macros" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "25eb0ca3468fc0acc11828786797f6ef9aa1555e4a211a60d64cc8e4d1be47d6" + [[package]] name = "time-macros-impl" version = "0.1.2" @@ -3695,59 +3504,44 @@ checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" [[package]] name = "tokio" -version = "0.2.25" +version = "1.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6703a273949a90131b290be1fe7b039d0fc884aa1935860dfcbe056f28cd8092" +checksum = "fbbf1c778ec206785635ce8ad57fe52b3009ae9e0c9f574a728f3049d3e55838" dependencies = [ - "bytes 0.5.6", - "fnv", - "futures-core", - "iovec", - "lazy_static", + "bytes", "libc", "memchr", - "mio", - "mio-uds", - "pin-project-lite 0.1.12", + "mio 0.7.14", + "once_cell", + "parking_lot", + "pin-project-lite", "signal-hook-registry", - "slab", - "winapi 0.3.9", -] - -[[package]] -name = "tokio" -version = "1.15.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbbf1c778ec206785635ce8ad57fe52b3009ae9e0c9f574a728f3049d3e55838" -dependencies = [ - "pin-project-lite 0.2.7", + "winapi", ] [[package]] name = "tokio-rustls" -version = "0.14.1" +version = "0.23.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e12831b255bcfa39dc0436b01e19fea231a37db570686c06ee72c423479f889a" +checksum = "a27d5f2b839802bd8267fa19b0530f5a08b9c08cd417976be2a65d130fe1c11b" dependencies = [ - "futures-core", - "rustls 0.18.1", - "tokio 0.2.25", - "webpki", + "rustls 0.20.2", + "tokio", + "webpki 0.22.0", ] [[package]] name = "tokio-util" -version = "0.3.1" +version = "0.6.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be8242891f2b6cbef26a2d7e8605133c2c554cd35b3e4948ea892d6d68436499" +checksum = "9e99e1983e5d376cd8eb4b66604d2e99e79f5bd988c3055891dcd8c9e2604cc0" dependencies = [ - "bytes 0.5.6", + "bytes", "futures-core", - "futures-io", "futures-sink", "log", - "pin-project-lite 0.1.12", - "tokio 0.2.25", + "pin-project-lite", + "tokio", ] [[package]] @@ -3766,20 +3560,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "375a639232caf30edfc78e8d89b2d4c375515393e7af7e16f01cd96917fb2105" dependencies = [ "cfg-if 1.0.0", - "log", - "pin-project-lite 0.2.7", + "pin-project-lite", "tracing-attributes", "tracing-core", ] [[package]] name = "tracing-actix-web" -version = "0.2.1" +version = "0.5.0-beta.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc36fc2f840643e49d220d07cd7ca81bc31c7f6df25f164d4257971533dab354" +checksum = "da8e6a7393e9b680de78d876f8c1432aebf56f3e70346a4a821160c04677a272" dependencies = [ "actix-web", - "futures", + "pin-project", "tracing", "tracing-futures", "uuid", @@ -3822,7 +3615,7 @@ version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2" dependencies = [ - "pin-project 1.0.9", + "pin-project", "tracing", ] @@ -3839,9 +3632,9 @@ dependencies = [ [[package]] name = "tracing-subscriber" -version = "0.3.4" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5e6136799e1079699e0d9784c883e03af55cf6a1bee48fe1d79ca552c1bc36f" +checksum = "5d81bfa81424cc98cb034b837c985b7a290f592e5b4322f353f94a0ab0f9f594" dependencies = [ "ansi_term", "lazy_static", @@ -3870,46 +3663,7 @@ dependencies = [ "objc-foundation", "objc_id", "padlock", - "winapi 0.3.9", -] - -[[package]] -name = "trust-dns-proto" -version = "0.19.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cad71a0c0d68ab9941d2fb6e82f8fb2e86d9945b94e1661dd0aaea2b88215a9" -dependencies = [ - "async-trait", - "cfg-if 1.0.0", - "enum-as-inner", - "futures", - "idna", - "lazy_static", - "log", - "rand 0.7.3", - "smallvec", - "thiserror", - "tokio 0.2.25", - "url", -] - -[[package]] -name = "trust-dns-resolver" -version = "0.19.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "710f593b371175db53a26d0b38ed2978fafb9e9e8d3868b1acd753ea18df0ceb" -dependencies = [ - "cfg-if 0.1.10", - "futures", - "ipconfig", - "lazy_static", - "log", - "lru-cache", - "resolv-conf", - "smallvec", - "thiserror", - "tokio 0.2.25", - "trust-dns-proto", + "winapi", ] [[package]] @@ -3956,7 +3710,7 @@ version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6" dependencies = [ - "version_check 0.9.4", + "version_check", ] [[package]] @@ -4004,16 +3758,16 @@ version = "1.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2b8b063c2d59218ae09f22b53c42eaad0d53516457905f5235ca4bc9e99daa71" dependencies = [ - "base64 0.13.0", + "base64", "chunked_transfer", - "cookie", + "cookie 0.14.4", "cookie_store", "log", "once_cell", "qstring", "rustls 0.19.1", "url", - "webpki", + "webpki 0.21.4", "webpki-roots 0.21.1", ] @@ -4057,38 +3811,6 @@ dependencies = [ "serde", ] -[[package]] -name = "v_escape" -version = "0.15.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3e0ab5fab1db278a9413d2ea794cb66f471f898c5b020c3c394f6447625d9d4" -dependencies = [ - "buf-min", - "v_escape_derive", -] - -[[package]] -name = "v_escape_derive" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f29769400af8b264944b851c961a4a6930e76604f59b1fcd51246bab6a296c8c" -dependencies = [ - "nom", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "v_htmlescape" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f9a8af610ad6f7fc9989c9d2590d9764bc61f294884e9ee93baa58795174572" -dependencies = [ - "cfg-if 1.0.0", - "v_escape", -] - [[package]] name = "value-bag" version = "1.0.0-alpha.8" @@ -4096,7 +3818,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "79923f7731dc61ebfba3633098bf3ac533bbd35ccd8c57e7088d9a5eebe0263f" dependencies = [ "ctor", - "version_check 0.9.4", + "version_check", ] [[package]] @@ -4117,12 +3839,6 @@ version = "0.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1c18c859eead79d8b95d09e4678566e8d70105c4e7b251f707a03df32442661b" -[[package]] -name = "version_check" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "914b1a6776c4c929a602fafd8bc742e06365d4bcbe48c30f9cca5824f70dc9dd" - [[package]] name = "version_check" version = "0.9.4" @@ -4243,12 +3959,13 @@ dependencies = [ ] [[package]] -name = "webpki-roots" -version = "0.20.0" +name = "webpki" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f20dea7535251981a9670857150d571846545088359b28e4951d350bdaf179f" +checksum = "f095d78192e208183081cc07bc5515ef55216397af48b873e5edcd72637fa1bd" dependencies = [ - "webpki", + "ring", + "untrusted", ] [[package]] @@ -4257,7 +3974,16 @@ version = "0.21.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "aabe153544e473b775453675851ecc86863d2a81d786d741f6b76778f2a48940" dependencies = [ - "webpki", + "webpki 0.21.4", +] + +[[package]] +name = "webpki-roots" +version = "0.22.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c475786c6f47219345717a043a37ec04cb4bc185e28853adcc4fa0a947eba630" +dependencies = [ + "webpki 0.22.0", ] [[package]] @@ -4280,18 +4006,6 @@ dependencies = [ "libc", ] -[[package]] -name = "widestring" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c168940144dd21fd8046987c16a46a33d5fc84eec29ef9dcddc2ac9e31526b7c" - -[[package]] -name = "winapi" -version = "0.2.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a" - [[package]] name = "winapi" version = "0.3.9" @@ -4302,12 +4016,6 @@ dependencies = [ "winapi-x86_64-pc-windows-gnu", ] -[[package]] -name = "winapi-build" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc" - [[package]] name = "winapi-i686-pc-windows-gnu" version = "0.4.0" @@ -4320,7 +4028,7 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" dependencies = [ - "winapi 0.3.9", + "winapi", ] [[package]] @@ -4330,20 +4038,30 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] -name = "winreg" -version = "0.6.2" +name = "zstd" +version = "0.9.1+zstd.1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2986deb581c4fe11b621998a5e53361efe6b48a151178d0cd9eeffa4dc6acc9" +checksum = "538b8347df9257b7fbce37677ef7535c00a3c7bf1f81023cc328ed7fe4b41de8" dependencies = [ - "winapi 0.3.9", + "zstd-safe", ] [[package]] -name = "ws2_32-sys" -version = "0.2.1" +name = "zstd-safe" +version = "4.1.2+zstd.1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e" +checksum = "9fb4cfe2f6e6d35c5d27ecd9d256c4b6f7933c4895654917460ec56c29336cc1" dependencies = [ - "winapi 0.2.8", - "winapi-build", + "libc", + "zstd-sys", +] + +[[package]] +name = "zstd-sys" +version = "1.6.2+zstd.1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2daf2f248d9ea44454bfcb2516534e8b8ad2fc91bf818a1885495fc42bc8ac9f" +dependencies = [ + "cc", + "libc", ] diff --git a/server/Cargo.toml b/server/Cargo.toml index 41c8ba208..96a353e18 100644 --- a/server/Cargo.toml +++ b/server/Cargo.toml @@ -12,12 +12,13 @@ name = "atomic-server" path = "src/bin.rs" [dependencies] -actix = "0.10.0" -actix-cors = "0.5.4" -actix-files = "0.5.0" -actix-multipart = "0.3.0" -actix-web-actors = "3.0.0" +actix = "0.12.0" +actix-cors = "0.6.0-beta.4" +actix-files = "0.6.0-beta.9" +actix-multipart = "0.4.0-beta.11" +actix-web-actors = "4.0.0-beta.7" async-std = "1.10.0" +awc = "3.0.0-beta.17" chrono = "0.4.19" dirs = "3.0.1" dotenv = "0.15.0" @@ -26,12 +27,13 @@ promptly = "0.3.0" regex = "1.4.2" rio_api = "0.6.1" rio_turtle = "0.6.1" +rustls-pemfile = "*" sanitize-filename = "0.3.0" serde_json = "1.0.60" sysinfo = "0.20.5" tantivy = "0.16.1" tracing = "0.1.29" -tracing-actix-web = "0.2.1" +tracing-actix-web = "0.5.0-beta.8" tracing-chrome = "0.4.0" tracing-log = "0.1.2" urlencoding = "2.1.0" @@ -42,7 +44,7 @@ version = "0.8.1" [dependencies.actix-web] features = ["rustls"] -version = "3.3.3" +version = "4.0.0-beta.18" [dependencies.atomic_lib] features = ["config", "db", "rdf"] @@ -59,7 +61,7 @@ version = "2.0.1" [dependencies.rustls] optional = true -version = "0.18.1" +version = "0.20.2" [dependencies.serde] features = ["derive"] @@ -67,18 +69,18 @@ version = "1.0.118" [dependencies.tokio] features = ["time"] -version = "1.4.0" - -[dependencies.tray-item] -optional = true -version = "0.6.0" +version = "1.14.0" [dependencies.tracing-subscriber] features = ["env-filter"] version = "0.3.4" +[dependencies.tray-item] +optional = true +version = "0.6.0" + [dev-dependencies] -actix-rt = "1.1.1" +actix-rt = "2.4.0" [features] default = ["https"] diff --git a/server/src/bin.rs b/server/src/bin.rs index 1c4b2c176..2de59355d 100644 --- a/server/src/bin.rs +++ b/server/src/bin.rs @@ -1,5 +1,4 @@ use atomic_lib::Storelike; -use errors::AtomicServerResult; use std::{fs::File, io::Write}; mod actor_messages; @@ -25,7 +24,7 @@ mod tests; mod tray_icon; #[actix_web::main] -async fn main() -> AtomicServerResult<()> { +async fn main() -> errors::AtomicServerResult<()> { // Parse CLI commands, env vars let config = config::init().map_err(|e| format!("Initialization failed: {}", e))?; @@ -80,6 +79,6 @@ async fn main() -> AtomicServerResult<()> { println!("Sucesfully created {}", pathstr); Ok(()) } - None => serve::serve(&config).await, + None => serve::serve(config).await, } } diff --git a/server/src/content_types.rs b/server/src/content_types.rs index 09b03edb6..3ccd5b233 100644 --- a/server/src/content_types.rs +++ b/server/src/content_types.rs @@ -1,8 +1,8 @@ //! Content-type / Accept header negotiation, MIME types -use actix_web::http::HeaderMap; +use actix_web::http::header::HeaderMap; -#[derive(PartialEq)] +#[derive(Debug, PartialEq)] pub enum ContentType { /// Plain JSON, using shortnames as keys instead of URLs /// https://docs.atomicdata.dev/interoperability/json.html#atomic-data-as-plain-json diff --git a/server/src/handlers/download.rs b/server/src/handlers/download.rs index e4426f726..61d07b4ce 100644 --- a/server/src/handlers/download.rs +++ b/server/src/handlers/download.rs @@ -43,5 +43,5 @@ pub fn download_file_handler_partial( let mut file_path = appstate.config.uploads_path.clone(); file_path.push(file_name.to_string()); let file = NamedFile::open(file_path)?; - Ok(file.into_response(req)?) + Ok(file.into_response(req)) } diff --git a/server/src/handlers/resource.rs b/server/src/handlers/resource.rs index f1cd8f8b5..6b8b06723 100644 --- a/server/src/handlers/resource.rs +++ b/server/src/handlers/resource.rs @@ -27,21 +27,26 @@ pub async fn handle_get_resource( // Get the subject from the path, or return the home URL let subject = if let Some(subj_end) = path { let mut subj_end_string = subj_end.as_str(); - if content_type == ContentType::Html { - if let Some((ext, path)) = try_extension(subj_end_string) { - content_type = ext; - subj_end_string = path; + // If the request is for the root, return the home URL + if subj_end_string.is_empty() { + base_url.to_string() + } else { + if content_type == ContentType::Html { + if let Some((ext, path)) = try_extension(subj_end_string) { + content_type = ext; + subj_end_string = path; + } } + // Check extensions and set datatype. Harder than it looks to get right... + // This might not be the best way of creating the subject. But I can't access the full URL from any actix stuff! + let querystring = if req.query_string().is_empty() { + "".to_string() + } else { + format!("?{}", req.query_string()) + }; + let subject = format!("{}/{}{}", base_url, subj_end_string, querystring); + subject } - // Check extensions and set datatype. Harder than it looks to get right... - // This might not be the best way of creating the subject. But I can't access the full URL from any actix stuff! - let querystring = if req.query_string().is_empty() { - "".to_string() - } else { - format!("?{}", req.query_string()) - }; - let subject = format!("{}/{}{}", base_url, subj_end_string, querystring); - subject } else { // There is no end string, so It's the root of the URL, the base URL! String::from(base_url) @@ -56,13 +61,13 @@ pub async fn handle_get_resource( let mut builder = HttpResponse::Ok(); tracing::info!("get_resource: {} as {}", subject, content_type.to_mime()); - builder.header("Content-Type", content_type.to_mime()); + builder.append_header(("Content-Type", content_type.to_mime())); // This prevents the browser from displaying the JSON response upon re-opening a closed tab // https://github.com/joepio/atomic-data-rust/issues/137 - builder.header( + builder.append_header(( "Cache-Control", "no-store, no-cache, must-revalidate, private", - ); + )); let resource = store.get_resource_extended(&subject, false, for_agent.as_deref())?; timer.add("get_resource"); @@ -78,6 +83,6 @@ pub async fn handle_get_resource( } }; timer.add("serialize"); - builder.header("Server-Timing", timer.to_header()); + builder.append_header(("Server-Timing", timer.to_header())); Ok(builder.body(response_body)) } diff --git a/server/src/handlers/single_page_app.rs b/server/src/handlers/single_page_app.rs index 93716ca89..9fd82b446 100644 --- a/server/src/handlers/single_page_app.rs +++ b/server/src/handlers/single_page_app.rs @@ -20,10 +20,10 @@ pub async fn single_page( .content_type("text/html") // This prevents the browser from displaying the JSON response upon re-opening a closed tab // https://github.com/joepio/atomic-data-rust/issues/137 - .header( + .insert_header(( "Cache-Control", "no-store, no-cache, must-revalidate, private", - ) + )) .body(body); Ok(resp) diff --git a/server/src/handlers/tpf.rs b/server/src/handlers/tpf.rs index 30acbd5d1..cdeb7b6eb 100644 --- a/server/src/handlers/tpf.rs +++ b/server/src/handlers/tpf.rs @@ -39,7 +39,7 @@ pub async fn tpf( true, )?; tracing::info!("TPF query: {:?}", query); - builder.header("Content-Type", content_type.to_mime()); + builder.insert_header(("Content-Type", content_type.to_mime())); match content_type { ContentType::JsonAd => { let mut resources = vec![]; diff --git a/server/src/handlers/upload.rs b/server/src/handlers/upload.rs index aebfe2edb..f6ccab46f 100644 --- a/server/src/handlers/upload.rs +++ b/server/src/handlers/upload.rs @@ -53,9 +53,7 @@ pub async fn upload_handler( let mut commit_responses: Vec = Vec::new(); while let Ok(Some(mut field)) = body.try_next().await { - let content_type = field - .content_disposition() - .ok_or("actix_web::error::ParseError::Incomplete")?; + let content_type = field.content_disposition().clone(); let filename = content_type.get_filename().ok_or("Filename is missing")?; let filesdir = format!("{}/uploads", appstate.config.config_dir.to_str().unwrap()); diff --git a/server/src/handlers/web_sockets.rs b/server/src/handlers/web_sockets.rs index df00e8db1..63c28cf6a 100644 --- a/server/src/handlers/web_sockets.rs +++ b/server/src/handlers/web_sockets.rs @@ -1,6 +1,6 @@ use actix::{Actor, ActorContext, Addr, AsyncContext, Handler, StreamHandler}; use actix_web::{web, HttpRequest, HttpResponse}; -use actix_web_actors::ws::{self}; +use actix_web_actors::ws; use std::{ sync::Mutex, time::{Duration, Instant}, @@ -73,7 +73,8 @@ impl StreamHandler> for WebSocketConnecti self.hb = Instant::now(); } // TODO: Check if it's a subscribe / unsubscribe / commit message - Ok(ws::Message::Text(text)) => { + Ok(ws::Message::Text(bytes)) => { + let text = bytes.to_string(); // tracing::info!("Incoming websocket text message: {:?}", text); match text.as_str() { s if s.starts_with("SUBSCRIBE ") => { @@ -110,7 +111,7 @@ impl StreamHandler> for WebSocketConnecti } }; } - Ok(ws::Message::Binary(bin)) => ctx.binary(bin), + Ok(ws::Message::Binary(_bin)) => ctx.text("ERROR: Binary not supported"), Ok(ws::Message::Close(reason)) => { ctx.close(reason); ctx.stop(); diff --git a/server/src/helpers.rs b/server/src/helpers.rs index d6f2a3c97..9c6fe4a2b 100644 --- a/server/src/helpers.rs +++ b/server/src/helpers.rs @@ -1,6 +1,6 @@ //! Functions useful in the server -use actix_web::http::HeaderMap; +use actix_web::http::header::HeaderMap; use atomic_lib::authentication::AuthValues; use crate::{appstate::AppState, content_types::ContentType, errors::AtomicServerResult}; diff --git a/server/src/https.rs b/server/src/https.rs index 67a7e840b..e519971e6 100644 --- a/server/src/https.rs +++ b/server/src/https.rs @@ -32,7 +32,7 @@ pub async fn cert_init_server(config: &crate::config::Config) -> Result<(), Erro .run(); crate::https::request_cert(config).map_err(|e| format!("Certification init failed: {}", e))?; tracing::warn!("HTTPS TLS Cert init sucesful! Stopping HTTP server, starting HTTPS..."); - running_server.stop(true).await; + running_server.handle().stop(true).await; Ok(()) } @@ -156,20 +156,29 @@ pub fn request_cert(config: &crate::config::Config) -> Result<(), Error> { // RUSTLS pub fn get_https_config(config: &crate::config::Config) -> Result { - use rustls::internal::pemfile::{certs, pkcs8_private_keys}; - let mut https_config = rustls::ServerConfig::new(rustls::NoClientAuth::new()); + use rustls_pemfile::{certs, pkcs8_private_keys}; + let https_config = rustls::ServerConfig::builder() + .with_safe_defaults() + .with_no_client_auth(); + // rustls::NoClientAuth::new() let cert_file = &mut BufReader::new(File::open(config.cert_path.clone()).expect("No HTTPS TLS key found.")); let key_file = &mut BufReader::new(File::open(&config.key_path).unwrap()); - let cert_chain = certs(cert_file).unwrap(); + let mut cert_chain = Vec::new(); + + for bytes in certs(cert_file).unwrap() { + let certificate = rustls::Certificate(bytes); + cert_chain.push(certificate); + } + // let first_cert = cert_chain.first().unwrap().to_owned(); let mut keys = pkcs8_private_keys(key_file).unwrap(); if keys.is_empty() { panic!("No key found. Consider deleting the `.https` directory and restart to create new keys.") } - https_config - .set_single_cert(cert_chain, keys.remove(0)) + let a = https_config + .with_single_cert(cert_chain, rustls::PrivateKey(keys.remove(0))) .unwrap(); - Ok(https_config) + Ok(a) } /// Adds a file to the .https folder to indicate age of certificates diff --git a/server/src/routes.rs b/server/src/routes.rs index f8b9f2049..5ca4a9fa6 100644 --- a/server/src/routes.rs +++ b/server/src/routes.rs @@ -5,6 +5,9 @@ use actix_web::{http::Method, web}; use crate::{config::Config, content_types, handlers}; +/// Should match all routes +const ANY: &str = "{tail:.*}"; + /// Set up the Actix server routes. This defines which paths are used. // Keep in mind that the order of these matters. An early, greedy route will take // precedence over a later route. @@ -13,10 +16,11 @@ pub fn config_routes(app: &mut actix_web::web::ServiceConfig, config: &Config) { .service(web::resource("/download/{path:[^{}]+}").to(handlers::download::handle_download)) // Catch all (non-download) HTML requests and send them to the single page app .service( - web::resource("/*") + web::resource(ANY) .guard(actix_web::guard::Method(Method::GET)) - .guard(actix_web::guard::fn_guard(|head| { - content_types::get_accept(head.headers()) == content_types::ContentType::Html + .guard(actix_web::guard::fn_guard(|guard_ctx| { + content_types::get_accept(guard_ctx.head().headers()) + == content_types::ContentType::Html })) .to(handlers::single_page_app::single_page), ) @@ -43,7 +47,7 @@ pub fn config_routes(app: &mut actix_web::web::ServiceConfig, config: &Config) { .to(handlers::search::search_index_rdf), ); } - app.service(web::resource("/{path:[^{}]+}").to(handlers::resource::handle_get_resource)) + app.service(web::resource(ANY).to(handlers::resource::handle_get_resource)) // Also allow the home resource (not matched by the previous one) .service(web::resource("/").to(handlers::resource::handle_get_resource)); } diff --git a/server/src/serve.rs b/server/src/serve.rs index 57a83538c..0a0528d73 100644 --- a/server/src/serve.rs +++ b/server/src/serve.rs @@ -6,7 +6,7 @@ use std::sync::Mutex; use crate::errors::AtomicServerResult; /// Start the server -pub async fn serve(config: &crate::config::Config) -> AtomicServerResult<()> { +pub async fn serve(config: crate::config::Config) -> AtomicServerResult<()> { // Start logging // Enable logging, but hide most tantivy logs std::env::set_var( @@ -78,7 +78,7 @@ pub async fn serve(config: &crate::config::Config) -> AtomicServerResult<()> { actix_web::App::new() .app_data(data) .wrap(cors) - .wrap(tracing_actix_web::TracingLogger) + .wrap(tracing_actix_web::TracingLogger::default()) .wrap(middleware::Compress::default()) .configure(|app| crate::routes::config_routes(app, &appstate.config)) .default_service(web::to(|| { @@ -102,9 +102,9 @@ pub async fn serve(config: &crate::config::Config) -> AtomicServerResult<()> { if std::fs::File::open(&config.cert_path).is_err() || crate::https::check_expiration_certs() { - crate::https::cert_init_server(config).await?; + crate::https::cert_init_server(&config).await?; } - let https_config = crate::https::get_https_config(config) + let https_config = crate::https::get_https_config(&config) .expect("HTTPS TLS Configuration with Let's Encrypt failed."); let endpoint = format!("{}:{}", config.opts.ip, config.opts.port_https); println!("{}", message); @@ -126,7 +126,7 @@ pub async fn serve(config: &crate::config::Config) -> AtomicServerResult<()> { .run() .await?; } - crate::process::remove_pid(config)?; + crate::process::remove_pid(&config)?; guard.flush(); Ok(()) } diff --git a/server/src/tests.rs b/server/src/tests.rs index 859ad417e..a1ed86209 100644 --- a/server/src/tests.rs +++ b/server/src/tests.rs @@ -6,32 +6,14 @@ use crate::appstate::AppState; use super::*; use actix_web::{ - dev::{Body, ResponseBody}, + body::MessageBody, + dev::ServiceResponse, test::{self, TestRequest}, web::Data, App, }; use atomic_lib::{urls, Storelike}; -trait BodyTest { - fn as_str(&self) -> &str; -} - -impl BodyTest for ResponseBody { - fn as_str(&self) -> &str { - match self { - ResponseBody::Body(ref b) => match b { - Body::Bytes(ref by) => std::str::from_utf8(by).unwrap(), - _ => panic!(), - }, - ResponseBody::Other(ref b) => match b { - Body::Bytes(ref by) => std::str::from_utf8(by).unwrap(), - _ => panic!(), - }, - } - } -} - /// Returns the request with signed headers. Also adds a json-ad accept header - overwrite this if you need something else. fn build_request_authenticated(path: &str, appstate: &AppState) -> TestRequest { let url = format!("{}{}", appstate.store.get_base_url(), path); @@ -43,9 +25,9 @@ fn build_request_authenticated(path: &str, appstate: &AppState) -> TestRequest { let mut prereq = test::TestRequest::with_uri(path); for (k, v) in headers { - prereq = prereq.header(k, v.clone()); + prereq = prereq.insert_header((k, v)); } - prereq.header("Accept", "application/ad+json") + prereq.insert_header(("Accept", "application/ad+json")) } #[actix_rt::test] @@ -58,7 +40,7 @@ async fn server_tests() { .expect("failed init config"); let appstate = crate::appstate::init(config.clone()).expect("failed init appstate"); let data = Data::new(std::sync::Mutex::new(appstate.clone())); - let mut app = test::init_service( + let app = test::init_service( App::new() .app_data(data) .configure(|app| crate::routes::config_routes(app, &appstate.config)), @@ -72,22 +54,24 @@ async fn server_tests() { // .expect("could not fetch drive"); // Get HTML page - let req = build_request_authenticated("/", &appstate).header("Accept", "application/html"); - let mut resp = test::call_service(&mut app, req.to_request()).await; + let req = + build_request_authenticated("/", &appstate).insert_header(("Accept", "application/html")); + let resp = test::call_service(&app, req.to_request()).await; assert!(resp.status().is_success()); - let body = resp.take_body(); - assert!(body.as_str().contains("html"), "no html in response"); + let body = get_body(resp); + assert!(body.as_str().contains("html")); // Should 200 (public) - let req = test::TestRequest::with_uri("/properties").header("Accept", "application/ad+json"); - let resp = test::call_service(&mut app, req.to_request()).await; + let req = + test::TestRequest::with_uri("/properties").insert_header(("Accept", "application/ad+json")); + let resp = test::call_service(&app, req.to_request()).await; assert_eq!(resp.status().as_u16(), 200, "resource should be public"); // Should 404 let req = test::TestRequest::with_uri("/doesnotexist") - .header("Accept", "application/ld+json") + .append_header(("Accept", "application/ld+json")) .to_request(); - let resp = test::call_service(&mut app, req).await; + let resp = test::call_service(&app, req).await; assert!(resp.status().is_client_error()); // Edit the properties collection, make it hidden to the public agent @@ -102,8 +86,9 @@ async fn server_tests() { drive.save(store).unwrap(); // Should 401 (Unauthorized) - let req = test::TestRequest::with_uri("/properties").header("Accept", "application/ad+json"); - let resp = test::call_service(&mut app, req.to_request()).await; + let req = + test::TestRequest::with_uri("/properties").insert_header(("Accept", "application/ad+json")); + let resp = test::call_service(&app, req.to_request()).await; assert_eq!( resp.status().as_u16(), 401, @@ -112,9 +97,9 @@ async fn server_tests() { // Get JSON-AD let req = build_request_authenticated("/properties", &appstate); - let mut resp = test::call_service(&mut app, req.to_request()).await; + let resp = test::call_service(&app, req.to_request()).await; assert!(resp.status().is_success(), "setup not returning JSON-AD"); - let body = resp.take_body(); + let body = get_body(resp); assert!( body.as_str().contains("{\n \"@id\""), "response should be json-ad" @@ -122,20 +107,21 @@ async fn server_tests() { // Get JSON-LD let req = build_request_authenticated("/properties", &appstate) - .header("Accept", "application/ld+json"); - let mut resp = test::call_service(&mut app, req.to_request()).await; + .insert_header(("Accept", "application/ld+json")); + let resp = test::call_service(&app, req.to_request()).await; assert!(resp.status().is_success(), "setup not returning JSON-LD"); - let body = resp.take_body(); + let body = get_body(resp); assert!( body.as_str().contains("@context"), "response should be json-ld" ); // Get turtle - let req = build_request_authenticated("/properties", &appstate).header("Accept", "text/turtle"); - let mut resp = test::call_service(&mut app, req.to_request()).await; + let req = build_request_authenticated("/properties", &appstate) + .insert_header(("Accept", "text/turtle")); + let resp = test::call_service(&app, req.to_request()).await; assert!(resp.status().is_success()); - let body = resp.take_body(); + let body = get_body(resp); assert!( body.as_str().starts_with(" String { + let boxbody = resp.into_body(); + let bytes = boxbody.try_into_bytes().unwrap(); + String::from_utf8(bytes.as_ref().into()).unwrap() +} diff --git a/src-tauri/Cargo.lock b/src-tauri/Cargo.lock index 2a617f1a0..5b4eb9b98 100644 --- a/src-tauri/Cargo.lock +++ b/src-tauri/Cargo.lock @@ -4,166 +4,158 @@ version = 3 [[package]] name = "actix" -version = "0.10.0" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1be241f88f3b1e7e9a3fbe3b5a8a0f6915b5a1d7ee0d9a248d3376d01068cc60" +checksum = "3720d0064a0ce5c0de7bd93bdb0a6caebab2a9b5668746145d7b3b0c5da02914" dependencies = [ "actix-rt", "actix_derive", "bitflags", - "bytes 0.5.6", - "crossbeam-channel 0.4.4", - "derive_more", - "futures-channel", + "bytes", + "crossbeam-channel", + "futures-core", + "futures-sink", + "futures-task", "futures-util", "log", "once_cell", "parking_lot", - "pin-project 0.4.28", + "pin-project-lite", "smallvec", - "tokio 0.2.25", + "tokio", "tokio-util", - "trust-dns-proto", - "trust-dns-resolver", ] [[package]] name = "actix-codec" -version = "0.3.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78d1833b3838dbe990df0f1f87baf640cf6146e898166afe401839d1b001e570" +checksum = "13895df506faee81e423febbae3a33b27fca71831b96bb3d60adf16ebcfea952" dependencies = [ "bitflags", - "bytes 0.5.6", + "bytes", "futures-core", "futures-sink", "log", - "pin-project 0.4.28", - "tokio 0.2.25", + "memchr", + "pin-project-lite", + "tokio", "tokio-util", ] [[package]] -name = "actix-connect" -version = "2.0.0" +name = "actix-cors" +version = "0.6.0-beta.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "177837a10863f15ba8d3ae3ec12fac1099099529ed20083a27fdfe247381d0dc" +checksum = "d4f1bd0e31c745df129f0e94efd374d21f2a455bcc386c15d78ed9a9e7d4dd50" dependencies = [ - "actix-codec", - "actix-rt", "actix-service", "actix-utils", - "derive_more", - "either", - "futures-util", - "http", - "log", - "rustls 0.18.1", - "tokio-rustls", - "trust-dns-proto", - "trust-dns-resolver", - "webpki", -] - -[[package]] -name = "actix-cors" -version = "0.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36b133d8026a9f209a9aeeeacd028e7451bcca975f592881b305d37983f303d7" -dependencies = [ "actix-web", "derive_more", "futures-util", "log", "once_cell", - "tinyvec", + "smallvec", ] [[package]] name = "actix-files" -version = "0.5.0" +version = "0.6.0-beta.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c51e8a9146c12fce92a6e4c24b8c4d9b05268130bfd8d61bc587e822c32ce689" +checksum = "0f6111a58030526aedce52fb19dbfcd7890beb2f2a8cb680dfdb797efb868437" dependencies = [ + "actix-http", "actix-service", + "actix-utils", "actix-web", + "askama_escape", "bitflags", - "bytes 0.5.6", + "bytes", "derive_more", "futures-core", - "futures-util", + "http-range", "log", "mime", "mime_guess", "percent-encoding", - "v_htmlescape", + "pin-project-lite", ] [[package]] name = "actix-http" -version = "2.2.1" +version = "3.0.0-beta.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cb8958da437716f3f31b0e76f8daf36554128517d7df37ceba7df00f09622ee" +checksum = "dac76407e2be239b5e544c9d83bdac4a0d68ae188031ac0424aa3e4868a669be" dependencies = [ "actix-codec", - "actix-connect", "actix-rt", "actix-service", - "actix-threadpool", "actix-tls", "actix-utils", - "base64 0.13.0", + "ahash", + "base64", "bitflags", "brotli2", - "bytes 0.5.6", - "cookie", - "copyless", + "bytes", + "bytestring", "derive_more", - "either", "encoding_rs", "flate2", - "futures-channel", "futures-core", - "futures-util", - "fxhash", "h2", "http", "httparse", - "indexmap", - "itoa", + "httpdate", + "itoa 1.0.1", "language-tags", - "lazy_static", + "local-channel", "log", "mime", "percent-encoding", - "pin-project 1.0.8", - "rand 0.7.3", - "regex", - "serde", - "serde_json", - "serde_urlencoded 0.7.0", + "pin-project-lite", + "rand 0.8.4", "sha-1", - "slab", - "time 0.2.27", + "smallvec", + "zstd", ] [[package]] name = "actix-macros" -version = "0.1.3" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4ca8ce00b267af8ccebbd647de0d61e0674b6e61185cc7a592ff88772bed655" +checksum = "465a6172cf69b960917811022d8f29bc0b7fa1398bc4f78b3c466673db1213b6" dependencies = [ "quote", "syn", ] +[[package]] +name = "actix-multipart" +version = "0.4.0-beta.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "473ef32141eec0050af83ce8945b5e62b1609a68ce19f753a8dac1ccce8d2dd3" +dependencies = [ + "actix-utils", + "actix-web", + "bytes", + "derive_more", + "futures-core", + "httparse", + "local-waker", + "log", + "mime", + "twoway", +] + [[package]] name = "actix-router" -version = "0.2.7" +version = "0.5.0-beta.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ad299af73649e1fc893e333ccf86f377751eb95ff875d095131574c6f43452c" +checksum = "ddd9f117b910fbcce6e9f45092ffd4ff017785a346d09e2d4fd049f4e20384f4" dependencies = [ "bytestring", + "firestorm", "http", "log", "regex", @@ -172,119 +164,78 @@ dependencies = [ [[package]] name = "actix-rt" -version = "1.1.1" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "143fcc2912e0d1de2bcf4e2f720d2a60c28652ab4179685a1ee159e0fb3db227" +checksum = "05c2f80ce8d0c990941c7a7a931f69fd0701b76d521f8d36298edf59cd3fbf1f" dependencies = [ "actix-macros", - "actix-threadpool", - "copyless", - "futures-channel", - "futures-util", - "smallvec", - "tokio 0.2.25", + "futures-core", + "tokio", ] [[package]] name = "actix-server" -version = "1.0.4" +version = "2.0.0-rc.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45407e6e672ca24784baa667c5d32ef109ccdd8d5e0b5ebb9ef8a67f4dfb708e" +checksum = "29b7894a5b47aa84e15fbe8d89ee953568296a3739c5f6e6b5858802a561390c" dependencies = [ - "actix-codec", "actix-rt", "actix-service", "actix-utils", - "futures-channel", + "futures-core", "futures-util", "log", - "mio", - "mio-uds", + "mio 0.8.0", "num_cpus", - "slab", - "socket2 0.3.19", + "socket2", + "tokio", ] [[package]] name = "actix-service" -version = "1.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0052435d581b5be835d11f4eb3bce417c8af18d87ddf8ace99f8e67e595882bb" -dependencies = [ - "futures-util", - "pin-project 0.4.28", -] - -[[package]] -name = "actix-testing" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47239ca38799ab74ee6a8a94d1ce857014b2ac36f242f70f3f75a66f691e791c" -dependencies = [ - "actix-macros", - "actix-rt", - "actix-server", - "actix-service", - "log", - "socket2 0.3.19", -] - -[[package]] -name = "actix-threadpool" -version = "0.3.3" +version = "2.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d209f04d002854b9afd3743032a27b066158817965bf5d036824d19ac2cc0e30" +checksum = "3b894941f818cfdc7ccc4b9e60fa7e53b5042a2e8567270f9147d5591893373a" dependencies = [ - "derive_more", - "futures-channel", - "lazy_static", - "log", - "num_cpus", - "parking_lot", - "threadpool", + "futures-core", + "paste", + "pin-project-lite", ] [[package]] name = "actix-tls" -version = "2.0.0" +version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24789b7d7361cf5503a504ebe1c10806896f61e96eca9a7350e23001aca715fb" +checksum = "b5ef5760747cdfb108a1f35e6911a7a40939da893f95e035f9eee0c18b4b4025" dependencies = [ "actix-codec", + "actix-rt", "actix-service", "actix-utils", - "futures-util", - "rustls 0.18.1", + "derive_more", + "futures-core", + "log", + "pin-project-lite", "tokio-rustls", - "webpki", - "webpki-roots 0.20.0", + "tokio-util", + "webpki-roots 0.22.1", ] [[package]] name = "actix-utils" -version = "2.0.0" +version = "3.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e9022dec56632d1d7979e59af14f0597a28a830a9c1c7fec8b2327eb9f16b5a" +checksum = "e491cbaac2e7fc788dfff99ff48ef317e23b3cf63dbaf7aaab6418f40f92aa94" dependencies = [ - "actix-codec", - "actix-rt", - "actix-service", - "bitflags", - "bytes 0.5.6", - "either", - "futures-channel", - "futures-sink", - "futures-util", - "log", - "pin-project 0.4.28", - "slab", + "local-waker", + "pin-project-lite", ] [[package]] name = "actix-web" -version = "3.3.2" +version = "4.0.0-beta.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e641d4a172e7faa0862241a20ff4f1f5ab0ab7c279f00c2d4587b77483477b86" +checksum = "a542a92e385844d988b34f1af289dbb0ca927c23740076a56fdf770b1af69fbc" dependencies = [ "actix-codec", "actix-http", @@ -293,55 +244,57 @@ dependencies = [ "actix-rt", "actix-server", "actix-service", - "actix-testing", - "actix-threadpool", "actix-tls", "actix-utils", "actix-web-codegen", - "awc", - "bytes 0.5.6", + "ahash", + "bytes", + "cfg-if 1.0.0", + "cookie 0.16.0", "derive_more", "encoding_rs", - "futures-channel", "futures-core", "futures-util", - "fxhash", + "itoa 1.0.1", + "language-tags", "log", "mime", - "pin-project 1.0.8", + "once_cell", + "pin-project-lite", "regex", - "rustls 0.18.1", "serde", "serde_json", "serde_urlencoded 0.7.0", - "socket2 0.3.19", - "time 0.2.27", - "tinyvec", + "smallvec", + "socket2", + "time 0.3.5", "url", ] [[package]] name = "actix-web-actors" -version = "3.0.0" +version = "4.0.0-beta.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f6edf3c2693e2a8c422800c87ee89a6a4eac7dd01109bc172a1093ce1f4f001" +checksum = "c90a44d42110d0ca9950b02c58382e5092769b654e62d72ec9fb9129bbf2456c" dependencies = [ "actix", "actix-codec", "actix-http", "actix-web", - "bytes 0.5.6", - "futures-channel", + "bytes", + "bytestring", "futures-core", - "pin-project 0.4.28", + "pin-project-lite", + "tokio", ] [[package]] name = "actix-web-codegen" -version = "0.4.0" +version = "0.5.0-beta.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad26f77093333e0e7c6ffe54ebe3582d908a104e448723eec6d43d08b07143fb" +checksum = "30a90b7f6c2fde9a1fe3df4da758c2c3c9d620dfa3eae4da0b6925dc0a13444a" dependencies = [ + "actix-router", "proc-macro2", "quote", "syn", @@ -349,9 +302,9 @@ dependencies = [ [[package]] name = "actix_derive" -version = "0.5.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b95aceadaf327f18f0df5962fedc1bde2f870566a0b9f65c89508a3b1f79334c" +checksum = "6d44b8fee1ced9671ba043476deddef739dd0959bf77030b26b738cc591737a7" dependencies = [ "proc-macro2", "quote", @@ -378,7 +331,7 @@ checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47" dependencies = [ "getrandom 0.2.3", "once_cell", - "version_check 0.9.3", + "version_check", ] [[package]] @@ -396,7 +349,7 @@ version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2" dependencies = [ - "winapi 0.3.9", + "winapi", ] [[package]] @@ -423,6 +376,53 @@ version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6" +[[package]] +name = "askama_escape" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a1bb320f97e6edf9f756bf015900038e43c7700e059688e5724a928c8f3b8d5" + +[[package]] +name = "async-channel" +version = "1.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2114d64672151c0c5eaa5e131ec84a74f06e1e559830dabba01ca30605d66319" +dependencies = [ + "concurrent-queue", + "event-listener", + "futures-core", +] + +[[package]] +name = "async-executor" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "871f9bb5e0a22eeb7e8cf16641feb87c9dc67032ccf8ff49e772eb9941d3a965" +dependencies = [ + "async-task", + "concurrent-queue", + "fastrand", + "futures-lite", + "once_cell", + "slab", +] + +[[package]] +name = "async-global-executor" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9586ec52317f36de58453159d48351bc244bc24ced3effc1fce22f3d48664af6" +dependencies = [ + "async-channel", + "async-executor", + "async-io", + "async-mutex", + "blocking", + "futures-lite", + "num_cpus", + "once_cell", +] + [[package]] name = "async-io" version = "1.6.0" @@ -437,22 +437,62 @@ dependencies = [ "parking", "polling", "slab", - "socket2 0.4.2", + "socket2", "waker-fn", - "winapi 0.3.9", + "winapi", ] [[package]] -name = "async-trait" -version = "0.1.52" +name = "async-lock" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "061a7acccaa286c011ddc30970520b98fa40e00c9d644633fb26b5fc63a265e3" +checksum = "e6a8ea61bf9947a1007c5cada31e647dbc77b103c679858150003ba697ea798b" dependencies = [ - "proc-macro2", - "quote", - "syn", + "event-listener", ] +[[package]] +name = "async-mutex" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "479db852db25d9dbf6204e6cb6253698f175c15726470f78af0d918e99d6156e" +dependencies = [ + "event-listener", +] + +[[package]] +name = "async-std" +version = "1.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8056f1455169ab86dd47b47391e4ab0cbd25410a70e9fe675544f49bafaf952" +dependencies = [ + "async-channel", + "async-global-executor", + "async-io", + "async-lock", + "crossbeam-utils", + "futures-channel", + "futures-core", + "futures-io", + "futures-lite", + "gloo-timers", + "kv-log-macro", + "log", + "memchr", + "num_cpus", + "once_cell", + "pin-project-lite", + "pin-utils", + "slab", + "wasm-bindgen-futures", +] + +[[package]] +name = "async-task" +version = "4.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e91831deabf0d6d7ec49552e489aed63b7456a7a3c46cff62adad428110b0af0" + [[package]] name = "atk" version = "0.14.0" @@ -479,35 +519,43 @@ dependencies = [ [[package]] name = "atomic-server" -version = "0.29.2" +version = "0.30.1" dependencies = [ "actix", "actix-cors", "actix-files", + "actix-multipart", "actix-web", "actix-web-actors", + "async-std", "atomic_lib", "chrono", "clap", "dirs 3.0.2", "dotenv", - "env_logger", "futures", - "log", "promptly", "regex", "rio_api", "rio_turtle", + "rustls-pemfile", + "sanitize-filename", "serde", "serde_json", "sysinfo", "tantivy", - "tokio 1.14.0", + "tokio", + "tracing", + "tracing-actix-web", + "tracing-chrome", + "tracing-log", + "tracing-subscriber", + "urlencoding", ] [[package]] name = "atomic-server-tauri" -version = "0.28.3" +version = "0.30.1" dependencies = [ "actix-rt", "atomic-server", @@ -517,11 +565,17 @@ dependencies = [ "tauri-build", ] +[[package]] +name = "atomic-waker" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "065374052e7df7ee4047b1160cca5e1467a12351a40b3da123c870ba0b8eda2a" + [[package]] name = "atomic_lib" -version = "0.29.2" +version = "0.30.1" dependencies = [ - "base64 0.13.0", + "base64", "bincode", "dirs 4.0.0", "rand 0.8.4", @@ -533,6 +587,7 @@ dependencies = [ "serde_json", "sled", "toml", + "tracing", "ureq", "url", "urlencoding", @@ -564,7 +619,7 @@ checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" dependencies = [ "hermit-abi", "libc", - "winapi 0.3.9", + "winapi", ] [[package]] @@ -573,43 +628,12 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a" -[[package]] -name = "awc" -version = "2.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b381e490e7b0cfc37ebc54079b0413d8093ef43d14a4e4747083f7fa47a9e691" -dependencies = [ - "actix-codec", - "actix-http", - "actix-rt", - "actix-service", - "base64 0.13.0", - "bytes 0.5.6", - "cfg-if 1.0.0", - "derive_more", - "futures-core", - "log", - "mime", - "percent-encoding", - "rand 0.7.3", - "rustls 0.18.1", - "serde", - "serde_json", - "serde_urlencoded 0.7.0", -] - [[package]] name = "base-x" version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a4521f3e3d031370679b3b140beb36dfe4801b09ac77e30c61941f97df3ef28b" -[[package]] -name = "base64" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3441f0f7b02788e948e47f457ca01f1d7e6d92c693bc132c22b087d3141c03ff" - [[package]] name = "base64" version = "0.13.0" @@ -662,7 +686,7 @@ dependencies = [ "cc", "cfg-if 1.0.0", "constant_time_eq", - "digest", + "digest 0.9.0", "rayon", ] @@ -674,13 +698,27 @@ checksum = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a" [[package]] name = "block-buffer" -version = "0.9.0" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4" +checksum = "f1d36a02058e76b040de25a4464ba1c80935655595b661505c8b39b664828b95" dependencies = [ "generic-array", ] +[[package]] +name = "blocking" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "046e47d4b2d391b1f6f8b407b1deb8dee56c1852ccd868becf2710f601b5f427" +dependencies = [ + "async-channel", + "async-task", + "atomic-waker", + "fastrand", + "futures-lite", + "once_cell", +] + [[package]] name = "brotli-sys" version = "0.3.2" @@ -710,15 +748,6 @@ dependencies = [ "memchr", ] -[[package]] -name = "buf-min" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa17aa1cf56bdd6bb30518767d00e58019d326f3f05d8c3e0730b549d332ea83" -dependencies = [ - "bytes 0.5.6", -] - [[package]] name = "bumpalo" version = "3.8.0" @@ -731,12 +760,6 @@ version = "1.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" -[[package]] -name = "bytes" -version = "0.5.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e4cec68f03f32e44924783795810fa50a7035d8c8ebe78580ad7e6c703fba38" - [[package]] name = "bytes" version = "1.1.0" @@ -749,7 +772,7 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "90706ba19e97b90786e19dc0d5e2abd80008d99d4c0c5d1ad0b5e72cec7c494d" dependencies = [ - "bytes 1.1.0", + "bytes", ] [[package]] @@ -865,7 +888,7 @@ dependencies = [ "num-integer", "num-traits", "time 0.1.44", - "winapi 0.3.9", + "winapi", ] [[package]] @@ -1010,7 +1033,18 @@ checksum = "03a5d7b21829bc7b4bf4754a978a241ae54ea55a40f92bb20216e54096f4b951" dependencies = [ "percent-encoding", "time 0.2.27", - "version_check 0.9.3", + "version_check", +] + +[[package]] +name = "cookie" +version = "0.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94d4706de1b0fa5b132270cddffa8585166037822e260a944fe161acd137ca05" +dependencies = [ + "percent-encoding", + "time 0.3.5", + "version_check", ] [[package]] @@ -1019,7 +1053,7 @@ version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3818dfca4b0cb5211a659bbcbb94225b7127407b2b135e650d717bfb78ab10d3" dependencies = [ - "cookie", + "cookie 0.14.4", "idna", "log", "publicsuffix", @@ -1029,12 +1063,6 @@ dependencies = [ "url", ] -[[package]] -name = "copyless" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2df960f5d869b2dd8532793fde43eb5427cceb126c929747a26823ab0eeb536" - [[package]] name = "core-foundation" version = "0.7.0" @@ -1142,21 +1170,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4ae5588f6b3c3cb05239e90bd110f257254aecd01e4635400391aeae07497845" dependencies = [ "cfg-if 1.0.0", - "crossbeam-channel 0.5.1", + "crossbeam-channel", "crossbeam-deque", "crossbeam-epoch", "crossbeam-queue", - "crossbeam-utils 0.8.5", -] - -[[package]] -name = "crossbeam-channel" -version = "0.4.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b153fe7cbef478c567df0f972e02e6d736db11affe43dfc9c56a9374d1adfb87" -dependencies = [ - "crossbeam-utils 0.7.2", - "maybe-uninit", + "crossbeam-utils", ] [[package]] @@ -1166,7 +1184,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "06ed27e177f16d65f0f0c22a213e17c696ace5dd64b14258b52f9417ccb52db4" dependencies = [ "cfg-if 1.0.0", - "crossbeam-utils 0.8.5", + "crossbeam-utils", ] [[package]] @@ -1177,7 +1195,7 @@ checksum = "6455c0ca19f0d2fbf751b908d5c55c1f5cbc65e03c4225427254b46890bdde1e" dependencies = [ "cfg-if 1.0.0", "crossbeam-epoch", - "crossbeam-utils 0.8.5", + "crossbeam-utils", ] [[package]] @@ -1187,7 +1205,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4ec02e091aa634e2c3ada4a392989e7c3116673ef0ac5b72232439094d73b7fd" dependencies = [ "cfg-if 1.0.0", - "crossbeam-utils 0.8.5", + "crossbeam-utils", "lazy_static", "memoffset", "scopeguard", @@ -1200,18 +1218,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9b10ddc024425c88c2ad148c1b0fd53f4c6d38db9697c9f1588381212fa657c9" dependencies = [ "cfg-if 1.0.0", - "crossbeam-utils 0.8.5", -] - -[[package]] -name = "crossbeam-utils" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3c7c73a2d1e9fc0886a08b93e98eb643461230d5f1925e4036204d5f2e261a8" -dependencies = [ - "autocfg", - "cfg-if 0.1.10", - "lazy_static", + "crossbeam-utils", ] [[package]] @@ -1230,6 +1237,15 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" +[[package]] +name = "crypto-common" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "683d6b536309245c849479fba3da410962a43ed8e51c26b729208ec0ac2798d0" +dependencies = [ + "generic-array", +] + [[package]] name = "cssparser" version = "0.27.2" @@ -1238,7 +1254,7 @@ checksum = "754b69d351cdc2d8ee09ae203db831e005560fc6030da058f86ad60c92a9cb0a" dependencies = [ "cssparser-macros", "dtoa-short", - "itoa", + "itoa 0.4.8", "matches", "phf 0.8.0", "proc-macro2", @@ -1257,6 +1273,16 @@ dependencies = [ "syn", ] +[[package]] +name = "ctor" +version = "0.1.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ccc0a48a9b826acdf4028595adc9db92caea352f7af011a3034acd172a52a0aa" +dependencies = [ + "quote", + "syn", +] + [[package]] name = "cty" version = "0.2.2" @@ -1351,6 +1377,17 @@ dependencies = [ "generic-array", ] +[[package]] +name = "digest" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b697d66081d42af4fba142d56918a3cb21dc8eb63372c6b85d14f44fb9c5979b" +dependencies = [ + "block-buffer", + "crypto-common", + "generic-array", +] + [[package]] name = "dirs" version = "1.0.5" @@ -1359,7 +1396,7 @@ checksum = "3fd78930633bd1c6e35c4b42b1df7b0cbc6bc191146e512bb3bedf243fcc3901" dependencies = [ "libc", "redox_users 0.3.5", - "winapi 0.3.9", + "winapi", ] [[package]] @@ -1408,7 +1445,7 @@ checksum = "03d86534ed367a67548dc68113a0f5db55432fdfbb6e6f9d77704397d95d5780" dependencies = [ "libc", "redox_users 0.4.0", - "winapi 0.3.9", + "winapi", ] [[package]] @@ -1419,7 +1456,7 @@ checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d" dependencies = [ "libc", "redox_users 0.4.0", - "winapi 0.3.9", + "winapi", ] [[package]] @@ -1482,18 +1519,6 @@ dependencies = [ "cfg-if 1.0.0", ] -[[package]] -name = "enum-as-inner" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c5f0096a91d210159eceb2ff5e1c4da18388a170e1e3ce948aac9c8fdbbf595" -dependencies = [ - "heck", - "proc-macro2", - "quote", - "syn", -] - [[package]] name = "enumflags2" version = "0.6.4" @@ -1516,17 +1541,10 @@ dependencies = [ ] [[package]] -name = "env_logger" -version = "0.9.0" +name = "event-listener" +version = "2.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b2cf0344971ee6c64c31be0d530793fba457d322dfec2810c453d0ef228f9c3" -dependencies = [ - "atty", - "humantime", - "log", - "regex", - "termcolor", -] +checksum = "f7531096570974c3a9dcf9e4b8e1cede1ec26cf5046219fb3b9d897503b9be59" [[package]] name = "fail" @@ -1583,9 +1601,15 @@ dependencies = [ "cfg-if 1.0.0", "libc", "redox_syscall 0.2.10", - "winapi 0.3.9", + "winapi", ] +[[package]] +name = "firestorm" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "31586bda1b136406162e381a3185a506cdfc1631708dd40cba2f6628d8634499" + [[package]] name = "flate2" version = "1.0.22" @@ -1636,25 +1660,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9564fc758e15025b46aa6643b1b77d047d1a56a1aea6e01002ac0c7026876213" dependencies = [ "libc", - "winapi 0.3.9", + "winapi", ] -[[package]] -name = "fuchsia-zircon" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82" -dependencies = [ - "bitflags", - "fuchsia-zircon-sys", -] - -[[package]] -name = "fuchsia-zircon-sys" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7" - [[package]] name = "futf" version = "0.1.4" @@ -1725,7 +1733,7 @@ dependencies = [ "futures-io", "memchr", "parking", - "pin-project-lite 0.2.7", + "pin-project-lite", "waker-fn", ] @@ -1765,7 +1773,7 @@ dependencies = [ "futures-sink", "futures-task", "memchr", - "pin-project-lite 0.2.7", + "pin-project-lite", "pin-utils", "slab", ] @@ -1847,7 +1855,7 @@ dependencies = [ "libc", "log", "rustversion", - "winapi 0.3.9", + "winapi", ] [[package]] @@ -1857,7 +1865,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "501466ecc8a30d1d3b7fc9229b122b2ce8ed6e9d9223f1138d4babb253e51817" dependencies = [ "typenum", - "version_check 0.9.3", + "version_check", ] [[package]] @@ -1909,7 +1917,7 @@ dependencies = [ "gobject-sys 0.10.0", "libc", "system-deps 1.3.2", - "winapi 0.3.9", + "winapi", ] [[package]] @@ -1922,7 +1930,7 @@ dependencies = [ "gobject-sys 0.14.0", "libc", "system-deps 3.2.0", - "winapi 0.3.9", + "winapi", ] [[package]] @@ -1992,6 +2000,19 @@ dependencies = [ "regex", ] +[[package]] +name = "gloo-timers" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f16c88aa13d2656ef20d1c042086b8767bbe2bdb62526894275a1b062161b2e" +dependencies = [ + "futures-channel", + "futures-core", + "js-sys", + "wasm-bindgen", + "web-sys", +] + [[package]] name = "gobject-sys" version = "0.10.0" @@ -2072,11 +2093,11 @@ dependencies = [ [[package]] name = "h2" -version = "0.2.7" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e4728fd124914ad25e99e3d15a9361a879f6620f63cb56bbb08f95abb97a535" +checksum = "8f072413d126e57991455e0a922b31e4c8ba7c2ffbebf6b78b4f8521397d65cd" dependencies = [ - "bytes 0.5.6", + "bytes", "fnv", "futures-core", "futures-sink", @@ -2084,10 +2105,9 @@ dependencies = [ "http", "indexmap", "slab", - "tokio 0.2.25", + "tokio", "tokio-util", "tracing", - "tracing-futures", ] [[package]] @@ -2117,17 +2137,6 @@ dependencies = [ "libc", ] -[[package]] -name = "hostname" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c731c3e10504cc8ed35cfe2f1db4c9274c3d35fa486e3b31df46f068ef3e867" -dependencies = [ - "libc", - "match_cfg", - "winapi 0.3.9", -] - [[package]] name = "html5ever" version = "0.25.1" @@ -2154,9 +2163,9 @@ version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1323096b05d41827dadeaee54c9981958c0f94e670bc94ed80037d1a7b8b186b" dependencies = [ - "bytes 1.1.0", + "bytes", "fnv", - "itoa", + "itoa 0.4.8", ] [[package]] @@ -2172,10 +2181,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "acd94fdbe1d4ff688b67b04eee2e17bd50995534a61539e45adfefb45e5e5503" [[package]] -name = "humantime" -version = "2.1.0" +name = "httpdate" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" +checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421" [[package]] name = "ico" @@ -2210,7 +2219,7 @@ version = "0.4.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "713f1b139373f96a2e0ce3ac931cd01ee973c3c5dd7c40c0c2efe96ad2b6751d" dependencies = [ - "crossbeam-utils 0.8.5", + "crossbeam-utils", "globset", "lazy_static", "log", @@ -2259,27 +2268,6 @@ dependencies = [ "cfg-if 1.0.0", ] -[[package]] -name = "iovec" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2b3ea6ff95e175473f8ffe6a7eb7c00d054240321b84c57051175fe3c1e075e" -dependencies = [ - "libc", -] - -[[package]] -name = "ipconfig" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7e2f18aece9709094573a9f24f483c4f65caa4298e2f7ae1b71cc65d853fad7" -dependencies = [ - "socket2 0.3.19", - "widestring 0.4.3", - "winapi 0.3.9", - "winreg", -] - [[package]] name = "itertools" version = "0.10.3" @@ -2295,6 +2283,12 @@ version = "0.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4" +[[package]] +name = "itoa" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1aab8fc367588b89dcee83ab0fd66b72b50b72fa1904d7095045ace2b0c81c35" + [[package]] name = "javascriptcore-rs" version = "0.14.0" @@ -2339,14 +2333,10 @@ dependencies = [ ] [[package]] -name = "kernel32-sys" -version = "0.2.2" +name = "json" +version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d" -dependencies = [ - "winapi 0.2.8", - "winapi-build", -] +checksum = "078e285eafdfb6c4b434e0d31e8cfcb5115b651496faca5749b88fafd4f23bfd" [[package]] name = "kuchiki" @@ -2360,11 +2350,20 @@ dependencies = [ "selectors", ] +[[package]] +name = "kv-log-macro" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0de8b303297635ad57c9f5059fd9cee7a47f8e8daa09df0fcd07dd39fb22977f" +dependencies = [ + "log", +] + [[package]] name = "language-tags" -version = "0.2.2" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a91d884b6667cd606bb5a69aa0c99ba811a115fc68915e7056ec08a46e93199a" +checksum = "d4345964bb142484797b161f473a503a434de77149dd8c7427788c6e13379388" [[package]] name = "lazy_static" @@ -2385,10 +2384,22 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8e167738f1866a7ec625567bae89ca0d44477232a4f7c52b1c7f2adc2c98804f" [[package]] -name = "linked-hash-map" -version = "0.5.4" +name = "local-channel" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fb9b38af92608140b86b693604b9ffcc5824240a484d1ecd4795bacb2fe88f3" +checksum = "6246c68cf195087205a0512559c97e15eaf95198bf0e206d662092cdcb03fe9f" +dependencies = [ + "futures-core", + "futures-sink", + "futures-util", + "local-waker", +] + +[[package]] +name = "local-waker" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "902eb695eb0591864543cbfbf6d742510642a605a61fc5e97fe6ceb5a30ac4fb" [[package]] name = "lock_api" @@ -2406,6 +2417,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "51b9bbe6c47d51fc3e1a9b945965946b4c44142ab8792c50835a980d362c2710" dependencies = [ "cfg-if 1.0.0", + "value-bag", ] [[package]] @@ -2424,21 +2436,12 @@ dependencies = [ ] [[package]] -name = "lru" -version = "0.6.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ea2d928b485416e8908cff2d97d621db22b27f7b3b6729e438bcf42c671ba91" -dependencies = [ - "hashbrown", -] - -[[package]] -name = "lru-cache" -version = "0.1.2" +name = "lru" +version = "0.6.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31e24f1ad8321ca0e8a1e0ac13f23cb668e6f5466c2c57319f6a5cf1cc8e3b1c" +checksum = "7ea2d928b485416e8908cff2d97d621db22b27f7b3b6729e438bcf42c671ba91" dependencies = [ - "linked-hash-map", + "hashbrown", ] [[package]] @@ -2491,12 +2494,6 @@ dependencies = [ "tendril", ] -[[package]] -name = "match_cfg" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffbee8634e0d45d258acb448e7eaab3fce7a0a467395d4d9f228e3c1f01fb2e4" - [[package]] name = "matchers" version = "0.1.0" @@ -2512,12 +2509,6 @@ version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f" -[[package]] -name = "maybe-uninit" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60302e4db3a61da70c0cb7991976248362f30319e88850c487b9b95bbf059e00" - [[package]] name = "measure_time" version = "0.7.0" @@ -2594,44 +2585,37 @@ dependencies = [ [[package]] name = "mio" -version = "0.6.23" +version = "0.7.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4afd66f5b91bf2a3bc13fad0e21caedac168ca4c707504e75585648ae80e4cc4" +checksum = "8067b404fe97c70829f082dec8bcf4f71225d7eaea1d8645349cb76fa06205cc" dependencies = [ - "cfg-if 0.1.10", - "fuchsia-zircon", - "fuchsia-zircon-sys", - "iovec", - "kernel32-sys", "libc", "log", "miow", - "net2", - "slab", - "winapi 0.2.8", + "ntapi", + "winapi", ] [[package]] -name = "mio-uds" -version = "0.6.8" +name = "mio" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "afcb699eb26d4332647cc848492bbc15eafb26f08d0304550d5aa1f612e066f0" +checksum = "ba272f85fa0b41fc91872be579b3bbe0f56b792aa361a380eb669469f68dafb2" dependencies = [ - "iovec", "libc", - "mio", + "log", + "miow", + "ntapi", + "winapi", ] [[package]] name = "miow" -version = "0.2.2" +version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebd808424166322d4a38da87083bfddd3ac4c131334ed55856112eb06d46944d" +checksum = "b9f1c5b025cda876f66ef43a113f91ebc9f4ccef34843000e0adf6ebbab84e21" dependencies = [ - "kernel32-sys", - "net2", - "winapi 0.2.8", - "ws2_32-sys", + "winapi", ] [[package]] @@ -2668,7 +2652,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b1bb540dc6ef51cfe1916ec038ce7a620daf3a111e2502d745197cd53d6bca15" dependencies = [ "libc", - "socket2 0.4.2", + "socket2", ] [[package]] @@ -2717,17 +2701,6 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e1bcdd74c20ad5d95aacd60ef9ba40fdf77f767051040541df557b7a9b2a2121" -[[package]] -name = "net2" -version = "0.2.37" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "391630d12b68002ae1e25e8f974306474966550ad82dac6886fb8910c19568ae" -dependencies = [ - "cfg-if 0.1.10", - "libc", - "winapi 0.3.9", -] - [[package]] name = "new_debug_unreachable" version = "1.0.4" @@ -2765,16 +2738,6 @@ version = "0.1.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb" -[[package]] -name = "nom" -version = "4.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ad2a91a8e869eeb30b9cb3119ae87773a8f4ae617f41b1eb9c154b2905f7bd6" -dependencies = [ - "memchr", - "version_check 0.1.5", -] - [[package]] name = "notify-rust" version = "4.5.5" @@ -2795,7 +2758,7 @@ version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f6bb902e437b6d86e03cce10a7e2af662292c5dfef23b65899ea3ac9354ad44" dependencies = [ - "winapi 0.3.9", + "winapi", ] [[package]] @@ -2895,12 +2858,6 @@ version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "692fcb63b64b1758029e0a96ee63e049ce8c5948587f2f7208df04625e5f6b56" -[[package]] -name = "opaque-debug" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" - [[package]] name = "open" version = "2.0.2" @@ -2908,7 +2865,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "176ee4b630d174d2da8241336763bb459281dddc0f4d87f72c3b1efc9a6109b7" dependencies = [ "pathdiff", - "winapi 0.3.9", + "winapi", ] [[package]] @@ -2952,7 +2909,7 @@ checksum = "e5501659840950e918d046ad97ebe9702cbb4ec0097e47dbd27abf7692223181" dependencies = [ "log", "serde", - "winapi 0.3.9", + "winapi", ] [[package]] @@ -2962,7 +2919,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fb233f06c2307e1f5ce2ecad9f8121cffbbee2c95428f44ea85222e460d0d213" dependencies = [ "libc", - "winapi 0.3.9", + "winapi", ] [[package]] @@ -3048,9 +3005,15 @@ dependencies = [ "libc", "redox_syscall 0.2.10", "smallvec", - "winapi 0.3.9", + "winapi", ] +[[package]] +name = "paste" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0744126afe1a6dd7f394cb50a716dbe086cb06e255e53d8d0185d82828358fb5" + [[package]] name = "pathdiff" version = "0.2.1" @@ -3170,33 +3133,13 @@ dependencies = [ "siphasher", ] -[[package]] -name = "pin-project" -version = "0.4.28" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "918192b5c59119d51e0cd221f4d49dde9112824ba717369e903c97d076083d0f" -dependencies = [ - "pin-project-internal 0.4.28", -] - [[package]] name = "pin-project" version = "1.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "576bc800220cc65dac09e99e97b08b358cfab6e17078de8dc5fee223bd2d0c08" dependencies = [ - "pin-project-internal 1.0.8", -] - -[[package]] -name = "pin-project-internal" -version = "0.4.28" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3be26700300be6d9d23264c73211d8190e755b6b5ca7a1b28230025511b52a5e" -dependencies = [ - "proc-macro2", - "quote", - "syn", + "pin-project-internal", ] [[package]] @@ -3210,12 +3153,6 @@ dependencies = [ "syn", ] -[[package]] -name = "pin-project-lite" -version = "0.1.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "257b64915a082f7811703966789728173279bdebb956b143dbcd23f6f970a777" - [[package]] name = "pin-project-lite" version = "0.2.7" @@ -3268,7 +3205,7 @@ dependencies = [ "libc", "log", "wepoll-ffi", - "winapi 0.3.9", + "winapi", ] [[package]] @@ -3312,7 +3249,7 @@ dependencies = [ "proc-macro2", "quote", "syn", - "version_check 0.9.3", + "version_check", ] [[package]] @@ -3323,7 +3260,7 @@ checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" dependencies = [ "proc-macro2", "quote", - "version_check 0.9.3", + "version_check", ] [[package]] @@ -3369,12 +3306,6 @@ dependencies = [ "percent-encoding", ] -[[package]] -name = "quick-error" -version = "1.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" - [[package]] name = "quote" version = "1.0.10" @@ -3512,9 +3443,9 @@ version = "1.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d78120e2c850279833f1dd3582f730c4ab53ed95aeaaaa862a2a5c71b1656d8e" dependencies = [ - "crossbeam-channel 0.5.1", + "crossbeam-channel", "crossbeam-deque", - "crossbeam-utils 0.8.5", + "crossbeam-utils", "lazy_static", "num_cpus", ] @@ -3593,17 +3524,7 @@ version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7" dependencies = [ - "winapi 0.3.9", -] - -[[package]] -name = "resolv-conf" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52e44394d2086d010551b14b53b1f24e31647570cd1deb0379e2c21b329aba00" -dependencies = [ - "hostname", - "quick-error", + "winapi", ] [[package]] @@ -3626,7 +3547,7 @@ dependencies = [ "wasm-bindgen", "wasm-bindgen-futures", "web-sys", - "winapi 0.3.9", + "winapi", ] [[package]] @@ -3641,7 +3562,7 @@ dependencies = [ "spin", "untrusted", "web-sys", - "winapi 0.3.9", + "winapi", ] [[package]] @@ -3667,10 +3588,10 @@ version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4b18820d944b33caa75a71378964ac46f58517c92b6ae5f762636247c09e78fb" dependencies = [ - "base64 0.13.0", + "base64", "blake2b_simd", "constant_time_eq", - "crossbeam-utils 0.8.5", + "crossbeam-utils", ] [[package]] @@ -3712,28 +3633,36 @@ dependencies = [ [[package]] name = "rustls" -version = "0.18.1" +version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d1126dcf58e93cee7d098dbda643b5f92ed724f1f6a63007c1116eed6700c81" +checksum = "35edb675feee39aec9c99fa5ff985081995a06d594114ae14cbe797ad7b7a6d7" dependencies = [ - "base64 0.12.3", + "base64", "log", "ring", - "sct", - "webpki", + "sct 0.6.1", + "webpki 0.21.4", ] [[package]] name = "rustls" -version = "0.19.1" +version = "0.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35edb675feee39aec9c99fa5ff985081995a06d594114ae14cbe797ad7b7a6d7" +checksum = "d37e5e2290f3e040b594b1a9e04377c2c671f1a1cfd9bfdef82106ac1c113f84" dependencies = [ - "base64 0.13.0", "log", "ring", - "sct", - "webpki", + "sct 0.7.0", + "webpki 0.22.0", +] + +[[package]] +name = "rustls-pemfile" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5eebeaeb360c87bfb72e84abdb3447159c0eaececf1bef2aecd65a8be949d1c9" +dependencies = [ + "base64", ] [[package]] @@ -3758,7 +3687,7 @@ dependencies = [ "unicode-segmentation", "unicode-width", "utf8parse", - "winapi 0.3.9", + "winapi", ] [[package]] @@ -3776,6 +3705,16 @@ dependencies = [ "winapi-util", ] +[[package]] +name = "sanitize-filename" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf18934a12018228c5b55a6dae9df5d0641e3566b3630cb46cc55564068e7c2f" +dependencies = [ + "lazy_static", + "regex", +] + [[package]] name = "schannel" version = "0.1.19" @@ -3783,7 +3722,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8f05ba609c234e60bee0d547fe94a4c7e9da733d1c962cf6e59efa4cd9c8bc75" dependencies = [ "lazy_static", - "winapi 0.3.9", + "winapi", ] [[package]] @@ -3808,6 +3747,16 @@ dependencies = [ "untrusted", ] +[[package]] +name = "sct" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4" +dependencies = [ + "ring", + "untrusted", +] + [[package]] name = "security-framework" version = "2.4.2" @@ -3916,7 +3865,7 @@ version = "1.0.72" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d0ffa0837f2dfa6fb90868c2b5468cad482e175f7dad97e7421951e663f2b527" dependencies = [ - "itoa", + "itoa 0.4.8", "ryu", "serde", ] @@ -3939,7 +3888,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ec5d77e2d4c73717816afac02670d5c4f534ea95ed430442cad02e7a6e32c97" dependencies = [ "dtoa", - "itoa", + "itoa 0.4.8", "serde", "url", ] @@ -3951,7 +3900,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "edfa57a7f8d9c1d260a549e7224100f6c43d43f9103e06dd8b4095a9b2b43ce9" dependencies = [ "form_urlencoded", - "itoa", + "itoa 0.4.8", "ryu", "serde", ] @@ -3968,15 +3917,13 @@ dependencies = [ [[package]] name = "sha-1" -version = "0.9.8" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99cd6713db3cf16b6c84e06321e049a9b9f699826e16096d23bbcc44d15d51a6" +checksum = "028f48d513f9678cda28f6e4064755b3fbb2af6acd672f2c209b62323f7aea0f" dependencies = [ - "block-buffer", "cfg-if 1.0.0", "cpufeatures", - "digest", - "opaque-debug", + "digest 0.10.1", ] [[package]] @@ -4001,7 +3948,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6be9f7d5565b1483af3e72975e2dee33879b3b86bd48c0929fccf6585d79e65a" dependencies = [ "libc", - "winapi 0.3.9", + "winapi", ] [[package]] @@ -4033,7 +3980,7 @@ checksum = "7f96b4737c2ce5987354855aed3797279def4ebf734436c6aa4552cf8e169935" dependencies = [ "crc32fast", "crossbeam-epoch", - "crossbeam-utils 0.8.5", + "crossbeam-utils", "fs2", "fxhash", "libc", @@ -4047,17 +3994,6 @@ version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1ecab6c735a6bb4139c0caafd0cc3635748bbb3acf4550e8138122099251f309" -[[package]] -name = "socket2" -version = "0.3.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "122e570113d28d773067fab24266b66753f6ea915758651696b6e35e49f88d6e" -dependencies = [ - "cfg-if 1.0.0", - "libc", - "winapi 0.3.9", -] - [[package]] name = "socket2" version = "0.4.2" @@ -4065,7 +4001,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5dc90fe6c7be1a323296982db1836d1ea9e47b6839496dde9a541bc496df3516" dependencies = [ "libc", - "winapi 0.3.9", + "winapi", ] [[package]] @@ -4101,7 +4037,7 @@ version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e113fb6f3de07a243d434a56ec6f186dfd51cb08448239fe7bcae73f87ff28ff" dependencies = [ - "version_check 0.9.3", + "version_check", ] [[package]] @@ -4286,7 +4222,7 @@ dependencies = [ "ntapi", "once_cell", "rayon", - "winapi 0.3.9", + "winapi", ] [[package]] @@ -4328,7 +4264,7 @@ version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "25e733d58e88c51fb0ed76305885ce617a49731e3476514cf7ad4394668dfbc7" dependencies = [ - "base64 0.13.0", + "base64", "bitpacking", "byteorder", "census", @@ -4368,7 +4304,7 @@ dependencies = [ "tempfile", "thiserror", "uuid", - "winapi 0.3.9", + "winapi", ] [[package]] @@ -4419,7 +4355,7 @@ dependencies = [ "core-foundation 0.9.2", "core-graphics 0.22.3", "core-video-sys", - "crossbeam-channel 0.5.1", + "crossbeam-channel", "dispatch", "gdk", "gdk-pixbuf", @@ -4442,7 +4378,7 @@ dependencies = [ "serde", "tauri-libappindicator", "unicode-segmentation", - "winapi 0.3.9", + "winapi", "x11-dl", ] @@ -4464,7 +4400,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "79a0579dcc6fb883fe90dd3c66d76b8b8f4a1786e1e915e314b2017a500ede09" dependencies = [ "attohttpc", - "base64 0.13.0", + "base64", "bincode", "cfg_aliases", "dirs-next 2.0.0", @@ -4500,7 +4436,7 @@ dependencies = [ "tauri-utils", "tempfile", "thiserror", - "tokio 1.14.0", + "tokio", "url", "uuid", "zip", @@ -4589,7 +4525,7 @@ dependencies = [ "tauri-utils", "thiserror", "uuid", - "winapi 0.3.9", + "winapi", ] [[package]] @@ -4605,7 +4541,7 @@ dependencies = [ "tauri-runtime", "tauri-utils", "uuid", - "winapi 0.3.9", + "winapi", "wry", ] @@ -4638,7 +4574,7 @@ dependencies = [ "rand 0.8.4", "redox_syscall 0.2.10", "remove_dir_all", - "winapi 0.3.9", + "winapi", ] [[package]] @@ -4702,15 +4638,6 @@ dependencies = [ "once_cell", ] -[[package]] -name = "threadpool" -version = "1.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d050e60b33d41c19108b32cea32164033a9013fe3b46cbd4457559bfbf77afaa" -dependencies = [ - "num_cpus", -] - [[package]] name = "time" version = "0.1.44" @@ -4719,7 +4646,7 @@ checksum = "6db9e6914ab8b1ae1c260a4ae7a49b6c5611b40328a735b21862567685e73255" dependencies = [ "libc", "wasi 0.10.0+wasi-snapshot-preview1", - "winapi 0.3.9", + "winapi", ] [[package]] @@ -4732,9 +4659,20 @@ dependencies = [ "libc", "standback", "stdweb", - "time-macros", - "version_check 0.9.3", - "winapi 0.3.9", + "time-macros 0.1.1", + "version_check", + "winapi", +] + +[[package]] +name = "time" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41effe7cfa8af36f439fac33861b66b049edc6f9a32331e2312660529c1c24ad" +dependencies = [ + "itoa 0.4.8", + "libc", + "time-macros 0.2.3", ] [[package]] @@ -4747,6 +4685,12 @@ dependencies = [ "time-macros-impl", ] +[[package]] +name = "time-macros" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "25eb0ca3468fc0acc11828786797f6ef9aa1555e4a211a60d64cc8e4d1be47d6" + [[package]] name = "time-macros-impl" version = "0.1.2" @@ -4775,27 +4719,6 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" -[[package]] -name = "tokio" -version = "0.2.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6703a273949a90131b290be1fe7b039d0fc884aa1935860dfcbe056f28cd8092" -dependencies = [ - "bytes 0.5.6", - "fnv", - "futures-core", - "iovec", - "lazy_static", - "libc", - "memchr", - "mio", - "mio-uds", - "pin-project-lite 0.1.12", - "signal-hook-registry", - "slab", - "winapi 0.3.9", -] - [[package]] name = "tokio" version = "1.14.0" @@ -4803,37 +4726,41 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "70e992e41e0d2fb9f755b37446f20900f64446ef54874f40a60c78f021ac6144" dependencies = [ "autocfg", - "bytes 1.1.0", + "bytes", + "libc", "memchr", + "mio 0.7.14", "num_cpus", - "pin-project-lite 0.2.7", + "once_cell", + "parking_lot", + "pin-project-lite", + "signal-hook-registry", + "winapi", ] [[package]] name = "tokio-rustls" -version = "0.14.1" +version = "0.23.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e12831b255bcfa39dc0436b01e19fea231a37db570686c06ee72c423479f889a" +checksum = "a27d5f2b839802bd8267fa19b0530f5a08b9c08cd417976be2a65d130fe1c11b" dependencies = [ - "futures-core", - "rustls 0.18.1", - "tokio 0.2.25", - "webpki", + "rustls 0.20.2", + "tokio", + "webpki 0.22.0", ] [[package]] name = "tokio-util" -version = "0.3.1" +version = "0.6.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be8242891f2b6cbef26a2d7e8605133c2c554cd35b3e4948ea892d6d68436499" +checksum = "9e99e1983e5d376cd8eb4b66604d2e99e79f5bd988c3055891dcd8c9e2604cc0" dependencies = [ - "bytes 0.5.6", + "bytes", "futures-core", - "futures-io", "futures-sink", "log", - "pin-project-lite 0.1.12", - "tokio 0.2.25", + "pin-project-lite", + "tokio", ] [[package]] @@ -4852,12 +4779,24 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "375a639232caf30edfc78e8d89b2d4c375515393e7af7e16f01cd96917fb2105" dependencies = [ "cfg-if 1.0.0", - "log", - "pin-project-lite 0.2.7", + "pin-project-lite", "tracing-attributes", "tracing-core", ] +[[package]] +name = "tracing-actix-web" +version = "0.5.0-beta.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da8e6a7393e9b680de78d876f8c1432aebf56f3e70346a4a821160c04677a272" +dependencies = [ + "actix-web", + "pin-project", + "tracing", + "tracing-futures", + "uuid", +] + [[package]] name = "tracing-attributes" version = "0.1.18" @@ -4869,6 +4808,17 @@ dependencies = [ "syn", ] +[[package]] +name = "tracing-chrome" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7fa213f0cfbe503fb51065f2663726b093dac7cda39401eac060d0ebd4b8415c" +dependencies = [ + "json", + "tracing", + "tracing-subscriber", +] + [[package]] name = "tracing-core" version = "0.1.21" @@ -4884,7 +4834,7 @@ version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2" dependencies = [ - "pin-project 1.0.8", + "pin-project", "tracing", ] @@ -4901,9 +4851,9 @@ dependencies = [ [[package]] name = "tracing-subscriber" -version = "0.3.3" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "245da694cc7fc4729f3f418b304cb57789f1bed2a78c575407ab8a23f53cb4d3" +checksum = "5d81bfa81424cc98cb034b837c985b7a290f592e5b4322f353f94a0ab0f9f594" dependencies = [ "ansi_term", "lazy_static", @@ -4918,42 +4868,13 @@ dependencies = [ ] [[package]] -name = "trust-dns-proto" -version = "0.19.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cad71a0c0d68ab9941d2fb6e82f8fb2e86d9945b94e1661dd0aaea2b88215a9" -dependencies = [ - "async-trait", - "cfg-if 1.0.0", - "enum-as-inner", - "futures", - "idna", - "lazy_static", - "log", - "rand 0.7.3", - "smallvec", - "thiserror", - "tokio 0.2.25", - "url", -] - -[[package]] -name = "trust-dns-resolver" -version = "0.19.7" +name = "twoway" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "710f593b371175db53a26d0b38ed2978fafb9e9e8d3868b1acd753ea18df0ceb" +checksum = "c57ffb460d7c24cd6eda43694110189030a3d1dfe418416d9468fd1c1d290b47" dependencies = [ - "cfg-if 0.1.10", - "futures", - "ipconfig", - "lazy_static", - "log", - "lru-cache", - "resolv-conf", - "smallvec", - "thiserror", - "tokio 0.2.25", - "trust-dns-proto", + "memchr", + "unchecked-index", ] [[package]] @@ -4978,13 +4899,19 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "56dee185309b50d1f11bfedef0fe6d036842e3fb77413abef29f8f8d1c5d4c1c" +[[package]] +name = "unchecked-index" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eeba86d422ce181a719445e51872fa30f1f7413b62becb52e95ec91aa262d85c" + [[package]] name = "unicase" version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6" dependencies = [ - "version_check 0.9.3", + "version_check", ] [[package]] @@ -5032,16 +4959,16 @@ version = "1.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2b8b063c2d59218ae09f22b53c42eaad0d53516457905f5235ca4bc9e99daa71" dependencies = [ - "base64 0.13.0", + "base64", "chunked_transfer", - "cookie", + "cookie 0.14.4", "cookie_store", "log", "once_cell", "qstring", "rustls 0.19.1", "url", - "webpki", + "webpki 0.21.4", "webpki-roots 0.21.1", ] @@ -5093,35 +5020,13 @@ dependencies = [ ] [[package]] -name = "v_escape" -version = "0.15.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3e0ab5fab1db278a9413d2ea794cb66f471f898c5b020c3c394f6447625d9d4" -dependencies = [ - "buf-min", - "v_escape_derive", -] - -[[package]] -name = "v_escape_derive" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f29769400af8b264944b851c961a4a6930e76604f59b1fcd51246bab6a296c8c" -dependencies = [ - "nom", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "v_htmlescape" -version = "0.12.0" +name = "value-bag" +version = "1.0.0-alpha.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f9a8af610ad6f7fc9989c9d2590d9764bc61f294884e9ee93baa58795174572" +checksum = "79923f7731dc61ebfba3633098bf3ac533bbd35ccd8c57e7088d9a5eebe0263f" dependencies = [ - "cfg-if 1.0.0", - "v_escape", + "ctor", + "version_check", ] [[package]] @@ -5142,12 +5047,6 @@ version = "0.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1c18c859eead79d8b95d09e4678566e8d70105c4e7b251f707a03df32442661b" -[[package]] -name = "version_check" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "914b1a6776c4c929a602fafd8bc742e06365d4bcbe48c30f9cca5824f70dc9dd" - [[package]] name = "version_check" version = "0.9.3" @@ -5173,7 +5072,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "808cf2735cd4b6866113f648b791c6adc5714537bc222d9347bb203386ffda56" dependencies = [ "same-file", - "winapi 0.3.9", + "winapi", "winapi-util", ] @@ -5322,12 +5221,13 @@ dependencies = [ ] [[package]] -name = "webpki-roots" -version = "0.20.0" +name = "webpki" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f20dea7535251981a9670857150d571846545088359b28e4951d350bdaf179f" +checksum = "f095d78192e208183081cc07bc5515ef55216397af48b873e5edcd72637fa1bd" dependencies = [ - "webpki", + "ring", + "untrusted", ] [[package]] @@ -5336,7 +5236,16 @@ version = "0.21.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "aabe153544e473b775453675851ecc86863d2a81d786d741f6b76778f2a48940" dependencies = [ - "webpki", + "webpki 0.21.4", +] + +[[package]] +name = "webpki-roots" +version = "0.22.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c475786c6f47219345717a043a37ec04cb4bc185e28853adcc4fa0a947eba630" +dependencies = [ + "webpki 0.22.0", ] [[package]] @@ -5348,8 +5257,8 @@ dependencies = [ "com", "once_cell", "webview2-sys", - "widestring 0.5.1", - "winapi 0.3.9", + "widestring", + "winapi", ] [[package]] @@ -5359,7 +5268,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "24b7889e893ac4c50d7346356be3ce13a85e56512c38b8fde0526559b8012a4c" dependencies = [ "com", - "winapi 0.3.9", + "winapi", ] [[package]] @@ -5371,12 +5280,6 @@ dependencies = [ "cc", ] -[[package]] -name = "widestring" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c168940144dd21fd8046987c16a46a33d5fc84eec29ef9dcddc2ac9e31526b7c" - [[package]] name = "widestring" version = "0.5.1" @@ -5389,12 +5292,6 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f44b95f62d34113cf558c93511ac93027e03e9c29a60dd0fd70e6e025c7270a" -[[package]] -name = "winapi" -version = "0.2.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a" - [[package]] name = "winapi" version = "0.3.9" @@ -5405,12 +5302,6 @@ dependencies = [ "winapi-x86_64-pc-windows-gnu", ] -[[package]] -name = "winapi-build" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc" - [[package]] name = "winapi-i686-pc-windows-gnu" version = "0.4.0" @@ -5423,7 +5314,7 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" dependencies = [ - "winapi 0.3.9", + "winapi", ] [[package]] @@ -5468,15 +5359,6 @@ version = "0.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9bd8f062d8ca5446358159d79a90be12c543b3a965c847c8f3eedf14b321d399" -[[package]] -name = "winreg" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2986deb581c4fe11b621998a5e53361efe6b48a151178d0cd9eeffa4dc6acc9" -dependencies = [ - "winapi 0.3.9", -] - [[package]] name = "winres" version = "0.1.12" @@ -5524,17 +5406,7 @@ dependencies = [ "webkit2gtk-sys", "webview2", "webview2-sys", - "winapi 0.3.9", -] - -[[package]] -name = "ws2_32-sys" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e" -dependencies = [ - "winapi 0.2.8", - "winapi-build", + "winapi", ] [[package]] diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml index a8cd629dd..10f078ecf 100644 --- a/src-tauri/Cargo.toml +++ b/src-tauri/Cargo.toml @@ -1,26 +1,26 @@ [package] -authors = ["you"] +authors = ["joep@ontola.io"] build = "src/build.rs" description = "Atomic Server - Tauri desktop" edition = "2021" -license = "" +license = "MIT" name = "atomic-server-tauri" -repository = "" -version = "0.28.3" +repository = "https://github.com/joepio/atomic-data-rust" +version = "0.30.1" [build-dependencies] [build-dependencies.tauri-build] version = "1.0.0-beta.4" [dependencies] -actix-rt = "1.1.1" +actix-rt = "2.4.0" serde_json = "1.0" [dependencies.atomic-server] # We don't need HTTPS for desktop usage default-features = false path = "../server" -version = "0.29.2" +version = "0.30.1" [dependencies.serde] features = ["derive"] diff --git a/src-tauri/README.md b/src-tauri/README.md index f066e18bc..7eb17c0cf 100644 --- a/src-tauri/README.md +++ b/src-tauri/README.md @@ -1,12 +1,15 @@ # Atomic-server Tauri -_WARNING: Tauri is not compatible with the currenlty used Actix-Web version, so it does not run / build correctly_. +Tauri build Desktop releases for Atomic-Server. +It takes care of native installers, app icons, system tray icons, menu items, self-update ([issue](https://github.com/joepio/atomic-data-rust/issues/158)) and more. ```sh # install tauri yarn global add @tauri/tauri-cli # run dev server tauri dev +# build an installer for your OS +tauri build ``` ## Limitations diff --git a/src-tauri/src/main.rs b/src-tauri/src/main.rs index 7e434fc6f..b270b8554 100644 --- a/src-tauri/src/main.rs +++ b/src-tauri/src/main.rs @@ -11,12 +11,15 @@ fn main() { let config: atomic_server_lib::config::Config = atomic_server_lib::config::init() .map_err(|e| format!("Initialization failed: {}", e)) .expect("failed init config"); + let config_clone = config.clone(); + + // This is not the cleanest solution, but running actix inside the tauri / tokio runtime is not + std::thread::spawn(move || { + let rt = actix_rt::Runtime::new().unwrap(); + rt.block_on(atomic_server_lib::serve::serve(config_clone)) + .unwrap(); + }); - // Find a way to combine actix and tauri runtimes... - { - // let config_clone = config.clone(); - // atomic_server_lib::serve::serve(&config_clone); - } tauri::Builder::default() .menu(crate::menu::build(&ctx)) .on_menu_event(crate::menu::handle)