diff options
author | eban <eban@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2003-12-14 10:04:35 +0000 |
---|---|---|
committer | eban <eban@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2003-12-14 10:04:35 +0000 |
commit | 24788ea7f6f3ec9d911ac1fce3411a2629f57934 (patch) | |
tree | 762f5da440a2026f5dd80d752604b00c1920c9c9 | |
parent | b6d2004e9d573a4d039b0311e1ddad8d66983f7e (diff) | |
download | ruby-24788ea7f6f3ec9d911ac1fce3411a2629f57934.tar.gz ruby-24788ea7f6f3ec9d911ac1fce3411a2629f57934.tar.xz ruby-24788ea7f6f3ec9d911ac1fce3411a2629f57934.zip |
* ext/socket/socket.c (Init_socket): IPv6 is not supported although
AF_INET6 is defined on MinGW.
* lib/ipaddr.rb (AF_INET6): workaround in the environment which does
not support IPv6.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@5187 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | ext/socket/socket.c | 4 | ||||
-rw-r--r-- | lib/ipaddr.rb | 12 |
3 files changed, 22 insertions, 2 deletions
@@ -1,3 +1,11 @@ +Sun Dec 14 18:46:48 2003 WATANABE Hirofumi <eban@ruby-lang.org> + + * ext/socket/socket.c (Init_socket): IPv6 is not supported although + AF_INET6 is defined on MinGW. + + * lib/ipaddr.rb (AF_INET6): workaround in the environment which does + not support IPv6. + Sat Dec 13 18:55:16 2003 Nobuyoshi Nakada <nobu@ruby-lang.org> * ext/iconv/charset_alias.rb: preserve original order. diff --git a/ext/socket/socket.c b/ext/socket/socket.c index e84260306..8a1825d79 100644 --- a/ext/socket/socket.c +++ b/ext/socket/socket.c @@ -2511,10 +2511,10 @@ Init_socket() sock_define_const("AF_UNSPEC", AF_UNSPEC); sock_define_const("PF_UNSPEC", PF_UNSPEC); #endif -#ifdef AF_INET6 +#ifdef INET6 sock_define_const("AF_INET6", AF_INET6); #endif -#ifdef PF_INET6 +#ifdef INET6 sock_define_const("PF_INET6", PF_INET6); #endif diff --git a/lib/ipaddr.rb b/lib/ipaddr.rb index b8befe849..79ea0d624 100644 --- a/lib/ipaddr.rb +++ b/lib/ipaddr.rb @@ -32,6 +32,18 @@ require 'socket' +unless Socket.const_defined? "AF_INET6" + class Socket + AF_INET6 = Object.new + end + class << IPSocket + alias getaddress_orig getaddress + def getaddress(s) + /^::/ =~ s ? s : getaddress_orig(s) + end + end +end + # IPAddr provides a set of methods to manipulate an IP address. Both # IPv4 and IPv6 are supported. class IPAddr |