feat: don't crash if ip:mac already exist, just skip it

This commit is contained in:
Sylvain Tremblay 2024-12-18 10:46:36 -05:00 committed by johnride
parent f7e97f5c81
commit 0247252474

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>()