Skip to content

Commit fd0b8ec

Browse files
committed
Fix too much XSS protections
- Fixes build graphs - Fixes pagination - Fixes pressure of new queue runner
1 parent 81fd47d commit fd0b8ec

File tree

3 files changed

+7
-6
lines changed

3 files changed

+7
-6
lines changed

src/lib/Hydra/Controller/Root.pm

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ use Number::Bytes::Human qw(format_bytes);
1313
use Encode;
1414
use File::Basename;
1515
use JSON::MaybeXS;
16+
use HTML::Entities;
1617
use List::Util qw[min max];
1718
use List::SomeUtils qw{any};
1819
use Net::Prometheus;
@@ -229,7 +230,7 @@ sub machines :Local Args(0) {
229230
$c->stash->{pretty_percent} = sub {
230231
my ($percent) = @_;
231232
my $ret = sprintf('%.2f', $percent);
232-
return (' ' x (6 - length($ret))) . $ret;
233+
return (' ' x (6 - length($ret))) . encode_entities($ret);
233234
};
234235
$self->status_ok($c, entity => $c->stash->{machines});
235236
}

src/root/common.tt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -444,9 +444,9 @@ BLOCK renderInputDiff; %]
444444
BLOCK renderPager %]
445445
<ul class="pagination">
446446
<li class="page-item[% IF page == 1 %] disabled[% END %]"><a class="page-link" [% HTML.attributes(href => "$baseUri?page=1") %]>&laquo; First</a></li>
447-
<li class="page-item[% IF page == 1 %] disabled[% END %]"><a class="page-link" [% HTML.attributes(href => "$baseUri?page="); (page - 1) %]>&lsaquo; Previous</a></li>
448-
<li class="page-item[% IF page * resultsPerPage >= total %] disabled[% END %]"><a class="page-link" [% HTML.attributes(href => "$baseUri?page="); (page + 1) %]>Next &rsaquo;</a></li>
449-
<li class="page-item[% IF page * resultsPerPage >= total %] disabled[% END %]"><a class="page-link" [% HTML.attributes("$baseUri?page="); (total - 1) div resultsPerPage + 1 %]>Last &raquo;</a></li>
447+
<li class="page-item[% IF page == 1 %] disabled[% END %]"><a class="page-link" [% HTML.attributes(href => "$baseUri?page=" _ (page - 1)) %]>&lsaquo; Previous</a></li>
448+
<li class="page-item[% IF page * resultsPerPage >= total %] disabled[% END %]"><a class="page-link" [% HTML.attributes(href => "$baseUri?page=" _ (page + 1)) %]>Next &rsaquo;</a></li>
449+
<li class="page-item[% IF page * resultsPerPage >= total %] disabled[% END %]"><a class="page-link" [% HTML.attributes(href => "$baseUri?page=" _ ((total - 1) div resultsPerPage + 1)) %]>Last &raquo;</a></li>
450450
</ul>
451451
[% END;
452452

@@ -700,7 +700,7 @@ BLOCK createChart %]
700700

701701
<script type="text/javascript">
702702
$(function() {
703-
showChart("[% HTML.escape(id) %]", "[% dataUrl | uri %]", "[% yaxis %]");
703+
showChart("[% HTML.escape(id) %]", "[% dataUrl %]", "[% yaxis %]");
704704
});
705705
</script>
706706

src/root/machine-status.tt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
[% pressure = m.value.stats.pressure %]
3737
[% MACRO render_pressure(title, pressure) BLOCK %]
3838
[% IF pressure %]
39-
<tr><td><b>[% HTML.escape(title) %]:</b></td><td><tt>[% pretty_percent(pressure.avg10) | html %]%</tt></td><td><td><tt>[% pretty_percent(pressure.avg60) | html %]%</tt></td><td><td><tt>[% pretty_percent(pressure.avg300) | html %]%</tt></td><td>
39+
<tr><td><b>[% HTML.escape(title) %]:</b></td><td><tt>[% pretty_percent(pressure.avg10) %]%</tt></td><td><td><tt>[% pretty_percent(pressure.avg60) %]%</tt></td><td><td><tt>[% pretty_percent(pressure.avg300) %]%</tt></td><td>
4040
[% END %]
4141
[% END %]
4242
[% IF pressure %]

0 commit comments

Comments
 (0)