Dessalines
83a156394e
Fixing clippy. ( #121 )
2024-07-17 10:00:31 +02:00
藍+85CD
8f47daa2e2
refactor!: use rsa
instead of openssl
( #116 )
...
* refactor!: use `rsa` instead of `openssl`
* fix: format code
* fix: format code
* fix: lint code
* fix: format code
2024-07-15 10:20:35 +02:00
Nutomic
08af457453
Dont connect to broken Pleroma instance during webfinger test ( #117 )
2024-07-11 11:42:31 -04:00
Nutomic
6edbc06a78
Convert content-type to lowercase for comparison ( #114 )
...
* Convert content-type to lowercase for comparison
* rust 1.78
* clippy priority
* upgrade dep
2024-06-11 11:16:04 +02:00
Felix Ableitner
e118e4f240
Reapply "Retry activity send in case of timeout or rate limit ( #102 )"
...
This reverts commit 32da1b747c
.
2024-06-06 00:02:36 +02:00
Felix Ableitner
32da1b747c
Revert "Retry activity send in case of timeout or rate limit ( #102 )"
...
This reverts commit 5402bc9c19
.
2024-06-05 23:05:26 +02:00
Nutomic
cf1f84993b
Make response content-type check case insensitive ( #111 )
...
* Make response content-type check case insensitive
For wordpress compat
* cleaner
* clippy
* fmt
* fmt
2024-05-06 11:09:23 +02:00
Nutomic
be69efdee3
Require signed digest when verifying signatures ( #109 )
2024-05-02 10:58:56 +02:00
Nutomic
ddc455510b
Dont crash when calling is_local_url() without domain ( #108 )
2024-05-02 10:58:33 +02:00
Nutomic
54e8a1145f
Add function ObjectId.is_local ( #106 )
...
* Add function ObjectId.is_local
* add test
* add test
2024-04-10 11:31:55 +02: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
5402bc9c19
Retry activity send in case of timeout or rate limit ( #102 )
2024-04-09 10:38:08 +02:00
Nutomic
da28c9c890
Fix request_counter check because fetch_add returns original value ( #97 )
2024-03-08 09:36:44 -05:00
Nutomic
9b31a7b44b
Get Mastodon signed fetch working ( #98 )
...
* debug signed fetch
* regex
* content-type
* no dbg
* clippy
2024-03-08 15:26:57 +01: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
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
Nutomic
ec97b44de4
Fix return type for deserialize_one ( #93 )
2024-01-05 10:18:12 -05: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
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
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
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
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
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
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
Nutomic
325f66ba32
Fix HTTP signature expiration (ref #46 ) ( #52 )
2023-06-27 09:46:41 +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
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
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
Grafcube
19baec2138
Specify in docs that send_activity
takes remote inboxes ( #40 )
2023-05-31 14:18:36 +02:00
Grafcube
5181f15499
Change domain
to host_str
( #37 )
2023-05-22 10:53:40 +02:00
Felix Ableitner
9df5bd086f
Improved logging for activity send
2023-05-04 23:56:27 +02:00