r34401 - in /trunk/libemail-mime-encodings-perl: Changes META.yml Makefile.PL debian/changelog lib/Email/MIME/Encodings.pm t/basic.t
bricas-guest at users.alioth.debian.org
bricas-guest at users.alioth.debian.org
Thu Apr 30 12:35:53 UTC 2009
Author: bricas-guest
Date: Thu Apr 30 12:35:48 2009
New Revision: 34401
URL: http://svn.debian.org/wsvn/pkg-perl/?sc=1&rev=34401
Log:
New upstream release
Modified:
trunk/libemail-mime-encodings-perl/Changes
trunk/libemail-mime-encodings-perl/META.yml
trunk/libemail-mime-encodings-perl/Makefile.PL
trunk/libemail-mime-encodings-perl/debian/changelog
trunk/libemail-mime-encodings-perl/lib/Email/MIME/Encodings.pm
trunk/libemail-mime-encodings-perl/t/basic.t
Modified: trunk/libemail-mime-encodings-perl/Changes
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libemail-mime-encodings-perl/Changes?rev=34401&op=diff
==============================================================================
--- trunk/libemail-mime-encodings-perl/Changes (original)
+++ trunk/libemail-mime-encodings-perl/Changes Thu Apr 30 12:35:48 2009
@@ -1,4 +1,7 @@
Revision history for Perl extension Email-MIME-Encodings
+
+1.313 2009-04-16
+ bugfix by MKANAT to avoid QP-encoding CRLF
1.312 2009-01-22
add repo metadata
Modified: trunk/libemail-mime-encodings-perl/META.yml
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libemail-mime-encodings-perl/META.yml?rev=34401&op=diff
==============================================================================
--- trunk/libemail-mime-encodings-perl/META.yml (original)
+++ trunk/libemail-mime-encodings-perl/META.yml Thu Apr 30 12:35:48 2009
@@ -1,22 +1,24 @@
--- #YAML:1.0
name: Email-MIME-Encodings
-version: 1.312
+version: 1.313
abstract: ~
author: []
license: perl
distribution_type: module
configure_requires:
ExtUtils::MakeMaker: 0
+build_requires:
+ ExtUtils::MakeMaker: 0
requires:
MIME::Base64: 3.05
MIME::QuotedPrint: 3.03
resources:
- Repository: http://github.com/rjbs/email-mime-encodings
+ repository: http://github.com/rjbs/email-mime-encodings
no_index:
directory:
- t
- inc
-generated_by: ExtUtils::MakeMaker version 6.48
+generated_by: ExtUtils::MakeMaker version 6.50
meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.4.html
version: 1.4
Modified: trunk/libemail-mime-encodings-perl/Makefile.PL
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libemail-mime-encodings-perl/Makefile.PL?rev=34401&op=diff
==============================================================================
--- trunk/libemail-mime-encodings-perl/Makefile.PL (original)
+++ trunk/libemail-mime-encodings-perl/Makefile.PL Thu Apr 30 12:35:48 2009
@@ -12,7 +12,7 @@
(eval { ExtUtils::MakeMaker->VERSION(6.46) }
? (META_MERGE => {
resources => {
- Repository => 'http://github.com/rjbs/email-mime-encodings'
+ repository => 'http://github.com/rjbs/email-mime-encodings'
}
})
: ()
Modified: trunk/libemail-mime-encodings-perl/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libemail-mime-encodings-perl/debian/changelog?rev=34401&op=diff
==============================================================================
--- trunk/libemail-mime-encodings-perl/debian/changelog (original)
+++ trunk/libemail-mime-encodings-perl/debian/changelog Thu Apr 30 12:35:48 2009
@@ -1,6 +1,4 @@
-libemail-mime-encodings-perl (1.312-1) UNRELEASED; urgency=low
-
- no need to upload, only git repo added
+libemail-mime-encodings-perl (1.313-1) UNRELEASED; urgency=low
[ Brian Cassidy ]
* New upstream release
@@ -10,7 +8,7 @@
(source stanza).
* debian/control: Added: ${misc:Depends} to Depends: field.
- -- Brian Cassidy <brian.cassidy at gmail.com> Fri, 30 Jan 2009 11:12:45 -0400
+ -- Brian Cassidy <brian.cassidy at gmail.com> Thu, 30 Apr 2009 09:34:52 -0300
libemail-mime-encodings-perl (1.311-3) unstable; urgency=low
Modified: trunk/libemail-mime-encodings-perl/lib/Email/MIME/Encodings.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libemail-mime-encodings-perl/lib/Email/MIME/Encodings.pm?rev=34401&op=diff
==============================================================================
--- trunk/libemail-mime-encodings-perl/lib/Email/MIME/Encodings.pm (original)
+++ trunk/libemail-mime-encodings-perl/lib/Email/MIME/Encodings.pm Thu Apr 30 12:35:48 2009
@@ -3,7 +3,7 @@
no strict 'refs';
use warnings;
-$Email::MIME::Encodings::VERSION = "1.312";
+$Email::MIME::Encodings::VERSION = "1.313";
use MIME::Base64;
use MIME::QuotedPrint;
@@ -18,12 +18,38 @@
my ($which, $how, $what) = @_;
$how = lc $how;
$how = "qp" if $how eq "quotedprint" or $how eq "quoted-printable";
- my $sub = $which."_".$how;
- if (not defined &$sub) {
+ my $sub = __PACKAGE__->can("$which\_$how");
+
+ unless ($sub) {
require Carp;
Carp::croak("Don't know how to $which $how");
}
- $sub->($what);
+
+ # RFC2822 requires all email lines to end in CRLF. The Quoted-Printable
+ # RFC requires CRLF to not be encoded, when representing newlins. We will
+ # assume, in this code, that QP is being used for plain text and not binary
+ # data. This may, someday, be wrong -- but if you are using QP to encode
+ # binary data, you are already doing something bizarre.
+ #
+ # The only way to achieve this with MIME::QuotedPrint is to replace all
+ # CRLFs with just LF and then let MIME::QuotedPrint replace all LFs with
+ # CRLF. Otherwise MIME::QuotedPrint (by default) encodes CR as =0D, which
+ # is against RFCs and breaks MUAs (such as Thunderbird).
+ #
+ # We don't modify data before Base64 encoding it because that is usually
+ # binary data and modifying it at all is a bad idea. We do however specify
+ # that the encoder should end lines with CRLF (since that's the email
+ # standard).
+ # -- rjbs and mkanat, 2009-04-16
+ my $eol = "\x0d\x0a";
+ if ($which eq 'encode') {
+ $what =~ s/$eol/\x0a/sg if $how eq 'qp';
+ return $sub->($what, $eol);
+ } else {
+ my $txt = $sub->($what);
+ $txt =~ s/\x0a/$eol/sg if $how eq 'qp';
+ return $txt;
+ }
}
sub decode { return codec("decode", @_) }
Modified: trunk/libemail-mime-encodings-perl/t/basic.t
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libemail-mime-encodings-perl/t/basic.t?rev=34401&op=diff
==============================================================================
--- trunk/libemail-mime-encodings-perl/t/basic.t (original)
+++ trunk/libemail-mime-encodings-perl/t/basic.t Thu Apr 30 12:35:48 2009
@@ -1,17 +1,18 @@
use Test::More tests => 12;
use_ok("Email::MIME::Encodings");
-my $x = "This is a test\nof various MIME=stuff.";
+my $CRLF = "\x0d\x0a";
+my $x = "This is a test${CRLF}of various MIME=stuff.";
for (qw(binary 7bit 8bit)) {
is(Email::MIME::Encodings::encode($_, $x), $x, "enc $_");
is(Email::MIME::Encodings::decode($_, $x), $x, "dec $_");
}
-$y= "This is a test\nof various MIME=3Dstuff.=\n";
+$y = "This is a test${CRLF}of various MIME=3Dstuff.=${CRLF}";
is(Email::MIME::Encodings::encode(quotedprint => $x), $y, "enc qp");
is(Email::MIME::Encodings::decode(quotedprint => $y), $x, "dec qp");
-$z="VGhpcyBpcyBhIHRlc3QKb2YgdmFyaW91cyBNSU1FPXN0dWZmLg==\n";
+$z = "VGhpcyBpcyBhIHRlc3QNCm9mIHZhcmlvdXMgTUlNRT1zdHVmZi4=${CRLF}";
is(Email::MIME::Encodings::encode(base64 => $x), $z, "enc 64");
is(Email::MIME::Encodings::decode(base64 => $z), $x, "dec 64");
More information about the Pkg-perl-cvs-commits
mailing list