From eef8d9a5f7d07bf785c6a7184e01374e211c6d7f Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Fri, 26 Oct 2018 23:08:34 +0200 Subject: Add locality check to ActivityPub::FetchRemoteAccountService (#9109) * Add locality check to ActivityPub::FetchRemoteAccountService Fix #8643 Because there are a few places where it is called, it is difficult to confirm if they all previously checked it for locality. It's better to make sure within the service. * Remove faux-remote duplicates of local accounts --- app/services/activitypub/fetch_remote_account_service.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'app') diff --git a/app/services/activitypub/fetch_remote_account_service.rb b/app/services/activitypub/fetch_remote_account_service.rb index 1ec9ee5dd..8430d12d5 100644 --- a/app/services/activitypub/fetch_remote_account_service.rb +++ b/app/services/activitypub/fetch_remote_account_service.rb @@ -5,9 +5,10 @@ class ActivityPub::FetchRemoteAccountService < BaseService SUPPORTED_TYPES = %w(Application Group Organization Person Service).freeze - # Should be called when uri has already been checked for locality # Does a WebFinger roundtrip on each call def call(uri, id: true, prefetched_body: nil, break_on_redirect: false) + return ActivityPub::TagManager.instance.uri_to_resource(uri, Account) if ActivityPub::TagManager.instance.local_uri?(uri) + @json = if prefetched_body.nil? fetch_resource(uri, id) else -- cgit