End of Life Ruby 3.1 has reached end of life and gets no more fixes. Switch to Ruby 4.0 →
class method
Win32::Resolv.get_info
get_info
ext/win32/lib/win32/resolv.rb
View on GitHub ↗
# File tmp/rubies/ruby-3.1.3/ext/win32/lib/win32/resolv.rb, line 75
def get_info
search = nil
nameserver = get_dns_server_list
Registry::HKEY_LOCAL_MACHINE.open(TCPIP_NT) do |reg|
begin
slist = reg.read_s('SearchList')
search = slist.split(/,\s*/) unless slist.empty?
rescue Registry::Error
end
if add_search = search.nil?
search = []
begin
nvdom = reg.read_s('NV Domain')
unless nvdom.empty?
@search = [ nvdom ]
if reg.read_i('UseDomainNameDevolution') != 0
if /^\w+\./ =~ nvdom
devo = $'
end
end
end
rescue Registry::Error
end
end
reg.open('Interfaces') do |h|
h.each_key do |iface, |
h.open(iface) do |regif|
next unless ns = %w[NameServer DhcpNameServer].find do |key|
begin
ns = regif.read_s(key)
rescue Registry::Error
else
break ns.split(/[,\s]\s*/) unless ns.empty?
end
end
next if (nameserver & ns).empty?
if add_search
begin
[ 'Domain', 'DhcpDomain' ].each do |key|
dom = regif.read_s(key)
unless dom.empty?
search.concat(dom.split(/,\s*/))
break
end
end
rescue Registry::Error
end
end
end
end
end
search << devo if add_search and devo
end
[ search.uniq, nameserver.uniq ]
end
No documentation available