On December 25, 2025 9:05 am, Stefan Mayr wrote:
> Suggested-by: Fabian Grünbichler <[email protected]>
> Signed-off-by: Stefan Mayr <[email protected]>
> ---
>  PVE/API2/Nodes.pm | 9 +++++++--
>  1 file changed, 7 insertions(+), 2 deletions(-)
> 
> diff --git a/PVE/API2/Nodes.pm b/PVE/API2/Nodes.pm
> index 6a6465b6..54ed712e 100644
> --- a/PVE/API2/Nodes.pm
> +++ b/PVE/API2/Nodes.pm
> @@ -1582,10 +1582,15 @@ __PACKAGE__->register_method({
>      code => sub {
>          my ($param) = @_;
>  
> +        my $timezone;
>          my $ctime = time();
>          my $ltime = timegm_nocheck(localtime($ctime));
> +        PVE::Tools::run_command(
> +            ['timedatectl', 'show', '--property=Timezone', '--value'],
> +            outfunc => sub { $timezone //= shift },
> +        );
>          my $res = {
> -            timezone => PVE::INotify::read_file('timezone'),
> +            timezone => $timezone,
>              time => $ctime,
>              localtime => $ltime,
>          };
> @@ -1619,7 +1624,7 @@ __PACKAGE__->register_method({
>      code => sub {
>          my ($param) = @_;
>  
> -        PVE::INotify::write_file('timezone', $param->{timezone});
> +        PVE::Tools::run_command(['timedatectl', 'set-timezone', 
> $param->{timezone}]);

should we restrict this parameter? AFAICT, only [a-zA-Z][a-zA-Z/_\-]*
are currently valid in timezone values?

alternatively we could query the valid names first (list-timezones) and
then check that the passed value is contained in that set..

>  
>          return;
>      },
> -- 
> 2.34.1
> 
> 
> 


_______________________________________________
pve-devel mailing list
[email protected]
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel

Reply via email to