class SPF::Mech::SPF::Mech::IP4

Constants

NAME

Public Instance Methods

match(server, request, want_result = true) click to toggle source
# File lib/spf/model.rb, line 489
def match(server, request, want_result = true)
  return false unless @ip_network
  ip_network_v6 = IP::V4 === @ip_network ?
    SPF::Util.ipv4_address_to_ipv6(@ip_network) :
    @ip_network
  return ip_network_v6.contains?(request.ip_address_v6)
end
params() click to toggle source
# File lib/spf/model.rb, line 479
def params
  return nil unless @ip_network
  return @ip_network if String === @ip_network
  result = @ip_network.to_addr
  if @ip_network.pfxlen != @default_ipv4_prefix_length
    result += "/#{@ip_network.pfxlen}"
  end
  return result
end
parse_params(required = true) click to toggle source
# File lib/spf/model.rb, line 467
def parse_params(required = true)
  self.parse_ipv4_network(required)
  if IP === @ip_network
    @ip_netblocks << @ip_network
    if @ip_network.respond_to?(:offset) && @ip_network.offset != 0
      @errors << SPF::InvalidMechCIDRError.new(
        "Invalid CIDR netblock - bits in host portion of address of #{@ip_network}"
      )
    end
  end
end