Hello community,
here is the log from the commit of package perl-Email-MIME for openSUSE:Factory
checked in at 2020-06-03 20:36:29
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Email-MIME (Old)
and /work/SRC/openSUSE:Factory/.perl-Email-MIME.new.3606 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Email-MIME"
Wed Jun 3 20:36:29 2020 rev:3 rq:811179 version:1.949
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Email-MIME/perl-Email-MIME.changes
2018-10-08 17:50:47.566073340 +0200
+++
/work/SRC/openSUSE:Factory/.perl-Email-MIME.new.3606/perl-Email-MIME.changes
2020-06-03 20:36:55.846001658 +0200
@@ -1,0 +2,18 @@
+Mon May 25 03:10:21 UTC 2020 - Tina Müller <[email protected]>
+
+updated to 1.949
+ see /usr/share/doc/packages/perl-Email-MIME/Changes
+
+ 1.949 2020-05-24 10:25:36-04:00 America/New_York
+ - no changes since trial release
+
+ 1.948 2020-05-09 14:57:17-04:00 America/New_York (TRIAL RELEASE)
+ - fixes to handling of content-type parameters (thanks, dlucredativ
and
+ Pali Rohár)
+
+ 1.947 2020-05-09 14:30:06-04:00 America/New_York (TRIAL RELEASE)
+ - add $Email::MIME::MAX_DEPTH and refuse to parse deeper than that
many
+ parts; current default: 10
+
+
+-------------------------------------------------------------------
Old:
----
Email-MIME-1.946.tar.gz
New:
----
Email-MIME-1.949.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Email-MIME.spec ++++++
--- /var/tmp/diff_new_pack.NJiW9s/_old 2020-06-03 20:36:56.358003264 +0200
+++ /var/tmp/diff_new_pack.NJiW9s/_new 2020-06-03 20:36:56.362003276 +0200
@@ -1,7 +1,7 @@
#
# spec file for package perl-Email-MIME
#
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2020 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,13 +17,13 @@
Name: perl-Email-MIME
-Version: 1.946
+Version: 1.949
Release: 0
%define cpan_name Email-MIME
-Summary: Easy Mime Message Handling
+Summary: Easy MIME message handling
License: Artistic-1.0 OR GPL-1.0-or-later
Group: Development/Libraries/Perl
-Url: http://search.cpan.org/dist/Email-MIME/
+URL: https://metacpan.org/release/%{cpan_name}
Source0:
https://cpan.metacpan.org/authors/id/R/RJ/RJBS/%{cpan_name}-%{version}.tar.gz
Source1: cpanspec.yml
BuildArch: noarch
@@ -31,7 +31,7 @@
BuildRequires: perl
BuildRequires: perl-macros
BuildRequires: perl(Email::Address::XS)
-BuildRequires: perl(Email::MIME::ContentType) >= 1.022
+BuildRequires: perl(Email::MIME::ContentType) >= 1.023
BuildRequires: perl(Email::MIME::Encodings) >= 1.314
BuildRequires: perl(Email::MessageID)
BuildRequires: perl(Email::Simple) >= 2.212
@@ -42,7 +42,7 @@
BuildRequires: perl(Test::More) >= 0.96
BuildRequires: perl(parent)
Requires: perl(Email::Address::XS)
-Requires: perl(Email::MIME::ContentType) >= 1.022
+Requires: perl(Email::MIME::ContentType) >= 1.023
Requires: perl(Email::MIME::Encodings) >= 1.314
Requires: perl(Email::MessageID)
Requires: perl(Email::Simple) >= 2.212
@@ -63,11 +63,11 @@
%setup -q -n %{cpan_name}-%{version}
%build
-%{__perl} Makefile.PL INSTALLDIRS=vendor
-%{__make} %{?_smp_mflags}
+perl Makefile.PL INSTALLDIRS=vendor
+make %{?_smp_mflags}
%check
-%{__make} test
+make test
%install
%perl_make_install
++++++ Email-MIME-1.946.tar.gz -> Email-MIME-1.949.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Email-MIME-1.946/Changes new/Email-MIME-1.949/Changes
--- old/Email-MIME-1.946/Changes 2017-08-31 15:29:46.000000000 +0200
+++ new/Email-MIME-1.949/Changes 2020-05-24 16:25:39.000000000 +0200
@@ -1,5 +1,16 @@
Revision history for Perl extension Email::MIME.
+1.949 2020-05-24 10:25:36-04:00 America/New_York
+ - no changes since trial release
+
+1.948 2020-05-09 14:57:17-04:00 America/New_York (TRIAL RELEASE)
+ - fixes to handling of content-type parameters (thanks, dlucredativ and
+ Pali Rohár)
+
+1.947 2020-05-09 14:30:06-04:00 America/New_York (TRIAL RELEASE)
+ - add $Email::MIME::MAX_DEPTH and refuse to parse deeper than that many
+ parts; current default: 10
+
1.946 2017-08-31 09:29:41-04:00 America/New_York
- propagate encode_check to subparts (thanks, Michael McClimon)
- use the new parse_content_disposition function in
@@ -255,5 +266,5 @@
Test fix from Richard Clamp
0.01 Thu Apr 10 13:38:09 2003
- original version; created by h2xs 1.2 with options -AX -n
Email::MIME
+ original version; created by h2xs 1.2 with options -AX -n Email::MIME
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Email-MIME-1.946/MANIFEST
new/Email-MIME-1.949/MANIFEST
--- old/Email-MIME-1.946/MANIFEST 2017-08-31 15:29:46.000000000 +0200
+++ new/Email-MIME-1.949/MANIFEST 2020-05-24 16:25:39.000000000 +0200
@@ -1,4 +1,4 @@
-# This file was automatically generated by Dist::Zilla::Plugin::Manifest
v6.010.
+# This file was automatically generated by Dist::Zilla::Plugin::Manifest
v6.014.
Changes
LICENSE
MANIFEST
@@ -28,6 +28,7 @@
t/ct_attrs.t
t/dispo.t
t/disposition.t
+t/email-mime-encode.t
t/encode-check.t
t/encoding.t
t/files/readme.txt.gz
@@ -42,3 +43,4 @@
t/walk-parts.t
xt/author/pod-syntax.t
xt/release/changes_has_content.t
+xt/stupid-big.t
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Email-MIME-1.946/META.json
new/Email-MIME-1.949/META.json
--- old/Email-MIME-1.946/META.json 2017-08-31 15:29:46.000000000 +0200
+++ new/Email-MIME-1.949/META.json 2020-05-24 16:25:39.000000000 +0200
@@ -6,7 +6,7 @@
"Simon Cozens <[email protected]>"
],
"dynamic_config" : 0,
- "generated_by" : "Dist::Zilla version 6.010, CPAN::Meta::Converter version
2.150005",
+ "generated_by" : "Dist::Zilla version 6.014, CPAN::Meta::Converter version
2.150010",
"license" : [
"perl_5"
],
@@ -31,7 +31,7 @@
"requires" : {
"Carp" : "0",
"Email::Address::XS" : "0",
- "Email::MIME::ContentType" : "1.022",
+ "Email::MIME::ContentType" : "1.023",
"Email::MIME::Encodings" : "1.314",
"Email::MessageID" : "0",
"Email::Simple" : "2.212",
@@ -73,10 +73,10 @@
"web" : "https://github.com/rjbs/Email-MIME"
}
},
- "version" : "1.946",
+ "version" : "1.949",
"x_Dist_Zilla" : {
"perl" : {
- "version" : "5.024000"
+ "version" : "5.030002"
},
"plugins" : [
{
@@ -96,7 +96,7 @@
}
},
"name" : "@RJBS/Git::GatherDir",
- "version" : "2.042"
+ "version" : "2.046"
},
{
"class" : "Dist::Zilla::Plugin::CheckPrereqsIndexed",
@@ -123,7 +123,7 @@
}
},
"name" : "@RJBS/RJBS-Outdated",
- "version" : "0.054"
+ "version" : "0.057"
},
{
"class" : "Dist::Zilla::Plugin::PromptIfStale",
@@ -138,62 +138,62 @@
}
},
"name" : "@RJBS/CPAN-Outdated",
- "version" : "0.054"
+ "version" : "0.057"
},
{
"class" : "Dist::Zilla::Plugin::PruneCruft",
"name" : "@RJBS/@Filter/PruneCruft",
- "version" : "6.010"
+ "version" : "6.014"
},
{
"class" : "Dist::Zilla::Plugin::ManifestSkip",
"name" : "@RJBS/@Filter/ManifestSkip",
- "version" : "6.010"
+ "version" : "6.014"
},
{
"class" : "Dist::Zilla::Plugin::MetaYAML",
"name" : "@RJBS/@Filter/MetaYAML",
- "version" : "6.010"
+ "version" : "6.014"
},
{
"class" : "Dist::Zilla::Plugin::License",
"name" : "@RJBS/@Filter/License",
- "version" : "6.010"
+ "version" : "6.014"
},
{
"class" : "Dist::Zilla::Plugin::Readme",
"name" : "@RJBS/@Filter/Readme",
- "version" : "6.010"
+ "version" : "6.014"
},
{
"class" : "Dist::Zilla::Plugin::ExecDir",
"name" : "@RJBS/@Filter/ExecDir",
- "version" : "6.010"
+ "version" : "6.014"
},
{
"class" : "Dist::Zilla::Plugin::ShareDir",
"name" : "@RJBS/@Filter/ShareDir",
- "version" : "6.010"
+ "version" : "6.014"
},
{
"class" : "Dist::Zilla::Plugin::Manifest",
"name" : "@RJBS/@Filter/Manifest",
- "version" : "6.010"
+ "version" : "6.014"
},
{
"class" : "Dist::Zilla::Plugin::TestRelease",
"name" : "@RJBS/@Filter/TestRelease",
- "version" : "6.010"
+ "version" : "6.014"
},
{
"class" : "Dist::Zilla::Plugin::ConfirmRelease",
"name" : "@RJBS/@Filter/ConfirmRelease",
- "version" : "6.010"
+ "version" : "6.014"
},
{
"class" : "Dist::Zilla::Plugin::UploadToCPAN",
"name" : "@RJBS/@Filter/UploadToCPAN",
- "version" : "6.010"
+ "version" : "6.014"
},
{
"class" : "Dist::Zilla::Plugin::MakeMaker",
@@ -203,58 +203,58 @@
}
},
"name" : "@RJBS/MakeMaker",
- "version" : "6.010"
+ "version" : "6.014"
},
{
"class" : "Dist::Zilla::Plugin::AutoPrereqs",
"name" : "@RJBS/AutoPrereqs",
- "version" : "6.010"
+ "version" : "6.014"
},
{
"class" : "Dist::Zilla::Plugin::Git::NextVersion",
"config" : {
"Dist::Zilla::Plugin::Git::NextVersion" : {
"first_version" : "0.001",
- "version_by_branch" : 1,
+ "version_by_branch" : 0,
"version_regexp" : "(?^:^([0-9]+\\.[0-9]+)$)"
},
"Dist::Zilla::Role::Git::Repo" : {
- "git_version" : "2.13.0",
+ "git_version" : "2.24.3 (Apple Git-128)",
"repo_root" : "."
}
},
"name" : "@RJBS/Git::NextVersion",
- "version" : "2.042"
+ "version" : "2.046"
},
{
"class" : "Dist::Zilla::Plugin::PkgVersion",
"name" : "@RJBS/PkgVersion",
- "version" : "6.010"
+ "version" : "6.014"
},
{
"class" : "Dist::Zilla::Plugin::MetaConfig",
"name" : "@RJBS/MetaConfig",
- "version" : "6.010"
+ "version" : "6.014"
},
{
"class" : "Dist::Zilla::Plugin::MetaJSON",
"name" : "@RJBS/MetaJSON",
- "version" : "6.010"
+ "version" : "6.014"
},
{
"class" : "Dist::Zilla::Plugin::NextRelease",
"name" : "@RJBS/NextRelease",
- "version" : "6.010"
+ "version" : "6.014"
},
{
"class" : "Dist::Zilla::Plugin::Test::ChangesHasContent",
"name" : "@RJBS/Test::ChangesHasContent",
- "version" : "0.010"
+ "version" : "0.011"
},
{
"class" : "Dist::Zilla::Plugin::PodSyntaxTests",
"name" : "@RJBS/PodSyntaxTests",
- "version" : "6.010"
+ "version" : "6.014"
},
{
"class" : "Dist::Zilla::Plugin::Test::ReportPrereqs",
@@ -270,7 +270,7 @@
}
},
"name" : "@RJBS/TestMoreWithSubtests",
- "version" : "6.010"
+ "version" : "6.014"
},
{
"class" : "Dist::Zilla::Plugin::PodWeaver",
@@ -388,7 +388,7 @@
{
"class" : "Dist::Zilla::Plugin::GithubMeta",
"name" : "@RJBS/GithubMeta",
- "version" : "0.54"
+ "version" : "0.58"
},
{
"class" : "Dist::Zilla::Plugin::Git::Check",
@@ -405,19 +405,19 @@
"changelog" : "Changes"
},
"Dist::Zilla::Role::Git::Repo" : {
- "git_version" : "2.13.0",
+ "git_version" : "2.24.3 (Apple Git-128)",
"repo_root" : "."
}
},
"name" : "@RJBS/@Git/Check",
- "version" : "2.042"
+ "version" : "2.046"
},
{
"class" : "Dist::Zilla::Plugin::Git::Commit",
"config" : {
"Dist::Zilla::Plugin::Git::Commit" : {
"add_files_in" : [],
- "commit_msg" : "v%v%n%n%c"
+ "commit_msg" : "v%V%n%n%c"
},
"Dist::Zilla::Role::Git::DirtyFiles" : {
"allow_dirty" : [
@@ -428,7 +428,7 @@
"changelog" : "Changes"
},
"Dist::Zilla::Role::Git::Repo" : {
- "git_version" : "2.13.0",
+ "git_version" : "2.24.3 (Apple Git-128)",
"repo_root" : "."
},
"Dist::Zilla::Role::Git::StringFormatter" : {
@@ -436,7 +436,7 @@
}
},
"name" : "@RJBS/@Git/Commit",
- "version" : "2.042"
+ "version" : "2.046"
},
{
"class" : "Dist::Zilla::Plugin::Git::Tag",
@@ -445,12 +445,12 @@
"branch" : null,
"changelog" : "Changes",
"signed" : 0,
- "tag" : "1.946",
+ "tag" : "1.949",
"tag_format" : "%v",
- "tag_message" : "v%v"
+ "tag_message" : "v%V"
},
"Dist::Zilla::Role::Git::Repo" : {
- "git_version" : "2.13.0",
+ "git_version" : "2.24.3 (Apple Git-128)",
"repo_root" : "."
},
"Dist::Zilla::Role::Git::StringFormatter" : {
@@ -458,31 +458,31 @@
}
},
"name" : "@RJBS/@Git/Tag",
- "version" : "2.042"
+ "version" : "2.046"
},
{
"class" : "Dist::Zilla::Plugin::Git::Push",
"config" : {
"Dist::Zilla::Plugin::Git::Push" : {
"push_to" : [
- "rjbs :",
+ "origin :",
"github :"
],
"remotes_must_exist" : 0
},
"Dist::Zilla::Role::Git::Repo" : {
- "git_version" : "2.13.0",
+ "git_version" : "2.24.3 (Apple Git-128)",
"repo_root" : "."
}
},
"name" : "@RJBS/@Git/Push",
- "version" : "2.042"
+ "version" : "2.046"
},
{
"class" : "Dist::Zilla::Plugin::Git::Contributors",
"config" : {
"Dist::Zilla::Plugin::Git::Contributors" : {
- "git_version" : "2.13.0",
+ "git_version" : "2.24.3 (Apple Git-128)",
"include_authors" : 0,
"include_releaser" : 1,
"order_by" : "name",
@@ -490,7 +490,7 @@
}
},
"name" : "@RJBS/Git::Contributors",
- "version" : "0.030"
+ "version" : "0.035"
},
{
"class" : "Dist::Zilla::Plugin::Prereqs",
@@ -501,79 +501,83 @@
}
},
"name" : "Prereqs",
- "version" : "6.010"
+ "version" : "6.014"
},
{
"class" : "Dist::Zilla::Plugin::Encoding",
"name" : "Encoding",
- "version" : "6.010"
+ "version" : "6.014"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":InstallModules",
- "version" : "6.010"
+ "version" : "6.014"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":IncModules",
- "version" : "6.010"
+ "version" : "6.014"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":TestFiles",
- "version" : "6.010"
+ "version" : "6.014"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":ExtraTestFiles",
- "version" : "6.010"
+ "version" : "6.014"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":ExecFiles",
- "version" : "6.010"
+ "version" : "6.014"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":PerlExecFiles",
- "version" : "6.010"
+ "version" : "6.014"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":ShareFiles",
- "version" : "6.010"
+ "version" : "6.014"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":MainModule",
- "version" : "6.010"
+ "version" : "6.014"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":AllFiles",
- "version" : "6.010"
+ "version" : "6.014"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":NoFiles",
- "version" : "6.010"
+ "version" : "6.014"
}
],
"zilla" : {
"class" : "Dist::Zilla::Dist::Builder",
"config" : {
- "is_trial" : "0"
+ "is_trial" : 0
},
- "version" : "6.010"
+ "version" : "6.014"
}
},
"x_contributors" : [
"Alex Vandiver <[email protected]>",
+ "Anirvan Chatterjee <[email protected]>",
"Arthur Axel 'fREW' Schmidt <[email protected]>",
"Brian Cassidy <[email protected]>",
+ "Damian Lukowski <[email protected]>",
"Dan Book <[email protected]>",
"David Steinbrunner <[email protected]>",
"Dotan Dimet <[email protected]>",
+ "dxdc <[email protected]>",
+ "Eric Wong <[email protected]>",
"Geraint Edwards <[email protected]>",
"Jesse Luehrs <[email protected]>",
"Kurt Anderson <[email protected]>",
@@ -582,9 +586,12 @@
"memememomo <[email protected]>",
"Michael McClimon <[email protected]>",
"Pali <[email protected]>",
+ "Ricardo Signes <[email protected]>",
"Shawn Sorichetti <[email protected]>",
"Tomohiro Hosaka <[email protected]>"
],
- "x_serialization_backend" : "Cpanel::JSON::XS version 3.0237"
+ "x_generated_by_perl" : "v5.30.2",
+ "x_serialization_backend" : "Cpanel::JSON::XS version 4.19",
+ "x_spdx_expression" : "Artistic-1.0-Perl OR GPL-1.0-or-later"
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Email-MIME-1.946/META.yml
new/Email-MIME-1.949/META.yml
--- old/Email-MIME-1.946/META.yml 2017-08-31 15:29:46.000000000 +0200
+++ new/Email-MIME-1.949/META.yml 2020-05-24 16:25:39.000000000 +0200
@@ -13,7 +13,7 @@
configure_requires:
ExtUtils::MakeMaker: '0'
dynamic_config: 0
-generated_by: 'Dist::Zilla version 6.010, CPAN::Meta::Converter version
2.150005'
+generated_by: 'Dist::Zilla version 6.014, CPAN::Meta::Converter version
2.150010'
license: perl
meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -22,7 +22,7 @@
requires:
Carp: '0'
Email::Address::XS: '0'
- Email::MIME::ContentType: '1.022'
+ Email::MIME::ContentType: '1.023'
Email::MIME::Encodings: '1.314'
Email::MessageID: '0'
Email::Simple: '2.212'
@@ -41,10 +41,10 @@
bugtracker: https://github.com/rjbs/Email-MIME/issues
homepage: https://github.com/rjbs/Email-MIME
repository: https://github.com/rjbs/Email-MIME.git
-version: '1.946'
+version: '1.949'
x_Dist_Zilla:
perl:
- version: '5.024000'
+ version: '5.030002'
plugins:
-
class: Dist::Zilla::Plugin::Git::GatherDir
@@ -60,7 +60,7 @@
Dist::Zilla::Plugin::Git::GatherDir:
include_untracked: 0
name: '@RJBS/Git::GatherDir'
- version: '2.042'
+ version: '2.046'
-
class: Dist::Zilla::Plugin::CheckPrereqsIndexed
name: '@RJBS/CheckPrereqsIndexed'
@@ -81,7 +81,7 @@
run_under_travis: 0
skip: []
name: '@RJBS/RJBS-Outdated'
- version: '0.054'
+ version: '0.057'
-
class: Dist::Zilla::Plugin::PromptIfStale
config:
@@ -93,98 +93,98 @@
run_under_travis: 0
skip: []
name: '@RJBS/CPAN-Outdated'
- version: '0.054'
+ version: '0.057'
-
class: Dist::Zilla::Plugin::PruneCruft
name: '@RJBS/@Filter/PruneCruft'
- version: '6.010'
+ version: '6.014'
-
class: Dist::Zilla::Plugin::ManifestSkip
name: '@RJBS/@Filter/ManifestSkip'
- version: '6.010'
+ version: '6.014'
-
class: Dist::Zilla::Plugin::MetaYAML
name: '@RJBS/@Filter/MetaYAML'
- version: '6.010'
+ version: '6.014'
-
class: Dist::Zilla::Plugin::License
name: '@RJBS/@Filter/License'
- version: '6.010'
+ version: '6.014'
-
class: Dist::Zilla::Plugin::Readme
name: '@RJBS/@Filter/Readme'
- version: '6.010'
+ version: '6.014'
-
class: Dist::Zilla::Plugin::ExecDir
name: '@RJBS/@Filter/ExecDir'
- version: '6.010'
+ version: '6.014'
-
class: Dist::Zilla::Plugin::ShareDir
name: '@RJBS/@Filter/ShareDir'
- version: '6.010'
+ version: '6.014'
-
class: Dist::Zilla::Plugin::Manifest
name: '@RJBS/@Filter/Manifest'
- version: '6.010'
+ version: '6.014'
-
class: Dist::Zilla::Plugin::TestRelease
name: '@RJBS/@Filter/TestRelease'
- version: '6.010'
+ version: '6.014'
-
class: Dist::Zilla::Plugin::ConfirmRelease
name: '@RJBS/@Filter/ConfirmRelease'
- version: '6.010'
+ version: '6.014'
-
class: Dist::Zilla::Plugin::UploadToCPAN
name: '@RJBS/@Filter/UploadToCPAN'
- version: '6.010'
+ version: '6.014'
-
class: Dist::Zilla::Plugin::MakeMaker
config:
Dist::Zilla::Role::TestRunner:
default_jobs: 9
name: '@RJBS/MakeMaker'
- version: '6.010'
+ version: '6.014'
-
class: Dist::Zilla::Plugin::AutoPrereqs
name: '@RJBS/AutoPrereqs'
- version: '6.010'
+ version: '6.014'
-
class: Dist::Zilla::Plugin::Git::NextVersion
config:
Dist::Zilla::Plugin::Git::NextVersion:
first_version: '0.001'
- version_by_branch: 1
+ version_by_branch: 0
version_regexp: (?^:^([0-9]+\.[0-9]+)$)
Dist::Zilla::Role::Git::Repo:
- git_version: 2.13.0
+ git_version: '2.24.3 (Apple Git-128)'
repo_root: .
name: '@RJBS/Git::NextVersion'
- version: '2.042'
+ version: '2.046'
-
class: Dist::Zilla::Plugin::PkgVersion
name: '@RJBS/PkgVersion'
- version: '6.010'
+ version: '6.014'
-
class: Dist::Zilla::Plugin::MetaConfig
name: '@RJBS/MetaConfig'
- version: '6.010'
+ version: '6.014'
-
class: Dist::Zilla::Plugin::MetaJSON
name: '@RJBS/MetaJSON'
- version: '6.010'
+ version: '6.014'
-
class: Dist::Zilla::Plugin::NextRelease
name: '@RJBS/NextRelease'
- version: '6.010'
+ version: '6.014'
-
class: Dist::Zilla::Plugin::Test::ChangesHasContent
name: '@RJBS/Test::ChangesHasContent'
- version: '0.010'
+ version: '0.011'
-
class: Dist::Zilla::Plugin::PodSyntaxTests
name: '@RJBS/PodSyntaxTests'
- version: '6.010'
+ version: '6.014'
-
class: Dist::Zilla::Plugin::Test::ReportPrereqs
name: '@RJBS/Test::ReportPrereqs'
@@ -196,7 +196,7 @@
phase: test
type: requires
name: '@RJBS/TestMoreWithSubtests'
- version: '6.010'
+ version: '6.014'
-
class: Dist::Zilla::Plugin::PodWeaver
config:
@@ -288,7 +288,7 @@
-
class: Dist::Zilla::Plugin::GithubMeta
name: '@RJBS/GithubMeta'
- version: '0.54'
+ version: '0.58'
-
class: Dist::Zilla::Plugin::Git::Check
config:
@@ -301,16 +301,16 @@
allow_dirty_match: []
changelog: Changes
Dist::Zilla::Role::Git::Repo:
- git_version: 2.13.0
+ git_version: '2.24.3 (Apple Git-128)'
repo_root: .
name: '@RJBS/@Git/Check'
- version: '2.042'
+ version: '2.046'
-
class: Dist::Zilla::Plugin::Git::Commit
config:
Dist::Zilla::Plugin::Git::Commit:
add_files_in: []
- commit_msg: v%v%n%n%c
+ commit_msg: v%V%n%n%c
Dist::Zilla::Role::Git::DirtyFiles:
allow_dirty:
- Changes
@@ -318,12 +318,12 @@
allow_dirty_match: []
changelog: Changes
Dist::Zilla::Role::Git::Repo:
- git_version: 2.13.0
+ git_version: '2.24.3 (Apple Git-128)'
repo_root: .
Dist::Zilla::Role::Git::StringFormatter:
time_zone: local
name: '@RJBS/@Git/Commit'
- version: '2.042'
+ version: '2.046'
-
class: Dist::Zilla::Plugin::Git::Tag
config:
@@ -331,40 +331,40 @@
branch: ~
changelog: Changes
signed: 0
- tag: '1.946'
+ tag: '1.949'
tag_format: '%v'
- tag_message: v%v
+ tag_message: v%V
Dist::Zilla::Role::Git::Repo:
- git_version: 2.13.0
+ git_version: '2.24.3 (Apple Git-128)'
repo_root: .
Dist::Zilla::Role::Git::StringFormatter:
time_zone: local
name: '@RJBS/@Git/Tag'
- version: '2.042'
+ version: '2.046'
-
class: Dist::Zilla::Plugin::Git::Push
config:
Dist::Zilla::Plugin::Git::Push:
push_to:
- - 'rjbs :'
+ - 'origin :'
- 'github :'
remotes_must_exist: 0
Dist::Zilla::Role::Git::Repo:
- git_version: 2.13.0
+ git_version: '2.24.3 (Apple Git-128)'
repo_root: .
name: '@RJBS/@Git/Push'
- version: '2.042'
+ version: '2.046'
-
class: Dist::Zilla::Plugin::Git::Contributors
config:
Dist::Zilla::Plugin::Git::Contributors:
- git_version: 2.13.0
+ git_version: '2.24.3 (Apple Git-128)'
include_authors: 0
include_releaser: 1
order_by: name
paths: []
name: '@RJBS/Git::Contributors'
- version: '0.030'
+ version: '0.035'
-
class: Dist::Zilla::Plugin::Prereqs
config:
@@ -372,63 +372,67 @@
phase: runtime
type: requires
name: Prereqs
- version: '6.010'
+ version: '6.014'
-
class: Dist::Zilla::Plugin::Encoding
name: Encoding
- version: '6.010'
+ version: '6.014'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':InstallModules'
- version: '6.010'
+ version: '6.014'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':IncModules'
- version: '6.010'
+ version: '6.014'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':TestFiles'
- version: '6.010'
+ version: '6.014'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':ExtraTestFiles'
- version: '6.010'
+ version: '6.014'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':ExecFiles'
- version: '6.010'
+ version: '6.014'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':PerlExecFiles'
- version: '6.010'
+ version: '6.014'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':ShareFiles'
- version: '6.010'
+ version: '6.014'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':MainModule'
- version: '6.010'
+ version: '6.014'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':AllFiles'
- version: '6.010'
+ version: '6.014'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':NoFiles'
- version: '6.010'
+ version: '6.014'
zilla:
class: Dist::Zilla::Dist::Builder
config:
is_trial: '0'
- version: '6.010'
+ version: '6.014'
x_contributors:
- 'Alex Vandiver <[email protected]>'
+ - 'Anirvan Chatterjee <[email protected]>'
- "Arthur Axel 'fREW' Schmidt <[email protected]>"
- 'Brian Cassidy <[email protected]>'
+ - 'Damian Lukowski <[email protected]>'
- 'Dan Book <[email protected]>'
- 'David Steinbrunner <[email protected]>'
- 'Dotan Dimet <[email protected]>'
+ - 'dxdc <[email protected]>'
+ - 'Eric Wong <[email protected]>'
- 'Geraint Edwards <[email protected]>'
- 'Jesse Luehrs <[email protected]>'
- 'Kurt Anderson <[email protected]>'
@@ -437,6 +441,9 @@
- 'memememomo <[email protected]>'
- 'Michael McClimon <[email protected]>'
- 'Pali <[email protected]>'
+ - 'Ricardo Signes <[email protected]>'
- 'Shawn Sorichetti <[email protected]>'
- 'Tomohiro Hosaka <[email protected]>'
-x_serialization_backend: 'YAML::Tiny version 1.70'
+x_generated_by_perl: v5.30.2
+x_serialization_backend: 'YAML::Tiny version 1.73'
+x_spdx_expression: 'Artistic-1.0-Perl OR GPL-1.0-or-later'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Email-MIME-1.946/Makefile.PL
new/Email-MIME-1.949/Makefile.PL
--- old/Email-MIME-1.946/Makefile.PL 2017-08-31 15:29:46.000000000 +0200
+++ new/Email-MIME-1.949/Makefile.PL 2020-05-24 16:25:39.000000000 +0200
@@ -1,4 +1,4 @@
-# This file was automatically generated by Dist::Zilla::Plugin::MakeMaker
v6.010.
+# This file was automatically generated by Dist::Zilla::Plugin::MakeMaker
v6.014.
use strict;
use warnings;
@@ -19,7 +19,7 @@
"PREREQ_PM" => {
"Carp" => 0,
"Email::Address::XS" => 0,
- "Email::MIME::ContentType" => "1.022",
+ "Email::MIME::ContentType" => "1.023",
"Email::MIME::Encodings" => "1.314",
"Email::MessageID" => 0,
"Email::Simple" => "2.212",
@@ -41,7 +41,7 @@
"Test::More" => "0.96",
"utf8" => 0
},
- "VERSION" => "1.946",
+ "VERSION" => "1.949",
"test" => {
"TESTS" => "t/*.t"
}
@@ -51,7 +51,7 @@
my %FallbackPrereqs = (
"Carp" => 0,
"Email::Address::XS" => 0,
- "Email::MIME::ContentType" => "1.022",
+ "Email::MIME::ContentType" => "1.023",
"Email::MIME::Encodings" => "1.314",
"Email::MessageID" => 0,
"Email::Simple" => "2.212",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Email-MIME-1.946/README new/Email-MIME-1.949/README
--- old/Email-MIME-1.946/README 2017-08-31 15:29:46.000000000 +0200
+++ new/Email-MIME-1.949/README 2020-05-24 16:25:39.000000000 +0200
@@ -1,7 +1,5 @@
-
-
This archive contains the distribution Email-MIME,
-version 1.946:
+version 1.949:
easy MIME message handling
@@ -11,5 +9,4 @@
the same terms as the Perl 5 programming language system itself.
-This README file was generated by Dist::Zilla::Plugin::Readme v6.010.
-
+This README file was generated by Dist::Zilla::Plugin::Readme v6.014.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Email-MIME-1.946/lib/Email/MIME/Creator.pm
new/Email-MIME-1.949/lib/Email/MIME/Creator.pm
--- old/Email-MIME-1.946/lib/Email/MIME/Creator.pm 2017-08-31
15:29:46.000000000 +0200
+++ new/Email-MIME-1.949/lib/Email/MIME/Creator.pm 2020-05-24
16:25:39.000000000 +0200
@@ -3,7 +3,7 @@
use warnings;
package Email::MIME::Creator;
# ABSTRACT: obsolete do-nothing library
-$Email::MIME::Creator::VERSION = '1.946';
+$Email::MIME::Creator::VERSION = '1.949';
use parent q[Email::Simple::Creator];
use Email::MIME;
use Encode ();
@@ -44,7 +44,7 @@
=head1 VERSION
-version 1.946
+version 1.949
=head1 SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Email-MIME-1.946/lib/Email/MIME/Encode.pm
new/Email-MIME-1.949/lib/Email/MIME/Encode.pm
--- old/Email-MIME-1.946/lib/Email/MIME/Encode.pm 2017-08-31
15:29:46.000000000 +0200
+++ new/Email-MIME-1.949/lib/Email/MIME/Encode.pm 2020-05-24
16:25:39.000000000 +0200
@@ -2,9 +2,10 @@
use warnings;
package Email::MIME::Encode;
# ABSTRACT: a private helper for MIME header encoding
-$Email::MIME::Encode::VERSION = '1.946';
+$Email::MIME::Encode::VERSION = '1.949';
use Carp ();
use Encode ();
+use Email::MIME::Header;
use MIME::Base64();
use Module::Runtime ();
use Scalar::Util;
@@ -179,7 +180,7 @@
=head1 VERSION
-version 1.946
+version 1.949
=head1 AUTHORS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/Email-MIME-1.946/lib/Email/MIME/Header/AddressList.pm
new/Email-MIME-1.949/lib/Email/MIME/Header/AddressList.pm
--- old/Email-MIME-1.946/lib/Email/MIME/Header/AddressList.pm 2017-08-31
15:29:46.000000000 +0200
+++ new/Email-MIME-1.949/lib/Email/MIME/Header/AddressList.pm 2020-05-24
16:25:39.000000000 +0200
@@ -1,7 +1,7 @@
# Copyright (c) 2016-2017 by Pali <[email protected]>
package Email::MIME::Header::AddressList;
-$Email::MIME::Header::AddressList::VERSION = '1.946';
+$Email::MIME::Header::AddressList::VERSION = '1.949';
use strict;
use warnings;
@@ -335,7 +335,7 @@
=head1 VERSION
-version 1.946
+version 1.949
=head1 SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Email-MIME-1.946/lib/Email/MIME/Header.pm
new/Email-MIME-1.949/lib/Email/MIME/Header.pm
--- old/Email-MIME-1.946/lib/Email/MIME/Header.pm 2017-08-31
15:29:46.000000000 +0200
+++ new/Email-MIME-1.949/lib/Email/MIME/Header.pm 2020-05-24
16:25:39.000000000 +0200
@@ -2,7 +2,7 @@
use warnings;
package Email::MIME::Header;
# ABSTRACT: the header of a MIME message
-$Email::MIME::Header::VERSION = '1.946';
+$Email::MIME::Header::VERSION = '1.949';
use parent 'Email::Simple::Header';
use Carp ();
@@ -14,7 +14,7 @@
our %header_to_class_map;
-{
+BEGIN {
my @address_list_headers = qw(from sender reply-to to cc bcc);
push @address_list_headers, map { "resent-$_" } @address_list_headers;
push @address_list_headers, map { "downgraded-$_" } @address_list_headers; #
RFC 5504
@@ -75,7 +75,7 @@
Email::MIME::Encode::maybe_mime_encode_header($name, $_, 'UTF-8')
} @vals;
- $self->header_set($name => @values);
+ $self->header_raw_set($name => @values);
}
sub header_str_pairs {
@@ -143,7 +143,7 @@
=head1 VERSION
-version 1.946
+version 1.949
=head1 DESCRIPTION
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Email-MIME-1.946/lib/Email/MIME/Modifier.pm
new/Email-MIME-1.949/lib/Email/MIME/Modifier.pm
--- old/Email-MIME-1.946/lib/Email/MIME/Modifier.pm 2017-08-31
15:29:46.000000000 +0200
+++ new/Email-MIME-1.949/lib/Email/MIME/Modifier.pm 2020-05-24
16:25:39.000000000 +0200
@@ -2,7 +2,7 @@
use warnings;
package Email::MIME::Modifier;
# ABSTRACT: obsolete do-nothing library
-$Email::MIME::Modifier::VERSION = '1.946';
+$Email::MIME::Modifier::VERSION = '1.949';
1;
__END__
@@ -17,7 +17,7 @@
=head1 VERSION
-version 1.946
+version 1.949
=head1 AUTHORS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Email-MIME-1.946/lib/Email/MIME.pm
new/Email-MIME-1.949/lib/Email/MIME.pm
--- old/Email-MIME-1.946/lib/Email/MIME.pm 2017-08-31 15:29:46.000000000
+0200
+++ new/Email-MIME-1.949/lib/Email/MIME.pm 2020-05-24 16:25:39.000000000
+0200
@@ -3,14 +3,14 @@
use warnings;
package Email::MIME;
# ABSTRACT: easy MIME message handling
-$Email::MIME::VERSION = '1.946';
+$Email::MIME::VERSION = '1.949';
use Email::Simple 2.212; # nth header value
use parent qw(Email::Simple);
use Carp ();
use Email::MessageID;
use Email::MIME::Creator;
-use Email::MIME::ContentType 1.022; # parse_content_disposition
+use Email::MIME::ContentType 1.023; # build_content_type
use Email::MIME::Encode;
use Email::MIME::Encodings 1.314;
use Email::MIME::Header;
@@ -134,7 +134,7 @@
my $self = shift->SUPER::new($text, $arg, @rest);
$self->encode_check_set($encode_check);
- $self->{ct} = parse_content_type($self->content_type);
+ $self->{ct} = parse_content_type($self->content_type_raw);
$self->parts;
return $self;
}
@@ -174,7 +174,7 @@
#pod
#pod C<attributes> is a hash of MIME attributes to assign to the part, and may
#pod override portions of the header set in the C<header> parameter. The hash
keys
-#pod correspond directly to methods or modifying a message from
+#pod correspond directly to methods for modifying a message from
#pod C<Email::MIME::Modifier>. The allowed keys are: content_type, charset,
name,
#pod format, boundary, encoding, disposition, and filename. They will be
mapped to
#pod C<"$attr\_set"> for message modification.
@@ -255,7 +255,7 @@
my $email = $class->new($header, \%pass_on);
- for my $key (keys %attrs) {
+ for my $key (sort keys %attrs) {
$email->content_type_attribute_set($key => $attrs{$key});
}
@@ -377,17 +377,25 @@
return $str;
}
+our $MAX_DEPTH = 10;
+
sub parts_multipart {
my $self = shift;
my $boundary = $self->{ct}->{attributes}->{boundary};
+ our $DEPTH ||= 0;
+
+ Carp::croak("attempted to parse a MIME message more than $MAX_DEPTH deep")
+ if $MAX_DEPTH && $DEPTH > $MAX_DEPTH;
+
# Take a message, join all its lines together. Now try to Email::MIME->new
# it with 1.861 or earlier. Death! It tries to recurse endlessly on the
# body, because every time it splits on boundary it gets itself. Obviously
# that means it's a bogus message, but a mangled result (or exception) is
# better than endless recursion. -- rjbs, 2008-01-07
return $self->parts_single_part
- unless $boundary and $self->body_raw =~ /^--\Q$boundary\E\s*$/sm;
+ unless defined $boundary and length $boundary and
+ $self->body_raw =~ /^--\Q$boundary\E\s*$/sm;
$self->{body_raw} = $self->SUPER::body;
@@ -410,6 +418,7 @@
for my $bit (@bits) {
$bit =~ s/\A[\n\r]+//smg;
$bit =~ s/(?<!\x0d)$self->{mycrlf}\Z//sm;
+ local $DEPTH = $DEPTH + 1;
my $email = (ref $self)->new($bit, { encode_check => $self->encode_check
});
push @parts, $email;
}
@@ -422,6 +431,7 @@
sub force_decode_hook { 0 }
sub decode_hook { return $_[1] }
sub content_type { scalar shift->header("Content-type"); }
+sub content_type_raw { scalar shift->header_raw("Content-type"); }
sub debug_structure {
my ($self, $level) = @_;
@@ -541,7 +551,7 @@
my ($self, $value) = @_;
my $ct_header = parse_content_type($self->header('Content-Type'));
- if ($value) {
+ if (defined $value and length $value) {
$ct_header->{attributes}->{boundary} = $value;
} else {
delete $ct_header->{attributes}->{boundary};
@@ -727,20 +737,14 @@
sub filename_set {
my ($self, $filename) = @_;
my $dis_header = $self->header('Content-Disposition');
- my ($disposition, $attrs);
+ my ($disposition, $attrs) = ('inline', {});
if ($dis_header) {
my $struct = parse_content_disposition($dis_header);
$disposition = $struct->{type};
$attrs = $struct->{attributes};
}
$filename ? $attrs->{filename} = $filename : delete $attrs->{filename};
- $disposition ||= 'inline';
-
- my $dis = $disposition;
- while (my ($attr, $val) = each %{$attrs}) {
- $dis .= qq[; $attr="$val"];
- }
-
+ my $dis = build_content_disposition({type => $disposition, attributes =>
$attrs});
$self->header_raw_set('Content-Disposition' => $dis);
}
@@ -764,7 +768,8 @@
if (@{$parts} > 1 or $ct_header->{type} eq 'multipart') {
# setup multipart
- $ct_header->{attributes}->{boundary} ||= Email::MessageID->new->user;
+ $ct_header->{attributes}->{boundary} = Email::MessageID->new->user
+ unless defined $ct_header->{attributes}->{boundary} and length
$ct_header->{attributes}->{boundary};
my $bound = $ct_header->{attributes}->{boundary};
foreach my $part (@{$parts}) {
$body .= "$self->{mycrlf}--$bound$self->{mycrlf}";
@@ -787,7 +792,11 @@
my $from_ct = parse_content_type($parts->[0]->header('Content-Type'));
@{$ct_header}{qw[type subtype]} = @{ $from_ct }{qw[type subtype]};
- $ct_header->{attributes}{charset} = $from_ct->{attributes}{charset};
+ if (exists $from_ct->{attributes}{charset}) {
+ $ct_header->{attributes}{charset} = $from_ct->{attributes}{charset};
+ } else {
+ delete $ct_header->{attributes}{charset};
+ }
$self->encoding_set($parts->[0]->header('Content-Transfer-Encoding'));
delete $ct_header->{attributes}->{boundary};
@@ -881,11 +890,7 @@
sub _compose_content_type {
my ($self, $ct_header) = @_;
- my $ct = join q{/}, @{$ct_header}{qw[type subtype]};
- for my $attr (sort keys %{ $ct_header->{attributes} }) {
- next unless defined (my $value = $ct_header->{attributes}{$attr});
- $ct .= qq[; $attr="$value"];
- }
+ my $ct = build_content_type({type => $ct_header->{type}, subtype =>
$ct_header->{subtype}, attributes => $ct_header->{attributes}});
$self->header_raw_set('Content-Type' => $ct);
$self->{ct} = $ct_header;
}
@@ -935,7 +940,7 @@
=head1 VERSION
-version 1.946
+version 1.949
=head1 SYNOPSIS
@@ -1067,7 +1072,7 @@
C<attributes> is a hash of MIME attributes to assign to the part, and may
override portions of the header set in the C<header> parameter. The hash keys
-correspond directly to methods or modifying a message from
+correspond directly to methods for modifying a message from
C<Email::MIME::Modifier>. The allowed keys are: content_type, charset, name,
format, boundary, encoding, disposition, and filename. They will be mapped to
C<"$attr\_set"> for message modification.
@@ -1333,6 +1338,12 @@
+ text/plain
+ text/html
+=head1 CONFIGURATION
+
+The variable C<$Email::MIME::MAX_DEPTH> is the maximum depth of parts that will
+be processed. It defaults to 10, already higher than legitimate mail is ever
+likely to be. This value may go up over time as the parser is improved.
+
=head1 TODO
All of the Email::MIME-specific guts should move to a single entry on the
@@ -1368,7 +1379,7 @@
=head1 CONTRIBUTORS
-=for stopwords Alex Vandiver Arthur Axel 'fREW' Schmidt Brian Cassidy Dan Book
David Steinbrunner Dotan Dimet Geraint Edwards Jesse Luehrs Kurt Anderson Lance
A. Brown Matthew Horsfall (alh) memememomo Michael McClimon Pali Shawn
Sorichetti Tomohiro Hosaka
+=for stopwords Alex Vandiver Anirvan Chatterjee Arthur Axel 'fREW' Schmidt
Brian Cassidy Damian Lukowski Dan Book David Steinbrunner Dotan Dimet dxdc Eric
Wong Geraint Edwards Jesse Luehrs Kurt Anderson Lance A. Brown Matthew Horsfall
(alh) memememomo Michael McClimon Pali Ricardo Signes Shawn Sorichetti Tomohiro
Hosaka
=over 4
@@ -1378,6 +1389,10 @@
=item *
+Anirvan Chatterjee <[email protected]>
+
+=item *
+
Arthur Axel 'fREW' Schmidt <[email protected]>
=item *
@@ -1386,6 +1401,10 @@
=item *
+Damian Lukowski <[email protected]>
+
+=item *
+
Dan Book <[email protected]>
=item *
@@ -1398,6 +1417,14 @@
=item *
+dxdc <[email protected]>
+
+=item *
+
+Eric Wong <[email protected]>
+
+=item *
+
Geraint Edwards <[email protected]>
=item *
@@ -1430,6 +1457,10 @@
=item *
+Ricardo Signes <[email protected]>
+
+=item *
+
Shawn Sorichetti <[email protected]>
=item *
@@ -1569,6 +1600,12 @@
#pod + text/plain
#pod + text/html
#pod
+#pod =head1 CONFIGURATION
+#pod
+#pod The variable C<$Email::MIME::MAX_DEPTH> is the maximum depth of parts
that will
+#pod be processed. It defaults to 10, already higher than legitimate mail is
ever
+#pod likely to be. This value may go up over time as the parser is improved.
+#pod
#pod =head1 TODO
#pod
#pod All of the Email::MIME-specific guts should move to a single entry on the
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Email-MIME-1.946/t/00-report-prereqs.dd
new/Email-MIME-1.949/t/00-report-prereqs.dd
--- old/Email-MIME-1.946/t/00-report-prereqs.dd 2017-08-31 15:29:46.000000000
+0200
+++ new/Email-MIME-1.949/t/00-report-prereqs.dd 2020-05-24 16:25:39.000000000
+0200
@@ -14,7 +14,7 @@
'requires' => {
'Carp' => '0',
'Email::Address::XS' => '0',
- 'Email::MIME::ContentType' => '1.022',
+ 'Email::MIME::ContentType' => '1.023',
'Email::MIME::Encodings' => '1.314',
'Email::MessageID' => '0',
'Email::Simple' => '2.212',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Email-MIME-1.946/t/body-ref.t
new/Email-MIME-1.949/t/body-ref.t
--- old/Email-MIME-1.946/t/body-ref.t 2017-08-31 15:29:46.000000000 +0200
+++ new/Email-MIME-1.949/t/body-ref.t 2020-05-24 16:25:39.000000000 +0200
@@ -27,7 +27,7 @@
isnt(index($email->body, 'I LIKE PIE'), -1, "$prefix: target string");
- like($email->header('Content-Type'), qr/invented="xyzzy"/, "custom CT
param");
+ like($email->header('Content-Type'), qr/invented=(?:"xyzzy"|xyzzy)/,
"custom CT param");
};
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Email-MIME-1.946/t/ct_attrs.t
new/Email-MIME-1.949/t/ct_attrs.t
--- old/Email-MIME-1.946/t/ct_attrs.t 2017-08-31 15:29:46.000000000 +0200
+++ new/Email-MIME-1.949/t/ct_attrs.t 2020-05-24 16:25:39.000000000 +0200
@@ -1,6 +1,7 @@
use strict;
use warnings;
-use Test::More tests => 12;
+use utf8;
+use Test::More tests => 16;
use_ok 'Email::MIME';
use_ok 'Email::MIME::Modifier';
@@ -63,8 +64,8 @@
},
}, 'ct with name worked' );
-is $email->header('Content-Type'),
- 'text/plain; format="flowed"; name="foo.txt"',
+like $email->header('Content-Type'),
+ qr'^text/plain; format=(?:"flowed"|flowed); name=(?:"foo\.txt"|foo\.txt)$',
'ct format is correct';
$email->boundary_set( 'marker' );
@@ -80,8 +81,8 @@
$email->content_type_attribute_set( 'Bananas' => 'true' );
-is $email->header('Content-Type'),
- 'text/plain; bananas="true"; boundary="marker"; format="flowed";
name="foo.txt"',
+like $email->header('Content-Type'),
+ qr'^text/plain; bananas=(?:"true"|true); boundary=(?:"marker"|marker);
format=(?:"flowed"|flowed); name=(?:"foo\.txt"|foo\.txt)$',
'ct format is correct';
is_deeply( parse_content_type($email->header('Content-Type')), {
@@ -94,3 +95,34 @@
},
}, 'ct with misc. attr (bananas) worked' );
+$email->name_set( 'hah"ha"\'ha\\' );
+
+is_deeply( parse_content_type($email->header('Content-Type')), {
+ ct(qw(text plain)),
+ attributes => {
+ bananas => 'true',
+ boundary => 'marker',
+ format => 'flowed',
+ name => 'hah"ha"\'ha\\',
+ },
+}, 'ct with quotes in name worked' );
+
+like $email->header('Content-Type'),
+ qr'^text/plain; bananas=(?:"true"|true); boundary=(?:"marker"|marker);
format=(?:"flowed"|flowed); name="hah\\"ha\\"\'ha\\\\"$',
+ 'ct format is correct';
+
+$email->name_set( 'kůň.pdf' );
+
+is_deeply( parse_content_type($email->header('Content-Type')), {
+ ct(qw(text plain)),
+ attributes => {
+ bananas => 'true',
+ boundary => 'marker',
+ format => 'flowed',
+ name => 'kůň.pdf',
+ },
+}, 'ct with unicode name worked' );
+
+like $email->header('Content-Type'),
+ qr'^text/plain; bananas=(?:"true"|true); boundary=(?:"marker"|marker);
format=(?:"flowed"|flowed); name\*=UTF-8\'\'k%C5%AF%C5%88\.pdf; name=kun\.pdf$',
+ 'ct format is correct';
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Email-MIME-1.946/t/disposition.t
new/Email-MIME-1.949/t/disposition.t
--- old/Email-MIME-1.946/t/disposition.t 2017-08-31 15:29:46.000000000
+0200
+++ new/Email-MIME-1.949/t/disposition.t 2020-05-24 16:25:39.000000000
+0200
@@ -1,6 +1,7 @@
use strict;
use warnings;
-use Test::More tests => 7;
+use utf8;
+use Test::More tests => 9;
use_ok 'Email::MIME';
use_ok 'Email::MIME::Modifier';
@@ -20,13 +21,20 @@
$email->filename_set( 'loco.pdf' );
-is $email->header('Content-Disposition'), 'attachment; filename="loco.pdf"',
'filename_set worked';
+like $email->header('Content-Disposition'), qr'^attachment;
filename=(?:"loco\.pdf"|loco\.pdf)$', 'filename_set worked';
$email->disposition_set('inline');
-is $email->header('Content-Disposition'), 'inline; filename="loco.pdf"',
're-reset worked';
+like $email->header('Content-Disposition'), qr'^inline;
filename=(?:"loco\.pdf"|loco\.pdf)$', 're-reset worked';
$email->filename_set(undef);
is $email->header('Content-Disposition'), 'inline', 'filename_set(undef)
worked';
+$email->disposition_set('attachment');
+
+$email->filename_set('hah"ha"\'ha\\');
+is $email->header('Content-Disposition'), q(attachment;
filename="hah\\"ha\\"'ha\\\\");
+
+$email->filename_set('kůň.pdf');
+is $email->header('Content-Disposition'), q(attachment;
filename*=UTF-8''k%C5%AF%C5%88.pdf; filename=kun.pdf);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Email-MIME-1.946/t/email-mime-encode.t
new/Email-MIME-1.949/t/email-mime-encode.t
--- old/Email-MIME-1.946/t/email-mime-encode.t 1970-01-01 01:00:00.000000000
+0100
+++ new/Email-MIME-1.949/t/email-mime-encode.t 2020-05-24 16:25:39.000000000
+0200
@@ -0,0 +1,19 @@
+use strict;
+use warnings;
+use utf8;
+use Test::More;
+
+BEGIN {
+ plan skip_all => 'Email::Address::XS is required for this test' unless eval
{ require Email::Address::XS };
+ plan 'no_plan';
+}
+
+BEGIN {
+ use_ok('Email::MIME::Encode');
+}
+
+is(
+ Email::MIME::Encode::maybe_mime_encode_header('To', '"Name ☺" <user@host>'),
+ '=?UTF-8?B?TmFtZSDimLo=?= <user@host>',
+ 'Email::MIME::Encode::maybe_mime_encode_header works without "use
Email::MIME::Header"'
+);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Email-MIME-1.946/t/encode-check.t
new/Email-MIME-1.949/t/encode-check.t
--- old/Email-MIME-1.946/t/encode-check.t 2017-08-31 15:29:46.000000000
+0200
+++ new/Email-MIME-1.949/t/encode-check.t 2020-05-24 16:25:39.000000000
+0200
@@ -36,7 +36,7 @@
my $email = Email::MIME->create(
parts => [
q[Totally ascii first part],
- q[Look, a snowman: ☃],
+ qq[Look, a snowman: \x{E2}\x{98}\x{83}],
],
encode_check => Encode::FB_DEFAULT,
);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Email-MIME-1.946/t/multipart.t
new/Email-MIME-1.949/t/multipart.t
--- old/Email-MIME-1.946/t/multipart.t 2017-08-31 15:29:46.000000000 +0200
+++ new/Email-MIME-1.949/t/multipart.t 2020-05-24 16:25:39.000000000 +0200
@@ -67,15 +67,15 @@
{
my $email = Email::MIME->new(<<'END');
Subject: hello
-Content-Type: multipart/mixed; boundary="bananas"
+Content-Type: multipart/mixed; boundary="0"
Prelude
---bananas
+--0
Content-Type: text/plain
This is plain text.
---bananas--
+--0--
Postlude
END
@@ -83,6 +83,13 @@
like($email->as_string, qr/Prelude/, "prelude in string");
like($email->as_string, qr/Postlude/, "postlude in string");
+ my @p;
+ $email->walk_parts(sub {
+ my $str = eval { $_[0]->body_str };
+ push @p, $str if defined $str;
+ });
+ is_deeply(\@p, ['This is plain text.']);
+
$email->parts_set([ $email->subparts ]);
unlike($email->as_string, qr/Prelude/, "prelude in string");
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Email-MIME-1.946/xt/release/changes_has_content.t
new/Email-MIME-1.949/xt/release/changes_has_content.t
--- old/Email-MIME-1.946/xt/release/changes_has_content.t 2017-08-31
15:29:46.000000000 +0200
+++ new/Email-MIME-1.949/xt/release/changes_has_content.t 2020-05-24
16:25:39.000000000 +0200
@@ -1,11 +1,10 @@
-#!perl
-
use Test::More tests => 2;
note 'Checking Changes';
my $changes_file = 'Changes';
-my $newver = '1.946';
+my $newver = '1.949';
my $trial_token = '-TRIAL';
+my $encoding = 'UTF-8';
SKIP: {
ok(-e $changes_file, "$changes_file file exists")
@@ -16,8 +15,6 @@
done_testing;
-# _get_changes copied and adapted from Dist::Zilla::Plugin::Git::Commit
-# by Jerome Quelin
sub _get_changes
{
my $newver = shift;
@@ -25,6 +22,10 @@
# parse changelog to find commit message
open(my $fh, '<', $changes_file) or die "cannot open $changes_file: $!";
my $changelog = join('', <$fh>);
+ if ($encoding) {
+ require Encode;
+ $changelog = Encode::decode($encoding, $changelog, Encode::FB_CROAK());
+ }
close $fh;
my @content =
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Email-MIME-1.946/xt/stupid-big.t
new/Email-MIME-1.949/xt/stupid-big.t
--- old/Email-MIME-1.946/xt/stupid-big.t 1970-01-01 01:00:00.000000000
+0100
+++ new/Email-MIME-1.949/xt/stupid-big.t 2020-05-24 16:25:39.000000000
+0200
@@ -0,0 +1,58 @@
+#!perl
+# vim:ft=perl
+use strict;
+use warnings;
+
+use Test::More;
+use Email::MIME;
+
+plan skip_all => "This is more of a helper than a test.";
+
+sub very_deep_email_string {
+ my $depth = $_[0] || 250_000;
+
+ my $str = q{};
+ my $boundary_prefix = "a" x 77;
+ for my $i (1 .. $depth) {
+ my $boundary = sprintf "$boundary_prefix%08x", $i;
+ $str .= "Content-Type: multipart/mixed; boundary=$boundary\n";
+ $str .= "\n";
+ $str .= "--$boundary\n\n";
+ }
+
+ for my $i (reverse(1 .. $depth)) {
+ $str .= sprintf "--${boundary_prefix}%08x--\n\n", $i;
+ }
+
+ return $str;
+}
+
+sub very_attached_email_string {
+ my $parts = $_[0] || 250_000;
+
+ my $str = q{};
+ my $boundary_prefix = "a" x 77;
+ for my $i (1 .. $parts) {
+ my $boundary = sprintf "$boundary_prefix%08x", $i;
+ $str .= "Content-Type: text/plain; boundary=$boundary\n";
+ $str .= "\n";
+ $str .= "--$boundary\n\n";
+ $str .= sprintf "--${boundary_prefix}%08x--\n\n", $i;
+ }
+
+ return $str;
+}
+
+print `ps -o rss -p $$`;
+
+my $VAES = very_attached_email_string;
+warn length($VAES) / 1024;
+my $email = Email::MIME->new($VAES);
+
+print `ps -o rss -p $$`;
+
+# local $Email::MIME::MAX_DEPTH = 2;
+
+$email = Email::MIME->new( very_deep_email_string() );
+
+print `ps -o rss -p $$`;