feat: don't crash if ip:mac already exist, just skip it
This commit is contained in:
parent
f7e97f5c81
commit
0247252474
@ -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>()
|
||||
|
Loading…
Reference in New Issue
Block a user