From 5e87c80feeb9d89f06d48e6a0ec9526d34be33dc Mon Sep 17 00:00:00 2001 From: Franco Fichtner Date: Fri, 29 Dec 2017 15:33:44 +0000 Subject: [PATCH] Revert "interfaces: add a no default value for #2032" Looks like this was already misbehaving even before we added the explicit PCP change. Probably since FreeBSD 11.0. This reverts commit 4d9533d05e918d14117975f4b74ae337f370adc6. --- src/etc/inc/interfaces.inc | 2 +- src/etc/inc/interfaces.lib.inc | 7 ++----- src/www/interfaces_vlan_edit.php | 31 ++++++++++++++----------------- 3 files changed, 17 insertions(+), 23 deletions(-) diff --git a/src/etc/inc/interfaces.inc b/src/etc/inc/interfaces.inc index 5580e4591..e0abf756a 100644 --- a/src/etc/inc/interfaces.inc +++ b/src/etc/inc/interfaces.inc @@ -242,7 +242,7 @@ function interface_vlan_configure(&$vlan) } legacy_interface_create('vlan', $vlanif); - $pcp = isset($vlan['pcp']) ? $vlan['pcp'] : null; + $pcp = isset($vlan['pcp']) ? $vlan['pcp'] : 0; legacy_vlan_tag($vlanif, $if, $vlan['tag'], $pcp); interfaces_bring_up($vlanif); diff --git a/src/etc/inc/interfaces.lib.inc b/src/etc/inc/interfaces.lib.inc index e95b2d3f1..8cdb36b79 100644 --- a/src/etc/inc/interfaces.lib.inc +++ b/src/etc/inc/interfaces.lib.inc @@ -155,12 +155,9 @@ function legacy_bridge_member($ifs, $member) } } -function legacy_vlan_tag($ifs, $member, $tag, $pcp = null) +function legacy_vlan_tag($ifs, $member, $tag, $pcp) { - $cmd = '/sbin/ifconfig ' . escapeshellarg($ifs) . ' vlandev ' . escapeshellarg($member) . ' vlan ' . escapeshellarg($tag); - if ($pcp != null) { - $cmd .= ' vlanpcp '.escapeshellarg($pcp); - } + $cmd = '/sbin/ifconfig ' . escapeshellarg($ifs) . ' vlandev ' . escapeshellarg($member) . ' vlan ' . escapeshellarg($tag) . ' vlanpcp '.escapeshellarg($pcp); exec($cmd . ' 2>&1', $out, $ret); if ($ret) { diff --git a/src/www/interfaces_vlan_edit.php b/src/www/interfaces_vlan_edit.php index ef5b21f52..e5a3d45f3 100644 --- a/src/www/interfaces_vlan_edit.php +++ b/src/www/interfaces_vlan_edit.php @@ -42,22 +42,22 @@ if ($_SERVER['REQUEST_METHOD'] === 'GET') { $pconfig['if'] = isset($a_vlans[$id]['if']) ? $a_vlans[$id]['if'] : null; $pconfig['vlanif'] = isset($a_vlans[$id]['vlanif']) ? $a_vlans[$id]['vlanif'] : null; $pconfig['tag'] = isset($a_vlans[$id]['tag']) ? $a_vlans[$id]['tag'] : null; - $pconfig['pcp'] = isset($a_vlans[$id]['pcp']) ? $a_vlans[$id]['pcp'] : null; + $pconfig['pcp'] = isset($a_vlans[$id]['pcp']) ? $a_vlans[$id]['pcp'] : 0; $pconfig['descr'] = isset($a_vlans[$id]['descr']) ? $a_vlans[$id]['descr'] : null; } elseif ($_SERVER['REQUEST_METHOD'] === 'POST') { + // validate / save form data + if (!empty($a_vlans[$_POST['id']])) { + $id = $_POST['id']; + } + $input_errors = array(); $pconfig = $_POST; - // validate / save form data - if (!empty($a_vlans[$pconfig['id']])) { - $id = $pconfig['id']; - } - /* input validation */ $reqdfields = explode(" ", "if tag"); $reqdfieldsn = array(gettext("Parent interface"),gettext("VLAN tag")); - do_input_validation($pconfig, $reqdfields, $reqdfieldsn, $input_errors); + do_input_validation($_POST, $reqdfields, $reqdfieldsn, $input_errors); if ($pconfig['tag'] && (!is_numericint($pconfig['tag']) || ($pconfig['tag'] < '1') || ($pconfig['tag'] > '4094'))) { $input_errors[] = gettext("The VLAN tag must be an integer between 1 and 4094."); @@ -81,7 +81,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'GET') { if (isset($id) && $a_vlans[$id] === $vlan) { continue; } - if (($vlan['if'] == $pconfig['if']) && ($vlan['tag'] == $pconfig['tag'])) { + if (($vlan['if'] == $pconfig['if']) && ($vlan['tag'] == $_POST['tag'])) { $input_errors[] = sprintf(gettext("A VLAN with the tag %s is already defined on this interface."), $vlan['tag']); break; } @@ -106,18 +106,16 @@ if ($_SERVER['REQUEST_METHOD'] === 'GET') { $confif = convert_real_interface_to_friendly_interface_name("{$a_vlans[$id]['if']}_vlan{$a_vlans[$id]['tag']}"); } if ($confif <> "") { - $config['interfaces'][$confif]['if'] = "{$pconfig['if']}_vlan{$pconfig['tag']}"; + $config['interfaces'][$confif]['if'] = "{$_POST['if']}_vlan{$_POST['tag']}"; } } } $vlan = array(); - $vlan['if'] = $pconfig['if']; - $vlan['tag'] = $pconfig['tag']; - if (isset($pconfig['pcp'])) { - $vlan['pcp'] = $pconfig['pcp']; - } - $vlan['descr'] = $pconfig['descr']; - $vlan['vlanif'] = "{$pconfig['if']}_vlan{$pconfig['tag']}"; + $vlan['if'] = $_POST['if']; + $vlan['tag'] = $_POST['tag']; + $vlan['pcp'] = $pconfig['pcp']; + $vlan['descr'] = $_POST['descr']; + $vlan['vlanif'] = "{$_POST['if']}_vlan{$_POST['tag']}"; $vlan['vlanif'] = interface_vlan_configure($vlan); if ($vlan['vlanif'] == "" || !stristr($vlan['vlanif'], "vlan")) { $input_errors[] = gettext("Error occurred creating interface, please retry."); @@ -213,7 +211,6 @@ include("head.inc");