Add environment variable to allow requests to some private addresses (#14722)
parent
187c756e16
commit
1603dc87ac
|
@ -253,7 +253,15 @@ class Request
|
||||||
alias new open
|
alias new open
|
||||||
|
|
||||||
def check_private_address(address)
|
def check_private_address(address)
|
||||||
raise Mastodon::HostValidationError if PrivateAddressCheck.private_address?(IPAddr.new(address.to_s))
|
addr = IPAddr.new(address.to_s)
|
||||||
|
return if private_address_exceptions.any? { |range| range.include?(addr) }
|
||||||
|
raise Mastodon::HostValidationError if PrivateAddressCheck.private_address?(addr)
|
||||||
|
end
|
||||||
|
|
||||||
|
def private_address_exceptions
|
||||||
|
@private_address_exceptions = begin
|
||||||
|
(ENV['ALLOWED_PRIVATE_ADDRESSES'] || '').split(',').map { |addr| IPAddr.new(addr) }
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in New Issue