diff options
-rw-r--r-- | etc/inc/interfaces.inc | 16 | ||||
-rwxr-xr-x | usr/local/www/interfaces.php | 2 | ||||
-rwxr-xr-x | usr/local/www/interfaces_lan.php | 2 | ||||
-rwxr-xr-x | usr/local/www/interfaces_opt.php | 2 | ||||
-rwxr-xr-x | usr/local/www/interfaces_wan.php | 2 |
5 files changed, 12 insertions, 12 deletions
diff --git a/etc/inc/interfaces.inc b/etc/inc/interfaces.inc index 02292d3..5a6e99e 100644 --- a/etc/inc/interfaces.inc +++ b/etc/inc/interfaces.inc @@ -1283,27 +1283,27 @@ function is_altq_capable($int) { function get_number_of_bridged_interfaces() { $bridges = trim(`/sbin/ifconfig -a | /usr/bin/grep bridge | /usr/bin/wc -l`); - return $bridges; + return "{$bridges}"; } function get_next_available_bridge_interface() { $bridges_total = get_number_of_bridged_interfaces(); + $interfaces = `/sbin/ifconfig -l`; $x=0; for($x=0; $x<$bridges_total; $x++) { - $bridge_text = `/sbin/ifconfig bridge{$x}`; - if(stristr($bridge_text, "does not exist") == true) { + if(!stristr($interfaces, "bridge{$x}")) { $x++; - return $x; + return "{$x}"; } } - return $x; + return "{$x}"; } function destroy_bridge($bridge_num) { mwexec("/sbin/ifconfig bridge{$bridge_num} down"); sleep(1); mwexec("/sbin/ifconfig bridge{$bridge_num} delete"); - sleep(2); + sleep(1); mwexec("/sbin/ifconfig bridge{$bridge_num} destroy"); sleep(1); return; @@ -1316,10 +1316,10 @@ function discover_bridge($interface1, $interface2) { $bridge_text = `/sbin/ifconfig bridge{$x} | grep member`; if(stristr($bridge_text, $interface1) == true and stristr($bridge_text, $interface2) == true) { - return $x; + return "{$x}"; } } - return false; + return "-1"; } ?>
\ No newline at end of file diff --git a/usr/local/www/interfaces.php b/usr/local/www/interfaces.php index 8be6797..3cac1da 100755 --- a/usr/local/www/interfaces.php +++ b/usr/local/www/interfaces.php @@ -183,7 +183,7 @@ if ($_POST) { if (!$input_errors) { $bridge = discover_bridge($wancfg['if'], filter_translate_type_to_real_interface($wancfg['bridge'])); - if($bridge) { + if($bridge <> "-1") { destroy_bridge($bridge); } diff --git a/usr/local/www/interfaces_lan.php b/usr/local/www/interfaces_lan.php index 076e7f7..bb91af1 100755 --- a/usr/local/www/interfaces_lan.php +++ b/usr/local/www/interfaces_lan.php @@ -107,7 +107,7 @@ if ($_POST) { if (!$input_errors) { $bridge = discover_bridge($lancfg['if'], filter_translate_type_to_real_interface($lancfg['bridge'])); - if($bridge) { + if($bridge <> "-1") { destroy_bridge($bridge); } diff --git a/usr/local/www/interfaces_opt.php b/usr/local/www/interfaces_opt.php index c836705..4b3ebc4 100755 --- a/usr/local/www/interfaces_opt.php +++ b/usr/local/www/interfaces_opt.php @@ -166,7 +166,7 @@ if ($_POST) { if (!$input_errors) { $bridge = discover_bridge($optcfg['if'], filter_translate_type_to_real_interface($optcfg['bridge'])); - if($bridge) { + if($bridge <> "-1") { destroy_bridge($bridge); } diff --git a/usr/local/www/interfaces_wan.php b/usr/local/www/interfaces_wan.php index 8be6797..3cac1da 100755 --- a/usr/local/www/interfaces_wan.php +++ b/usr/local/www/interfaces_wan.php @@ -183,7 +183,7 @@ if ($_POST) { if (!$input_errors) { $bridge = discover_bridge($wancfg['if'], filter_translate_type_to_real_interface($wancfg['bridge'])); - if($bridge) { + if($bridge <> "-1") { destroy_bridge($bridge); } |