From 43227d9852e95e0b2f04b2896e0fd95f5745402d Mon Sep 17 00:00:00 2001 From: asonix Date: Wed, 10 Feb 2021 18:00:11 -0600 Subject: [PATCH] Update to actix-web 4.0.0-beta.3 --- Cargo.lock | 634 +++++++++++-------------------------- Cargo.toml | 17 +- src/data/state.rs | 2 +- src/db.rs | 2 +- src/error.rs | 16 +- src/middleware/payload.rs | 14 +- src/middleware/verifier.rs | 2 +- src/requests.rs | 14 +- src/routes/media.rs | 2 +- src/routes/mod.rs | 4 +- src/routes/nodeinfo.rs | 2 +- src/routes/statics.rs | 4 +- 12 files changed, 212 insertions(+), 501 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index ce9c962..40ba0fa 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -27,69 +27,44 @@ dependencies = [ [[package]] name = "actix-codec" -version = "0.3.0" +version = "0.4.0-beta.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78d1833b3838dbe990df0f1f87baf640cf6146e898166afe401839d1b001e570" +checksum = "90673465c6187bd0829116b02be465dc0195a74d7719f76ffff0effef934a92e" dependencies = [ "bitflags", - "bytes 0.5.6", + "bytes", "futures-core", "futures-sink", "log", - "pin-project 0.4.27", + "pin-project-lite", "tokio", "tokio-util", ] -[[package]] -name = "actix-connect" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "177837a10863f15ba8d3ae3ec12fac1099099529ed20083a27fdfe247381d0dc" -dependencies = [ - "actix-codec", - "actix-rt", - "actix-service", - "actix-utils", - "derive_more", - "either", - "futures-util", - "http", - "log", - "rustls", - "tokio-rustls", - "trust-dns-proto", - "trust-dns-resolver", - "webpki", -] - [[package]] name = "actix-http" -version = "2.2.0" +version = "3.0.0-beta.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "452299e87817ae5673910e53c243484ca38be3828db819b6011736fc6982e874" +checksum = "8a12706e793a92377f85cec219514b72625b3b89f9b4912d8bfb53ab6a615bf0" dependencies = [ "actix-codec", - "actix-connect", "actix-rt", "actix-service", - "actix-threadpool", "actix-tls", "actix-utils", + "ahash 0.7.0", "base64 0.13.0", "bitflags", "brotli2", - "bytes 0.5.6", + "bytes", + "bytestring", "cookie", - "copyless", "derive_more", - "either", "encoding_rs", "flate2", "futures-channel", "futures-core", "futures-util", - "fxhash", "h2", "http", "httparse", @@ -101,21 +76,22 @@ dependencies = [ "mime", "percent-encoding", "pin-project 1.0.5", - "rand", + "rand 0.8.3", "regex", "serde 1.0.123", "serde_json", "serde_urlencoded", "sha-1", "slab", + "smallvec", "time 0.2.25", ] [[package]] name = "actix-macros" -version = "0.1.3" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4ca8ce00b267af8ccebbd647de0d61e0674b6e61185cc7a592ff88772bed655" +checksum = "dbcb2b608f0accc2f5bcf3dd872194ce13d94ee45b571487035864cf966b04ef" dependencies = [ "quote", "syn", @@ -136,119 +112,82 @@ dependencies = [ [[package]] name = "actix-rt" -version = "1.1.1" +version = "2.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "143fcc2912e0d1de2bcf4e2f720d2a60c28652ab4179685a1ee159e0fb3db227" +checksum = "c88cf46527e27f66efcd5831f60b3d9c2dac795b6d255ed17791752d6c36a8ea" dependencies = [ "actix-macros", - "actix-threadpool", - "copyless", - "futures-channel", - "futures-util", - "smallvec", + "futures-core", "tokio", ] [[package]] name = "actix-server" -version = "1.0.4" +version = "2.0.0-beta.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45407e6e672ca24784baa667c5d32ef109ccdd8d5e0b5ebb9ef8a67f4dfb708e" +checksum = "a99198727204a48f82559c18e4b0ba3197b97d5f4576a32bdbef371f3b4599c1" dependencies = [ "actix-codec", "actix-rt", "actix-service", "actix-utils", - "futures-channel", - "futures-util", + "futures-core", "log", "mio", - "mio-uds", "num_cpus", "slab", - "socket2", + "tokio", ] [[package]] name = "actix-service" -version = "1.0.6" +version = "2.0.0-beta.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0052435d581b5be835d11f4eb3bce417c8af18d87ddf8ace99f8e67e595882bb" +checksum = "ca9756f4d32984ac454ae3155a276f6be69b424197bd3f0ca3c87cde72f41d63" dependencies = [ - "futures-util", - "pin-project 0.4.27", -] - -[[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", -] - -[[package]] -name = "actix-threadpool" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d209f04d002854b9afd3743032a27b066158817965bf5d036824d19ac2cc0e30" -dependencies = [ - "derive_more", - "futures-channel", - "lazy_static", - "log", - "num_cpus", - "parking_lot", - "threadpool", + "futures-core", + "pin-project-lite", ] [[package]] name = "actix-tls" -version = "2.0.0" +version = "3.0.0-beta.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24789b7d7361cf5503a504ebe1c10806896f61e96eca9a7350e23001aca715fb" +checksum = "322b22e9238d065f331af0585089de8c36978fcc56f888054add4e4365b9916b" dependencies = [ "actix-codec", + "actix-rt", "actix-service", "actix-utils", - "futures-util", - "rustls", + "derive_more", + "futures-core", + "http", + "log", "tokio-rustls", - "webpki", + "tokio-util", "webpki-roots", ] [[package]] name = "actix-utils" -version = "2.0.0" +version = "3.0.0-beta.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e9022dec56632d1d7979e59af14f0597a28a830a9c1c7fec8b2327eb9f16b5a" +checksum = "458795e09a29bc5557604f9ff6f32236fd0ee457d631672e4ec8f6a0103bb292" dependencies = [ "actix-codec", "actix-rt", "actix-service", - "bitflags", - "bytes 0.5.6", - "either", - "futures-channel", + "futures-core", "futures-sink", - "futures-util", "log", - "pin-project 0.4.27", - "slab", + "pin-project-lite", ] [[package]] name = "actix-web" -version = "3.3.2" +version = "4.0.0-beta.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e641d4a172e7faa0862241a20ff4f1f5ab0ab7c279f00c2d4587b77483477b86" +checksum = "bc9683dc8c3037ea524e0fec6032d34e1cb1ee72c4eb8689f428a60c2a544ea3" dependencies = [ "actix-codec", "actix-http", @@ -257,19 +196,17 @@ dependencies = [ "actix-rt", "actix-server", "actix-service", - "actix-testing", - "actix-threadpool", "actix-tls", "actix-utils", "actix-web-codegen", + "ahash 0.7.0", "awc", - "bytes 0.5.6", + "bytes", "derive_more", + "either", "encoding_rs", - "futures-channel", "futures-core", "futures-util", - "fxhash", "log", "mime", "pin-project 1.0.5", @@ -278,17 +215,17 @@ dependencies = [ "serde 1.0.123", "serde_json", "serde_urlencoded", + "smallvec", "socket2", "time 0.2.25", - "tinyvec", "url", ] [[package]] name = "actix-web-codegen" -version = "0.4.0" +version = "0.5.0-beta.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad26f77093333e0e7c6ffe54ebe3582d908a104e448723eec6d43d08b07143fb" +checksum = "8313dc4cbcae1785a7f14c3dfb7dfeb25fe96a03b20e5c38fe026786def5aa70" dependencies = [ "proc-macro2", "quote", @@ -297,25 +234,17 @@ dependencies = [ [[package]] name = "actix-webfinger" -version = "0.3.0" +version = "0.4.0-beta.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04d2d2618ebae185c8178e09921854e18ecb0824f9892085107d6a254a4605e5" +checksum = "77166bffe5a597d999f34bb0f1cdf8df4ba439b535dadf4068387264103fc5d3" dependencies = [ + "actix-rt", "actix-web", "serde 1.0.123", "serde_derive", "thiserror", ] -[[package]] -name = "addr2line" -version = "0.14.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a55f82cfe485775d02112886f4169bde0c5894d75e79ead7eafe7e40a25e45f7" -dependencies = [ - "gimli", -] - [[package]] name = "adler" version = "0.2.3" @@ -328,6 +257,17 @@ version = "0.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "739f4a8db6605981345c5654f3a85b056ce52f37a39d34da03f25bf2151ea16e" +[[package]] +name = "ahash" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "efa60d2eadd8b12a996add391db32bd1153eac697ba4869660c0016353611426" +dependencies = [ + "getrandom 0.2.2", + "once_cell", + "version_check", +] + [[package]] name = "aho-corasick" version = "0.7.15" @@ -358,7 +298,7 @@ version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b" dependencies = [ - "winapi 0.3.9", + "winapi", ] [[package]] @@ -411,7 +351,7 @@ checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" dependencies = [ "hermit-abi", "libc", - "winapi 0.3.9", + "winapi", ] [[package]] @@ -428,23 +368,23 @@ checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a" [[package]] name = "awc" -version = "2.0.3" +version = "3.0.0-beta.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b381e490e7b0cfc37ebc54079b0413d8093ef43d14a4e4747083f7fa47a9e691" +checksum = "da7225ad81fbad09ef56ccc61e0688abe8494a68722c5d0df5e2fc8b724a200b" dependencies = [ "actix-codec", "actix-http", "actix-rt", "actix-service", "base64 0.13.0", - "bytes 0.5.6", + "bytes", "cfg-if 1.0.0", "derive_more", "futures-core", "log", "mime", "percent-encoding", - "rand", + "rand 0.8.3", "rustls", "serde 1.0.123", "serde_json", @@ -453,9 +393,9 @@ dependencies = [ [[package]] name = "background-jobs" -version = "0.8.0" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c445edc4c6f8329385507bddd65491bfa3293f0a46a785119a14e526710ab320" +checksum = "1ce8953ce13a4bc359900fca168b64e47d5f0af1c02f2d45527221babbb73a27" dependencies = [ "background-jobs-actix", "background-jobs-core", @@ -463,9 +403,9 @@ dependencies = [ [[package]] name = "background-jobs-actix" -version = "0.8.1" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a0caa1f592d2bcfde1e3b38db933215320e2402e75dc60afbfedbf59b831a74" +checksum = "9e170bb20c0ca37c8bdd212753a0c51dbe570fcb13dba2d2c819241bc376fb70" dependencies = [ "actix-rt", "anyhow", @@ -475,7 +415,6 @@ dependencies = [ "chrono", "log", "num_cpus", - "rand", "serde 1.0.123", "serde_json", "thiserror", @@ -485,9 +424,9 @@ dependencies = [ [[package]] name = "background-jobs-core" -version = "0.8.0" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b68ae77ec4330e8ac4ea643ce2f25d1e8d81509eb659e671b18f68d91939d72d" +checksum = "81dd107acb20820c9f0f733f8fb3b9538b3ba6279f2bf46c2c1d73ffea704e16" dependencies = [ "actix-rt", "anyhow", @@ -502,20 +441,6 @@ dependencies = [ "uuid", ] -[[package]] -name = "backtrace" -version = "0.3.56" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d117600f438b1707d4e4ae15d3595657288f8235a0eb593e80ecc98ab34e1bc" -dependencies = [ - "addr2line", - "cfg-if 1.0.0", - "libc", - "miniz_oxide", - "object", - "rustc-demangle", -] - [[package]] name = "base-x" version = "0.2.8" @@ -593,12 +518,6 @@ version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ae44d1a3d5a19df61dd0c8beb138458ac2a53a7ac09eba97d55592540004306b" -[[package]] -name = "bytes" -version = "0.5.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e4cec68f03f32e44924783795810fa50a7035d8c8ebe78580ad7e6c703fba38" - [[package]] name = "bytes" version = "1.0.1" @@ -611,7 +530,7 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "90706ba19e97b90786e19dc0d5e2abd80008d99d4c0c5d1ad0b5e72cec7c494d" dependencies = [ - "bytes 1.0.1", + "bytes", ] [[package]] @@ -643,7 +562,7 @@ dependencies = [ "num-traits 0.2.14", "serde 1.0.123", "time 0.1.44", - "winapi 0.3.9", + "winapi", ] [[package]] @@ -694,12 +613,6 @@ dependencies = [ "version_check", ] -[[package]] -name = "copyless" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2df960f5d869b2dd8532793fde43eb5427cceb126c929747a26823ab0eeb536" - [[package]] name = "cpuid-bool" version = "0.1.2" @@ -787,18 +700,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 = "env_logger" version = "0.7.1" @@ -866,25 +767,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" @@ -983,7 +868,7 @@ dependencies = [ "futures-sink", "futures-task", "memchr", - "pin-project-lite 0.2.4", + "pin-project-lite", "pin-utils", "proc-macro-hack", "proc-macro-nested", @@ -1031,19 +916,13 @@ dependencies = [ "wasi 0.10.0+wasi-snapshot-preview1", ] -[[package]] -name = "gimli" -version = "0.23.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6503fe142514ca4799d4c26297c4248239fe8838d827db6bd6065c6ed29a6ce" - [[package]] name = "h2" -version = "0.2.7" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e4728fd124914ad25e99e3d15a9361a879f6620f63cb56bbb08f95abb97a535" +checksum = "6b67e66362108efccd8ac053abafc8b7a8d86a37e6e48fc4f6f7485eb5e9e6a5" dependencies = [ - "bytes 0.5.6", + "bytes", "fnv", "futures-core", "futures-sink", @@ -1063,7 +942,7 @@ version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d7afe4a420e3fe79967a00898cc1f4db7c8a49a9333a29f8a4bd76a253d5cd04" dependencies = [ - "ahash", + "ahash 0.4.7", ] [[package]] @@ -1084,17 +963,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" @@ -1115,7 +983,7 @@ version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7245cd7449cc792608c3c8a9eaf69bd4eabbabf802713748fd739c98b82f0747" dependencies = [ - "bytes 1.0.1", + "bytes", "fnv", "itoa", ] @@ -1132,14 +1000,13 @@ dependencies = [ [[package]] name = "http-signature-normalization-actix" -version = "0.4.1" +version = "0.5.0-beta.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57da981a97112479df3de7e88550c0de21dfbcc401efe832c8e5c7574ba1952e" +checksum = "00438ff5cf7272eeb323e9aa1a5f5bd7d8f7024330cfd79c54d598129c28e3c4" dependencies = [ "actix-web", "awc", - "base64 0.12.3", - "bytes 0.5.6", + "base64 0.13.0", "chrono", "futures", "http-signature-normalization", @@ -1199,27 +1066,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", - "widestring", - "winapi 0.3.9", - "winreg", -] - [[package]] name = "itertools" version = "0.9.0" @@ -1244,16 +1090,6 @@ dependencies = [ "wasm-bindgen", ] -[[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 = "language-tags" version = "0.2.2" @@ -1337,15 +1173,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 0.5.4", -] - [[package]] name = "mac" version = "0.1.1" @@ -1387,12 +1214,6 @@ dependencies = [ "xml5ever", ] -[[package]] -name = "match_cfg" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffbee8634e0d45d258acb448e7eaab3fce7a0a467395d4d9f228e3c1f01fb2e4" - [[package]] name = "matches" version = "0.1.8" @@ -1438,55 +1259,25 @@ dependencies = [ [[package]] name = "mio" -version = "0.6.23" +version = "0.7.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4afd66f5b91bf2a3bc13fad0e21caedac168ca4c707504e75585648ae80e4cc4" +checksum = "e50ae3f04d169fcc9bde0b547d1c205219b7157e07ded9c5aff03e0637cb3ed7" dependencies = [ - "cfg-if 0.1.10", - "fuchsia-zircon", - "fuchsia-zircon-sys", - "iovec", - "kernel32-sys", "libc", "log", "miow", - "net2", - "slab", - "winapi 0.2.8", -] - -[[package]] -name = "mio-uds" -version = "0.6.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "afcb699eb26d4332647cc848492bbc15eafb26f08d0304550d5aa1f612e066f0" -dependencies = [ - "iovec", - "libc", - "mio", + "ntapi", + "winapi", ] [[package]] name = "miow" -version = "0.2.2" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebd808424166322d4a38da87083bfddd3ac4c131334ed55856112eb06d46944d" +checksum = "5a33c1b55807fbed163481b5ba66db4b2fa6cde694a5027be10fb724206c5897" dependencies = [ - "kernel32-sys", - "net2", - "winapi 0.2.8", - "ws2_32-sys", -] - -[[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", + "socket2", + "winapi", ] [[package]] @@ -1517,6 +1308,15 @@ dependencies = [ "nom", ] +[[package]] +name = "ntapi" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f6bb902e437b6d86e03cce10a7e2af662292c5dfef23b65899ea3ac9354ad44" +dependencies = [ + "winapi", +] + [[package]] name = "num-bigint" version = "0.2.6" @@ -1552,7 +1352,7 @@ dependencies = [ "num-integer", "num-iter", "num-traits 0.2.14", - "rand", + "rand 0.7.3", "serde 1.0.123", "smallvec", "zeroize", @@ -1618,12 +1418,6 @@ dependencies = [ "libc", ] -[[package]] -name = "object" -version = "0.23.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9a7ab5d64814df0fe4a4b5ead45ed6c5f181ee3ff04ba344313a6c80446c5d4" - [[package]] name = "once_cell" version = "1.5.2" @@ -1658,7 +1452,7 @@ dependencies = [ "libc", "redox_syscall", "smallvec", - "winapi 0.3.9", + "winapi", ] [[package]] @@ -1704,7 +1498,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "17367f0cc86f2d25802b2c26ee58a7b23faeccf78a396094c13dced0d0182526" dependencies = [ "phf_shared", - "rand", + "rand 0.7.3", ] [[package]] @@ -1756,12 +1550,6 @@ dependencies = [ "syn", ] -[[package]] -name = "pin-project-lite" -version = "0.1.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c917123afa01924fc84bb20c4c03f004d9c38e5127e3c039bbf7f4b9c76a2f6b" - [[package]] name = "pin-project-lite" version = "0.2.4" @@ -1864,12 +1652,24 @@ checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03" dependencies = [ "getrandom 0.1.16", "libc", - "rand_chacha", - "rand_core", - "rand_hc", + "rand_chacha 0.2.2", + "rand_core 0.5.1", + "rand_hc 0.2.0", "rand_pcg", ] +[[package]] +name = "rand" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ef9e7e66b4468674bfcb0c81af8b7fa0bb154fa9f28eb840da5c447baeb8d7e" +dependencies = [ + "libc", + "rand_chacha 0.3.0", + "rand_core 0.6.1", + "rand_hc 0.3.0", +] + [[package]] name = "rand_chacha" version = "0.2.2" @@ -1877,7 +1677,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402" dependencies = [ "ppv-lite86", - "rand_core", + "rand_core 0.5.1", +] + +[[package]] +name = "rand_chacha" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e12735cf05c9e10bf21534da50a147b924d555dc7a547c42e6bb2d5b6017ae0d" +dependencies = [ + "ppv-lite86", + "rand_core 0.6.1", ] [[package]] @@ -1889,13 +1699,31 @@ dependencies = [ "getrandom 0.1.16", ] +[[package]] +name = "rand_core" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c026d7df8b298d90ccbbc5190bd04d85e159eaf5576caeacf8741da93ccbd2e5" +dependencies = [ + "getrandom 0.2.2", +] + [[package]] name = "rand_hc" version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c" dependencies = [ - "rand_core", + "rand_core 0.5.1", +] + +[[package]] +name = "rand_hc" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3190ef7066a446f2e7f42e239d161e905420ccab01eb967c9eb27d21b2322a73" +dependencies = [ + "rand_core 0.6.1", ] [[package]] @@ -1904,7 +1732,7 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "16abd0c1b639e9eb4d7c50c0b8100b0d0f849be2349829c740fe8e6eb4816429" dependencies = [ - "rand_core", + "rand_core 0.5.1", ] [[package]] @@ -1933,7 +1761,7 @@ checksum = "b5eb417147ba9860a96cfe72a0b93bf88fee1744b5636ec99ab20c1aa9376581" [[package]] name = "relay" -version = "0.2.5" +version = "0.2.6" dependencies = [ "activitystreams", "activitystreams-ext", @@ -1955,9 +1783,8 @@ dependencies = [ "log", "lru", "mime", - "num_cpus", "pretty_env_logger", - "rand", + "rand 0.7.3", "rsa", "rsa-magic-public-key", "rsa-pem", @@ -1971,16 +1798,6 @@ dependencies = [ "uuid", ] -[[package]] -name = "resolv-conf" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52e44394d2086d010551b14b53b1f24e31647570cd1deb0379e2c21b329aba00" -dependencies = [ - "hostname", - "quick-error", -] - [[package]] name = "ring" version = "0.16.20" @@ -1993,7 +1810,7 @@ dependencies = [ "spin", "untrusted", "web-sys", - "winapi 0.3.9", + "winapi", ] [[package]] @@ -2010,7 +1827,7 @@ dependencies = [ "num-iter", "num-traits 0.2.14", "pem", - "rand", + "rand 0.7.3", "sha2", "simple_asn1", "subtle", @@ -2060,7 +1877,7 @@ dependencies = [ "num-integer", "num-rational", "num-traits 0.2.14", - "rand", + "rand 0.7.3", ] [[package]] @@ -2084,12 +1901,6 @@ version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3e52c148ef37f8c375d49d5a73aa70713125b7f19095948a923f80afdeb22ec2" -[[package]] -name = "rustc-demangle" -version = "0.1.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e3bad0ee36814ca07d7968269dd4b7ec89ec2da10c4bb613928d3077083c232" - [[package]] name = "rustc_version" version = "0.2.3" @@ -2101,11 +1912,11 @@ dependencies = [ [[package]] name = "rustls" -version = "0.18.1" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d1126dcf58e93cee7d098dbda643b5f92ed724f1f6a63007c1116eed6700c81" +checksum = "064fd21ff87c6e87ed4506e68beb42459caa4a0e2eb144932e6776768556980b" dependencies = [ - "base64 0.12.3", + "base64 0.13.0", "log", "ring", "sct", @@ -2314,7 +2125,7 @@ checksum = "122e570113d28d773067fab24266b66753f6ea915758651696b6e35e49f88d6e" dependencies = [ "cfg-if 1.0.0", "libc", - "winapi 0.3.9", + "winapi", ] [[package]] @@ -2529,15 +2340,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" @@ -2546,7 +2348,7 @@ checksum = "6db9e6914ab8b1ae1c260a4ae7a49b6c5611b40328a735b21862567685e73255" dependencies = [ "libc", "wasi 0.10.0+wasi-snapshot-preview1", - "winapi 0.3.9", + "winapi", ] [[package]] @@ -2561,7 +2363,7 @@ dependencies = [ "stdweb", "time-macros", "version_check", - "winapi 0.3.9", + "winapi", ] [[package]] @@ -2604,32 +2406,28 @@ checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" [[package]] name = "tokio" -version = "0.2.25" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6703a273949a90131b290be1fe7b039d0fc884aa1935860dfcbe056f28cd8092" +checksum = "e8190d04c665ea9e6b6a0dc45523ade572c088d2e6566244c1122671dbf4ae3a" dependencies = [ - "bytes 0.5.6", - "fnv", - "futures-core", - "iovec", - "lazy_static", + "autocfg 1.0.1", + "bytes", "libc", "memchr", "mio", - "mio-uds", - "pin-project-lite 0.1.11", + "once_cell", + "parking_lot", + "pin-project-lite", "signal-hook-registry", - "slab", - "winapi 0.3.9", + "winapi", ] [[package]] name = "tokio-rustls" -version = "0.14.1" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e12831b255bcfa39dc0436b01e19fea231a37db570686c06ee72c423479f889a" +checksum = "bc6844de72e57df1980054b38be3a9f4702aba4858be64dd700181a8a6d0e1b6" dependencies = [ - "futures-core", "rustls", "tokio", "webpki", @@ -2637,15 +2435,15 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.3.1" +version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be8242891f2b6cbef26a2d7e8605133c2c554cd35b3e4948ea892d6d68436499" +checksum = "ebb7cb2f00c5ae8df755b252306272cd1790d39728363936e01827e11f0b017b" dependencies = [ - "bytes 0.5.6", + "bytes", "futures-core", "futures-sink", "log", - "pin-project-lite 0.1.11", + "pin-project-lite", "tokio", ] @@ -2665,8 +2463,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f7d40a22fd029e33300d8d89a5cc8ffce18bb7c587662f54629e94c9de5487f3" dependencies = [ "cfg-if 1.0.0", - "log", - "pin-project-lite 0.2.4", + "pin-project-lite", "tracing-core", ] @@ -2689,46 +2486,6 @@ dependencies = [ "tracing", ] -[[package]] -name = "trust-dns-proto" -version = "0.19.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53861fcb288a166aae4c508ae558ed18b53838db728d4d310aad08270a7d4c2b" -dependencies = [ - "async-trait", - "backtrace", - "enum-as-inner", - "futures", - "idna", - "lazy_static", - "log", - "rand", - "smallvec", - "thiserror", - "tokio", - "url", -] - -[[package]] -name = "trust-dns-resolver" -version = "0.19.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6759e8efc40465547b0dfce9500d733c65f969a4cbbfbe3ccf68daaa46ef179e" -dependencies = [ - "backtrace", - "cfg-if 0.1.10", - "futures", - "ipconfig", - "lazy_static", - "log", - "lru-cache", - "resolv-conf", - "smallvec", - "thiserror", - "tokio", - "trust-dns-proto", -] - [[package]] name = "typenum" version = "1.12.0" @@ -2906,25 +2663,13 @@ dependencies = [ [[package]] name = "webpki-roots" -version = "0.20.0" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f20dea7535251981a9670857150d571846545088359b28e4951d350bdaf179f" +checksum = "82015b7e0b8bad8185994674a13a93306bea76cf5a16c5a181382fd3a5ec2376" dependencies = [ "webpki", ] -[[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" @@ -2935,12 +2680,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" @@ -2953,7 +2692,7 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" dependencies = [ - "winapi 0.3.9", + "winapi", ] [[package]] @@ -2962,25 +2701,6 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" -[[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 = "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", -] - [[package]] name = "xml5ever" version = "0.16.1" diff --git a/Cargo.toml b/Cargo.toml index 283c9f5..4fa812c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "relay" description = "A simple activitypub relay" -version = "0.2.5" +version = "0.2.6" authors = ["asonix "] license-file = "LICENSE" readme = "README.md" @@ -14,26 +14,25 @@ build = "src/build.rs" [dependencies] anyhow = "1.0" -actix-rt = "1.1.1" -actix-web = { version = "3.3.2", default-features = false, features = ["rustls", "compress"] } -actix-webfinger = "0.3.0" -activitystreams = "0.7.0-alpha.9" +actix-rt = "2.0.2" +actix-web = { version = "4.0.0-beta.3", default-features = false, features = ["rustls", "compress"] } +actix-webfinger = "0.4.0-beta.2" +activitystreams = "0.7.0-alpha.10" activitystreams-ext = "0.1.0-alpha.2" ammonia = "3.1.0" async-mutex = "1.0.1" async-rwlock = "1.3.0" -background-jobs = "0.8.0" +background-jobs = "0.9.0" base64 = "0.13" chrono = "0.4.19" config = "0.10.1" dotenv = "0.15.0" env_logger = "0.8.2" -futures = "0.3.4" -http-signature-normalization-actix = { version = "0.4.0", default-features = false, features = ["sha-2"] } +futures = "0.3.12" +http-signature-normalization-actix = { version = "0.5.0-beta.1", default-features = false, features = ["sha-2"] } log = "0.4" lru = "0.6.0" mime = "0.3.16" -num_cpus = "1.12" pretty_env_logger = "0.4.0" rand = "0.7" rsa = "0.3" diff --git a/src/data/state.rs b/src/data/state.rs index 87b4938..e860dff 100644 --- a/src/data/state.rs +++ b/src/data/state.rs @@ -83,7 +83,7 @@ impl State { let mut rng = thread_rng(); RSAPrivateKey::new(&mut rng, 4096) }) - .await?; + .await??; db.update_private_key(&key).await?; diff --git a/src/db.rs b/src/db.rs index 2693ced..fc55b56 100644 --- a/src/db.rs +++ b/src/db.rs @@ -227,7 +227,7 @@ impl Db { { let inner = self.inner.clone(); - let t = actix_web::web::block(move || (f)(&inner)).await?; + let t = actix_web::web::block(move || (f)(&inner)).await??; Ok(t) } diff --git a/src/error.rs b/src/error.rs index b5d0e5a..6192698 100644 --- a/src/error.rs +++ b/src/error.rs @@ -131,22 +131,16 @@ impl ResponseError for MyError { fn error_response(&self) -> HttpResponse { HttpResponse::build(self.status_code()) - .header("Content-Type", "application/activity+json") - .json(serde_json::json!({ + .insert_header(("Content-Type", "application/activity+json")) + .json(&serde_json::json!({ "error": self.to_string(), })) } } -impl From> for MyError -where - T: Into + Debug, -{ - fn from(e: BlockingError) -> Self { - match e { - BlockingError::Error(e) => e.into(), - BlockingError::Canceled => MyError::Canceled, - } +impl From for MyError { + fn from(_: BlockingError) -> Self { + MyError::Canceled } } diff --git a/src/middleware/payload.rs b/src/middleware/payload.rs index 2a0d210..7db9ddb 100644 --- a/src/middleware/payload.rs +++ b/src/middleware/payload.rs @@ -32,13 +32,12 @@ impl ResponseError for DebugError { } } -impl Transform for DebugPayload +impl Transform for DebugPayload where - S: Service, + S: Service, S::Future: 'static, S::Error: 'static, { - type Request = S::Request; type Response = S::Response; type Error = S::Error; type InitError = (); @@ -50,22 +49,21 @@ where } } -impl Service for DebugPayloadMiddleware +impl Service for DebugPayloadMiddleware where - S: Service, + S: Service, S::Future: 'static, S::Error: 'static, { - type Request = S::Request; type Response = S::Response; type Error = S::Error; type Future = LocalBoxFuture<'static, Result>; - fn poll_ready(&mut self, cx: &mut Context<'_>) -> Poll> { + fn poll_ready(&self, cx: &mut Context<'_>) -> Poll> { self.1.poll_ready(cx) } - fn call(&mut self, mut req: S::Request) -> Self::Future { + fn call(&self, mut req: ServiceRequest) -> Self::Future { if self.0 && req.method() == Method::POST { let pl = req.take_payload(); req.set_payload(Payload::Stream(Box::pin(once( diff --git a/src/middleware/verifier.rs b/src/middleware/verifier.rs index 67261a0..26177ef 100644 --- a/src/middleware/verifier.rs +++ b/src/middleware/verifier.rs @@ -124,7 +124,7 @@ async fn do_verify( Ok(()) as Result<(), MyError> }) - .await?; + .await??; Ok(()) } diff --git a/src/requests.rs b/src/requests.rs index 8ab206c..100d86f 100644 --- a/src/requests.rs +++ b/src/requests.rs @@ -219,8 +219,8 @@ impl Requests { let client: Client = self.client.borrow().clone(); let res = client .get(url) - .header("Accept", accept) - .set(Date(SystemTime::now().into())) + .insert_header(("Accept", accept)) + .insert_header(Date(SystemTime::now().into())) .signature( self.config.clone(), self.key_id.clone(), @@ -276,8 +276,8 @@ impl Requests { let client: Client = self.client.borrow().clone(); let res = client .get(url) - .header("Accept", "*/*") - .set(Date(SystemTime::now().into())) + .insert_header(("Accept", "*/*")) + .insert_header(Date(SystemTime::now().into())) .signature( self.config.clone(), self.key_id.clone(), @@ -346,9 +346,9 @@ impl Requests { let client: Client = self.client.borrow().clone(); let res = client .post(inbox.as_str()) - .header("Accept", "application/activity+json") - .header("Content-Type", "application/activity+json") - .set(Date(SystemTime::now().into())) + .insert_header(("Accept", "application/activity+json")) + .insert_header(("Content-Type", "application/activity+json")) + .insert_header(Date(SystemTime::now().into())) .signature_with_digest( self.config.clone(), self.key_id.clone(), diff --git a/src/routes/media.rs b/src/routes/media.rs index 291cd74..b8041af 100644 --- a/src/routes/media.rs +++ b/src/routes/media.rs @@ -31,7 +31,7 @@ pub(crate) async fn route( fn cached(content_type: String, bytes: web::Bytes) -> HttpResponse { HttpResponse::Ok() - .set(CacheControl(vec![ + .insert_header(CacheControl(vec![ CacheDirective::Public, CacheDirective::MaxAge(60 * 60 * 24), CacheDirective::Extension("immutable".to_owned(), None), diff --git a/src/routes/mod.rs b/src/routes/mod.rs index e978774..d80a0a1 100644 --- a/src/routes/mod.rs +++ b/src/routes/mod.rs @@ -23,7 +23,7 @@ fn ok(item: T) -> HttpResponse where T: Serialize, { - HttpResponse::Ok().content_type(CONTENT_TYPE).json(item) + HttpResponse::Ok().content_type(CONTENT_TYPE).json(&item) } fn accepted(item: T) -> HttpResponse @@ -32,5 +32,5 @@ where { HttpResponse::Accepted() .content_type(CONTENT_TYPE) - .json(item) + .json(&item) } diff --git a/src/routes/nodeinfo.rs b/src/routes/nodeinfo.rs index f3a6ff4..181f3f3 100644 --- a/src/routes/nodeinfo.rs +++ b/src/routes/nodeinfo.rs @@ -14,7 +14,7 @@ pub(crate) async fn well_known(config: web::Data) -> impl Responder { kind: None, }], }) - .with_header("Content-Type", "application/jrd+json") + .with_header(("Content-Type", "application/jrd+json")) } #[derive(serde::Serialize)] diff --git a/src/routes/statics.rs b/src/routes/statics.rs index 6a74b48..1ca595f 100644 --- a/src/routes/statics.rs +++ b/src/routes/statics.rs @@ -7,12 +7,12 @@ use actix_web::{ pub(crate) async fn route(filename: web::Path) -> HttpResponse { if let Some(data) = StaticFile::get(&filename.into_inner()) { HttpResponse::Ok() - .set(CacheControl(vec![ + .insert_header(CacheControl(vec![ CacheDirective::Public, CacheDirective::MaxAge(60 * 60 * 24), CacheDirective::Extension("immutable".to_owned(), None), ])) - .set(ContentType(data.mime.clone())) + .insert_header(ContentType(data.mime.clone())) .body(data.content) } else { HttpResponse::NotFound()