diff options
author | yugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-08-25 15:13:14 +0000 |
---|---|---|
committer | yugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-08-25 15:13:14 +0000 |
commit | d0233291bc8a5068e52c69c210e5979e5324b5bc (patch) | |
tree | 7d9459449c33792c63eeb7baa071e76352e0baab /trunk/lib/resolv-replace.rb | |
parent | 0dc342de848a642ecce8db697b8fecd83a63e117 (diff) | |
parent | 72eaacaa15256ab95c3b52ea386f88586fb9da40 (diff) |
re-adding tag v1_9_0_4 as an alias of trunk@18848v1_9_0_4
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/tags/v1_9_0_4@18849 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'trunk/lib/resolv-replace.rb')
-rw-r--r-- | trunk/lib/resolv-replace.rb | 63 |
1 files changed, 0 insertions, 63 deletions
diff --git a/trunk/lib/resolv-replace.rb b/trunk/lib/resolv-replace.rb deleted file mode 100644 index 63d58cea27..0000000000 --- a/trunk/lib/resolv-replace.rb +++ /dev/null @@ -1,63 +0,0 @@ -require 'socket' -require 'resolv' - -class << IPSocket - alias original_resolv_getaddress getaddress - def getaddress(host) - begin - return Resolv.getaddress(host).to_s - rescue Resolv::ResolvError - raise SocketError, "Hostname not known: #{host}" - end - end -end - -class TCPSocket - alias original_resolv_initialize initialize - def initialize(host, serv, *rest) - rest[0] = IPSocket.getaddress(rest[0]) unless rest.empty? - original_resolv_initialize(IPSocket.getaddress(host), serv, *rest) - end -end - -class UDPSocket - alias original_resolv_bind bind - def bind(host, port) - host = IPSocket.getaddress(host) if host != "" - original_resolv_bind(host, port) - end - - alias original_resolv_connect connect - def connect(host, port) - original_resolv_connect(IPSocket.getaddress(host), port) - end - - alias original_resolv_send send - def send(mesg, flags, *rest) - if rest.length == 2 - host, port = rest - begin - addrs = Resolv.getaddresses(host) - rescue Resolv::ResolvError - raise SocketError, "Hostname not known: #{host}" - end - err = nil - addrs[0...-1].each {|addr| - begin - return original_resolv_send(mesg, flags, addr, port) - rescue SystemCallError - end - } - original_resolv_send(mesg, flags, addrs[-1], port) - else - original_resolv_send(mesg, flags, *rest) - end - end -end - -class SOCKSSocket - alias original_resolv_initialize initialize - def initialize(host, serv) - original_resolv_initialize(IPSocket.getaddress(host), port) - end -end if defined? SOCKSSocket |