From 4e254329467f5db46f2b264a74b1e31fd098bd44 Mon Sep 17 00:00:00 2001 From: asonix Date: Mon, 13 Oct 2025 18:22:38 -0500 Subject: [PATCH] Fix accept header checking on webfinger --- src/routes/webfinger.rs | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/routes/webfinger.rs b/src/routes/webfinger.rs index fd865ba..78651aa 100644 --- a/src/routes/webfinger.rs +++ b/src/routes/webfinger.rs @@ -72,12 +72,14 @@ impl WebfingerResource { return Err(ErrorKind::MissingAccept); }; - let accept = accept.to_str().map_err(|_| ErrorKind::InvalidAccept)?; - let accept = accept - .parse::() - .map_err(|_| ErrorKind::InvalidAccept)?; + let accept_value = accept.to_str().map_err(|_| ErrorKind::InvalidAccept)?; - if !is_supported_json(&accept) { + let acceptable = accept_value + .split(", ") + .filter_map(|accept| accept.trim().parse::().ok()) + .any(|accept| is_supported_json(&accept)); + + if !acceptable { return Err(ErrorKind::InvalidAccept); }