summaryrefslogtreecommitdiff
path: root/www/ikiwiki
diff options
context:
space:
mode:
authorschmonz <schmonz@pkgsrc.org>2014-09-13 00:08:21 +0000
committerschmonz <schmonz@pkgsrc.org>2014-09-13 00:08:21 +0000
commit909520ca2b24860ebd512beaa96cffbd1bb94df7 (patch)
treeec64a9e1686ce7d3bd0fbf0898a0a39a698e576c /www/ikiwiki
parente0b9c6744ad0fdc6eb5a16173dee0420618cb939 (diff)
downloadpkgsrc-909520ca2b24860ebd512beaa96cffbd1bb94df7.tar.gz
Avoid decoding Unicode twice in CGI forms with Perl 5.20's bundled
Encode.pm. Bump PKGREVISION.
Diffstat (limited to 'www/ikiwiki')
-rw-r--r--www/ikiwiki/Makefile4
-rw-r--r--www/ikiwiki/distinfo3
-rw-r--r--www/ikiwiki/patches/patch-IkiWiki_CGI.pm32
3 files changed, 36 insertions, 3 deletions
diff --git a/www/ikiwiki/Makefile b/www/ikiwiki/Makefile
index 18e0a2a48b9..9ded8bd7838 100644
--- a/www/ikiwiki/Makefile
+++ b/www/ikiwiki/Makefile
@@ -1,9 +1,9 @@
-# $NetBSD: Makefile,v 1.122 2014/08/23 13:02:37 schmonz Exp $
+# $NetBSD: Makefile,v 1.123 2014/09/13 00:08:21 schmonz Exp $
#
DISTNAME= ikiwiki_3.20140815
PKGNAME= ${DISTNAME:S/_/-/}
-PKGREVISION= 1
+PKGREVISION= 2
CATEGORIES= www textproc
MASTER_SITES= ${MASTER_SITE_DEBIAN:=pool/main/i/ikiwiki/}
diff --git a/www/ikiwiki/distinfo b/www/ikiwiki/distinfo
index af3a5f3ddac..bb5984f3af3 100644
--- a/www/ikiwiki/distinfo
+++ b/www/ikiwiki/distinfo
@@ -1,6 +1,7 @@
-$NetBSD: distinfo,v 1.99 2014/08/23 13:02:37 schmonz Exp $
+$NetBSD: distinfo,v 1.100 2014/09/13 00:08:21 schmonz Exp $
SHA1 (ikiwiki_3.20140815.tar.gz) = 069b14c8cc22ef7db1a4f162763312c54379042d
RMD160 (ikiwiki_3.20140815.tar.gz) = 2e7b2c0e6fb1513157b2d152bc5d3afe9018871f
Size (ikiwiki_3.20140815.tar.gz) = 3261039 bytes
SHA1 (patch-IkiWiki.pm) = 5f82b1ebbe3ff11e8b18a167eec97de571b1980a
+SHA1 (patch-IkiWiki_CGI.pm) = 43b3ceb4e5e429d0c6cc481d66cd0beca0a2eecc
diff --git a/www/ikiwiki/patches/patch-IkiWiki_CGI.pm b/www/ikiwiki/patches/patch-IkiWiki_CGI.pm
new file mode 100644
index 00000000000..7218d68f151
--- /dev/null
+++ b/www/ikiwiki/patches/patch-IkiWiki_CGI.pm
@@ -0,0 +1,32 @@
+$NetBSD: patch-IkiWiki_CGI.pm,v 1.1 2014/09/13 00:08:22 schmonz Exp $
+
+Cherry-pick feb21eb from upstream git to avoid Unicode being decoded
+twice in CGI forms under Perl 5.20 (with bundled Encode.pm 2.53).
+
+--- IkiWiki/CGI.pm.orig 2014-07-02 19:45:57.000000000 +0000
++++ IkiWiki/CGI.pm
+@@ -110,11 +110,23 @@ sub decode_cgi_utf8 ($) {
+ }
+ }
+
++sub safe_decode_utf8 ($) {
++ my $octets = shift;
++ # call decode_utf8 on >= 5.20 only if it's not already decoded,
++ # otherwise it balks, on < 5.20, always call it
++ if ($] < 5.02 || !Encode::is_utf8($octets)) {
++ return decode_utf8($octets);
++ }
++ else {
++ return $octets;
++ }
++}
++
+ sub decode_form_utf8 ($) {
+ if ($] >= 5.01) {
+ my $form = shift;
+ foreach my $f ($form->field) {
+- my @value=map { decode_utf8($_) } $form->field($f);
++ my @value=map { safe_decode_utf8($_) } $form->field($f);
+ $form->field(name => $f,
+ value => \@value,
+ force => 1,