lib/gitlab/url_blocker.rb
# Validates the given url according to the constraints specified by arguments.
#
# ports - Raises error if the given URL port does is not between given ports.
# allow_localhost - Raises error if URL resolves to a localhost IP address and argument is true.
# allow_local_network - Raises error if URL resolves to a link-local address and argument is true.
# ascii_only - Raises error if URL has unicode characters and argument is true.
# enforce_user - Raises error if URL user doesn't start with alphanumeric characters and argument is true.
# enforce_sanitization - Raises error if URL includes any HTML/CSS/JS tags and argument is true.
#
# Returns an array with [<uri>, <original-hostname>].
# rubocop:disable Metrics/ParameterLists
Validates the given url according to the constraints specified by arguments.
ports - Raises error if the given URL port does is not between given ports.
allow_localhost - Raises error if URL resolves to a localhost IP address and argument is true.
allow_local_network - Raises error if URL resolves to a link-local address and argument is true.
ascii_only - Raises error if URL has unicode characters and argument is true.
enforce_user - Raises error if URL user doesn't start with alphanumeric characters and argument is true.
enforce_sanitization - Raises error if URL includes any HTML/CSS/JS tags and argument is true.

Returns an array with [, ].
Validates the given url according to the constraints specified by arguments . ports - Raises error if the given URL port does is not between given ports . allow_localhost - Raises error if URL resolves to a localhost IP address and argument is true . allow_local_network - Raises error if URL resolves to a link - local address and argument is true . ascii_only - Raises error if URL has unicode characters and argument is true . enforce_user - Raises error if URL user doesn ' t start with alphanumeric characters and argument is true . enforce_sanitization - Raises error if URL includes any HTML / CSS / JS tags and argument is true . Returns an array with [ ] .
def validate_localhost(addrs_info)
        local_ips = ["::", "0.0.0.0"]
        local_ips.concat(Socket.ip_address_list.map(&:ip_address))
        return if (local_ips & addrs_info.map(&:ip_address)).empty?
        raise BlockedUrlError, "Requests to localhost are not allowed"
      end
def validate_localhost ( addrs_info ) local_ips = [ "::" , "0.0.0.0" ] local_ips . concat ( Socket . ip_address_list . map ( & :ip_address ) ) return if ( local_ips & addrs_info . map ( & :ip_address ) ) . empty? raise BlockedUrlError , "Requests to localhost are not allowed" end
Validates the given url according to the constraints specified by arguments.
Validates the given url according to the constraints specified by arguments .
addrs_info
<not_specific>