blogspam: Fix crash when content contained utf-8.

I also tried setting RPC::XML::ENCODING but that did not prevent the crash,
and it seems that blogspam.net doesn't like getting xml encoded in unicode,
since it mis-flagged comments as spammy that way that are normally allowed
through.
master
Joey Hess 2010-09-14 15:23:16 -04:00
parent ad5f4f14f5
commit e0898ae1a8
3 changed files with 13 additions and 5 deletions

View File

@ -4,6 +4,7 @@ package IkiWiki::Plugin::blogspam;
use warnings;
use strict;
use IkiWiki 3.00;
use Encode;
my $defaulturl='http://test.blogspam.net:8888/';
@ -68,6 +69,7 @@ sub checkcontent (@) {
my $url=$defaulturl;
$url = $config{blogspam_server} if exists $config{blogspam_server};
my $client = RPC::XML::Client->new($url);
my @options = split(",", $config{blogspam_options})
@ -90,12 +92,12 @@ sub checkcontent (@) {
my %req=(
ip => $session->remote_addr(),
comment => defined $params{diff} ? $params{diff} : $params{content},
subject => defined $params{subject} ? $params{subject} : "",
name => defined $params{author} ? $params{author} : "",
link => exists $params{url} ? $params{url} : "",
comment => encode_utf8(defined $params{diff} ? $params{diff} : $params{content}),
subject => encode_utf8(defined $params{subject} ? $params{subject} : ""),
name => encode_utf8(defined $params{author} ? $params{author} : ""),
link => encode_utf8(exists $params{url} ? $params{url} : ""),
options => join(",", @options),
site => $config{url},
site => encode_utf8($config{url}),
version => "ikiwiki ".$IkiWiki::version,
);
my $res = $client->send_request('testComment', \%req);

1
debian/changelog vendored
View File

@ -18,6 +18,7 @@ ikiwiki (3.20100832) UNRELEASED; urgency=low
* actiontabs: Improve tab padding.
* blueview: Fix display of links to translated pages in the page header.
* Set isPermaLink="no" for guids in rss feeds.
* blogspam: Fix crash when content contained utf-8.
-- Joey Hess <joeyh@debian.org> Tue, 07 Sep 2010 12:08:05 -0400

View File

@ -8,3 +8,8 @@ This seems to happen because I had a non-ASCII character in the comment (an elli
The interesting part is that the comment preview works fine, just the save fails. Probably
this means that the blogspam plugin is the culprit (hence the error in RPC::XML::Client library).
I'm using version 3.20100815~bpo50+. Thanks!
> I've filed an upstream bug about this on RPC::XML:
> <https://rt.cpan.org/Ticket/Display.html?id=61333>
>
> Worked around it in blogspam by decoding. --[[Joey]]