Felix Ableitner
3a5c621e17
Throw error when attempting to http fetch local object
2024-11-12 12:06:18 +01:00
MrKaplan
6dfd30a8ab
Add test case for http fetch limit fixed in #97 ( #128 )
2024-09-20 10:02:04 +02:00
Nutomic
df8876c096
Log warning if activity sending is slow ( #127 )
2024-09-19 06:22:48 -04:00
Nutomic
a35c8cbea5
If id of fetched object doesnt match url, refetch it ( #126 )
2024-09-13 16:09:04 +02:00
Felix Ableitner
027b386514
Avoid stack overflow when fetching deeply nested comments ( #124 )
2024-09-13 11:21:26 +02: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
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