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::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