th: etc etc host host s s

This commit is contained in:
Kouhai 2024-02-12 02:35:47 -08:00
parent c379487041
commit 7719de5665

View file

@ -261,11 +261,20 @@ class Request
begin
addresses = [IPAddr.new(host)]
rescue IPAddr::InvalidAddressError
begin
Resolv::DNS.open do |dns|
dns.timeouts = 5
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
socks = []