about summary refs log tree commit diff
path: root/app
diff options
context:
space:
mode:
authormultiple creatures <dev@multiple-creature.party>2020-02-14 04:56:13 -0600
committermultiple creatures <dev@multiple-creature.party>2020-02-14 04:56:13 -0600
commitd1a887b57a6243dcdbf33f00d4692f25b8f2b270 (patch)
treeca0a22bf04a78a6b5d74b135700f8fe316a5d497 /app
parent9d6b593379d1d826391c58585c7f5121323b9410 (diff)
add admin option to toggle auto-marking instance actors known & make enabling greylist federation also enable secure mode
Diffstat (limited to 'app')
-rw-r--r--app/controllers/application_controller.rb2
-rw-r--r--app/models/form/admin_settings.rb2
-rw-r--r--app/services/activitypub/process_account_service.rb2
-rw-r--r--app/services/concerns/payloadable.rb2
-rw-r--r--app/views/admin/settings/edit.html.haml2
5 files changed, 7 insertions, 3 deletions
diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb
index 23e7c1f97..3169151a8 100644
--- a/app/controllers/application_controller.rb
+++ b/app/controllers/application_controller.rb
@@ -44,7 +44,7 @@ class ApplicationController < ActionController::Base
   end
 
   def authorized_fetch_mode?
-    ENV['AUTHORIZED_FETCH'] == 'true'
+    ENV['AUTHORIZED_FETCH'] == 'true' || Setting.auto_reject_unknown
   end
 
   def public_fetch_mode?
diff --git a/app/models/form/admin_settings.rb b/app/models/form/admin_settings.rb
index f4631f901..03f6059dc 100644
--- a/app/models/form/admin_settings.rb
+++ b/app/models/form/admin_settings.rb
@@ -36,6 +36,7 @@ class Form::AdminSettings
     show_replies_in_public_timelines
     auto_reject_unknown
     auto_mark_known
+    auto_mark_instance_actors_known
     werewolf_status
     spam_check_enabled
   ).freeze
@@ -55,6 +56,7 @@ class Form::AdminSettings
     show_replies_in_public_timelines
     auto_reject_unknown
     auto_mark_known
+    auto_mark_instance_actors_known
     werewolf_status
     spam_check_enabled
   ).freeze
diff --git a/app/services/activitypub/process_account_service.rb b/app/services/activitypub/process_account_service.rb
index f2831fca2..6dd73b112 100644
--- a/app/services/activitypub/process_account_service.rb
+++ b/app/services/activitypub/process_account_service.rb
@@ -62,7 +62,7 @@ class ActivityPub::ProcessAccountService < BaseService
     @account.silenced_at      = domain_block.created_at if auto_silence?
     @account.force_unlisted   = true if auto_force_unlisted?
     @account.force_sensitive  = true if auto_force_sensitive?
-    @account.known            = !Setting.auto_reject_unknown && Setting.auto_mark_known
+    @account.known            = @username == @domain ? Setting.auto_mark_instance_actors_known : (!Setting.auto_reject_unknown && Setting.auto_mark_known)
   end
 
   def update_account
diff --git a/app/services/concerns/payloadable.rb b/app/services/concerns/payloadable.rb
index 953740faa..07d6209dc 100644
--- a/app/services/concerns/payloadable.rb
+++ b/app/services/concerns/payloadable.rb
@@ -14,6 +14,6 @@ module Payloadable
   end
 
   def signing_enabled?
-    ENV['AUTHORIZED_FETCH'] != 'true'
+    ENV['AUTHORIZED_FETCH'] != 'true' && !Setting.auto_reject_unknown
   end
 end
diff --git a/app/views/admin/settings/edit.html.haml b/app/views/admin/settings/edit.html.haml
index d3705a48f..fe1ba447a 100644
--- a/app/views/admin/settings/edit.html.haml
+++ b/app/views/admin/settings/edit.html.haml
@@ -46,6 +46,8 @@
 
   = f.input :auto_mark_known, as: :boolean, wrapper: :with_label, label: t('admin.settings.auto_mark_known.title'), hint: t('admin.settings.auto_mark_known.desc_html')
 
+  = f.input :auto_mark_instance_actors_known, as: :boolean, wrapper: :with_label, label: t('admin.settings.auto_mark_instance_actors_known.title'), hint: t('admin.settings.auto_mark_instance_actors_known.desc_html')
+
   %hr.spacer/
 
   .fields-group