diff options
author | Luiz Otavio O Souza <luiz@netgate.com> | 2015-11-22 08:45:11 -0600 |
---|---|---|
committer | Luiz Otavio O Souza <luiz@netgate.com> | 2015-11-22 08:45:11 -0600 |
commit | aa4c2db3d985dc632e08953cf82df9a81f024f29 (patch) | |
tree | e0b1bcc56fd433a96ac68fecd5200ee1819516fc /src | |
parent | c42dde05a469a418f2494ad5ed40e8692db5c4ba (diff) | |
download | pfsense-aa4c2db3d985dc632e08953cf82df9a81f024f29.zip pfsense-aa4c2db3d985dc632e08953cf82df9a81f024f29.tar.gz |
Do not allow the same interface be part of two different bridges.
This is already forbidden in OS, so just add a warning to prevent this kind of misconfiguration.
Issue: #4595
Diffstat (limited to 'src')
-rw-r--r-- | src/usr/local/www/interfaces_bridge_edit.php | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/usr/local/www/interfaces_bridge_edit.php b/src/usr/local/www/interfaces_bridge_edit.php index 296dfab..2a33d12 100644 --- a/src/usr/local/www/interfaces_bridge_edit.php +++ b/src/usr/local/www/interfaces_bridge_edit.php @@ -211,7 +211,17 @@ if ($_POST) { if ($_POST['span'] != "none" && $_POST['span'] == $ifmembers) { $input_errors[] = gettext("Span interface cannot be part of the bridge. Remove the span interface from bridge members to continue."); } + foreach($a_bridges as $a_bridge) { + if ($_POST['bridgeif'] === $a_bridge['bridgeif']) + continue; + $a_members = explode(',', $a_bridge['members']); + foreach ($a_members as $a_member) { + if ($ifmembers === $a_member) + $input_errors[] = $ifmembers . gettext(" is part of another bridge. Remove the interface from bridge members to continue."); + } + } } + $pconfig['members'] = implode(',', $_POST['members']); } if (!$input_errors) { @@ -371,7 +381,7 @@ $section->addInput(new Form_Select( ))->setHelp('Interfaces participating in the bridge'); $section->addInput(new Form_Input( - 'Descr', + 'descr', 'Description', 'text', $pconfig['descr'] |