]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/commitdiff
zoneconf.cgi: Fix VLAN tag range check
authorLeo-Andres Hofmann <hofmann@leo-andres.de>
Sun, 21 Mar 2021 21:23:03 +0000 (22:23 +0100)
committerMichael Tremer <michael.tremer@ipfire.org>
Mon, 22 Mar 2021 10:37:47 +0000 (10:37 +0000)
Use the correct VLAN tag range 1-4094 and add an error message
to the range check.
The missing error message was discovered by Jonatan.

Signed-off-by: Leo-Andres Hofmann <hofmann@leo-andres.de>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
doc/language_missings
html/cgi-bin/zoneconf.cgi
langs/de/cgi-bin/de.pl
langs/en/cgi-bin/en.pl

index 3cd27772655046fe00857f8356d0bd0be35bdbfa..4b5a90c67ae3059ba206de2a0182100bfd6f8547 100644 (file)
 < zoneconf val stp zone mode error
 < zoneconf val vlan amount assignment error
 < zoneconf val vlan tag assignment error
+< zoneconf val vlan tag range error
 < zoneconf val zoneslave amount error
 ############################################################################
 # Checking cgi-bin translations for language: fr                           #
 < zoneconf stp priority
 < zoneconf val stp priority range error
 < zoneconf val stp zone mode error
+< zoneconf val vlan tag range error
 ############################################################################
 # Checking cgi-bin translations for language: it                           #
 ############################################################################
 < zoneconf val stp zone mode error
 < zoneconf val vlan amount assignment error
 < zoneconf val vlan tag assignment error
+< zoneconf val vlan tag range error
 < zoneconf val zoneslave amount error
 ############################################################################
 # Checking cgi-bin translations for language: nl                           #
 < zoneconf val stp zone mode error
 < zoneconf val vlan amount assignment error
 < zoneconf val vlan tag assignment error
+< zoneconf val vlan tag range error
 < zoneconf val zoneslave amount error
 ############################################################################
 # Checking cgi-bin translations for language: pl                           #
 < zoneconf val stp zone mode error
 < zoneconf val vlan amount assignment error
 < zoneconf val vlan tag assignment error
+< zoneconf val vlan tag range error
 < zoneconf val zoneslave amount error
 ############################################################################
 # Checking cgi-bin translations for language: ru                           #
 < zoneconf val stp zone mode error
 < zoneconf val vlan amount assignment error
 < zoneconf val vlan tag assignment error
+< zoneconf val vlan tag range error
 < zoneconf val zoneslave amount error
 ############################################################################
 # Checking cgi-bin translations for language: tr                           #
 < zoneconf val stp zone mode error
 < zoneconf val vlan amount assignment error
 < zoneconf val vlan tag assignment error
+< zoneconf val vlan tag range error
 < zoneconf val zoneslave amount error
index b90ea8a41fa2e7267c59148d74288c65b330b408..c0d44764fb6783453c6717dfb7724f8ea159f0f4 100644 (file)
@@ -279,11 +279,10 @@ if ($cgiparams{"ACTION"} eq $Lang::tr{"save"}) {
                                }
 
                                $VALIDATE_nic_check{"VLAN $mac $vlan_tag"} = 1;
-
-                               if (! looks_like_number($vlan_tag)) {
-                                       last;
-                               }
-                               if ($vlan_tag < 1 || $vlan_tag > 4095) {
+                               
+                               # check VLAN tag range: 1..4094 (0, 4095 are reserved)
+                               unless (looks_like_number($vlan_tag) && ($vlan_tag >= 1) && ($vlan_tag <= 4094)) {
+                                       $VALIDATE_error = $Lang::tr{"zoneconf val vlan tag range error"};
                                        last;
                                }
 
@@ -486,7 +485,7 @@ END
                                <option value="NATIVE" $access_selected{"NATIVE"}>$Lang::tr{"zoneconf access native"}</option>
                                <option value="VLAN" $access_selected{"VLAN"} $vlan_disabled>$Lang::tr{"zoneconf access vlan"}</option>
                        </select>
-                       <input type="number" class="vlanid" id="TAG-$uc-$mac" name="TAG $uc $mac" min="1" max="4095" value="$zone_vlan_id" required $field_disabled>
+                       <input type="number" class="vlanid" id="TAG-$uc-$mac" name="TAG $uc $mac" min="1" max="4094" value="$zone_vlan_id" required $field_disabled>
                </td>
 END
 ;
index 6a8133807cdee287cbdf1705c568ace05b4384ea..191c778d2a3389e4a304eac4ff2cc68970e5f563 100644 (file)
 'zoneconf val stp zone mode error' => 'STP kann nur aktiviert werden, wenn sich die Zone im Brückenmodus befindet',
 'zoneconf val vlan amount assignment error' => 'Pro Zone kann nur ein VLAN verwendet werden.',
 'zoneconf val vlan tag assignment error' => 'Pro Netzwerkkarte kann derselbe VLAN-Tag nur einmal verwendet werden.',
+'zoneconf val vlan tag range error' => 'VLAN-Tag muss im Bereich 1-4094 liegen.',
 'zoneconf val zoneslave amount error' => 'Wenn eine Zone nicht im Brückenmodus ist, kann ihr nur eine Netzwerkkarte zugewiesen werden.',
 );
 
index 8f7e0c2cf137e19086030533df49250cce9a552c..1d059aac8878ee35f62e74e49c526b5de12d5bec 100644 (file)
 'zoneconf val stp zone mode error' => 'STP can only be enabled if the zone is in bridge mode',
 'zoneconf val vlan amount assignment error' => 'A zone cannot have more than one VLAN assigned.',
 'zoneconf val vlan tag assignment error' => 'You cannot use the same VLAN tag more than once per NIC.',
+'zoneconf val vlan tag range error' => 'VLAN tag must be in the range of 1-4094.',
 'zoneconf val zoneslave amount error' => 'A zone that is not in bridge mode can\'t have more than one NIC assigned',
 );