rusthound_ce/enums/
regex.rs

1use once_cell::sync::Lazy;
2use regex::Regex;
3
4/// <https://docs.rs/regex/latest/regex/#avoid-re-compiling-regexes-especially-in-a-loop>
5
6// Use by ./RustHound-CE/src/enums/gplink.rs
7pub static GPLINK_RE1: Lazy<Regex> = Lazy::new(|| Regex::new(r"[a-zA-Z0-9-]{36}").unwrap());
8pub static GPLINK_RE2: Lazy<Regex> = Lazy::new(|| Regex::new(r"[;][0-4]{1}").unwrap());
9
10// Use by ./RustHound-CE/src/json/checker/common.rs
11pub static COMMON_RE1: Lazy<Regex> = Lazy::new(|| Regex::new(r"^S-[0-9]+-[0-9]+-[0-9]+(?:-[0-9]+)+").unwrap());
12
13// Use by ./RustHound-CE/src/json/parser/mod.rs
14pub static PARSER_MOD_RE1: Lazy<Regex> = Lazy::new(|| Regex::new(r"[0-9a-z-A-Z]{1,}-[0-9a-z-A-Z]{1,}-[0-9a-z-A-Z]{1,}-[0-9a-z-A-Z]{1,}").unwrap());
15pub static PARSER_MOD_RE2: Lazy<Regex> = Lazy::new(|| Regex::new(r"CN=DOMAINUPDATES,CN=SYSTEM,").unwrap());
16
17// Use by ./RustHound-CE/src/objets/*.rs
18pub static OBJECT_SID_RE1: Lazy<Regex> = Lazy::new(|| Regex::new(r"^S-[0-9]{1}-[0-9]{1}-[0-9]{1,}-[0-9]{1,}-[0-9]{1,}-[0-9]{1,}").unwrap());
19pub static SID_PART1_RE1: Lazy<Regex> = Lazy::new(|| Regex::new(r"S-.*-").unwrap());
20
21// Use by ./RustHound-CE/src/enums/sid.rs
22pub static IS_SID_RE1: Lazy<Regex> = Lazy::new(|| Regex::new(r".*S-1-5.*").unwrap());