diff --git a/Cargo.lock b/Cargo.lock index 2688a6d..ee05854 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4,10 +4,11 @@ version = 3 [[package]] name = "activitystreams" -version = "0.7.0-alpha.11" +version = "0.7.0-alpha.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a5da1d857ec9ca65ef8d0469cdd64e7b93b59d6cad26f1444bf84b62f3eadd4" +checksum = "6bcc3fbb392890a1942b1e5cca76cba93c8ed24b5ff50004cc3289afaab3f92c" dependencies = [ + "activitystreams-kinds", "chrono", "mime", "serde 1.0.130", @@ -28,16 +29,27 @@ dependencies = [ ] [[package]] -name = "actix-codec" -version = "0.4.0" +name = "activitystreams-kinds" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d5dbeb2d9e51344cb83ca7cc170f1217f9fe25bfc50160e6e200b5c31c1019a" +checksum = "0784e99afd032199d3ed70cefb8eb3a8d1aef15f7f2c4e68d033c4e12bb6079e" +dependencies = [ + "serde 1.0.130", + "url", +] + +[[package]] +name = "actix-codec" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13895df506faee81e423febbae3a33b27fca71831b96bb3d60adf16ebcfea952" dependencies = [ "bitflags", "bytes", "futures-core", "futures-sink", "log", + "memchr", "pin-project-lite", "tokio", "tokio-util", @@ -45,14 +57,13 @@ dependencies = [ [[package]] name = "actix-http" -version = "3.0.0-beta.11" +version = "3.0.0-beta.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9b510d35f13987537289f38bf136e7e702a5c87cc28760310cc459544f40afd" +checksum = "afaeb3d3fcb06b775ac62f05d580aae4afe5a149513333a73f688fdf26c06639" dependencies = [ "actix-codec", "actix-rt", "actix-service", - "actix-tls", "actix-utils", "ahash", "base64", @@ -72,14 +83,12 @@ dependencies = [ "local-channel", "log", "mime", - "once_cell", "percent-encoding", "pin-project", "pin-project-lite", "rand 0.8.4", "sha-1", "smallvec", - "tokio", ] [[package]] @@ -108,9 +117,9 @@ dependencies = [ [[package]] name = "actix-rt" -version = "2.3.0" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea360596a50aa9af459850737f99293e5cb9114ae831118cb6026b3bbc7583ad" +checksum = "05c2f80ce8d0c990941c7a7a931f69fd0701b76d521f8d36298edf59cd3fbf1f" dependencies = [ "actix-macros", "futures-core", @@ -119,17 +128,19 @@ dependencies = [ [[package]] name = "actix-server" -version = "2.0.0-beta.6" +version = "2.0.0-beta.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7367665785765b066ad16e1086d26a087f696bc7c42b6f93004ced6cfcf1eeca" +checksum = "411dd3296dd317ff5eff50baa13f31923ea40ec855dd7f2d3ed8639948f0195f" dependencies = [ "actix-rt", "actix-service", "actix-utils", "futures-core", + "futures-util", "log", "mio", "num_cpus", + "socket2", "tokio", ] @@ -146,9 +157,9 @@ dependencies = [ [[package]] name = "actix-tls" -version = "3.0.0-beta.7" +version = "3.0.0-beta.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4af84e13e4600829858a3e68079be710d1ada461431e1e4c5ae663479ea0a3c" +checksum = "53d4739910b49c77ea88308a9fbfae544524b34884161527f9978c0102052da0" dependencies = [ "actix-codec", "actix-rt", @@ -158,6 +169,7 @@ dependencies = [ "futures-core", "http", "log", + "pin-project-lite", "tokio-rustls", "tokio-util", "webpki-roots", @@ -175,9 +187,9 @@ dependencies = [ [[package]] name = "actix-web" -version = "4.0.0-beta.10" +version = "4.0.0-beta.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8a4b9d00991d8da308070a5cea7f1bbaa153a91c3fb5567937d99b9f46d601e" +checksum = "e85aa9bb018d83a0db70f557ba0cde9c6170a5d1de4fede02e377f68c1ac5aa9" dependencies = [ "actix-codec", "actix-http", @@ -209,7 +221,7 @@ dependencies = [ "serde_urlencoded", "smallvec", "socket2", - "time 0.3.4", + "time 0.3.5", "url", ] @@ -227,9 +239,9 @@ dependencies = [ [[package]] name = "actix-webfinger" -version = "0.4.0-beta.3" +version = "0.4.0-beta.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0776e8d8c7ebd166d38eae3614d5a649754c76e97014b1843fd4a3be848422c9" +checksum = "e12155bbdd3f50992e053ef1293ac02fdd81580d96518355643be5b495ded659" dependencies = [ "actix-rt", "actix-web", @@ -294,9 +306,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.44" +version = "1.0.48" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61604a8f862e1d5c3229fdd78f8b02c68dcf73a4c4b05fd636d12240aaa242c1" +checksum = "62e1f47f7dc0422027a4e370dd4548d4d66b26782e513e98dca1e689e058a80e" [[package]] name = "arrayvec" @@ -380,19 +392,25 @@ checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a" [[package]] name = "awc" -version = "3.0.0-beta.9" +version = "3.0.0-beta.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "774d647a23d085bf35c83b6da5a6bd966fdc4af92ffce865befa9f3a8cf73015" +checksum = "f122bed94dc044b13a991b292ff6a3cde4c3fba890a4e3dbbec0f2eedc607f0a" dependencies = [ "actix-codec", "actix-http", "actix-rt", "actix-service", + "actix-tls", + "actix-utils", + "ahash", "base64", "bytes", "cfg-if", "derive_more", "futures-core", + "futures-util", + "h2", + "http", "itoa", "log", "mime", @@ -403,12 +421,14 @@ dependencies = [ "serde 1.0.130", "serde_json", "serde_urlencoded", + "tokio", ] [[package]] name = "background-jobs" version = "0.11.0" -source = "git+https://git.asonix.dog/asonix/background-jobs?branch=main#70ab459ae91d26a702c61b3d35d702dfbf0d61b6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77f4508c6c5b5cfc6c18d43d0ba6ecda339710206854da9e1c9ac9dfb7e3eb6f" dependencies = [ "background-jobs-actix", "background-jobs-core", @@ -417,7 +437,8 @@ dependencies = [ [[package]] name = "background-jobs-actix" version = "0.11.0" -source = "git+https://git.asonix.dog/asonix/background-jobs?branch=main#70ab459ae91d26a702c61b3d35d702dfbf0d61b6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5dabf6a2204fe034db7910a38f8e2d183fe24eb92abd4c0aaca59f8cacf4e48b" dependencies = [ "actix-rt", "anyhow", @@ -437,8 +458,9 @@ dependencies = [ [[package]] name = "background-jobs-core" -version = "0.10.0" -source = "git+https://git.asonix.dog/asonix/background-jobs?branch=main#70ab459ae91d26a702c61b3d35d702dfbf0d61b6" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "efad634cd0af64d5469cb30948b01e7b760b2c4eef278bd5a2d74a9aa123aa73" dependencies = [ "actix-rt", "anyhow", @@ -473,9 +495,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitvec" -version = "0.19.5" +version = "0.19.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8942c8d352ae1838c9dda0b0ca2ab657696ef2232a20147cf1b30ae1a9cb4321" +checksum = "55f93d0ef3363c364d5976646a38f04cf67cfe1d4c8d160cdea02cab2c116b33" dependencies = [ "funty", "radium", @@ -527,9 +549,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.71" +version = "1.0.72" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79c2681d6594606957bbb8631c4b90a7fcaaa72cdb714743a437b156d6a7eedd" +checksum = "22a9137b95ea06864e018375b72adfb7db6e6f68cfc8df5a04d00288050485ee" [[package]] name = "cfg-if" @@ -1026,15 +1048,15 @@ checksum = "acd94fdbe1d4ff688b67b04eee2e17bd50995534a61539e45adfefb45e5e5503" [[package]] name = "httpdate" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6456b8a6c8f33fee7d958fcd1b60d55b11940a79e63ae87013e6d22e26034440" +checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421" [[package]] name = "hyper" -version = "0.14.14" +version = "0.14.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b91bb1f221b6ea1f1e4371216b70f40748774c2fb5971b450c07773fb92d26b" +checksum = "436ec0091e4f20e655156a30a0df3770fe2900aa301e548e08446ec794b6953c" dependencies = [ "bytes", "futures-channel", @@ -1150,9 +1172,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.105" +version = "0.2.108" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "869d572136620d55835903746bcb5cdc54cb2851fd0aeec53220b4bb65ef3013" +checksum = "8521a1b57e76b1ec69af7599e75e38e7b7fad6610f037db8c79b127201b5d119" [[package]] name = "libm" @@ -1371,9 +1393,9 @@ dependencies = [ [[package]] name = "num-bigint" -version = "0.4.2" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74e768dff5fb39a41b3bcd30bb25cf989706c90d028d1ad71971987aa309d535" +checksum = "f93ab6289c7b344a8a9f60f88d80aa20032336fe78da341afc91c8a2341fc75f" dependencies = [ "autocfg 1.0.1", "num-integer", @@ -1535,15 +1557,15 @@ dependencies = [ [[package]] name = "paste" -version = "1.0.5" +version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acbf547ad0c65e31259204bd90935776d1c693cec2f4ff7abb7a1bbbd40dfe58" +checksum = "0744126afe1a6dd7f394cb50a716dbe086cb06e255e53d8d0185d82828358fb5" [[package]] name = "pem-rfc7468" -version = "0.2.3" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f22eb0e3c593294a99e9ff4b24cf6b752d43f193aa4415fe5077c159996d497" +checksum = "84e93a3b1cc0510b03020f33f21e62acdde3dcaef432edc95bea377fbd4c2cd4" dependencies = [ "base64ct", ] @@ -2067,9 +2089,9 @@ dependencies = [ [[package]] name = "rustls" -version = "0.20.0" +version = "0.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b5ac6078ca424dc1d3ae2328526a76787fecc7f8011f520e3276730e711fc95" +checksum = "d37e5e2290f3e040b594b1a9e04377c2c671f1a1cfd9bfdef82106ac1c113f84" dependencies = [ "log", "ring", @@ -2157,9 +2179,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.68" +version = "1.0.71" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f690853975602e1bfe1ccbf50504d67174e3bcf340f23b5ea9992e0587a52d8" +checksum = "063bf466a64011ac24040a49009724ee60a57da1b437617ceb32e53ad61bfb19" dependencies = [ "itoa", "ryu", @@ -2454,9 +2476,9 @@ dependencies = [ [[package]] name = "time" -version = "0.3.4" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99beeb0daeac2bd1e86ac2c21caddecb244b39a093594da1a661ec2060c7aedd" +checksum = "41effe7cfa8af36f439fac33861b66b049edc6f9a32331e2312660529c1c24ad" dependencies = [ "itoa", "libc", @@ -2464,9 +2486,9 @@ dependencies = [ [[package]] name = "tinyvec" -version = "1.5.0" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f83b2a3d4d9091d0abd7eba4dc2710b1718583bd4d8992e2190720ea38f391f7" +checksum = "2c1c1d5a42b6245520c249549ec267180beaffcc0615401ac8e31853d4b6d8d2" dependencies = [ "tinyvec_macros", ] @@ -2479,9 +2501,9 @@ checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" [[package]] name = "tokio" -version = "1.13.0" +version = "1.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "588b2d10a336da58d877567cd8fb8a14b463e2104910f8132cd054b4b96e29ee" +checksum = "70e992e41e0d2fb9f755b37446f20900f64446ef54874f40a60c78f021ac6144" dependencies = [ "autocfg 1.0.1", "bytes", @@ -2509,9 +2531,9 @@ dependencies = [ [[package]] name = "tokio-macros" -version = "1.5.1" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "114383b041aa6212c579467afa0075fbbdd0718de036100bc0ba7961d8cb9095" +checksum = "c9efc1aba077437943f7515666aa2b882dfabfbfdf89c819ea75a8d6e9eaba5e" dependencies = [ "proc-macro2", "quote", @@ -2520,9 +2542,9 @@ dependencies = [ [[package]] name = "tokio-rustls" -version = "0.23.0" +version = "0.23.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d49194a46b06a69f2498a34a595ab4a9c1babd2642ffa3dbccf6c6778d1426f2" +checksum = "4baa378e417d780beff82bf54ceb0d195193ea6a00c14e22359e7f39456b5689" dependencies = [ "rustls", "tokio", @@ -2608,9 +2630,9 @@ dependencies = [ [[package]] name = "tower" -version = "0.4.10" +version = "0.4.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c00e500fff5fa1131c866b246041a6bf96da9c965f8fe4128cb1421f23e93c00" +checksum = "5651b5f6860a99bd1adb59dbfe1db8beb433e73709d9032b413a77e2fb7c066a" dependencies = [ "futures-core", "futures-util", @@ -2654,9 +2676,9 @@ dependencies = [ [[package]] name = "tracing-actix-web" -version = "0.5.0-beta.1" +version = "0.5.0-beta.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42294d195afb0ae79ea237040399179a8b5050b454c210fe4566ed383c6f0c17" +checksum = "2cac34827e06f78b69523b2fbe5b2dd4dfc75940b2ea5ba37e4fa2a25d4a0edf" dependencies = [ "actix-web", "pin-project", @@ -2678,9 +2700,9 @@ dependencies = [ [[package]] name = "tracing-awc" -version = "0.1.0-beta.7" +version = "0.1.0-beta.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ad0e6191ec442bb569839502f12a1701cf31c87eb301104a3908bded5b9647e" +checksum = "ebd4b847e7dda81d94259935b8abcb7ddc7946ae99f11e4e6496cd32c237a304" dependencies = [ "actix-http", "awc", @@ -2748,9 +2770,9 @@ dependencies = [ [[package]] name = "tracing-subscriber" -version = "0.3.1" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80a4ddde70311d8da398062ecf6fc2c309337de6b0f77d6c27aff8d53f6fca52" +checksum = "7507ec620f809cdf07cccb5bc57b13069a88031b795efd4079b1c71b66c1613d" dependencies = [ "ansi_term 0.12.1", "lazy_static", @@ -3029,18 +3051,18 @@ dependencies = [ [[package]] name = "zeroize" -version = "1.4.2" +version = "1.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf68b08513768deaa790264a7fac27a58cbf2705cfcdc9448362229217d7e970" +checksum = "d68d9dcec5f9b43a30d38c49f91dfedfaac384cb8f085faca366c26207dd1619" dependencies = [ "zeroize_derive", ] [[package]] name = "zeroize_derive" -version = "1.2.0" +version = "1.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bdff2024a851a322b08f179173ae2ba620445aef1e838f0c196820eade4ae0c7" +checksum = "65f1a51723ec88c66d5d1fe80c841f17f63587d6691901d66be9bec6c3b51f73" dependencies = [ "proc-macro2", "quote", diff --git a/Cargo.toml b/Cargo.toml index c6ff14c..082fe5d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -52,8 +52,6 @@ uuid = { version = "0.8", features = ["v4", "serde"] } [dependencies.background-jobs] version = "0.11.0" -git = "https://git.asonix.dog/asonix/background-jobs" -branch = "main" default-features = false features = [ "background-jobs-actix", diff --git a/src/middleware/webfinger.rs b/src/middleware/webfinger.rs index 1ed8056..c9ccb77 100644 --- a/src/middleware/webfinger.rs +++ b/src/middleware/webfinger.rs @@ -18,14 +18,22 @@ impl Resolver for RelayResolver { type Error = RelayError; fn find( + scheme: Option<&str>, account: &str, domain: &str, (state, config): Self::State, ) -> LocalBoxFuture<'static, Result, Self::Error>> { let domain = domain.to_owned(); let account = account.to_owned(); + let scheme = scheme.map(|s| s.to_owned()); let fut = async move { + if let Some(scheme) = scheme { + if scheme != "acct:" { + return Ok(None); + } + } + if domain != config.hostname() { return Ok(None); }