From 31746f261acab50afa37cd20213cca64ea95cdbc Mon Sep 17 00:00:00 2001 From: Stefan Sterz Date: Thu, 9 Feb 2023 12:43:14 +0100 Subject: [PATCH] fix #4521: api/tasks: replace upid as filename for task log downloads previously the upid would just be used without a file extension when downloading a task log. this lead to rather strange filenames that appeared unfamiliar to users as the upid is not very prevalent in the gui. set a proper file name based on the node name, worker type and a time stamp instead. also add the ".log" file extension to indicate that these files contain logs. Signed-off-by: Stefan Sterz --- PVE/API2/Tasks.pm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/PVE/API2/Tasks.pm b/PVE/API2/Tasks.pm index 9c8de324..98cecf01 100644 --- a/PVE/API2/Tasks.pm +++ b/PVE/API2/Tasks.pm @@ -405,13 +405,16 @@ __PACKAGE__->register_method({ open($fh, '<', $filename) or die "Could not open file '$filename' - $!\n"; } + my $task_time = strftime('%FT%TZ', gmtime($task->{starttime})); + my $download_name = 'task-'.$task->{node}.'-'.$task->{type}.'-'.$task_time.'.log'; + return { download => { fh => $fh, stream => 1, 'content-encoding' => $use_compression ? 'gzip' : undef, 'content-type' => "text/plain", - 'content-disposition' => "attachment; filename=\"".$param->{upid}."\"", + 'content-disposition' => "attachment; filename=\"".$download_name."\"", }, }, } else {