return $name;
}
+register_format('timezone', \&pve_verify_timezone);
+sub pve_verify_timezone {
+ my ($timezone, $noerr) = @_;
+
+ my $zonetab = "/usr/share/zoneinfo/zone.tab";
+ return $timezone if $timezone eq 'UTC';
+ open(my $fh, "<", $zonetab);
+ while(my $line = <$fh>) {
+ next if $line =~ /^#/;
+ chomp $line;
+ return $timezone if $timezone eq (split /\t/, $line)[2]; # found
+ }
+ close $fh;
+
+ return undef if $noerr;
+ die "invalid time zone '$timezone'\n";
+
+}
+
# network interface name
register_format('pve-iface', \&pve_verify_iface);
sub pve_verify_iface {