diff --git a/app/services/activitypub/process_account_service.rb b/app/services/activitypub/process_account_service.rb index 476dabdd77..61a2d2e9d1 100644 --- a/app/services/activitypub/process_account_service.rb +++ b/app/services/activitypub/process_account_service.rb @@ -21,6 +21,8 @@ class ActivityPub::ProcessAccountService < BaseService @domain = TagManager.instance.normalize_domain(domain) @collections = {} + return unless valid_account? + # The key does not need to be unguessable, it just needs to be somewhat unique @options[:request_id] ||= "#{Time.now.utc.to_i}-#{username}@#{domain}" @@ -123,6 +125,12 @@ class ActivityPub::ProcessAccountService < BaseService @account.settings = other_settings end + def valid_account? + display_name = @json['name'] + note = @json['summary'] + !Admin::NgWord.reject?(display_name) && !Admin::NgWord.reject?(note) + end + def set_fetchable_key! @account.public_key = public_key || '' end