Commit graph

129 commits

Author SHA1 Message Date
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
Nutomic
a859db05bb
Add security checks when fetching objects (#95)
* Add security checks when fetching objects

* static

* as ref

* update comment

* fix header

* Update comment
2024-03-04 12:47:42 +01:00
Felix Ableitner
f907b6efa7 Version 0.5.1-beta.1 2024-01-05 16:21:20 +01:00
Nutomic
ec97b44de4
Fix return type for deserialize_one (#93) 2024-01-05 10:18:12 -05:00
Felix Ableitner
3efa99514c Version 0.5.0 2024-01-02 11:40:55 +01:00
Felix Ableitner
9c3c756890 Version 0.5.0-beta.7 2023-12-20 12:28:43 +01:00
Nutomic
9e8d466b40
Better JSON error messages (#91) 2023-12-20 06:19:58 -05:00
Nutomic
709f29b7f8
Context doesnt have to be an array (#90) 2023-12-20 11:21:33 +01:00
Felix Ableitner
fec0af2406 Version 0.5.0-beta.6 2023-12-12 11:42:52 +01:00
Felix Ableitner
71ece55641 Upgrade deps 2023-12-12 11:32:22 +01:00
Nutomic
50db596ce0
Better error when activity receive fails (#89)
* Minor refactoring

* Better error when receive fails

* clippy

* add test case

* comments

* take ref
2023-12-12 11:30:21 +01: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
Nutomic
24830070f6
Add diesel feature, add ObjectId::dereference_forced (#88)
* Add diesel feature

This can simplify Lemmy code and avoid converting back and forth
to DbUrl type all the time.

* Also add diesel derives for CollectionId

* Add ObjectId::dereference_forced

* no deprecated code

* fmt
2023-12-11 15:04:18 +01:00
Nutomic
1f7de85a53
Upgrade dependencies (#86) 2023-12-01 15:40:12 +01:00
Nutomic
69b80aa6e1
Change impl of ObjectId::parse (#84)
* Change impl of ObjectId::parse

It should be consistent with Url::parse

* fmt
2023-11-24 11:21:00 +01:00
Felix Ableitner
33649b43b7 Version 0.5.0-beta.5 2023-11-20 14:35:51 +01:00
cetra3
098a4299f0
Remove anyhow from trait definitions (#82) 2023-11-20 11:42:47 +01:00
Nutomic
679228873a
Implement PartialEq for testing (#81) 2023-11-13 10:38:58 +01:00
Felix Ableitner
171d32720e 0.5.0-beta.4 2023-10-24 11:34:42 +02:00
Nutomic
e86330852d
Support different alphabets in webfinger username (#78)
* Support different alphabets in webfinger username

* clippy
2023-10-24 11:08:55 +02:00
Nutomic
ec12fb3830
Support fetches with redirect (#76)
* Support fetches with redirect

* pub
2023-10-24 10:53:59 +02:00
Felix Ableitner
a5102d0633 Version 0.5.0-beta.3 2023-09-01 11:20:36 +02:00
Felix Ableitner
99e2226993 Version 0.5.0-beta.2 2023-09-01 11:20:07 +02: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
9477180b4e
Add webfinger template field, used for remote follow (#74)
https://socialhub.activitypub.rocks/t/what-is-the-current-spec-for-remote-follow/2020/15
2023-08-31 13:42:58 +02:00
Felix Ableitner
b0547e7793 Test that deserialize_one errors on multiple array values 2023-08-09 11:12:30 +02:00
Felix Ableitner
7bb17f21d5 0.5.0-beta.1 2023-07-26 16:27:33 +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
Nutomic
61085a643f
Fix woodpecker badge in readme 2023-07-20 16:39:22 +02:00
Felix Ableitner
9b5d6af8c0 Version 0.4.6 2023-07-20 16:37:20 +02:00
Nutomic
b63445afca
Update reqwest_shim.rs (#72) 2023-07-20 10:27:51 -04:00
Samuel Tardieu
02ab897f4f
Fix webfinger fetching non-compliance (#69)
Allow webfinger to use "jrd+json" instead of "activity+json".
Fix #68.
2023-07-18 16:17:21 -04:00
Nutomic
988450c79f
Fix tests (#71) 2023-07-18 16:10:25 -04:00
phiresky
af92e0d532
add shutdown method (#53)
* add shutdown method

* simplify shutdown interface

* make work on rust < 1.70

* upgrade ci to rust 1.70

* make clippy and linux torvalds happy
2023-07-04 16:08:39 +02:00
phiresky
68f9210d4c
add a separate allow_http flag (#54)
Co-authored-by: Nutomic <me@nutomic.com>
2023-07-03 16:24:11 +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
Felix Ableitner
93b7aa7979 Version 0.4.5 2023-06-27 15:42:50 +02:00
Nutomic
325f66ba32
Fix HTTP signature expiration (ref #46) (#52) 2023-06-27 09:46:41 +02:00
Felix Ableitner
7300940e10 Version 0.4.4 2023-06-22 09:42:27 +02:00
cetra3
5de4a34550
Add a no limit option to the config (#45)
* Add a no limit option to the config

* Set defaults to `0`
2023-06-22 09:40:59 +02:00
Felix Ableitner
607aca7739 Version 0.4.3 2023-06-22 09:21:27 +02:00
Nutomic
cfcde0dcc4
Retry activity send on connection failure (fixes #41) (#48) 2023-06-22 09:21:06 +02:00
Nutomic
3d9d54cf09
Increase HTTP signature expiration time to one day (fixes #46) (#47) 2023-06-22 09:20:57 +02:00
Peter de Witte
8f997ec340
Adding security-considerations to 02_overview.md (#44)
* Adding security-considerations to 02_overview.md

* Updated layout
2023-06-20 13:48:32 +02:00
Felix Ableitner
1aa081713e Version 0.4.2 2023-06-20 12:01:38 +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
Felix Ableitner
6ac6e2d90e Version 0.4.1 2023-06-12 16:25:09 +02:00
Felix Ableitner
2075e99ebb Update dependencies 2023-06-12 16:19:30 +02:00