X-Git-Url: https://projects.mako.cc/source/selectricity/blobdiff_plain/f38aa87edf153cf8f5f5c93a78fbf1424a8e62f2..74373452650a5ef7eff91f8c479d23500ace3c0c:/lib/whois/whois.rb diff --git a/lib/whois/whois.rb b/lib/whois/whois.rb index 88c735b..962a399 100755 --- a/lib/whois/whois.rb +++ b/lib/whois/whois.rb @@ -4,6 +4,8 @@ require 'socket' require 'resolv' require 'ipaddr' require 'yaml' +require 'timeout' + require File.dirname(__FILE__) + '/server/server' # Module for manage all Whois Class @@ -92,7 +94,11 @@ module Whois def search_host begin if @host_search - @host = Resolv.getname self.ip.to_s + begin + timeout(5) {@host = Resolv.getname self.ip.to_s} + rescue Timeout::Error + @host=nil + end else @host = nil end @@ -124,7 +130,7 @@ module Whois if ip_range.include? self.ip and l[1].length > 0 return Object.instance_eval("Server::#{l[1]}.new") end - return Server::Ripe.new + return Server::Arin.new end end @@ -133,7 +139,7 @@ module Whois ipv6_list = YAML::load_file(File.dirname(__FILE__) + '/data/ipv6.yaml') server = server_with_hash(ipv6_list) unless server.kind_of? Server::Server - return Server::Ripe.new + return Server::Arin.new else return server end