Commit 6c0f16ff authored by mkanat%bugzilla.org's avatar mkanat%bugzilla.org

Bug 351994: Messages shouldn't contain HTML characters unless we're in USAGE_MODE_BROWSER

Patch By Max Kanat-Alexander <mkanat@bugzilla.org> r=ghendricks, a=myk
parent c4840b68
......@@ -760,6 +760,22 @@ sub create {
1
],
# Note that using this filter is even more dangerous than
# using "none," and you should only use it when you're SURE
# the output won't be displayed directly to a web browser.
txt => sub {
my ($var) = @_;
# Trivial HTML tag remover
$var =~ s/<[^>]*>//g;
# And this basically reverses the html filter.
$var =~ s/\&#64;/@/g;
$var =~ s/\&lt;/</g;
$var =~ s/\&gt;/>/g;
$var =~ s/\&quot;/\"/g;
$var =~ s/\&amp;/\&/g;
return $var;
},
# Wrap a displayed comment to the appropriate length
wrap_comment => \&Bugzilla::Util::wrap_comment,
......
......@@ -225,7 +225,7 @@ sub directive_ok {
return 1 if $directive =~ /FILTER\ (html|csv|js|base64|url_quote|css_class_quote|
ics|quoteUrls|time|uri|xml|lower|
obsolete|inactive|closed|unitconvert|
none)\b/x;
txt|none)\b/x;
return 0;
}
......
......@@ -434,7 +434,11 @@
[%# We only want HTML error messages for ERROR_MODE_WEBPAGE %]
[% USE Bugzilla %]
[% IF Bugzilla.error_mode != constants.ERROR_MODE_WEBPAGE %]
[% IF Bugzilla.usage_mode == constants.USAGE_MODE_BROWSER %]
[% error_message FILTER none %]
[% ELSE %]
[% error_message FILTER txt %]
[% END %]
[% RETURN %]
[% END %]
......
......@@ -23,4 +23,4 @@
[%# Yes, this may show some HTML. But it's the best we
# can do at the moment. %]
[% PROCESS global/messages.html.tmpl %]
[% message %]
[% message FILTER txt %]
......@@ -1483,7 +1483,11 @@
[%# We only want HTML error messages for ERROR_MODE_WEBPAGE %]
[% USE Bugzilla %]
[% IF Bugzilla.error_mode != constants.ERROR_MODE_WEBPAGE %]
[% IF Bugzilla.usage_mode == constants.USAGE_MODE_BROWSER %]
[% error_message FILTER none %]
[% ELSE %]
[% error_message FILTER txt %]
[% END %]
[% RETURN %]
[% END %]
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment