about summary refs log tree commit diff
diff options
context:
space:
mode:
authorEugen Rochko <eugen@zeonfederated.com>2016-12-22 23:17:57 +0100
committerEugen Rochko <eugen@zeonfederated.com>2016-12-22 23:17:57 +0100
commit05b13c38b54b7d29ea4368999100c27cb7deb29e (patch)
tree7744112010d89cb56f1694372ab9a332dde2ab8d
parentf729cfc881a7e944c706e0dfc0f689b82613b680 (diff)
Re-enable Webfinger for locked accounts but don't handle "follow" events
coming in via Salmon.

Currently no way to prevent remote follows, but they will only receive public
and unlisted posts
-rw-r--r--app/controllers/xrd_controller.rb2
-rw-r--r--app/services/process_interaction_service.rb2
-rw-r--r--config/locales/simple_form.en.yml2
3 files changed, 3 insertions, 3 deletions
diff --git a/app/controllers/xrd_controller.rb b/app/controllers/xrd_controller.rb
index c3c38063c..9e0277860 100644
--- a/app/controllers/xrd_controller.rb
+++ b/app/controllers/xrd_controller.rb
@@ -13,7 +13,7 @@ class XrdController < ApplicationController
   end
 
   def webfinger
-    @account = Account.where(locked: false).find_local!(username_from_resource)
+    @account = Account.find_local!(username_from_resource)
     @canonical_account_uri = "acct:#{@account.username}@#{Rails.configuration.x.local_domain}"
     @magic_key = pem_to_magic_key(@account.keypair.public_key)
 
diff --git a/app/services/process_interaction_service.rb b/app/services/process_interaction_service.rb
index 4e5487681..3d3cccb6a 100644
--- a/app/services/process_interaction_service.rb
+++ b/app/services/process_interaction_service.rb
@@ -30,7 +30,7 @@ class ProcessInteractionService < BaseService
 
       case verb(xml)
       when :follow
-        follow!(account, target_account)
+        follow!(account, target_account) unless target_account.locked?
       when :unfollow
         unfollow!(account, target_account)
       when :favorite
diff --git a/config/locales/simple_form.en.yml b/config/locales/simple_form.en.yml
index deecff3fd..376c72e12 100644
--- a/config/locales/simple_form.en.yml
+++ b/config/locales/simple_form.en.yml
@@ -26,7 +26,7 @@ en:
         reblog: Send e-mail when someone reblogs your status
     hints:
       defaults:
-        locked: Requires you to approve followers, defaults post privacy to followers-only and disables federation
+        locked: Requires you to approve followers and defaults post privacy to followers-only
     'no': 'No'
     required:
       mark: "*"