From 9bd3b11cfb7fbfc42f0ebfecf238e037d44ca39d Mon Sep 17 00:00:00 2001
From: Eugen Rochko <eugen@zeonfederated.com>
Date: Fri, 20 Jan 2017 20:14:02 +0100
Subject: [PATCH] Instead of refusing to create accounts, domain blocks
auto-suspend new accounts from that domain
---
app/assets/javascripts/components/store/configureStore.jsx | 3 +++
app/services/follow_remote_account_service.rb | 2 +-
app/services/process_feed_service.rb | 2 +-
app/services/update_remote_profile_service.rb | 2 +-
4 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/app/assets/javascripts/components/store/configureStore.jsx b/app/assets/javascripts/components/store/configureStore.jsx
index 6f0823bf02..ad0427b52f 100644
--- a/app/assets/javascripts/components/store/configureStore.jsx
+++ b/app/assets/javascripts/components/store/configureStore.jsx
@@ -4,8 +4,11 @@ import appReducer from '../reducers';
import loadingBarMiddleware from '../middleware/loading_bar';
import errorsMiddleware from '../middleware/errors';
import soundsMiddleware from 'redux-sounds';
+import Howler from 'howler';
import Immutable from 'immutable';
+Howler.mobileAutoEnable = false;
+
const soundsData = {
boop: '/sounds/boop.mp3'
};
diff --git a/app/services/follow_remote_account_service.rb b/app/services/follow_remote_account_service.rb
index f640222b0c..d17cf0f455 100644
--- a/app/services/follow_remote_account_service.rb
+++ b/app/services/follow_remote_account_service.rb
@@ -14,7 +14,6 @@ class FollowRemoteAccountService < BaseService
username, domain = uri.split('@')
return Account.find_local(username) if TagManager.instance.local_domain?(domain)
- return nil if DomainBlock.blocked?(domain)
account = Account.find_remote(username, domain)
return account unless account.nil?
@@ -41,6 +40,7 @@ class FollowRemoteAccountService < BaseService
account.url = data.link('http://webfinger.net/rel/profile-page').href
account.public_key = magic_key_to_pem(data.link('magic-public-key').href)
account.private_key = nil
+ account.suspended = true if DomainBlock.blocked?(domain)
xml = get_feed(account.remote_url)
hubs = get_hubs(xml)
diff --git a/app/services/process_feed_service.rb b/app/services/process_feed_service.rb
index 4466abda3d..fad03e5808 100644
--- a/app/services/process_feed_service.rb
+++ b/app/services/process_feed_service.rb
@@ -61,7 +61,7 @@ class ProcessFeedService < BaseService
status.save!
NotifyService.new.call(status.reblog.account, status) if status.reblog? && status.reblog.account.local?
- LinkCrawlWorker.perform_async(status.reblog? ? status.reblog_of_id : status.id)
+ # LinkCrawlWorker.perform_async(status.reblog? ? status.reblog_of_id : status.id)
Rails.logger.debug "Queuing remote status #{status.id} (#{id}) for distribution"
DistributionWorker.perform_async(status.id)
status
diff --git a/app/services/update_remote_profile_service.rb b/app/services/update_remote_profile_service.rb
index d961eda399..cfa5479969 100644
--- a/app/services/update_remote_profile_service.rb
+++ b/app/services/update_remote_profile_service.rb
@@ -10,7 +10,7 @@ class UpdateRemoteProfileService < BaseService
unless author_xml.nil?
account.display_name = author_xml.at_xpath('./poco:displayName', poco: TagManager::POCO_XMLNS).content unless author_xml.at_xpath('./poco:displayName', poco: TagManager::POCO_XMLNS).nil?
account.note = author_xml.at_xpath('./poco:note', poco: TagManager::POCO_XMLNS).content unless author_xml.at_xpath('./poco:note', poco: TagManager::POCO_XMLNS).nil?
- account.avatar_remote_url = author_xml.at_xpath('./xmlns:link[@rel="avatar"]', xmlns: TagManager::XMLNS)['href'] unless author_xml.at_xpath('./xmlns:link[@rel="avatar"]', xmlns: TagManager::XMLNS).nil? || author_xml.at_xpath('./xmlns:link[@rel="avatar"]', xmlns: TagManager::XMLNS)['href'].blank?
+ account.avatar_remote_url = author_xml.at_xpath('./xmlns:link[@rel="avatar"]', xmlns: TagManager::XMLNS)['href'] unless author_xml.at_xpath('./xmlns:link[@rel="avatar"]', xmlns: TagManager::XMLNS).nil? || author_xml.at_xpath('./xmlns:link[@rel="avatar"]', xmlns: TagManager::XMLNS)['href'].blank? || account.suspended?
end
old_hub_url = account.hub_url
--
GitLab