Instead of refusing to create accounts, domain blocks auto-suspend new accounts from that domain
This commit is contained in:
		
							parent
							
								
									05abd977c1
								
							
						
					
					
						commit
						9bd3b11cfb
					
				@ -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'
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
@ -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)
 | 
			
		||||
 | 
			
		||||
@ -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
 | 
			
		||||
 | 
			
		||||
@ -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
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user