summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorErmal Luçi <eri@pfsense.org>2008-08-31 15:11:40 +0000
committerErmal Luçi <eri@pfsense.org>2008-08-31 15:11:40 +0000
commit7a701b1efc8b63acb5ad6930bb0d398ac8526ed0 (patch)
tree6da332b5ff407db1c2e5ca9ed12cfdd7a443329b
parent74d65827db40936f016b5efb71b0a55a75488196 (diff)
downloadpfsense-7a701b1efc8b63acb5ad6930bb0d398ac8526ed0.zip
pfsense-7a701b1efc8b63acb5ad6930bb0d398ac8526ed0.tar.gz
Fix error checking for wireless interfaces being part of a bridge which is allowed only in hostap 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