Commit graph

70 commits

Author SHA1 Message Date
Nutomic
9cc1cfc973
Apub local object handling (#1297)
* Limit visibility of some traits and methods

* WIP: alternative way to handle non-local object parsing

* finish this

* cleanup

* Move check for locked post into Comment::from_apub()

* Mark user as updated after fetching

* Should set last_refreshed_at, not updated

* Add ApubObject trait in DB, with method read_from_apub_id()

* Create shared, generic implementation for `FromApub`, prefer local data

* Check for community ban when parsing post/comment (fixes #1287)

* Fix tests (changes in get_object_from_apub() prevented `Update` from working)

* Support parsing `like.object` either as URL or object

* Send out like.object as URL, instead of full object (fixes #1283)

* add todo
2020-12-08 12:38:48 -05:00
nutomic
2b5c69d678 Add check to make sure that inbox doesnt receive local activities (ref #1283) (#147)
Fixed comparison

Add check to make sure that inbox doesnt receive local activities (ref #1283)

Co-authored-by: Felix Ableitner <me@nutomic.com>
Reviewed-on: https://yerbamate.ml/LemmyNet/lemmy/pulls/147
2020-12-01 18:30:15 +00:00
Felix Ableitner
8fc4e1ecfe Add logging to find bug (ref #1283)
Also simplify check_object_domain()
2020-11-30 18:24:10 +01:00
Felix Ableitner
a7b72ed5c4 Set valid context for our extra fields (ref #1220) 2020-11-25 18:44:49 +01:00
Felix Ableitner
b2288fcb9a Make changes on content field backwards compatible 2020-11-25 14:07:04 +01:00
Felix Ableitner
cd3f20e49b Populate content with HTML, and source with markdown (ref #1220) 2020-11-24 18:53:43 +01:00
Felix Ableitner
405ea38959 Add TODO about populating user outbox 2020-11-19 13:50:43 +01:00
Felix Ableitner
48f506277a Create empty outbox for user (ref #1220) 2020-11-18 17:04:35 +01:00
Felix Ableitner
14bf45d099 Dont handle activities twice in inbox 2020-11-16 21:43:52 +01:00
Felix Ableitner
8675fed49c Reduce visibility of some structs and methods (replaces #1266) 2020-11-16 16:44:04 +01:00
Felix Ableitner
fb16f47f2f Add user_inbox check that activities are really addressed to local users 2020-11-11 17:40:45 +01:00
Felix Ableitner
964d95de5c Fix unit tests 2020-11-11 17:28:30 +01:00
Felix Ableitner
06e82fe761 Add pending status for federated follows 2020-11-10 16:45:10 +01:00
dessalines
94dd335fac Merge pull request 'Enforce post lock in federation inbox' (#129) from enforce-post-lock into main
Reviewed-on: https://yerbamate.ml/LemmyNet/lemmy/pulls/129
2020-11-10 13:16:13 +00:00
Felix Ableitner
e1fd614dd1 Fixed bug where comments with mentions were treated as private message 2020-11-09 19:18:23 +01:00
Felix Ableitner
3b4c3ec074 Enforce post lock in federation inbox 2020-11-09 17:06:54 +01:00
Felix Ableitner
8803e7834f Enforce site and community bans for federated users 2020-11-09 15:29:36 +01:00
Felix Ableitner
b469b6d8d3 Separate logic for user and community inbox
more refactoring with tons of changes:

- inbox functions return LemmyError instead of HttpResponse
- announce is done directly in community inbox
- reorganized functions for handling inbox activities
- additional checks for private messages
- moved inbox handler functions for post, comment, vote into separete file
- ensure that posts, comments etc are addressed to public (ref #1220)
- probably more
2020-11-09 13:42:08 +01:00
nutomic
7c51a36012 In activity table, remove user_id and add sensitive (#127)
Forgot to add migrations

Add `sensitive` column to activities table, so PMs arent served over HTTP

Remove user_id column from actvity table

Co-authored-by: Felix Ableitner <me@nutomic.com>
Reviewed-on: https://yerbamate.ml/LemmyNet/lemmy/pulls/127
2020-11-06 13:06:47 +00:00
nutomic
b7d2dac9bf Fix federation of community removal/deletion, added docs (#125)
Adding a federation test for community deletes / removes.

Add missing docs for community deletion/removal (fixes #1250)

Fix federation of community deletion/removal (fixes #1253)

Co-authored-by: Dessalines <tyhou13@gmx.com>
Co-authored-by: Felix Ableitner <me@nutomic.com>
Reviewed-on: https://yerbamate.dev/LemmyNet/lemmy/pulls/125
2020-11-05 20:19:06 +00:00
dessalines
3bf885329d Merge pull request 'Ignore incoming activities which have been received before, add /activities endpoint' (#118) from activity-checks into main
Reviewed-on: https://yerbamate.dev/LemmyNet/lemmy/pulls/118
2020-10-27 16:26:16 +00:00
Felix Ableitner
9e24eda752 In comment create/update, include parent creator in cc (ref #698) 2020-10-27 16:57:44 +01:00
dessalines
53c9094d46 Merge pull request 'Limit amount of HTTP requests to handle activities (fixes #1221)' (#117) from request-limit into main
Reviewed-on: https://yerbamate.dev/LemmyNet/lemmy/pulls/117
2020-10-26 15:35:39 +00:00
Felix Ableitner
99abc49040 Add /activities endpoint (ref #1220) 2020-10-26 12:54:27 +01:00
Felix Ableitner
6d17d5ead2 Ignore incoming activities which have been received before (ref #1220) 2020-10-23 14:29:56 +02:00
dessalines
73ccbb1bc8 Merge pull request 'Organise activity receive files by object type, not by activity type' (#115) from inbox-refactoring-2 into main
Reviewed-on: https://yerbamate.dev/LemmyNet/lemmy/pulls/115
2020-10-22 18:55:28 +00:00
Felix Ableitner
3d5647b16f Limit amount of HTTP requests to handle activities (fixes #1221) 2020-10-22 20:27:32 +02:00
Felix Ableitner
b08e0a6415 Dont allow localhost or raw IPs in activitypub IDs (ref #1221) 2020-10-22 18:12:43 +02:00
Felix Ableitner
1a3b96b054 Organise activity receive files by object type, not by activity type 2020-10-21 19:37:50 +02:00
Dessalines
18b3eab909
Merge pull request #1209 from LemmyNet/fix-actor-name-confusion
Swap name and preferredUsername apub fields
2020-10-19 11:52:35 -04:00
Felix Ableitner
695272f980 Create rustdoc for activitypub code 2020-10-19 16:29:35 +02:00
Felix Ableitner
06a6bab2c1 Swap name and preferredUsername apub fields 2020-10-16 22:44:40 +02:00
Dessalines
571c71392e
Adding API and APUB URL checks for banners and icons. Fixes #1199 (#1200)
* Adding API and APUB URL checks for banners and icons. Fixes #1199

* Adding a check optional url.

* Missed a few.
2020-10-15 18:23:56 +00:00
Felix Ableitner
fe15ff3c51 Also verify activity domains in shared inbox (fixes #1196) 2020-10-15 15:38:49 +02:00
Felix Ableitner
39cbe5f31f Add method verify_activity_domains_valid() (ref #1196) 2020-10-15 15:38:03 +02:00
Felix Ableitner
3f9ede79ed Add domain checks for private message inbox 2020-10-13 18:06:26 +02:00
Felix Ableitner
ac0cd7bc68 Dont include full objects with remove/delete activities 2020-10-13 17:47:05 +02:00
Felix Ableitner
7cfcf0acec Change the way that to is set in apub 2020-10-12 18:02:28 +02:00
Felix Ableitner
2ad60379e4 Add to field for follow, undo follow 2020-10-12 16:45:40 +02:00
Felix Ableitner
0dda2577e1 Refactor apub code, split up large files 2020-10-12 16:10:09 +02:00
Nutomic
70f7dd876f
Merge pull request #1188 from LemmyNet/fix_blocked_creator_outbox
Fixed an issue with blocked post creators in outbox.
2020-10-12 10:30:48 +00:00
Dessalines
cb4a3a03a2 Fixed an issue with blocked post creators in outbox.
- Fixes #1186
2020-10-09 12:46:27 -05:00
Felix Ableitner
c90c96fbf6 Respect disable downvotes setting when federating 2020-10-09 15:41:40 +02:00
Dessalines
8d0580461b
Merge pull request #1180 from LemmyNet/no_conflict_triggers
No send blocked and no conflict triggers
2020-10-08 14:51:04 -04:00
Dessalines
7fbad900d7 Addressing a few comments. 2020-10-08 12:38:44 -05:00
Dessalines
e9ce14069e Removing some unecessary logging. 2020-10-07 21:55:15 -05:00
Dessalines
c08d891742 Merge branch 'main' into no_conflict_triggers 2020-10-07 20:57:29 -05:00
Nutomic
299598f0c4
Remove unused fields on community/user json (#1178) 2020-10-07 14:19:12 -04:00
Felix Ableitner
26883208cd Create separate SendActivityTask for each destination 2020-10-06 19:19:53 +02:00
Felix Ableitner
60730e81d9 Avoid duplicate comment send, better activity logging 2020-10-06 18:28:31 +02:00