Browse Source

Add environment variable to allow requests to some private addresses (#14722)

closed-social-v3
ThibG 4 years ago
committed by GitHub
parent
commit
d60290044e
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 9 additions and 1 deletions
  1. +9
    -1
      app/lib/request.rb

+ 9
- 1
app/lib/request.rb View File

@ -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…
Cancel
Save