safename 0.1.0

Filename and path validation for security hardening
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
//! Filename validation and sanitization.

// Compile-time check: require-ascii and require-utf8 are mutually exclusive
#[cfg(all(feature = "require-ascii", feature = "require-utf8"))]
compile_error!(
    "Features `require-ascii` and `require-utf8` are mutually exclusive. \
     ASCII is a subset of UTF-8, so use only one."
);

mod sanitization;
mod validation;

pub use sanitization::{FileSanitizationOptions, sanitize_file, sanitize_file_with_options};
pub use validation::{
    FileValidationOptions, is_file_safe, validate_file, validate_file_with_options,
};