Skip to main content

validate_hostname

Function validate_hostname 

Source
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());