Revert "IZ MS webfinger now trys ssl first, then http"
This reverts commit af3247b62f.
This commit is contained in:
parent
0db30bb221
commit
153265aae8
2 changed files with 14 additions and 51 deletions
|
|
@ -6,7 +6,6 @@ class EMWebfinger
|
|||
def initialize(account)
|
||||
@account = account.strip.gsub('acct:','').to_s
|
||||
@callbacks = []
|
||||
@ssl = true
|
||||
# Raise an error if identifier has a port number
|
||||
raise "Identifier is invalid" if(@account.strip.match(/\:\d+$/))
|
||||
# Raise an error if identifier is not a valid email (generous regexp)
|
||||
|
|
@ -35,9 +34,6 @@ class EMWebfinger
|
|||
profile_url = webfinger_profile_url(http.response)
|
||||
if profile_url
|
||||
get_webfinger_profile(profile_url)
|
||||
elsif @ssl
|
||||
@ssl = false
|
||||
get_xrd
|
||||
else
|
||||
process_callbacks "webfinger does not seem to be enabled for #{@account}'s host"
|
||||
end
|
||||
|
|
@ -77,18 +73,25 @@ class EMWebfinger
|
|||
##helpers
|
||||
private
|
||||
|
||||
def check_nil_response(html)
|
||||
|
||||
end
|
||||
|
||||
|
||||
|
||||
def webfinger_profile_url(xrd_response)
|
||||
doc = Nokogiri::XML::Document.parse(xrd_response)
|
||||
return nil if doc.namespaces["xmlns"] != "http://docs.oasis-open.org/ns/xri/xrd-1.0"
|
||||
swizzle doc.at('Link[rel=lrdd]').attribute('template').value
|
||||
end
|
||||
|
||||
def xrd_url
|
||||
def xrd_url(ssl = false)
|
||||
domain = @account.split('@')[1]
|
||||
"http#{'s' if @ssl}://#{domain}/.well-known/host-meta"
|
||||
"http#{'s' if ssl}://#{domain}/.well-known/host-meta"
|
||||
end
|
||||
|
||||
def swizzle(template)
|
||||
template.gsub '{uri}', @account
|
||||
end
|
||||
|
||||
end
|
||||
|
|
|
|||
|
|
@ -47,11 +47,6 @@ describe EMWebfinger do
|
|||
EMWebfinger.new('eviljoe@diaspora.local:3000')
|
||||
}.should raise_error(RuntimeError, "Identifier is invalid")
|
||||
end
|
||||
|
||||
it 'should set ssl as the default' do
|
||||
foo = EMWebfinger.new(account)
|
||||
foo.instance_variable_get(:@ssl).should be true
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
|
|
@ -99,14 +94,14 @@ describe EMWebfinger do
|
|||
end
|
||||
|
||||
describe '#xrd_url' do
|
||||
it 'should return canonical host-meta url for http' do
|
||||
finger.instance_variable_set(:@ssl, false)
|
||||
it 'should return canonical host-meta url' do
|
||||
finger.send(:xrd_url).should == "http://tom.joindiaspora.com/.well-known/host-meta"
|
||||
end
|
||||
|
||||
it 'can return the https version' do
|
||||
finger.send(:xrd_url).should == "https://tom.joindiaspora.com/.well-known/host-meta"
|
||||
finger.send(:xrd_url, true).should == "https://tom.joindiaspora.com/.well-known/host-meta"
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
|
||||
|
|
@ -132,44 +127,9 @@ describe EMWebfinger do
|
|||
|
||||
EM.run {
|
||||
f.on_person{ |p|
|
||||
p.valid?.should be true
|
||||
EM.stop
|
||||
}
|
||||
p.valid?.should be true
|
||||
EM.stop
|
||||
}
|
||||
end
|
||||
|
||||
it 'should retry with http if https fails' do
|
||||
good_request.callbacks = [nil, diaspora_xrd, diaspora_finger, hcard_xml]
|
||||
|
||||
#new_person = Factory.build(:person, :diaspora_handle => "tom@tom.joindiaspora.com")
|
||||
# http://tom.joindiaspora.com/.well-known/host-meta
|
||||
f = EMWebfinger.new("tom@tom.joindiaspora.com")
|
||||
|
||||
EventMachine::HttpRequest.should_receive(:new).exactly(4).times.and_return(good_request)
|
||||
|
||||
f.should_receive(:xrd_url).twice
|
||||
|
||||
EM.run {
|
||||
f.on_person{ |p|
|
||||
EM.stop
|
||||
}
|
||||
}
|
||||
end
|
||||
|
||||
|
||||
it 'must try https first' do
|
||||
single_request = FakeHttpRequest.new(:success)
|
||||
single_request.callbacks = [diaspora_xrd]
|
||||
good_request.callbacks = [diaspora_finger, hcard_xml]
|
||||
EventMachine::HttpRequest.should_receive(:new).with("https://tom.joindiaspora.com/.well-known/host-meta").and_return(single_request)
|
||||
EventMachine::HttpRequest.should_receive(:new).exactly(2).and_return(good_request)
|
||||
|
||||
f = EMWebfinger.new("tom@tom.joindiaspora.com")
|
||||
|
||||
EM.run {
|
||||
f.on_person{ |p|
|
||||
EM.stop
|
||||
}
|
||||
}
|
||||
end
|
||||
end
|
||||
|
|
|
|||
Loading…
Reference in a new issue