validate_input

Function validate_input 

Source
pub fn validate_input(input: &str) -> Result<()>
Expand description

Validate and sanitize general user input

Applies whitelist-based validation allowing only safe characters:

  • Alphanumeric characters (a-zA-Z0-9)
  • Whitespace
  • Common safe punctuation: . _ / -

§Security Considerations

  • Prevents command injection by rejecting shell metacharacters
  • Blocks null bytes
  • Limits input length to prevent DoS

§Errors

Returns error if input contains disallowed characters or exceeds length limit

§Examples

use backup_suite::core::validation::validate_input;

// Valid inputs
assert!(validate_input("backup_2024-01-15").is_ok());
assert!(validate_input("user/documents").is_ok());

// Invalid inputs (shell metacharacters)
assert!(validate_input("test; rm -rf /").is_err());
assert!(validate_input("test | cat /etc/passwd").is_err());
assert!(validate_input("test && malicious").is_err());