th: etc etc host host s s

th-downstream
Kouhai 9 months ago committed by Skye
parent 472eec8ae1
commit 6a5351ede0
Signed by: me
GPG Key ID: 0104BC05F41B77B8

@ -261,10 +261,19 @@ class Request
begin begin
addresses = [IPAddr.new(host)] addresses = [IPAddr.new(host)]
rescue IPAddr::InvalidAddressError rescue IPAddr::InvalidAddressError
Resolv::DNS.open do |dns| begin
dns.timeouts = 5 Resolv::DNS.open do |dns|
addresses = dns.getaddresses(host) dns.timeouts = 5
addresses = addresses.filter { |addr| addr.is_a?(Resolv::IPv6) }.take(2) + addresses.filter { |addr| !addr.is_a?(Resolv::IPv6) }.take(2) addresses = dns.getaddresses(host)
addresses = addresses.filter { |addr| addr.is_a?(Resolv::IPv6) }.take(2) + addresses.filter { |addr| !addr.is_a?(Resolv::IPv6) }.take(2)
end
rescue ResolvError
# try /etc/hosts file
# https://github.com/mastodon/mastodon/issues/9436
Resolv::Hosts.open do |dns|
addresses = dns.getaddresses(host)
addresses = addresses.filter { |addr| addr.is_a?(Resolv::IPv6) }.take(2) + addresses.filter { |addr| !addr.is_a?(Resolv::IPv6) }.take(2)
end
end end
end end

Loading…
Cancel
Save