summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorKJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>2023-11-24 15:06:20 +1100
committergit <svn-admin@ruby-lang.org>2023-11-24 04:06:25 +0000
commit02cc9d48f1958e8f22757116358cf5863cb109f4 (patch)
tree9d89eba07fd973ce02989ecb94384b515241e0d2 /lib
parente3b485213d06a5d9a07650174a2be9e20cb39e57 (diff)
[ruby/resolv] Catch EPROTONOSUPPORT as a sign of no IPv6 as well
(https://github.com/ruby/resolv/pull/41) If IPv6 is disabled inside a freebsd jail, it seems this returns EPROTONOSUPPORT and not EAFNOSUPPORT. In both cases, we should simply try some other listed DNS servers. Fixes [Bug #19928] https://bugs.ruby-lang.org/issues/19928 https://github.com/ruby/resolv/commit/5e2d48708b
Diffstat (limited to 'lib')
-rw-r--r--lib/resolv.rb2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/resolv.rb b/lib/resolv.rb
index 9e8335389a..0c96ee80b9 100644
--- a/lib/resolv.rb
+++ b/lib/resolv.rb
@@ -750,7 +750,7 @@ class Resolv
next if @socks_hash[bind_host]
begin
sock = UDPSocket.new(af)
- rescue Errno::EAFNOSUPPORT
+ rescue Errno::EAFNOSUPPORT, Errno::EPROTONOSUPPORT
next # The kernel doesn't support the address family.
end
@socks << sock