]> git.proxmox.com Git - pve-network.git/commitdiff
limit vnet/zones/controller to 10 characters
authorAlexandre Derumier <aderumier@odiso.com>
Tue, 26 Nov 2019 09:00:27 +0000 (10:00 +0100)
committerThomas Lamprecht <t.lamprecht@proxmox.com>
Tue, 26 Nov 2019 11:33:40 +0000 (12:33 +0100)
linux have 16 characters limit for interfaces,
but we can prepend "vxlan", "vrf",... when we generate
interfaces

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
PVE/Network/SDN/Controllers/Plugin.pm
PVE/Network/SDN/VnetPlugin.pm
PVE/Network/SDN/Zones/Plugin.pm

index df385f1ae183af3b9ed44bfba54200f0421c5b22..3aed73ab1729ffd36c7b3ef58a185222b740d31a 100644 (file)
@@ -27,10 +27,11 @@ PVE::JSONSchema::register_format('pve-sdn-controller-id', \&parse_sdn_controller
 sub parse_sdn_controller_id {
     my ($id, $noerr) = @_;
 
-    if ($id !~ m/^[a-z][a-z0-9\-\_\.]*[a-z0-9]$/i) {
+    if ($id !~ m/^[a-z][a-z0-9]*[a-z0-9]$/i) {
         return undef if $noerr;
-        die "SDN controller object ID '$id' contains illegal characters\n";
+        die "controller ID '$id' contains illegal characters\n";
     }
+    die "controller ID '$id' can't be more length than 10 characters\n" if length($id) > 10;
     return $id;
 }
 
index 28a7b59f19caa0f5bb390ff6b37bcd4efa60b23d..2da1e1e597173cb0f8c34ce47eb3db2e850a2f5f 100644 (file)
@@ -23,10 +23,11 @@ PVE::JSONSchema::register_format('pve-sdn-vnet-id', \&parse_sdn_vnet_id);
 sub parse_sdn_vnet_id {
     my ($id, $noerr) = @_;
 
-    if ($id !~ m/^[a-z][a-z0-9\-\_\.]*[a-z0-9]$/i) {
+    if ($id !~ m/^[a-z][a-z0-9]*[a-z0-9]$/i) {
         return undef if $noerr;
-        die "SDN object vnet ID '$id' contains illegal characters\n";
+        die "vnet ID '$id' contains illegal characters\n";
     }
+    die "vnet ID '$id' can't be more length than 10 characters\n" if length($id) > 10;
     return $id;
 }
 
index c252dfc20536fd8a1fd6c0a1a2dc6910ae8aad42..3204d694482fb84ffaee99ca6720b4e3bd00b5e8 100644 (file)
@@ -27,10 +27,11 @@ PVE::JSONSchema::register_format('pve-sdn-zone-id', \&parse_sdn_zone_id);
 sub parse_sdn_zone_id {
     my ($id, $noerr) = @_;
 
-    if ($id !~ m/^[a-z][a-z0-9\-\_\.]*[a-z0-9]$/i) {
-        return undef if $noerr;
-        die "SDN zone object ID '$id' contains illegal characters\n";
+    if ($id !~ m/^[a-z][a-z0-9]*[a-z0-9]$/i) {
+       return undef if $noerr;
+       die "zone ID '$id' contains illegal characters\n";
     }
+    die "zone ID '$id' can't be more length than 10 characters\n" if length($id) > 10;
     return $id;
 }