def dkim_selector
selector = get_param("dkim", self.config_dir)
selector_regex = /\b(([a-z0-9-]+)(\.[a-z0-9-]+)*)\b/i
@dkim_selector = if selector.is_a?(String) and selector =~ selector_regex
$1.to_s
elsif selector == false
nil
else
hostname = nil
%w(/etc/mailname /etc/hostname /proc/sys/kernel/hostname).each do |path|
hostname = get_param( *File.split(path).reverse )
break if hostname.is_a?(String) and hostname.include?(".")
end
hostname = "" unless hostname.is_a?(String)
if hostname.empty? and !hostname.include?(".")
begin
hostname = Socket.gethostbyname(hostname).first
rescue SocketError
hostname = ""
end
end
if hostname =~ selector_regex
$2.to_s
else
"default"
end
end
end