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::MaybeString;
|
||||||
use opnsense_config_xml::Range;
|
use opnsense_config_xml::Range;
|
||||||
use opnsense_config_xml::StaticMap;
|
use opnsense_config_xml::StaticMap;
|
||||||
@ -93,6 +94,21 @@ impl<'a> DhcpConfig<'a> {
|
|||||||
// return Err(DhcpError::IpAddressOutOfRange(ipaddr.to_string()));
|
// 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| {
|
if existing_mappings.iter().any(|m| {
|
||||||
m.ipaddr
|
m.ipaddr
|
||||||
.parse::<Ipv4Addr>()
|
.parse::<Ipv4Addr>()
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user