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