Commit graph

28 commits

Author SHA1 Message Date
Felix Ableitner
f0e5149922 Rename ActivityHandler to Activity 2025-07-09 14:24:14 +02:00
Felix Ableitner
ffdb202a72 Add methods Object.id(), Object.deleted() 2025-07-09 12:53:55 +02:00
Kevin Kuriakose
7994df3706
Use OriginalUri for Axum ActivityData (#141)
* Use OriginalUri for axum ActivityData

When the inbox path is under a nested `Router`, the received request has a URI
with the common prefix stripped. This causes incoming signatures to be considered
invalid since the path is different (see https://github.com/LemmyNet/activitypub-federation-rust/issues/107#issuecomment-2767428107)

This commit uses `OriginalUri` for URI extraction instead, which will retrieve
the full URI regardless of router nesting

* Use router nesting for local_federation

With 8c787f5, router nesting is supported correctly in axum

* Fix docs typo (#143)

---------

Co-authored-by: Zami <szgie@proton.me>
Co-authored-by: Felix Ableitner <me@nutomic.com>
2025-06-02 04:56:25 -04:00
Nutomic
80dce32279
Upgrade deps (#135)
* Upgrade deps (#133)

* Upgrade deps

* fmt

* fix

* remove once_cell

* upgrade rust

* fix warnings

* Upgrading deps. (#137)

* Upgrading deps.

* Axum upgrade.

* Remove some uses of async_trait

* Remove diesel feature

* Rust 1.85

* fix once lock for domain regex

* Revert "Remove some uses of async_trait"

This reverts commit 51bf4b332e.

* update deps

* Make it work with Lemmy

---------

Co-authored-by: Dessalines <dessalines@users.noreply.github.com>
2025-06-02 04:39:58 -04:00
Nutomic
4ad668cc10
Add more url validation (#134)
* Add more url validation

* fix

* more fix

* Verify url after redirect

* Dont allow redirect for webfinger

* clippy

* more domain validation

* clippy

* fix lemmy test

* Remove trailing . from domain

* clippy

* fix

* manual redirect handling

* clippy

* prevent infinite recursion

* add timeout, comment
2025-01-23 05:11:49 -05:00
Felix Ableitner
43b51d79ce Revert "Upgrade deps (#133)"
This reverts commit 8910550663.
2025-01-09 11:44:59 +01:00
Nutomic
8910550663
Upgrade deps (#133)
* Upgrade deps

* fmt

* fix
2025-01-03 13:41:20 -05:00
Kangwook Lee (이강욱)
487c988377
Upgrade axum and http (#123)
* Upgrade axum and http

* Fix formatting

* use expect

---------

Co-authored-by: Felix Ableitner <me@nutomic.com>
2024-09-11 08:47:13 -04:00
Nutomic
7def01a19a
Avoid running ci checks twice (#105)
* Avoid running ci checks twice

* upgrade rust

* move clippy config to cargo.toml
2024-04-09 11:28:57 +02:00
Nutomic
a2ac97db98
Allow fetching from local domain in case it redirects to remote (#104)
* Allow fetching from local domain in case it redirects to remote

* clippy

* fix lemmy tests
2024-04-09 11:28:22 +02:00
Nutomic
636b47c8b2
Add back activity send queue as optional feature (#94)
* Add back activity send queue as optional feature

* fix port collision in tests

* improve docs

* serialize fn

* deduplicate

* more dedup

* more dedup

* dedupupup

* test cleanup

* remove fn
2024-03-04 08:53:33 -05:00
Soso
12aad8bf3c
Webfinger: don't discard consumer errors (#85)
* Improve WebFinger errors

* Improve webfinger extraction

* Fix typo

* Document webfinger parsing

* Reimplement Regex based webfinger parsing

* clippy

* no unwrap

---------

Co-authored-by: Felix Ableitner <me@nutomic.com>
2023-12-11 22:48:32 +01:00
cetra3
098a4299f0
Remove anyhow from trait definitions (#82) 2023-11-20 11:42:47 +01:00
phiresky
51443aa57c
Remove activity queue and add raw sending (#75)
* make prepare_raw, sign_raw, send_raw functions public

* remove in-memory activity queue

* rename module

* comment

* don"t clone

* fix doc comment

* remove send_activity function

---------

Co-authored-by: Nutomic <me@nutomic.com>
2023-09-01 11:19:22 +02:00
Nutomic
426871f5af
Use anyhow::Error for UrlVerifier return type (fixes #61) (#65)
* Use anyhow::Error for UrlVerifier return type (fixes #61)

* fmt

* uncomment
2023-07-26 10:26:22 -04:00
phiresky
32e3cd5574
make time-zone aware (#62)
* make time-zone aware.

* format and revert debug

* better test log

* empty
2023-07-26 16:17:39 +02:00
Colin Atkinson
d9f1a4414f
Fix regex error when actix-web feature not enabled (#56)
* Fix formatting for nightly rustfmt

https://github.com/LemmyNet/lemmy/issues/3467

* Fix regex error when actix-web feature not enabled

If the crate is built with only the axum feature, compiling the
webfinger account regex will fail with an error "Unicode-aware case
insensitivity matching is not available..." because of the missing
unicode-case feature. This doesn't happen if actix is installed because
it pulls in the regex crate with all features (via [actix-router][0]).

The failure can be demonstrated by reverting this commit's change to
Cargo.toml and running:

    cargo test --no-default-features --features=axum --doc extract_webfinger_name

Resolve this by adding the unicode-case feature to the regex dependency.

[0]: 0e8ed50e3a/actix-router/Cargo.toml (L25)
2023-07-03 15:05:18 +02:00
phiresky
b64f4a8f3f
fix: make "other" error actually transparent (#51)
* fix: make "other" error actually transparent

* cargo fmt
2023-06-29 10:19:49 +02:00
cetra3
c356265cf4
Remove actix-rt and replace with tokio tasks (#42)
* Remove `actix-rt` and replace with tokio tasks

* Include activity queue test

* Use older `Arc` method

* Refactor to not re-process PEM data on each request

* Add retry queue and spawn tokio tasks directly

* Fix doc error

* Remove semaphore and use join set for backpressure

* Fix debug issue with multiple mailboxes
2023-06-20 11:54:14 +02:00
Alex Auvolat
7b0b830597
Secure mode federation support (WIP) (#39)
* First iteration of secure mode federation support

* signing_actor: take request by reference

* Implement secure mode fetch as a global config parameter

* Implement secure mode federation example in actix-web example

* fix clippy lints
2023-06-12 13:32:54 +02:00
Felix Ableitner
072353fc41 Dont use apub in type names 2023-03-16 21:41:43 +01:00
Nutomic
6a65fa7c98
Changes to make Lemmy work with 0.4 (#29)
* Make it work with Lemmy

* working but needs cleanup

* almost everything working

* debug

* stack overflow fix
2023-03-16 02:11:48 +01:00
Nutomic
6b3a4f8942
Add verify methods back in, some more fixes (#28) 2023-03-09 22:09:44 +01:00
Felix Ableitner
d94a2ed0fc live federation example 2023-03-08 22:16:43 +01:00
Felix Ableitner
32394696a5 move files 2023-03-06 16:19:43 +01:00
Felix Ableitner
d5ecab1b61 finish rustdoc 2023-03-04 23:20:06 +01:00
Felix Ableitner
19c459fc02 Further improvements 2023-03-02 00:19:10 +01:00
Felix Ableitner
69e77dfa74 Various improvements for usability, examples and docs 2023-02-19 21:26:01 +09:00