Merge pull request 'feat: don't crash if ip:mac already exist, just skip it' (#7) from feat/validateExistingStaticLease into master

Reviewed-on: https://git.nationtech.io/NationTech/harmony/pulls/7
This commit is contained in:
johnride 2024-12-18 17:46:25 +00:00
commit b098757683

View File

@ -1,3 +1,4 @@
use log::info;
use opnsense_config_xml::MaybeString;
use opnsense_config_xml::Range;
use opnsense_config_xml::StaticMap;
@ -93,6 +94,21 @@ impl<'a> DhcpConfig<'a> {
// return Err(DhcpError::IpAddressOutOfRange(ipaddr.to_string()));
// }
if existing_mappings.iter().any(|m| {
m.ipaddr
.parse::<Ipv4Addr>()
.expect("Mapping contains invalid ipv4")
== ipaddr
&& m.mac == mac
}) {
info!(
"Mapping already exists for {} [{}], skipping",
ipaddr.to_string(),
mac
);
return Ok(());
}
if existing_mappings.iter().any(|m| {
m.ipaddr
.parse::<Ipv4Addr>()