pub const MAX_PATH_LENGTH: usize = 4096;
pub const MAX_FILENAME_LENGTH: usize = 255;
pub const MAX_PROJECT_NAME_LENGTH: usize = 64;
pub const MAX_SYMLINK_CHAIN_LENGTH: usize = 100;
pub const UTF16_NULL_BYTE_THRESHOLD: f32 = 0.25;
pub const SUSPICIOUS_ENCODED_PATTERNS: &[&str] = &[
"%2e", "%2E", "%2f", "%2F", "%5c", "%5C", "%00", "%0a", "%0A", "%0d", "%0D", ];
pub const OVERLONG_UTF8_PATTERNS: &[&str] = &[
"%c0%ae", "%c0%af", "%c1%9c", "%c0%2e", "%e0%80%ae", ];
pub const TRAVERSAL_PATTERNS: &[&str] = &[
"..",
"...", "....", ". .", ". . ", ".\t.", ".|.", ];
pub const NESTED_TRAVERSAL_PATTERNS: &[&str] = &[
"....//", "....\\/", "..../", "....\\\\", ".|./", ".|\\/", ];
pub const DANGEROUS_SEPARATORS: &[char] = &[';', '\t', '\n', '\r'];
pub const WINDOWS_RESERVED_NAMES: &[&str] = &[
"CON", "PRN", "AUX", "NUL", "COM1", "COM2", "COM3", "COM4",
"COM5", "COM6", "COM7", "COM8", "COM9", "LPT1", "LPT2",
"LPT3", "LPT4", "LPT5", "LPT6", "LPT7", "LPT8", "LPT9"
];
pub const DANGEROUS_PROTOCOLS: &[&str] = &[
"file://", "file:/",
"http://", "https://",
"ftp://", "ftps://", "sftp://",
"gopher://", "data:", "javascript:",
"vbscript:", "jar:", "php://",
];
pub const SYSTEM_PATHS: &[&str] = &[
"/proc/", "/sys/", "/dev/",
"C:\\Windows\\System32", "C:\\Windows\\Temp",
"/tmp/", "/var/tmp/",
"/etc/", "/boot/",
];
pub const SUSPICIOUS_PATTERNS: &[&str] = &[
"~", "$", "\0", "\\", ];