commit: 9e15eeec63b36f147700303961ad5ef207b81986
parent: 3c45d3963a21812f00318353be90010df636bd0d
Author: Eugen Rochko <eugen@zeonfederated.com>
Date: Sat, 9 Sep 2017 13:41:45 +0200
Add missing reject_media check before avatar download via ActivityPub (#4862)
Diffstat:
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/app/services/activitypub/process_account_service.rb b/app/services/activitypub/process_account_service.rb
@@ -48,14 +48,14 @@ class ActivityPub::ProcessAccountService < BaseService
@account.url = url || @uri
@account.display_name = @json['name'] || ''
@account.note = @json['summary'] || ''
- @account.avatar_remote_url = image_url('icon')
- @account.header_remote_url = image_url('image')
+ @account.avatar_remote_url = image_url('icon') unless skip_download?
+ @account.header_remote_url = image_url('image') unless skip_download?
@account.public_key = public_key || ''
@account.locked = @json['manuallyApprovesFollowers'] || false
@account.statuses_count = outbox_total_items if outbox_total_items.present?
@account.following_count = following_total_items if following_total_items.present?
@account.followers_count = followers_total_items if followers_total_items.present?
- @account.save!
+ @account.save_with_optional_media!
end
def upgrade_account
@@ -115,6 +115,10 @@ class ActivityPub::ProcessAccountService < BaseService
@collections[type] = nil
end
+ def skip_download?
+ @account.suspended? || domain_block&.reject_media?
+ end
+
def auto_suspend?
domain_block && domain_block.suspend?
end