task viewer: htmlEncode task information and error status

to avoid interpreting HTML.

Signed-off-by: Friedrich Weber <f.weber@proxmox.com>
This commit is contained in:
Friedrich Weber 2025-03-31 11:20:23 +02:00 committed by Thomas Lamprecht
parent 2611d905de
commit 267bc5972a

View File

@ -49,13 +49,13 @@ Ext.define('Proxmox.window.TaskProgress', {
Ext.Function.defer(me.close, 1000, me); Ext.Function.defer(me.close, 1000, me);
} else { } else {
me.close(); me.close();
Ext.Msg.alert('Task failed', exitstatus); Ext.Msg.alert('Task failed', Ext.htmlEncode(exitstatus));
} }
me.taskDone(exitstatus === 'OK'); me.taskDone(exitstatus === 'OK');
} }
}); });
let descr = Proxmox.Utils.format_task_description(task.type, task.id); let descr = Ext.htmlEncode(Proxmox.Utils.format_task_description(task.type, task.id));
Ext.apply(me, { Ext.apply(me, {
title: gettext('Task') + ': ' + descr, title: gettext('Task') + ': ' + descr,
@ -119,10 +119,12 @@ Ext.define('Proxmox.window.TaskViewer', {
}, },
exitstatus: { exitstatus: {
visible: false, visible: false,
renderer: Ext.String.htmlEncode,
}, },
type: { type: {
header: gettext('Task type'), header: gettext('Task type'),
required: true, required: true,
renderer: Ext.String.htmlEncode,
}, },
user: { user: {
header: gettext('User name'), header: gettext('User name'),
@ -144,13 +146,16 @@ Ext.define('Proxmox.window.TaskViewer', {
node: { node: {
header: gettext('Node'), header: gettext('Node'),
required: true, required: true,
renderer: Ext.String.htmlEncode,
}, },
pid: { pid: {
header: gettext('Process ID'), header: gettext('Process ID'),
required: true, required: true,
renderer: Ext.String.htmlEncode,
}, },
task_id: { task_id: {
header: gettext('Task ID'), header: gettext('Task ID'),
renderer: Ext.String.htmlEncode,
}, },
starttime: { starttime: {
header: gettext('Start Time'), header: gettext('Start Time'),
@ -259,7 +264,7 @@ Ext.define('Proxmox.window.TaskViewer', {
statstore.startUpdate(); statstore.startUpdate();
Ext.apply(me, { Ext.apply(me, {
title: "Task viewer: " + task.desc + me.extraTitle, title: Ext.htmlEncode("Task viewer: " + task.desc + me.extraTitle),
width: 800, width: 800,
height: 500, height: 500,
layout: 'fit', layout: 'fit',