public
nobgit
read
NobMail
Based on mailcow: dockerized
Languages
Repository composition by tracked source files.
PHP
49%
JavaScript
35%
HTML
9%
CSS
4%
Shell
2%
Python
1%
Lua
0%
Perl
0%
Ruby
0%
SCSS
0%
Create file
Wiki Documentation
Clone
https://nobgit.com/orgs/nobgit/nobmail.git
ssh://[email protected]:2222/orgs/nobgit/nobmail.git
Commit
[Web] escape HTML in sieve filter edit view and queue manager
33547d1d
data/web/js/site/queue.js | 13 ++++++++-----
data/web/templates/edit/filter.twig | 2 +-
2 files changed, 9 insertions(+), 6 deletions(-)
Diff
diff --git a/data/web/js/site/queue.js b/data/web/js/site/queue.js
index 26c15091..9adc79b5 100644
--- a/data/web/js/site/queue.js
+++ b/data/web/js/site/queue.js
@@ -48,13 +48,13 @@ jQuery(function($){
url: "/api/v1/get/mailq/all",
dataSrc: function(data){
$.each(data, function (i, item) {
- item.chkbox = '<input type="checkbox" class="form-check-input" data-id="mailqitems" name="multi_select" value="' + item.queue_id + '" />';
+ item.chkbox = '<input type="checkbox" class="form-check-input" data-id="mailqitems" name="multi_select" value="' + escapeHtml(item.queue_id) + '" />';
rcpts = $.map(item.recipients, function(i) {
return escapeHtml(i);
});
item.recipients = rcpts.join('<hr style="margin:1px!important">');
item.action = '<div class="btn-group">' +
- '<a href="#" data-bs-toggle="modal" data-bs-target="#showQueuedMsg" data-queue-id="' + encodeURI(item.queue_id) + '" class="btn btn-xs btn-secondary">' + lang.show_message + '</a>' +
+ '<a href="#" data-bs-toggle="modal" data-bs-target="#showQueuedMsg" data-queue-id="' + escapeHtml(item.queue_id) + '" class="btn btn-xs btn-secondary">' + lang.show_message + '</a>' +
'</div>';
});
return data;
@@ -79,12 +79,14 @@ jQuery(function($){
{
title: 'QID',
data: 'queue_id',
- defaultContent: ''
+ defaultContent: '',
+ render: $.fn.dataTable.render.text()
},
{
title: 'Queue',
data: 'queue_name',
- defaultContent: ''
+ defaultContent: '',
+ render: $.fn.dataTable.render.text()
},
{
title: lang_admin.arrival_time,
@@ -106,7 +108,8 @@ jQuery(function($){
{
title: lang_admin.sender,
data: 'sender',
- defaultContent: ''
+ defaultContent: '',
+ render: $.fn.dataTable.render.text()
},
{
title: lang_admin.recipients,
diff --git a/data/web/templates/edit/filter.twig b/data/web/templates/edit/filter.twig
index 124ecaf7..743f088b 100644
--- a/data/web/templates/edit/filter.twig
+++ b/data/web/templates/edit/filter.twig
@@ -23,7 +23,7 @@
<div class="row mb-4">
<label class="control-label col-sm-2" for="script_data">Script:</label>
<div class="col-sm-10">
- <textarea spellcheck="false" autocorrect="off" autocapitalize="none" class="form-control textarea-code" rows="20" id="script_data" name="script_data" required>{{ result.script_data|raw }}</textarea>
+ <textarea spellcheck="false" autocorrect="off" autocapitalize="none" class="form-control textarea-code" rows="20" id="script_data" name="script_data" required>{{ result.script_data }}</textarea>
</div>
</div>
<div class="row mb-2">