mirror of
				https://github.com/key-networks/ztncui.git
				synced 2024-08-31 04:28:00 +00:00 
			
		
		
		
	fix IPv6 route target comparing
This commit is contained in:
		
							parent
							
								
									d05963695b
								
							
						
					
					
						commit
						2b1409e721
					
				@ -186,13 +186,9 @@ exports.routes = async function(nwid, route, action) {
 | 
			
		||||
 | 
			
		||||
  const network = await network_detail(nwid);
 | 
			
		||||
  let routes = network.routes;
 | 
			
		||||
  const target6 = new ipaddr.Address6(route.target);
 | 
			
		||||
  if (target6.isValid()) {
 | 
			
		||||
    const parts = route.target.split('/');
 | 
			
		||||
    route.target = target6.canonicalForm() + '/' + parts[1];
 | 
			
		||||
  }
 | 
			
		||||
  route.target = canonicalTarget(route.target);
 | 
			
		||||
 | 
			
		||||
  const route_to_del = routes.find(rt => rt.target === route.target);
 | 
			
		||||
  const route_to_del = routes.find(rt => canonicalTarget(rt.target) === route.target);
 | 
			
		||||
 | 
			
		||||
  if (!route_to_del) {
 | 
			
		||||
    if (action === 'add') {
 | 
			
		||||
@ -220,6 +216,15 @@ exports.routes = async function(nwid, route, action) {
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function canonicalTarget(target) {
 | 
			
		||||
  const target6 = new ipaddr.Address6(target);
 | 
			
		||||
  if (target6.isValid()) {
 | 
			
		||||
    const parts = target.split('/');
 | 
			
		||||
    return target6.canonicalForm() + '/' + parts[1];
 | 
			
		||||
  }
 | 
			
		||||
  return target;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
exports.network_object = async function(nwid, object) {
 | 
			
		||||
  const options = await init_options();
 | 
			
		||||
  options.method = 'POST';
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user