From b9761dfd9f7578cfa0a80d154b84cee49dcf849e Mon Sep 17 00:00:00 2001 From: "Aode (lion)" Date: Sun, 24 Oct 2021 20:45:38 -0500 Subject: [PATCH 1/5] Update tracing subscriber --- Cargo.lock | 62 ++++++++++++++++++++---------------------------------- Cargo.toml | 7 +++--- 2 files changed, 27 insertions(+), 42 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index bdfecd1..466e034 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -408,7 +408,7 @@ dependencies = [ [[package]] name = "background-jobs" version = "0.11.0" -source = "git+https://git.asonix.dog/asonix/background-jobs?branch=main#e6ecf3aa677c677fce54cabfbbb2b7d57a522faa" +source = "git+https://git.asonix.dog/asonix/background-jobs?branch=main#7e1e89e77701854d3a983f9c82fc255270b6823f" dependencies = [ "background-jobs-actix", "background-jobs-core", @@ -417,7 +417,7 @@ dependencies = [ [[package]] name = "background-jobs-actix" version = "0.11.0" -source = "git+https://git.asonix.dog/asonix/background-jobs?branch=main#e6ecf3aa677c677fce54cabfbbb2b7d57a522faa" +source = "git+https://git.asonix.dog/asonix/background-jobs?branch=main#7e1e89e77701854d3a983f9c82fc255270b6823f" dependencies = [ "actix-rt", "anyhow", @@ -438,7 +438,7 @@ dependencies = [ [[package]] name = "background-jobs-core" version = "0.10.0" -source = "git+https://git.asonix.dog/asonix/background-jobs?branch=main#e6ecf3aa677c677fce54cabfbbb2b7d57a522faa" +source = "git+https://git.asonix.dog/asonix/background-jobs?branch=main#7e1e89e77701854d3a983f9c82fc255270b6823f" dependencies = [ "actix-rt", "anyhow", @@ -906,9 +906,9 @@ dependencies = [ [[package]] name = "h2" -version = "0.3.6" +version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c06815895acec637cd6ed6e9662c935b866d20a106f8361892893a7d9234964" +checksum = "7fd819562fcebdac5afc5c113c3ec36f902840b70fd4fc458799c8ce4607ae55" dependencies = [ "bytes", "fnv", @@ -977,9 +977,9 @@ dependencies = [ [[package]] name = "http-body" -version = "0.4.3" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "399c583b2979440c60be0821a6199eca73bc3c8dcd9d070d75ac726e2c6186e5" +checksum = "1ff4f84919677303da5f147645dbea6b1881f368d03ac84e1dc09031ebd7b2c6" dependencies = [ "bytes", "http", @@ -989,8 +989,7 @@ dependencies = [ [[package]] name = "http-signature-normalization" version = "0.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07499ccdca5530f8dca2c295aa4554afefa617879d381466016ba12bc60a09e9" +source = "git+https://git.asonix.dog/asonix/http-signature-normalization#200c298de07ea95bc9f96d0bdd33bd4fe904d56a" dependencies = [ "chrono", "thiserror", @@ -999,8 +998,7 @@ dependencies = [ [[package]] name = "http-signature-normalization-actix" version = "0.5.0-beta.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da4e0c341fc01ddd0e0d1557ec6a196d3de5337da93b62c5b15e88853def05f8" +source = "git+https://git.asonix.dog/asonix/http-signature-normalization#200c298de07ea95bc9f96d0bdd33bd4fe904d56a" dependencies = [ "actix-http", "actix-rt", @@ -1032,9 +1030,9 @@ checksum = "6456b8a6c8f33fee7d958fcd1b60d55b11940a79e63ae87013e6d22e26034440" [[package]] name = "hyper" -version = "0.14.13" +version = "0.14.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15d1cfb9e4f68655fa04c01f59edb405b6074a0f7118ea881e5026e4a1cd8593" +checksum = "2b91bb1f221b6ea1f1e4371216b70f40748774c2fb5971b450c07773fb92d26b" dependencies = [ "bytes", "futures-channel", @@ -1150,9 +1148,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.104" +version = "0.2.105" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b2f96d100e1cf1929e7719b7edb3b90ab5298072638fccd77be9ce942ecdfce" +checksum = "869d572136620d55835903746bcb5cdc54cb2851fd0aeec53220b4bb65ef3013" [[package]] name = "libm" @@ -1251,9 +1249,9 @@ dependencies = [ [[package]] name = "matchers" -version = "0.0.1" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f099785f7595cc4b4553a174ce30dd7589ef93391ff414dbb67f62392b9e0ce1" +checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" dependencies = [ "regex-automata", ] @@ -1669,9 +1667,9 @@ dependencies = [ [[package]] name = "ppv-lite86" -version = "0.2.14" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3ca011bd0129ff4ae15cd04c4eef202cadf6c51c21e47aba319b4e0501db741" +checksum = "ed0cfbc8191465bed66e1718596ee0b0b35d5ee1f41c5df2189d0fe8bde535ba" [[package]] name = "precomputed-hash" @@ -2704,9 +2702,9 @@ dependencies = [ [[package]] name = "tracing-error" -version = "0.1.2" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4d7c0b83d4a500748fa5879461652b361edf5c9d51ede2a2ac03875ca185e24" +checksum = "d686ec1c0f384b1277f097b2f279a2ecc11afe8c133c1aabf036a27cb4cd206e" dependencies = [ "tracing", "tracing-subscriber", @@ -2735,9 +2733,9 @@ dependencies = [ [[package]] name = "tracing-opentelemetry" -version = "0.15.0" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "599f388ecb26b28d9c1b2e4437ae019a7b336018b45ed911458cd9ebf91129f6" +checksum = "3ffbf13a0f8b054a4e59df3a173b818e9c6177c02789871f2073977fd0062076" dependencies = [ "opentelemetry", "tracing", @@ -2746,36 +2744,22 @@ dependencies = [ "tracing-subscriber", ] -[[package]] -name = "tracing-serde" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb65ea441fbb84f9f6748fd496cf7f63ec9af5bca94dd86456978d055e8eb28b" -dependencies = [ - "serde 1.0.130", - "tracing-core", -] - [[package]] name = "tracing-subscriber" -version = "0.2.25" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e0d2eaa99c3c2e41547cfa109e910a68ea03823cccad4a0525dcbc9b01e8c71" +checksum = "5cf865b5ddc38e503a29c41c4843e616a73028ae18c637bc3eb2afaef4909c84" dependencies = [ "ansi_term 0.12.1", - "chrono", "lazy_static", "matchers", "regex", - "serde 1.0.130", - "serde_json", "sharded-slab", "smallvec", "thread_local", "tracing", "tracing-core", "tracing-log", - "tracing-serde", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index 742fe0e..0b35c67 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -43,11 +43,11 @@ structopt = "0.3.12" thiserror = "1.0" tracing = "0.1" tracing-awc = { version = "0.1.0-beta.6" } -tracing-error = "0.1" +tracing-error = "0.2" tracing-futures = "0.2" tracing-log = "0.1" -tracing-opentelemetry = "0.15" -tracing-subscriber = { version = "0.2", features = ["ansi", "fmt"] } +tracing-opentelemetry = "0.16" +tracing-subscriber = { version = "0.3", features = ["ansi", "env-filter", "fmt"] } uuid = { version = "0.8", features = ["v4", "serde"] } [dependencies.background-jobs] @@ -64,6 +64,7 @@ features = [ version = "0.5.0-beta.9" default-features = false features = ["client", "server", "sha-2"] +git = "https://git.asonix.dog/asonix/http-signature-normalization" [dependencies.tracing-actix-web] version = "0.4.0-beta.15" From 68bade2129f9f1ad6ae644c235ac529afbe8386d Mon Sep 17 00:00:00 2001 From: "Aode (lion)" Date: Wed, 27 Oct 2021 11:44:34 -0500 Subject: [PATCH 2/5] Bump deps --- Cargo.lock | 36 +++++++++++++++++++----------------- Cargo.toml | 9 ++++----- 2 files changed, 23 insertions(+), 22 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 466e034..6b56951 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -209,7 +209,7 @@ dependencies = [ "serde_urlencoded", "smallvec", "socket2", - "time 0.3.3", + "time 0.3.4", "url", ] @@ -989,7 +989,8 @@ dependencies = [ [[package]] name = "http-signature-normalization" version = "0.5.4" -source = "git+https://git.asonix.dog/asonix/http-signature-normalization#200c298de07ea95bc9f96d0bdd33bd4fe904d56a" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07499ccdca5530f8dca2c295aa4554afefa617879d381466016ba12bc60a09e9" dependencies = [ "chrono", "thiserror", @@ -997,8 +998,9 @@ dependencies = [ [[package]] name = "http-signature-normalization-actix" -version = "0.5.0-beta.11" -source = "git+https://git.asonix.dog/asonix/http-signature-normalization#200c298de07ea95bc9f96d0bdd33bd4fe904d56a" +version = "0.5.0-beta.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91a487879a4f765fb8c7d070f75ab0d5f5c744fc52443d8e7df99d32829dfe55" dependencies = [ "actix-http", "actix-rt", @@ -1715,9 +1717,9 @@ checksum = "bc881b2c22681370c6a780e47af9840ef841837bc98118431d4e1868bd0c1086" [[package]] name = "proc-macro2" -version = "1.0.30" +version = "1.0.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edc3358ebc67bc8b7fa0c007f945b0b18226f78437d61bec735a9eb96b61ee70" +checksum = "ba508cc11742c0dc5c1659771673afbab7a0efab23aa17e854cbab0837ed0b43" dependencies = [ "unicode-xid", ] @@ -1916,7 +1918,7 @@ checksum = "f497285884f3fcff424ffc933e56d7cbca511def0c9831a7f9b5f6153e3cc89b" [[package]] name = "relay" -version = "0.3.6" +version = "0.3.7" dependencies = [ "activitystreams", "activitystreams-ext", @@ -2349,9 +2351,9 @@ checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" [[package]] name = "syn" -version = "1.0.80" +version = "1.0.81" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d010a1623fbd906d51d650a9916aaefc05ffa0e4053ff7fe601167f3e715d194" +checksum = "f2afee18b8beb5a596ecb4a2dce128c719b4ba399d34126b9e4396e3f9860966" dependencies = [ "proc-macro2", "quote", @@ -2452,9 +2454,9 @@ dependencies = [ [[package]] name = "time" -version = "0.3.3" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cde1cf55178e0293453ba2cca0d5f8392a922e52aa958aee9c28ed02becc6d03" +checksum = "99beeb0daeac2bd1e86ac2c21caddecb244b39a093594da1a661ec2060c7aedd" dependencies = [ "itoa", "libc", @@ -2652,9 +2654,9 @@ dependencies = [ [[package]] name = "tracing-actix-web" -version = "0.4.0-beta.15" +version = "0.5.0-beta.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5d25e8e2381e03c36530607daea5663488a21a1b75db0431cf9b961e9ca8a02" +checksum = "42294d195afb0ae79ea237040399179a8b5050b454c210fe4566ed383c6f0c17" dependencies = [ "actix-web", "pin-project", @@ -2676,9 +2678,9 @@ dependencies = [ [[package]] name = "tracing-awc" -version = "0.1.0-beta.6" +version = "0.1.0-beta.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccf90c391b9e519449554c325aea5ebfce3d0b525f193428250b0cb5389d6e13" +checksum = "5ad0e6191ec442bb569839502f12a1701cf31c87eb301104a3908bded5b9647e" dependencies = [ "actix-http", "awc", @@ -2746,9 +2748,9 @@ dependencies = [ [[package]] name = "tracing-subscriber" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cf865b5ddc38e503a29c41c4843e616a73028ae18c637bc3eb2afaef4909c84" +checksum = "80a4ddde70311d8da398062ecf6fc2c309337de6b0f77d6c27aff8d53f6fca52" dependencies = [ "ansi_term 0.12.1", "lazy_static", diff --git a/Cargo.toml b/Cargo.toml index 0b35c67..c6ff14c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "relay" description = "A simple activitypub relay" -version = "0.3.6" +version = "0.3.7" authors = ["asonix "] license-file = "LICENSE" readme = "README.md" @@ -42,7 +42,7 @@ sled = "0.34.6" structopt = "0.3.12" thiserror = "1.0" tracing = "0.1" -tracing-awc = { version = "0.1.0-beta.6" } +tracing-awc = "0.1.0-beta.7" tracing-error = "0.2" tracing-futures = "0.2" tracing-log = "0.1" @@ -61,13 +61,12 @@ features = [ ] [dependencies.http-signature-normalization-actix] -version = "0.5.0-beta.9" +version = "0.5.0-beta.11" default-features = false features = ["client", "server", "sha-2"] -git = "https://git.asonix.dog/asonix/http-signature-normalization" [dependencies.tracing-actix-web] -version = "0.4.0-beta.15" +version = "0.5.0-beta.1" [build-dependencies] anyhow = "1.0" From e7bbf3454b8d9bf1ac7a70a424ac9bf6a6771e0f Mon Sep 17 00:00:00 2001 From: "Aode (lion)" Date: Wed, 27 Oct 2021 12:21:41 -0500 Subject: [PATCH 3/5] Version v0.3.7 --- docker/prod/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/prod/docker-compose.yml b/docker/prod/docker-compose.yml index 52125b7..8c62706 100644 --- a/docker/prod/docker-compose.yml +++ b/docker/prod/docker-compose.yml @@ -2,7 +2,7 @@ version: '3.3' services: relay: - image: asonix/relay:v0.3.5 + image: asonix/relay:v0.3.7 ports: - "8079:8079" restart: always From 8021dca1dd3009c216d9aa093429349ef98662f4 Mon Sep 17 00:00:00 2001 From: "Aode (lion)" Date: Fri, 29 Oct 2021 19:26:57 -0500 Subject: [PATCH 4/5] Update background jobs --- Cargo.lock | 22 +++++++++++----------- src/jobs/mod.rs | 23 ++++++++--------------- src/main.rs | 6 ++---- 3 files changed, 21 insertions(+), 30 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 6b56951..2688a6d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -408,7 +408,7 @@ dependencies = [ [[package]] name = "background-jobs" version = "0.11.0" -source = "git+https://git.asonix.dog/asonix/background-jobs?branch=main#7e1e89e77701854d3a983f9c82fc255270b6823f" +source = "git+https://git.asonix.dog/asonix/background-jobs?branch=main#70ab459ae91d26a702c61b3d35d702dfbf0d61b6" dependencies = [ "background-jobs-actix", "background-jobs-core", @@ -417,7 +417,7 @@ dependencies = [ [[package]] name = "background-jobs-actix" version = "0.11.0" -source = "git+https://git.asonix.dog/asonix/background-jobs?branch=main#7e1e89e77701854d3a983f9c82fc255270b6823f" +source = "git+https://git.asonix.dog/asonix/background-jobs?branch=main#70ab459ae91d26a702c61b3d35d702dfbf0d61b6" dependencies = [ "actix-rt", "anyhow", @@ -438,7 +438,7 @@ dependencies = [ [[package]] name = "background-jobs-core" version = "0.10.0" -source = "git+https://git.asonix.dog/asonix/background-jobs?branch=main#7e1e89e77701854d3a983f9c82fc255270b6823f" +source = "git+https://git.asonix.dog/asonix/background-jobs?branch=main#70ab459ae91d26a702c61b3d35d702dfbf0d61b6" dependencies = [ "actix-rt", "anyhow", @@ -2479,9 +2479,9 @@ checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" [[package]] name = "tokio" -version = "1.12.0" +version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2c2416fdedca8443ae44b4527de1ea633af61d8f7169ffa6e72c5b53d24efcc" +checksum = "588b2d10a336da58d877567cd8fb8a14b463e2104910f8132cd054b4b96e29ee" dependencies = [ "autocfg 1.0.1", "bytes", @@ -2509,9 +2509,9 @@ dependencies = [ [[package]] name = "tokio-macros" -version = "1.5.0" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2dd85aeaba7b68df939bd357c6afb36c87951be9e80bf9c859f2fc3e9fca0fd" +checksum = "114383b041aa6212c579467afa0075fbbdd0718de036100bc0ba7961d8cb9095" dependencies = [ "proc-macro2", "quote", @@ -2531,9 +2531,9 @@ dependencies = [ [[package]] name = "tokio-stream" -version = "0.1.7" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b2f3f698253f03119ac0102beaa64f67a67e08074d03a22d18784104543727f" +checksum = "50145484efff8818b5ccd256697f36863f587da82cf8b409c53adf1e840798e3" dependencies = [ "futures-core", "pin-project-lite", @@ -2542,9 +2542,9 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.6.8" +version = "0.6.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08d3725d3efa29485e87311c5b699de63cde14b00ed4d256b8318aa30ca452cd" +checksum = "9e99e1983e5d376cd8eb4b66604d2e99e79f5bd988c3055891dcd8c9e2604cc0" dependencies = [ "bytes", "futures-core", diff --git a/src/jobs/mod.rs b/src/jobs/mod.rs index b059d9e..b46a85e 100644 --- a/src/jobs/mod.rs +++ b/src/jobs/mod.rs @@ -23,30 +23,19 @@ use crate::{ use background_jobs::{memory_storage::Storage, Job, QueueHandle, WorkerConfig}; use std::time::Duration; -pub(crate) fn create_server() -> JobServer { - let shared = background_jobs::create_server(Storage::new()); - - shared.every(Duration::from_secs(60 * 5), Listeners); - - JobServer::new(shared) -} - pub(crate) fn create_workers( db: Db, state: State, actors: ActorCache, - job_server: JobServer, media: MediaCache, config: Config, -) { - let remote_handle = job_server.remote.clone(); - - WorkerConfig::new(move || { +) -> JobServer { + let queue_handle = WorkerConfig::new(Storage::new(), move |queue_handle| { JobState::new( db.clone(), state.clone(), actors.clone(), - job_server.clone(), + JobServer::new(queue_handle), media.clone(), config.clone(), ) @@ -64,7 +53,11 @@ pub(crate) fn create_workers( .register::() .register::() .set_worker_count("default", 16) - .start(remote_handle); + .start(); + + queue_handle.every(Duration::from_secs(60 * 5), Listeners); + + JobServer::new(queue_handle) } #[derive(Clone, Debug)] diff --git a/src/main.rs b/src/main.rs index bdc17ca..3b36445 100644 --- a/src/main.rs +++ b/src/main.rs @@ -23,7 +23,7 @@ use self::{ config::Config, data::{ActorCache, MediaCache, State}, db::Db, - jobs::{create_server, create_workers}, + jobs::create_workers, middleware::{DebugPayload, RelayResolver}, routes::{actor, inbox, index, nodeinfo, nodeinfo_meta, statics}, }; @@ -96,13 +96,11 @@ async fn main() -> Result<(), anyhow::Error> { let media = MediaCache::new(db.clone()); let state = State::build(db.clone()).await?; let actors = ActorCache::new(db.clone()); - let job_server = create_server(); - create_workers( + let job_server = create_workers( db.clone(), state.clone(), actors.clone(), - job_server.clone(), media.clone(), config.clone(), ); From e1c61d5b5fbb6482eff2e519b862119dfc8d3c8f Mon Sep 17 00:00:00 2001 From: "Aode (lion)" Date: Mon, 22 Nov 2021 18:38:58 -0600 Subject: [PATCH 5/5] Update deps --- Cargo.lock | 164 ++++++++++++++++++++---------------- Cargo.toml | 2 - src/middleware/webfinger.rs | 8 ++ 3 files changed, 101 insertions(+), 73 deletions(-) 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); }