0
0
Fork 0

Fix handling of malformed ActivityPub payloads when URIs are nil (#7370)

* Fix handling of malformed ActivityPub payloads when URIs are nil

* Gracefully handle JSON-LD canonicalization failures
This commit is contained in:
Eugen Rochko 2018-05-05 18:22:34 +02:00 committed by GitHub
parent 661f7e6d9d
commit c947e2e4c5
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 8 additions and 0 deletions

View file

@ -34,6 +34,7 @@ class ActivityPub::FetchRemoteStatusService < BaseService
end
def trustworthy_attribution?(uri, attributed_to)
return false if uri.nil? || attributed_to.nil?
Addressable::URI.parse(uri).normalized_host.casecmp(Addressable::URI.parse(attributed_to).normalized_host).zero?
end

View file

@ -45,5 +45,8 @@ class ActivityPub::ProcessCollectionService < BaseService
def verify_account!
@account = ActivityPub::LinkedDataSignature.new(@json).verify_account!
rescue JSON::LD::JsonLdError => e
Rails.logger.debug "Could not verify LD-Signature for #{value_or_id(@json['actor'])}: #{e.message}"
nil
end
end