diff options
author | Fire Demon <firedemon@creature.cafe> | 2020-07-17 19:46:24 -0500 |
---|---|---|
committer | Fire Demon <firedemon@creature.cafe> | 2020-08-30 05:41:03 -0500 |
commit | 120683f52266900d0fede7bd67c43133bbc26bea (patch) | |
tree | 8b6558858bc3928e96d0c11217155e95ebde92a1 /app/services/activitypub | |
parent | 78d33622a5b53a983e8d37777e8e56b9e3f3c29c (diff) |
[Federation] Add support for signing fetches as the participating local user in various scenarios
Diffstat (limited to 'app/services/activitypub')
-rw-r--r-- | app/services/activitypub/fetch_featured_collection_service.rb | 3 | ||||
-rw-r--r-- | app/services/activitypub/fetch_replies_service.rb | 4 |
2 files changed, 4 insertions, 3 deletions
diff --git a/app/services/activitypub/fetch_featured_collection_service.rb b/app/services/activitypub/fetch_featured_collection_service.rb index 2c2770466..c8006afce 100644 --- a/app/services/activitypub/fetch_featured_collection_service.rb +++ b/app/services/activitypub/fetch_featured_collection_service.rb @@ -22,9 +22,10 @@ class ActivityPub::FetchFeaturedCollectionService < BaseService private def process_items(items) + first_local_follower = @account.followers.local.first status_ids = items.map { |item| value_or_id(item) } .reject { |uri| ActivityPub::TagManager.instance.local_uri?(uri) } - .map { |uri| ActivityPub::FetchRemoteStatusService.new.call(uri) } + .map { |uri| ActivityPub::FetchRemoteStatusService.new.call(uri, on_behalf_of: first_local_follower) } .compact .select { |status| status.account_id == @account.id } .map(&:id) diff --git a/app/services/activitypub/fetch_replies_service.rb b/app/services/activitypub/fetch_replies_service.rb index 8cb309e52..0145f25da 100644 --- a/app/services/activitypub/fetch_replies_service.rb +++ b/app/services/activitypub/fetch_replies_service.rb @@ -43,7 +43,7 @@ class ActivityPub::FetchRepliesService < BaseService # Only fetch replies to the same server as the original status to avoid # amplification attacks. - # Also limit to 5 fetched replies to limit potential for DoS. - @items.map { |item| value_or_id(item) }.reject { |uri| invalid_origin?(uri) }.take(5) + # Also limit to 25 fetched replies to limit potential for DoS. + @items.map { |item| value_or_id(item) }.reject { |uri| invalid_origin?(uri) }.take(25) end end |