pub fn validate_hostname(hostname: &str) -> Result<String>Expand description
Sanitize a hostname to prevent injection attacks.
This function validates that hostnames conform to RFC 1123 and don’t contain characters that could be used for command injection.
§Arguments
hostname- The hostname string to validate
§Returns
Returns the validated hostname if validation succeeds.
§Errors
Returns an error if:
- Hostname is empty
- Hostname is too long (>253 characters, per RFC 1123)
- Hostname contains invalid characters
- Hostname contains suspicious patterns
§Examples
use bssh::shared::validation::validate_hostname;
// Valid hostnames
assert!(validate_hostname("example.com").is_ok());
assert!(validate_hostname("192.168.1.1").is_ok());
assert!(validate_hostname("[::1]").is_ok());
// Invalid hostnames
assert!(validate_hostname("example..com").is_err());
assert!(validate_hostname("example.com; ls").is_err());