Improve network checks

This commit is contained in:
2024-01-08 21:29:31 +01:00
parent 672e866897
commit e86b29c03a
4 changed files with 96 additions and 33 deletions

View File

@ -47,10 +47,15 @@ pub fn is_mac_address_valid<D: AsRef<str>>(mac: D) -> bool {
lazy_regex::regex!("^([a-fA-F0-9]{2}[:-]){5}[a-fA-F0-9]{2}$").is_match(mac.as_ref())
}
pub fn is_net_interface_name_valid<D: AsRef<str>>(int: D) -> bool {
lazy_regex::regex!("^[a-zA-Z0-9]+$").is_match(int.as_ref())
}
#[cfg(test)]
mod tests {
use crate::utils::net_utils::{
is_ipv4_address_valid, is_ipv6_address_valid, is_mac_address_valid, is_mask_valid,
is_net_interface_name_valid,
};
#[test]
@ -98,4 +103,13 @@ mod tests {
assert!(is_mask_valid(6, 128));
assert!(!is_mask_valid(6, 129));
}
#[test]
fn test_is_net_interface_name_valid() {
assert!(is_net_interface_name_valid("eth0"));
assert!(is_net_interface_name_valid("enp0s25"));
assert!(!is_net_interface_name_valid("enp0s25 "));
assert!(!is_net_interface_name_valid("@enp0s25 "));
}
}