From 26ac6e82dc0c627b3e0b12e6fcef2fa1d47c2172 Mon Sep 17 00:00:00 2001 From: Felix Ableitner Date: Thu, 7 Mar 2024 15:29:01 +0100 Subject: [PATCH] regex --- src/fetch/webfinger.rs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/fetch/webfinger.rs b/src/fetch/webfinger.rs index 7da2fdf..f065618 100644 --- a/src/fetch/webfinger.rs +++ b/src/fetch/webfinger.rs @@ -121,7 +121,7 @@ where T: Clone, { static WEBFINGER_REGEX: Lazy = - Lazy::new(|| Regex::new(r"^acct:([\p{L}0-9_]+)@(.*)$").expect("compile regex")); + Lazy::new(|| Regex::new(r"^acct:([\p{L}0-9_\.\-]+)@(.*)$").expect("compile regex")); // Regex to extract usernames from webfinger query. Supports different alphabets using `\p{L}`. // TODO: This should use a URL parser let captures = WEBFINGER_REGEX @@ -288,6 +288,14 @@ mod tests { Ok("Владимир"), extract_webfinger_name("acct:Владимир@example.com", &data) ); + assert_eq!( + Ok("example.com"), + extract_webfinger_name("acct:example.com@example.com", &data) + ); + assert_eq!( + Ok("da-sh"), + extract_webfinger_name("acct:da-sh@example.com", &data) + ); assert_eq!( Ok("تجريب"), extract_webfinger_name("acct:تجريب@example.com", &data)