diff options
author | Ermal <eri@pfsense.org> | 2013-01-24 09:57:22 +0000 |
---|---|---|
committer | Ermal <eri@pfsense.org> | 2013-01-24 09:57:22 +0000 |
commit | 0e22dda58ddc010d12126ed6af6589ff76d03043 (patch) | |
tree | e7396e447b3f7cb6e4582df870f4f022af9c3bf8 /usr/local/www/interfaces_lagg_edit.php | |
parent | 7309ff3915c58fd664618f01a91dbe8ac9dd2526 (diff) | |
download | pfsense-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.php | 15 |
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"; |