pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/www/ikiwiki Avoid decoding Unicode twice in CGI forms ...



details:   https://anonhg.NetBSD.org/pkgsrc/rev/bed2d36f0183
branches:  trunk
changeset: 639423:bed2d36f0183
user:      schmonz <schmonz%pkgsrc.org@localhost>
date:      Sat Sep 13 00:08:21 2014 +0000

description:
Avoid decoding Unicode twice in CGI forms with Perl 5.20's bundled
Encode.pm. Bump PKGREVISION.

diffstat:

 www/ikiwiki/Makefile                     |   4 ++--
 www/ikiwiki/distinfo                     |   3 ++-
 www/ikiwiki/patches/patch-IkiWiki_CGI.pm |  32 ++++++++++++++++++++++++++++++++
 3 files changed, 36 insertions(+), 3 deletions(-)

diffs (63 lines):

diff -r 508638842e49 -r bed2d36f0183 www/ikiwiki/Makefile
--- a/www/ikiwiki/Makefile      Fri Sep 12 23:20:10 2014 +0000
+++ b/www/ikiwiki/Makefile      Sat Sep 13 00:08:21 2014 +0000
@@ -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 -r 508638842e49 -r bed2d36f0183 www/ikiwiki/distinfo
--- a/www/ikiwiki/distinfo      Fri Sep 12 23:20:10 2014 +0000
+++ b/www/ikiwiki/distinfo      Sat Sep 13 00:08:21 2014 +0000
@@ -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 -r 508638842e49 -r bed2d36f0183 www/ikiwiki/patches/patch-IkiWiki_CGI.pm
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/www/ikiwiki/patches/patch-IkiWiki_CGI.pm  Sat Sep 13 00:08:21 2014 +0000
@@ -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,



Home | Main Index | Thread Index | Old Index