Skip to main content

validate_backend_address

Function validate_backend_address 

Source
pub fn validate_backend_address(address: &str) -> ProxyResult<String>
Expand description

Check a tenant backend’s host:port, returning it in canonical form.

Refuses an IP literal in any forbidden range, localhost and the other special-use names, single-label names (which resolve through the search list to hosts inside the network), and anything that is not a valid hostname. A port is required.

A hostname is checked only for what it says, not for what it resolves to: resolution at write time proves nothing about resolution at connect time, so whatever eventually connects to a tenant backend must check the address it actually connects to, with is_forbidden_address.