summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--usr/local/www/interfaces_bridge_edit.php11
-rwxr-xr-xusr/local/www/interfaces_wlan.inc5
2 files changed, 11 insertions, 5 deletions
diff --git a/usr/local/www/interfaces_bridge_edit.php b/usr/local/www/interfaces_bridge_edit.php
index a1b9fdc..05ddc2d 100644
--- a/usr/local/www/interfaces_bridge_edit.php
+++ b/usr/local/www/interfaces_bridge_edit.php
@@ -123,6 +123,17 @@ if ($_POST) {
$input_errors[] = "{$ifdescr} interface path cost for STP needs to be an interger between 1 and 200000000.";
$i++;
}
+
+ if (!is_array($_POST['members']) || count($_POST['members'] < 2)
+ $input_errors[] = "You must select at least 2 member interfaces for a bridge.";
+
+ if (is_array($_POST['members'])) {
+ foreach($_POST['members'] as $ifmembers)
+ if (is_array($config['interfaces'][$ifmembers]['wireless']) &&
+ $config['interfaces'][$ifmembers]['wireless']['mode'] != "hostap")
+ $input_errors[] = "Bridging a wireless interface is only possible in hostap mode.";
+ }
+
if (!$input_errors) {
$bridge = array();
$bridge['members'] = implode(',', $_POST['members']);
diff --git a/usr/local/www/interfaces_wlan.inc b/usr/local/www/interfaces_wlan.inc
index 84c9e6a..62d1f09 100755
--- a/usr/local/www/interfaces_wlan.inc
+++ b/usr/local/www/interfaces_wlan.inc
@@ -86,11 +86,6 @@ function wireless_config_post() {
$reqdfieldsn = explode(",", "Mode,SSID");
do_input_validation($_POST, $reqdfields, $reqdfieldsn, &$input_errors);
- if (!$input_errors) {
- /* bridge check (hostap only!) */
- if ($pconfig['bridge'] && ($pconfig['mode'] != "hostap"))
- $input_errors[] = "Bridging a wireless interface is only possible in hostap mode.";
- }
}
/* loop through keys and enforce size */
OpenPOWER on IntegriCloud