summaryrefslogtreecommitdiffstats
path: root/usr/local/www/interfaces_lagg_edit.php
diff options
context:
space:
mode:
authorErmal <eri@pfsense.org>2013-01-24 09:57:22 +0000
committerErmal <eri@pfsense.org>2013-01-24 09:57:22 +0000
commit0e22dda58ddc010d12126ed6af6589ff76d03043 (patch)
treee7396e447b3f7cb6e4582df870f4f022af9c3bf8 /usr/local/www/interfaces_lagg_edit.php
parent7309ff3915c58fd664618f01a91dbe8ac9dd2526 (diff)
downloadpfsense-0e22dda58ddc010d12126ed6af6589ff76d03043.zip
pfsense-0e22dda58ddc010d12126ed6af6589ff76d03043.tar.gz
Put some more sanity checking for various interface configurations
Diffstat (limited to 'usr/local/www/interfaces_lagg_edit.php')
-rw-r--r--usr/local/www/interfaces_lagg_edit.php15
1 files changed, 14 insertions, 1 deletions
diff --git a/usr/local/www/interfaces_lagg_edit.php b/usr/local/www/interfaces_lagg_edit.php
index 5c2a181..3c6ee5a 100644
--- a/usr/local/www/interfaces_lagg_edit.php
+++ b/usr/local/www/interfaces_lagg_edit.php
@@ -62,6 +62,8 @@ $checklist = get_configured_interface_list(false, true);
foreach ($checklist as $tmpif)
$realifchecklist[get_real_interface($tmpif)] = $tmpif;
+$laggprotos = array("none", "lacp", "failover", "fec", "loadbalance", "roundrobin");
+
$id = $_GET['id'];
if (isset($_POST['id']))
$id = $_POST['id'];
@@ -87,6 +89,17 @@ if ($_POST) {
do_input_validation($_POST, $reqdfields, $reqdfieldsn, &$input_errors);
+ if (is_array($_POST['members'])) {
+ foreach ($_POST['members'] as $member) {
+ if (!does_interface_exist($_POST['members']))
+ $input_errors[] = gettext("Interface supplied as member is invalid");
+ }
+ } else if (!does_interface_exist($_POST['members']))
+ $input_errors[] = gettext("Interface supplied as member is invalid");
+
+ if (!in_array($_POST['proto'], $laggprotos))
+ $input_errors[] = gettext("Protocol supplied is invalid");
+
if (!$input_errors) {
$lagg = array();
$lagg['members'] = implode(',', $_POST['members']);
@@ -154,7 +167,7 @@ include("head.inc");
<td class="vtable">
<select name="proto" class="formselect" id="proto">
<?php
- foreach (array("none", "lacp", "failover", "fec", "loadbalance", "roundrobin") as $proto) {
+ foreach ($laggprotos as $proto) {
echo "<option value=\"{$proto}\"";
if ($proto == $pconfig['proto'])
echo "selected";
OpenPOWER on IntegriCloud