*** functions.php.orig	Tue Apr 30 10:25:09 2019
--- functions.php	Tue Apr 30 10:27:35 2019
***************
*** 4822,4828 ****
  	{
  		if (! array_key_exists($pn, $before))
  		{
! 			$removed = [];
  			$added = $new['allowed'];
  		}
  		else
--- 4822,4828 ----
  	{
  		if (! array_key_exists($pn, $before))
  		{
! 			$removed = array();
  			$added = $new['allowed'];
  		}
  		else
***************
*** 4841,4850 ****
  			}
  		}
  		foreach ($removed as $vid)
! 			if (!permitted (NULL, NULL, $op, [['tag' => "\$fromvlan_{$vid}"], ['tag' => "\$vlan_{$vid}"]]))
  				continue 2; // next port
  		foreach ($added as $vid)
! 			if (!permitted (NULL, NULL, $op, [['tag' => "\$tovlan_{$vid}"], ['tag' => "\$vlan_{$vid}"]]))
  				continue 2; // next port
  		$ret[$pn] = $new;
  	}
--- 4841,4850 ----
  			}
  		}
  		foreach ($removed as $vid)
! 			if (!permitted (NULL, NULL, $op, array( 'tag' => "\$fromvlan_{$vid}", 'tag' => "\$vlan_{$vid}" ) ))
  				continue 2; // next port
  		foreach ($added as $vid)
! 			if (!permitted (NULL, NULL, $op, array( 'tag' => "\$tovlan_{$vid}", 'tag' => "\$vlan_{$vid}" ) ))
  				continue 2; // next port
  		$ret[$pn] = $new;
  	}

