From: Don Armstrong Date: Sun, 8 Jul 2012 16:13:16 +0000 (-0700) Subject: * Use encode_utf8 to encode perl strings before appending to log X-Git-Tag: release/2.6.0~371 X-Git-Url: https://git.donarmstrong.com/?p=debbugs.git;a=commitdiff_plain;h=530a003a7180eaba23b695561ca01a595a3c7190 * Use encode_utf8 to encode perl strings before appending to log --- diff --git a/Debbugs/Control.pm b/Debbugs/Control.pm index 631504a..6851656 100644 --- a/Debbugs/Control.pm +++ b/Debbugs/Control.pm @@ -108,7 +108,7 @@ BEGIN{ } use Debbugs::Config qw(:config); -use Debbugs::Common qw(:lock buglog :misc get_hashname sort_versions); +use Debbugs::Common qw(:lock buglog :misc get_hashname sort_versions :utf8); use Debbugs::Status qw(bug_archiveable :read :hook writebug new_bug splitpackages split_status_fields get_bug_status); use Debbugs::CGI qw(html_escape); use Debbugs::Log qw(:misc :write); @@ -132,6 +132,7 @@ use POSIX qw(strftime); use Storable qw(dclone nfreeze); use List::Util qw(first max); +use Encode qw(encode_utf8); use Carp; @@ -3355,7 +3356,7 @@ sub append_action_to_log{ $nd{$key} = $new_data->{$key}; # $data_diff .= html_escape("$Debbugs::Status::fields{$key}: $new_data->{$key}")."\n"; } - $data_diff .= html_escape(Data::Dumper->Dump([\%nd],[qw(new_data)])); + $data_diff .= html_escape(Data::Dumper->Dump([encode_utf8_structure(\%nd)],[qw(new_data)])); $data_diff .= "-->\n"; $data_diff .= "\n"; } my $msg = join('', (exists $param{command} ? - "\n":"" + "\n":"" ), (length $param{requester} ? - "\n":"" + "\n":"" ), (length $param{request_addr} ? - "\n":"" + "\n":"" ), "\n", $data_diff, - "".html_escape($param{action})."\n"); + "".html_escape(encode_utf8($param{action}))."\n"); if (length $param{requester}) { - $msg .= "Request was from ".html_escape($param{requester})."\n"; + $msg .= "Request was from ".html_escape(encode_utf8($param{requester}))."\n"; } if (length $param{request_addr}) { - $msg .= "to ".html_escape($param{request_addr}).""; + $msg .= "to ".html_escape(encode_utf8($param{request_addr})).""; } if (length $param{desc}) { - $msg .= ":
\n$param{desc}\n"; + $msg .= ":
\n".encode_utf8($param{desc})."\n"; } else { $msg .= ".\n";