diff options
author | Claire <claire.github-309c@sitedethib.com> | 2022-11-08 16:36:26 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-11-08 16:36:26 +0100 |
commit | c989faaa6201f19e99dc7088a496e603153f0f90 (patch) | |
tree | 244deadde93124eefb9a94fb2de3ff8d7b5528b5 | |
parent | 36b0ff57b7699db3d6acaa969a6c1491d1b9f9e3 (diff) |
Change Request connection logic to try both IPv6 and IPv4 when available (#20108)
Fixes #19751
-rw-r--r-- | app/lib/request.rb | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/app/lib/request.rb b/app/lib/request.rb index 1ea86862d..dd198f399 100644 --- a/app/lib/request.rb +++ b/app/lib/request.rb @@ -199,7 +199,8 @@ class Request rescue IPAddr::InvalidAddressError Resolv::DNS.open do |dns| dns.timeouts = 5 - addresses = dns.getaddresses(host).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 end |