LemmyNet / activitypub-federation-rust

High-level Rust library for the Activitypub protocol
GNU Affero General Public License v3.0
432 stars 47 forks source link

Webfinger fetching not compliant with webfinger standard #68

Closed Houkime closed 1 year ago

Houkime commented 1 year ago

This line uses generic object fetching to resolve fingers https://github.com/LemmyNet/activitypub-federation-rust/blob/af92e0d53204a2ccd13bc0db3c58de24bff646bf/src/fetch/webfinger.rs#L39C26-L39C43

And generic object fetcher only accepts activity+json https://github.com/LemmyNet/activitypub-federation-rust/blob/af92e0d53204a2ccd13bc0db3c58de24bff646bf/src/fetch/mod.rs#L54

Which is contrary to the Webfinger standard which allows jrd+json or xrd+xml: https://datatracker.ietf.org/doc/html/rfc7033#page-11

This leads to issues when federating with Akkoma and any other software which uses standard webfingers with another MIME type: https://github.com/LemmyNet/lemmy/issues/3222

Nutomic commented 1 year ago

Sending jrd+json in the accept header should be no problem, pull request welcome. But supporting xml would require changes to the parsing code which is probably not worth the effort if jrd+json is sufficient.