From bfdc7c41f229080e72bd7e7ee821b1bd3e67a16d Mon Sep 17 00:00:00 2001 From: KMY Date: Mon, 31 Jul 2023 10:00:10 +0900 Subject: [PATCH] Block account bio with ng_words --- app/services/activitypub/process_account_service.rb | 8 ++++++++ 1 file changed, 8 insertions(+) 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