[ruby/resolv] config read from file should return frozen data!
https://github.com/ruby/resolv/commit/afb57f40a1
This commit is contained in:
parent
756479324f
commit
54a85caed4
@ -998,13 +998,13 @@ class Resolv
|
|||||||
next unless keyword
|
next unless keyword
|
||||||
case keyword
|
case keyword
|
||||||
when 'nameserver'
|
when 'nameserver'
|
||||||
nameserver.concat(args)
|
nameserver.concat(args.each(&:freeze))
|
||||||
when 'domain'
|
when 'domain'
|
||||||
next if args.empty?
|
next if args.empty?
|
||||||
search = [args[0]]
|
search = [args[0].freeze]
|
||||||
when 'search'
|
when 'search'
|
||||||
next if args.empty?
|
next if args.empty?
|
||||||
search = args
|
search = args.each(&:freeze)
|
||||||
when 'options'
|
when 'options'
|
||||||
args.each {|arg|
|
args.each {|arg|
|
||||||
case arg
|
case arg
|
||||||
@ -1015,23 +1015,23 @@ class Resolv
|
|||||||
end
|
end
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return { :nameserver => nameserver, :search => search, :ndots => ndots }
|
return { :nameserver => nameserver.freeze, :search => search.freeze, :ndots => ndots.freeze }.freeze
|
||||||
end
|
end
|
||||||
|
|
||||||
def Config.default_config_hash(filename="/etc/resolv.conf")
|
def Config.default_config_hash(filename="/etc/resolv.conf")
|
||||||
if File.exist? filename
|
if File.exist? filename
|
||||||
config_hash = Config.parse_resolv_conf(filename)
|
Config.parse_resolv_conf(filename)
|
||||||
else
|
elsif WINDOWS
|
||||||
if WINDOWS
|
|
||||||
require 'win32/resolv' unless defined?(Win32::Resolv)
|
require 'win32/resolv' unless defined?(Win32::Resolv)
|
||||||
search, nameserver = Win32::Resolv.get_resolv_info
|
search, nameserver = Win32::Resolv.get_resolv_info
|
||||||
config_hash = {}
|
config_hash = {}
|
||||||
config_hash[:nameserver] = nameserver if nameserver
|
config_hash[:nameserver] = nameserver if nameserver
|
||||||
config_hash[:search] = [search].flatten if search
|
config_hash[:search] = [search].flatten if search
|
||||||
|
config_hash
|
||||||
|
else
|
||||||
|
{}
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
config_hash || {}
|
|
||||||
end
|
|
||||||
|
|
||||||
def lazy_initialize
|
def lazy_initialize
|
||||||
@mutex.synchronize {
|
@mutex.synchronize {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user