This prevented comments containing some utf-8, including euro sign, from
being submitted. Since md5_hex is a C implementation, the string has to be
converted from perl's internal encoding to utf-8 when it is called. Some
utf-8 happened to work before, apparently by accident.
Note that this will change the checksums returned.
unique_comment_location is only used when posting comments, so the checksum
does not need to be stable there.
I only changed page_to_id for completeness; it is passed a comment page
name, and they can currently never contain utf-8.
In teximg, the bug could perhaps be triggered if the tex source contained
utf-8. If that happens, the checksum will change, and some extra work might
be performed on upgrade to rebuild the image.
eval q{use Digest::MD5 'md5_hex'};
error($@) if $@;
- my $content_md5=md5_hex(shift);
+ my $content_md5=md5_hex(Encode::encode_utf8(shift));
my $dir=shift;
eval q{use Digest::MD5 'md5_hex'};
error($@) if $@;
- return "comment-".md5_hex($page);
+ return "comment-".md5_hex(Encode::encode_utf8(($page));
}
package IkiWiki::PageSpec;
use Digest::MD5 qw(md5_hex);
use File::Temp qw(tempdir);
use HTML::Entities;
+use Encode;
use IkiWiki 3.00;
my $default_prefix = <<EOPREFIX;
$height = 12;
}
- my $digest = md5_hex($code, $height);
+ my $digest = md5_hex(Encode::encode_utf8($code), $height);
my $imglink= $params->{page} . "/$digest.png";
my $imglog = $params->{page} . "/$digest.log";
+ikiwiki (3.20100303) UNRELEASED; urgency=low
+
+ * Fix utf8 issues in calls to md5_hex.
+
+ -- Joey Hess <joeyh@debian.org> Tue, 09 Mar 2010 19:46:35 -0500
+
ikiwiki (3.20100302) unstable; urgency=low
* comments: Display number of comments in comment action link.