forked from NationTech/harmony
		
	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