[dw-free] For XMLRPC, clear UTF8 flag from all strings, not just subject and event
[commit: http://hg.dwscoalition.org/dw-free/rev/c1e5d7213dfc]
http://bugs.dwscoalition.org/show_bug.cgi?id=2310
Before, we were only checking utf8 encoding for subject and event. It's
better to handle all utf8 strings from the request properly, using the
Encode module.
Codemerge from LiveJournal; prepared for Dreamwidth by
denise.
Files modified:
http://bugs.dwscoalition.org/show_bug.cgi?id=2310
Before, we were only checking utf8 encoding for subject and event. It's
better to handle all utf8 strings from the request properly, using the
Encode module.
Codemerge from LiveJournal; prepared for Dreamwidth by
![[staff profile]](https://www.dreamwidth.org/img/silk/identity/user_staff.png)
Files modified:
- cgi-bin/Apache/LiveJournal.pm
-------------------------------------------------------------------------------- diff -r 99ed26f60316 -r c1e5d7213dfc cgi-bin/Apache/LiveJournal.pm --- a/cgi-bin/Apache/LiveJournal.pm Wed Jun 30 02:12:57 2010 +0800 +++ b/cgi-bin/Apache/LiveJournal.pm Tue Jun 29 14:37:20 2010 -0500 @@ -1804,6 +1804,7 @@ sub anti_squatter } package LJ::Protocol; +use Encode(); sub xmlrpc_method { my $method = shift; @@ -1818,10 +1819,9 @@ sub xmlrpc_method { } my $error = 0; if (ref $req eq "HASH") { - foreach my $key ('subject', 'event') { - # get rid of the UTF8 flag in scalars - $req->{$key} = LJ::no_utf8_flag ( $req->{$key} ) - if $req->{$key}; + # get rid of the UTF8 flag in scalars + while ( my ($k, $v) = each %$req ) { + $req->{$k} = Encode::encode_utf8($v) if Encode::is_utf8($v); } } my $res = LJ::Protocol::do_request($method, $req, \$error); --------------------------------------------------------------------------------
no subject
Are you sure that this does the same thing? I'm really not -- I don't think that encoding something with Encode is the same as saying 'Perl, I'm managing this myself, so please leave it alone'.
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)
(no subject)