0
0

Fix unneeded requests to blocked domains when receiving relayed signed activities from them

This commit is contained in:
Claire 2024-07-26 15:41:34 +02:00
parent 693d9b03ed
commit c64f2ae5a5

View File

@ -2,6 +2,7 @@
class ActivityPub::ProcessCollectionService < BaseService class ActivityPub::ProcessCollectionService < BaseService
include JsonLdHelper include JsonLdHelper
include DomainControlHelper
def call(body, actor, **options) def call(body, actor, **options)
@account = actor @account = actor
@ -69,6 +70,9 @@ class ActivityPub::ProcessCollectionService < BaseService
end end
def verify_account! def verify_account!
return unless @json['signature'].is_a?(Hash)
return if domain_not_allowed?(@json['signature']['creator'])
@options[:relayed_through_actor] = @account @options[:relayed_through_actor] = @account
@account = ActivityPub::LinkedDataSignature.new(@json).verify_actor! @account = ActivityPub::LinkedDataSignature.new(@json).verify_actor!
@account = nil unless @account.is_a?(Account) @account = nil unless @account.is_a?(Account)