class Sentry::Utils::RealIp

def ips_from(header)

def ips_from(header)
  # Split the comma-separated list into an array of strings
  ips = header ? header.strip.split(/[,\s]+/) : []
  ips.select do |ip|
    begin
      # Only return IPs that are valid according to the IPAddr#new method
      range = IPAddr.new(ip).to_range
      # we want to make sure nobody is sneaking a netmask in
      range.begin == range.end
    rescue ArgumentError
      nil
    end
  end
end