0
0
Fork 0

Fix acct URIs with IDN domains not being resolved (#11520)

Fix #11494
This commit is contained in:
Eugen Rochko 2019-08-07 21:14:08 +02:00 committed by GitHub
parent 3a6b6c63f2
commit f51c7c105f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 40 additions and 11 deletions

View file

@ -60,17 +60,23 @@ class ResolveAccountService < BaseService
@account = uri
@username = @account.username
@domain = @account.domain
@uri = [@username, @domain].compact.join('@')
else
@uri = uri
@username, @domain = uri.split('@')
end
@domain = nil if TagManager.instance.local_domain?(@domain)
@domain = begin
if TagManager.instance.local_domain?(@domain)
nil
else
TagManager.instance.normalize_domain(@domain)
end
end
@uri = [@username, @domain].compact.join('@')
end
def process_webfinger!(uri, redirected = false)
@webfinger = Goldfinger.finger("acct:#{@uri}")
@webfinger = Goldfinger.finger("acct:#{uri}")
confirmed_username, confirmed_domain = @webfinger.subject.gsub(/\Aacct:/, '').split('@')
if confirmed_username.casecmp(@username).zero? && confirmed_domain.casecmp(@domain).zero?