summaryrefslogtreecommitdiff
path: root/lib/ipaddr.rb
diff options
context:
space:
mode:
-rw-r--r--lib/ipaddr.rb16
1 files changed, 16 insertions, 0 deletions
@@ -19,6 +19,7 @@ require 'socket'
unless Socket.const_defined? "AF_INET6"
class Socket < BasicSocket
AF_INET6 = Object.new
end
@@ -51,6 +52,14 @@ unless Socket.const_defined? "AF_INET6"
end
alias getaddress_orig getaddress
def getaddress(s)
if valid?(s)
s
@@ -86,8 +95,11 @@ end
class IPAddr
IN4MASK = 0xffffffff
IN6MASK = 0xffffffffffffffffffffffffffffffff
IN6FORMAT = (["%.4x"] * 8).join(':')
# Returns the address family of this IP address.
@@ -377,6 +389,9 @@ class IPAddr
protected
def set(addr, *family)
case family[0] ? family[0] : @family
when Socket::AF_INET
@@ -397,6 +412,7 @@ class IPAddr
return self
end
def mask!(mask)
if mask.kind_of?(String)
if mask =~ /^\d+$/