From 0ffcb74de65ac315534ce5e79e41e93a4c1c1133 Mon Sep 17 00:00:00 2001 From: asonix Date: Tue, 21 Apr 2020 14:12:10 -0500 Subject: [PATCH] Update webfinger dep --- Cargo.lock | 4 ++-- Cargo.toml | 2 +- src/main.rs | 2 +- src/middleware/webfinger.rs | 16 +++++----------- 4 files changed, 9 insertions(+), 15 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index f8c82b5..11b1786 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -319,9 +319,9 @@ dependencies = [ [[package]] name = "actix-webfinger" -version = "0.3.0-alpha.3" +version = "0.3.0-alpha.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "120ce509b4ad2a0dedfbaebc1c1fb2b5e7bb34430a851c3eb264a704135e30a7" +checksum = "818ce271e9226dc9b8885c4f397fb0e6d9e8888c95cc8bf98fa20941b8b26d89" dependencies = [ "actix-http", "actix-web", diff --git a/Cargo.toml b/Cargo.toml index ae98e76..0e52863 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -17,7 +17,7 @@ anyhow = "1.0" actix = "0.10.0-alpha.2" actix-rt = "1.0.0" actix-web = { version = "3.0.0-alpha.1", features = ["rustls"] } -actix-webfinger = "0.3.0-alpha.3" +actix-webfinger = "0.3.0-alpha.5" activitystreams = "0.5.0" ammonia = "3.1.0" async-trait = "0.1.24" diff --git a/src/main.rs b/src/main.rs index 00ae9cd..a2cd0d0 100644 --- a/src/main.rs +++ b/src/main.rs @@ -140,7 +140,7 @@ async fn main() -> Result<(), anyhow::Error> { .service(web::resource("/nodeinfo/2.0.json").route(web::get().to(nodeinfo))) .service( web::scope("/.well-known") - .service(actix_webfinger::scoped::<_, RelayResolver>()) + .service(actix_webfinger::scoped::()) .service(web::resource("/nodeinfo").route(web::get().to(nodeinfo_meta))), ) .service(web::resource("/static/{filename}").route(web::get().to(statics))) diff --git a/src/middleware/webfinger.rs b/src/middleware/webfinger.rs index 2b3c117..f0098f7 100644 --- a/src/middleware/webfinger.rs +++ b/src/middleware/webfinger.rs @@ -2,9 +2,8 @@ use crate::{ config::{Config, UrlKind}, data::State, }; -use activitystreams::context; use actix_web::web::Data; -use actix_webfinger::{Link, Resolver, Webfinger}; +use actix_webfinger::{Resolver, Webfinger}; use rsa_magic_public_key::AsMagicPublicKey; use std::{future::Future, pin::Pin}; @@ -14,13 +13,14 @@ pub struct RelayResolver; #[error("Error resolving webfinger data")] pub struct RelayError; -impl Resolver<(Data, Data)> for RelayResolver { +impl Resolver for RelayResolver { + type State = (Data, Data); type Error = RelayError; fn find( account: &str, domain: &str, - (state, config): (Data, Data), + (state, config): Self::State, ) -> Pin, Self::Error>>>> { let domain = domain.to_owned(); let account = account.to_owned(); @@ -37,13 +37,7 @@ impl Resolver<(Data, Data)> for RelayResolver { let mut wf = Webfinger::new(&config.generate_resource()); wf.add_alias(&config.generate_url(UrlKind::Actor)) .add_activitypub(&config.generate_url(UrlKind::Actor)) - .add_magic_public_key(&state.public_key.as_magic_public_key()) - .add_link(Link { - rel: "self".to_owned(), - href: Some(config.generate_url(UrlKind::Actor)), - template: None, - kind: Some(format!("application/ld+json; profile=\"{}\"", context())), - }); + .add_magic_public_key(&state.public_key.as_magic_public_key()); Ok(Some(wf)) };