summaryrefslogtreecommitdiff
path: root/IkiWiki/Plugin
diff options
context:
space:
mode:
authorJoey Hess <joey@kitenet.net>2010-09-14 15:23:16 -0400
committerJoey Hess <joey@kitenet.net>2010-09-14 15:23:28 -0400
commite0898ae1a8e64a12c4e47b3f922d6cf1fad4f31c (patch)
tree9d839123865ddaeed3c4a9ecc36316232df934d8 /IkiWiki/Plugin
parentad5f4f14f52233148a9ecae2b3e7e0964c6c02ba (diff)
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.
Diffstat (limited to 'IkiWiki/Plugin')
-rw-r--r--IkiWiki/Plugin/blogspam.pm12
1 files changed, 7 insertions, 5 deletions
diff --git a/IkiWiki/Plugin/blogspam.pm b/IkiWiki/Plugin/blogspam.pm
index 8db3780e8..f0b6cb2a2 100644
--- a/IkiWiki/Plugin/blogspam.pm
+++ b/IkiWiki/Plugin/blogspam.pm
@@ -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);