pub fn validate_username(username: &str) -> Result<String>Expand description
Validate a username to prevent injection attacks.
This function validates that usernames conform to POSIX standards and don’t contain characters that could be used for command injection.
§Arguments
username- The username string to validate
§Returns
Returns the validated username if validation succeeds.
§Errors
Returns an error if:
- Username is empty
- Username is too long (>32 characters)
- Username contains invalid characters
- Username starts with a hyphen
§Examples
use bssh::shared::validation::validate_username;
// Valid usernames
assert!(validate_username("john_doe").is_ok());
assert!(validate_username("user123").is_ok());
// Invalid usernames
assert!(validate_username("-user").is_err());
assert!(validate_username("user@domain").is_err());