]> git.proxmox.com Git - pve-common.git/blobdiff - data/PVE/JSONSchema.pm
correctly count sockets
[pve-common.git] / data / PVE / JSONSchema.pm
index ef89fb58d55963deef9219827bda6da131acd10f..dbaffa5bc72ea34f857e292a9b9977e299ff7ebe 100644 (file)
@@ -97,7 +97,7 @@ sub pve_verify_configid {
  
     if ($id !~ m/^[a-z][a-z0-9_]+$/i) {
        return undef if $noerr;
-       die "invalid cofiguration ID '$id'\n"; 
+       die "invalid configuration ID '$id'\n"; 
     }
     return $id;
 }
@@ -129,8 +129,7 @@ register_format('pve-node', \&pve_verify_node_name);
 sub pve_verify_node_name {
     my ($node, $noerr) = @_;
 
-    # todo: use better regex ?
-    if ($node !~ m/^[A-Za-z][[:alnum:]\-]*[[:alnum:]]+$/) {
+    if ($node !~ m/^([a-zA-Z0-9]([a-zA-Z0-9\-]*[a-zA-Z0-9])?)$/) {
        return undef if $noerr;
        die "value does not look like a valid node name\n";
     }
@@ -174,6 +173,19 @@ sub pve_verify_email {
     return $email;
 }
 
+register_format('dns-name', \&pve_verify_dns_name);
+sub pve_verify_dns_name {
+    my ($name, $noerr) = @_;
+
+    my $namere = "([a-zA-Z0-9]([a-zA-Z0-9\-]*[a-zA-Z0-9])?)";
+
+    if ($name !~ /^(${namere}\.)*${namere}$/) {
+          return undef if $noerr;
+          die "value does not look like a valid DNS name\n";
+    }
+    return $name;
+}
+
 # network interface name
 register_format('pve-iface', \&pve_verify_iface);
 sub pve_verify_iface {
@@ -941,9 +953,6 @@ sub get_options {
     }
 
     $opts = PVE::Tools::decode_utf8_parameters($opts);
-    if ($opts->{description}) {
-       print "TEST: " . PVE::Tools::encode_text($opts->{description}) . "\n";
-    }
 
     foreach my $p (keys %$opts) {
        if (my $pd = $schema->{properties}->{$p}) {