From dfd9eed84c538664a7c8929ca833e68a91f16dcc Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Sat, 9 Sep 2017 13:41:45 +0200 Subject: [PATCH] Add missing reject_media check before avatar download via ActivityPub (#4862) --- app/services/activitypub/process_account_service.rb | 10 +++++++--- 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 index c63577fe5d..b54e447ad0 100644 --- 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