JSONSchema: named formats in parse_property_string
authorWolfgang Bumiller <w.bumiller@proxmox.com>
Wed, 2 Nov 2016 11:08:33 +0000 (12:08 +0100)
committerDietmar Maurer <dietmar@proxmox.com>
Wed, 2 Nov 2016 11:40:56 +0000 (12:40 +0100)
While our code currently passes the format hashes directly,
some code gets them via the format property of a
configuration description which verifies successfully via
check_format() for named property string formats, so this
should be allowed.

src/PVE/JSONSchema.pm

index debbbb5..961dfbe 100644 (file)
@@ -506,6 +506,17 @@ sub parse_property_string {
     # In property strings we default to not allowing additional properties
     $additional_properties = 0 if !defined($additional_properties);
 
+    # Support named formats here, too:
+    if (!ref($format)) {
+       if (my $desc = $format_list->{$format}) {
+           $format = $desc;
+       } else {
+           die "unknown format: $format\n";
+       }
+    } elsif (ref($format) ne 'HASH') {
+       die "unexpected format value of type ".ref($format)."\n";
+    }
+
     my $default_key;
 
     my $res = {};