Sha256: e240bd4975d6f29089d87f934b8714bef0623875862fe17ee414ea744cd00267
Contents?: true
Size: 1.77 KB
Versions: 2
Compression:
Stored size: 1.77 KB
Contents
# frozen_string_literal: true # # Author:: Stafford Brunk (<stafford.brunk@gmail.com>) # License:: Apache License, Version 2.0 # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. module Ohai module Util module IpHelper require "ipaddress" unless defined?(IPAddress) # Corresponding to RFC 4192 + RFC 4193 IPV6_LINK_LOCAL_UNICAST_BLOCK = IPAddress("fe80::/10") unless defined?(IPV6_LINK_LOCAL_UNICAST_BLOCK) IPV6_PRIVATE_ADDRESS_BLOCK = IPAddress("fc00::/7") unless defined?(IPV6_PRIVATE_ADDRESS_BLOCK) def private_address?(addr) ip = IPAddress(addr) if ip.respond_to? :private? ip.private? else IPV6_LINK_LOCAL_UNICAST_BLOCK.include?(ip) || IPV6_PRIVATE_ADDRESS_BLOCK.include?(ip) end end alias unique_local_address? private_address? def public_address?(addr) !private_address?(addr) end # The ipaddress gem doesn't implement loopback? # for IPv4 addresses # https://github.com/bluemonk/ipaddress/issues/25 def loopback?(addr) ip = IPAddress(addr) if ip.respond_to? :loopback? ip.loopback? else IPAddress("127.0.0.0/8").include? ip end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
ohai-19.0.3 | lib/ohai/util/ip_helper.rb |
ohai-18.0.26 | lib/ohai/util/ip_helper.rb |