Hello community,

here is the log from the commit of package perl-Email-Address for 
openSUSE:Factory checked in at 2019-01-05 14:41:17
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Email-Address (Old)
 and      /work/SRC/openSUSE:Factory/.perl-Email-Address.new.28833 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "perl-Email-Address"

Sat Jan  5 14:41:17 2019 rev:17 rq:662640 version:1.912

Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Email-Address/perl-Email-Address.changes    
2018-03-16 10:40:28.806671554 +0100
+++ 
/work/SRC/openSUSE:Factory/.perl-Email-Address.new.28833/perl-Email-Address.changes
 2019-01-05 14:41:18.376533822 +0100
@@ -1,0 +2,21 @@
+Thu Jan  3 06:08:58 UTC 2019 - Stephan Kulow <co...@suse.com>
+
+- updated to 1.912
+   see /usr/share/doc/packages/perl-Email-Address/Changes
+
+  1.912     2018-12-31 13:46:22-05:00 America/New_York
+          - include the doc updates from 1.911 changelog, oops!
+
+-------------------------------------------------------------------
+Sun Dec 23 06:08:33 UTC 2018 - Stephan Kulow <co...@suse.com>
+
+- updated to 1.911
+   see /usr/share/doc/packages/perl-Email-Address/Changes
+
+  1.911     2018-12-22 11:30:28-05:00 America/New_York
+          - just like 1.910, but with doc updates and undeprecation by Jim 
Brandt
+  
+  1.910     2018-12-17 21:27:28-05:00 America/New_York (TRIAL RELEASE)
+          - update parsing to mitigate pathological cases (thanks, sunnavy!)
+
+-------------------------------------------------------------------

Old:
----
  Email-Address-1.909.tar.gz

New:
----
  Email-Address-1.912.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ perl-Email-Address.spec ++++++
--- /var/tmp/diff_new_pack.wstOmU/_old  2019-01-05 14:41:19.788532624 +0100
+++ /var/tmp/diff_new_pack.wstOmU/_new  2019-01-05 14:41:19.812532603 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package perl-Email-Address
 #
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -12,18 +12,18 @@
 # license that conforms to the Open Source Definition (Version 1.9)
 # published by the Open Source Initiative.
 
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
 #
 
 
 Name:           perl-Email-Address
-Version:        1.909
+Version:        1.912
 Release:        0
 %define cpan_name Email-Address
-Summary:        (DEPRECATED) RFC 2822 Address Parsing and Creation
+Summary:        RFC 2822 Address Parsing and Creation
 License:        Artistic-1.0 OR GPL-1.0-or-later
 Group:          Development/Libraries/Perl
-Url:            http://search.cpan.org/dist/Email-Address/
+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
@@ -34,27 +34,32 @@
 %{perl_requires}
 
 %description
-*ACHTUNG!* This module has a vulnerability (at
-https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7686) which allows
-remote attackers to cause denial of service. In other words, sometimes it
-takes way too long to process certain kinds of input. Maybe someday this
-will be fixed. Until then, use *Email::Address::XS* instead which has
-backward compatible API.
-
 This class implements a regex-based RFC 2822 parser that locates email
 addresses in strings and returns a list of 'Email::Address' objects found.
 Alternatively you may construct objects manually. The goal of this software
 is to be correct, and very very fast.
 
+Version 1.909 and earlier of this module had vulnerabilies (at
+https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7686) and (at
+https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-12558) which
+allowed specially constructed email to cause a denial of service. The
+reported vulnerabilities and some other pathalogical cases (meaning they
+really shouldn't occur in normal email) have been addressed in version
+1.910 and newer. If you're running version 1.909 or older, you should
+update!
+
+Alternatively, you could switch to *Email::Address::XS* which has a
+backward compatible API.
+
 %prep
 %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-Address-1.909.tar.gz -> Email-Address-1.912.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Email-Address-1.909/Changes 
new/Email-Address-1.912/Changes
--- old/Email-Address-1.909/Changes     2018-03-05 04:07:16.000000000 +0100
+++ new/Email-Address-1.912/Changes     2018-12-31 19:46:26.000000000 +0100
@@ -1,5 +1,14 @@
 Release history for Email-Address
 
+1.912     2018-12-31 13:46:22-05:00 America/New_York
+        - include the doc updates from 1.911 changelog, oops!
+
+1.911     2018-12-22 11:30:28-05:00 America/New_York
+        - just like 1.910, but with doc updates and undeprecation by Jim Brandt
+
+1.910     2018-12-17 21:27:28-05:00 America/New_York (TRIAL RELEASE)
+        - update parsing to mitigate pathological cases (thanks, sunnavy!)
+
 1.909     2018-03-04 22:07:12-05:00 America/New_York
         - add some docs saying "don't use this, it can be busted"
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Email-Address-1.909/MANIFEST 
new/Email-Address-1.912/MANIFEST
--- old/Email-Address-1.909/MANIFEST    2018-03-05 04:07:16.000000000 +0100
+++ new/Email-Address-1.912/MANIFEST    2018-12-31 19:46:26.000000000 +0100
@@ -1,4 +1,4 @@
-# This file was automatically generated by Dist::Zilla::Plugin::Manifest 
v6.011.
+# This file was automatically generated by Dist::Zilla::Plugin::Manifest 
v6.012.
 Changes
 LICENSE
 MANIFEST
@@ -17,6 +17,8 @@
 t/cache-cow.t
 t/comma-free.t
 t/format.t
+t/order.t
+t/pathological.t
 t/patterns.t
 t/quote-encoded.t
 t/quoting.t
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Email-Address-1.909/META.json 
new/Email-Address-1.912/META.json
--- old/Email-Address-1.909/META.json   2018-03-05 04:07:16.000000000 +0100
+++ new/Email-Address-1.912/META.json   2018-12-31 19:46:26.000000000 +0100
@@ -1,11 +1,11 @@
 {
-   "abstract" : "(DEPRECATED) RFC 2822 Address Parsing and Creation",
+   "abstract" : "RFC 2822 Address Parsing and Creation",
    "author" : [
       "Casey West",
       "Ricardo SIGNES <r...@cpan.org>"
    ],
    "dynamic_config" : 0,
-   "generated_by" : "Dist::Zilla version 6.011, CPAN::Meta::Converter version 
2.150010",
+   "generated_by" : "Dist::Zilla version 6.012, CPAN::Meta::Converter version 
2.150010",
    "license" : [
       "perl_5"
    ],
@@ -43,7 +43,8 @@
             "Encode::MIME::Header" : "0",
             "ExtUtils::MakeMaker" : "0",
             "File::Spec" : "0",
-            "Test::More" : "0.96"
+            "Test::More" : "0.96",
+            "Time::HiRes" : "0"
          }
       }
    },
@@ -59,7 +60,7 @@
          "web" : "https://github.com/rjbs/Email-Address";
       }
    },
-   "version" : "1.909",
+   "version" : "1.912",
    "x_Dist_Zilla" : {
       "perl" : {
          "version" : "5.026001"
@@ -82,7 +83,7 @@
                }
             },
             "name" : "@RJBS/Git::GatherDir",
-            "version" : "2.043"
+            "version" : "2.045"
          },
          {
             "class" : "Dist::Zilla::Plugin::CheckPrereqsIndexed",
@@ -109,7 +110,7 @@
                }
             },
             "name" : "@RJBS/RJBS-Outdated",
-            "version" : "0.054"
+            "version" : "0.055"
          },
          {
             "class" : "Dist::Zilla::Plugin::PromptIfStale",
@@ -124,62 +125,62 @@
                }
             },
             "name" : "@RJBS/CPAN-Outdated",
-            "version" : "0.054"
+            "version" : "0.055"
          },
          {
             "class" : "Dist::Zilla::Plugin::PruneCruft",
             "name" : "@RJBS/@Filter/PruneCruft",
-            "version" : "6.011"
+            "version" : "6.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::ManifestSkip",
             "name" : "@RJBS/@Filter/ManifestSkip",
-            "version" : "6.011"
+            "version" : "6.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::MetaYAML",
             "name" : "@RJBS/@Filter/MetaYAML",
-            "version" : "6.011"
+            "version" : "6.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::License",
             "name" : "@RJBS/@Filter/License",
-            "version" : "6.011"
+            "version" : "6.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::Readme",
             "name" : "@RJBS/@Filter/Readme",
-            "version" : "6.011"
+            "version" : "6.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::ExecDir",
             "name" : "@RJBS/@Filter/ExecDir",
-            "version" : "6.011"
+            "version" : "6.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::ShareDir",
             "name" : "@RJBS/@Filter/ShareDir",
-            "version" : "6.011"
+            "version" : "6.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::Manifest",
             "name" : "@RJBS/@Filter/Manifest",
-            "version" : "6.011"
+            "version" : "6.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::TestRelease",
             "name" : "@RJBS/@Filter/TestRelease",
-            "version" : "6.011"
+            "version" : "6.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::ConfirmRelease",
             "name" : "@RJBS/@Filter/ConfirmRelease",
-            "version" : "6.011"
+            "version" : "6.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::UploadToCPAN",
             "name" : "@RJBS/@Filter/UploadToCPAN",
-            "version" : "6.011"
+            "version" : "6.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::MakeMaker",
@@ -189,12 +190,12 @@
                }
             },
             "name" : "@RJBS/MakeMaker",
-            "version" : "6.011"
+            "version" : "6.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::AutoPrereqs",
             "name" : "@RJBS/AutoPrereqs",
-            "version" : "6.011"
+            "version" : "6.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::Git::NextVersion",
@@ -205,32 +206,32 @@
                   "version_regexp" : "(?^:^([0-9]+\\.[0-9]+)$)"
                },
                "Dist::Zilla::Role::Git::Repo" : {
-                  "git_version" : "2.15.1",
+                  "git_version" : "2.18.0",
                   "repo_root" : "."
                }
             },
             "name" : "@RJBS/Git::NextVersion",
-            "version" : "2.043"
+            "version" : "2.045"
          },
          {
             "class" : "Dist::Zilla::Plugin::PkgVersion",
             "name" : "@RJBS/PkgVersion",
-            "version" : "6.011"
+            "version" : "6.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::MetaConfig",
             "name" : "@RJBS/MetaConfig",
-            "version" : "6.011"
+            "version" : "6.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::MetaJSON",
             "name" : "@RJBS/MetaJSON",
-            "version" : "6.011"
+            "version" : "6.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::NextRelease",
             "name" : "@RJBS/NextRelease",
-            "version" : "6.011"
+            "version" : "6.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::Test::ChangesHasContent",
@@ -240,7 +241,7 @@
          {
             "class" : "Dist::Zilla::Plugin::PodSyntaxTests",
             "name" : "@RJBS/PodSyntaxTests",
-            "version" : "6.011"
+            "version" : "6.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::Test::ReportPrereqs",
@@ -256,7 +257,7 @@
                }
             },
             "name" : "@RJBS/TestMoreWithSubtests",
-            "version" : "6.011"
+            "version" : "6.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::PodWeaver",
@@ -369,12 +370,12 @@
                }
             },
             "name" : "@RJBS/PodWeaver",
-            "version" : "4.008"
+            "version" : "4.009"
          },
          {
             "class" : "Dist::Zilla::Plugin::GithubMeta",
             "name" : "@RJBS/GithubMeta",
-            "version" : "0.54"
+            "version" : "0.58"
          },
          {
             "class" : "Dist::Zilla::Plugin::Git::Check",
@@ -391,12 +392,12 @@
                   "changelog" : "Changes"
                },
                "Dist::Zilla::Role::Git::Repo" : {
-                  "git_version" : "2.15.1",
+                  "git_version" : "2.18.0",
                   "repo_root" : "."
                }
             },
             "name" : "@RJBS/@Git/Check",
-            "version" : "2.043"
+            "version" : "2.045"
          },
          {
             "class" : "Dist::Zilla::Plugin::Git::Commit",
@@ -414,7 +415,7 @@
                   "changelog" : "Changes"
                },
                "Dist::Zilla::Role::Git::Repo" : {
-                  "git_version" : "2.15.1",
+                  "git_version" : "2.18.0",
                   "repo_root" : "."
                },
                "Dist::Zilla::Role::Git::StringFormatter" : {
@@ -422,7 +423,7 @@
                }
             },
             "name" : "@RJBS/@Git/Commit",
-            "version" : "2.043"
+            "version" : "2.045"
          },
          {
             "class" : "Dist::Zilla::Plugin::Git::Tag",
@@ -431,12 +432,12 @@
                   "branch" : null,
                   "changelog" : "Changes",
                   "signed" : 0,
-                  "tag" : "1.909",
+                  "tag" : "1.912",
                   "tag_format" : "%v",
                   "tag_message" : "v%v"
                },
                "Dist::Zilla::Role::Git::Repo" : {
-                  "git_version" : "2.15.1",
+                  "git_version" : "2.18.0",
                   "repo_root" : "."
                },
                "Dist::Zilla::Role::Git::StringFormatter" : {
@@ -444,7 +445,7 @@
                }
             },
             "name" : "@RJBS/@Git/Tag",
-            "version" : "2.043"
+            "version" : "2.045"
          },
          {
             "class" : "Dist::Zilla::Plugin::Git::Push",
@@ -457,18 +458,18 @@
                   "remotes_must_exist" : 0
                },
                "Dist::Zilla::Role::Git::Repo" : {
-                  "git_version" : "2.15.1",
+                  "git_version" : "2.18.0",
                   "repo_root" : "."
                }
             },
             "name" : "@RJBS/@Git/Push",
-            "version" : "2.043"
+            "version" : "2.045"
          },
          {
             "class" : "Dist::Zilla::Plugin::Git::Contributors",
             "config" : {
                "Dist::Zilla::Plugin::Git::Contributors" : {
-                  "git_version" : "2.15.1",
+                  "git_version" : "2.18.0",
                   "include_authors" : 0,
                   "include_releaser" : 1,
                   "order_by" : "name",
@@ -476,57 +477,57 @@
                }
             },
             "name" : "@RJBS/Git::Contributors",
-            "version" : "0.032"
+            "version" : "0.034"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":InstallModules",
-            "version" : "6.011"
+            "version" : "6.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":IncModules",
-            "version" : "6.011"
+            "version" : "6.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":TestFiles",
-            "version" : "6.011"
+            "version" : "6.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":ExtraTestFiles",
-            "version" : "6.011"
+            "version" : "6.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":ExecFiles",
-            "version" : "6.011"
+            "version" : "6.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":PerlExecFiles",
-            "version" : "6.011"
+            "version" : "6.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":ShareFiles",
-            "version" : "6.011"
+            "version" : "6.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":MainModule",
-            "version" : "6.011"
+            "version" : "6.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":AllFiles",
-            "version" : "6.011"
+            "version" : "6.012"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":NoFiles",
-            "version" : "6.011"
+            "version" : "6.012"
          }
       ],
       "zilla" : {
@@ -534,7 +535,7 @@
          "config" : {
             "is_trial" : 0
          },
-         "version" : "6.011"
+         "version" : "6.012"
       }
    },
    "x_contributors" : [
@@ -542,11 +543,14 @@
       "David Golden <dagol...@cpan.org>",
       "David Steinbrunner <dsteinbrun...@pobox.com>",
       "Glenn Fowler <cebj...@cpan.org>",
+      "Jim Brandt <jbra...@bestpractical.com>",
       "Kevin Falcone <ke...@jibsheet.com>",
       "Pali <p...@cpan.org>",
       "Ruslan Zakirov <r...@bestpractical.com>",
+      "sunnavy <sunn...@bestpractical.com>",
       "William Yardley <p...@veggiechinese.net>"
    ],
-   "x_serialization_backend" : "Cpanel::JSON::XS version 3.0239"
+   "x_generated_by_perl" : "v5.26.1",
+   "x_serialization_backend" : "Cpanel::JSON::XS version 4.04"
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Email-Address-1.909/META.yml 
new/Email-Address-1.912/META.yml
--- old/Email-Address-1.909/META.yml    2018-03-05 04:07:16.000000000 +0100
+++ new/Email-Address-1.912/META.yml    2018-12-31 19:46:26.000000000 +0100
@@ -1,5 +1,5 @@
 ---
-abstract: '(DEPRECATED) RFC 2822 Address Parsing and Creation'
+abstract: 'RFC 2822 Address Parsing and Creation'
 author:
   - 'Casey West'
   - 'Ricardo SIGNES <r...@cpan.org>'
@@ -9,10 +9,11 @@
   ExtUtils::MakeMaker: '0'
   File::Spec: '0'
   Test::More: '0.96'
+  Time::HiRes: '0'
 configure_requires:
   ExtUtils::MakeMaker: '0'
 dynamic_config: 0
-generated_by: 'Dist::Zilla version 6.011, CPAN::Meta::Converter version 
2.150010'
+generated_by: 'Dist::Zilla version 6.012, CPAN::Meta::Converter version 
2.150010'
 license: perl
 meta-spec:
   url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -26,7 +27,7 @@
   bugtracker: https://github.com/rjbs/Email-Address/issues
   homepage: https://github.com/rjbs/Email-Address
   repository: https://github.com/rjbs/Email-Address.git
-version: '1.909'
+version: '1.912'
 x_Dist_Zilla:
   perl:
     version: '5.026001'
@@ -45,7 +46,7 @@
         Dist::Zilla::Plugin::Git::GatherDir:
           include_untracked: 0
       name: '@RJBS/Git::GatherDir'
-      version: '2.043'
+      version: '2.045'
     -
       class: Dist::Zilla::Plugin::CheckPrereqsIndexed
       name: '@RJBS/CheckPrereqsIndexed'
@@ -66,7 +67,7 @@
           run_under_travis: 0
           skip: []
       name: '@RJBS/RJBS-Outdated'
-      version: '0.054'
+      version: '0.055'
     -
       class: Dist::Zilla::Plugin::PromptIfStale
       config:
@@ -78,62 +79,62 @@
           run_under_travis: 0
           skip: []
       name: '@RJBS/CPAN-Outdated'
-      version: '0.054'
+      version: '0.055'
     -
       class: Dist::Zilla::Plugin::PruneCruft
       name: '@RJBS/@Filter/PruneCruft'
-      version: '6.011'
+      version: '6.012'
     -
       class: Dist::Zilla::Plugin::ManifestSkip
       name: '@RJBS/@Filter/ManifestSkip'
-      version: '6.011'
+      version: '6.012'
     -
       class: Dist::Zilla::Plugin::MetaYAML
       name: '@RJBS/@Filter/MetaYAML'
-      version: '6.011'
+      version: '6.012'
     -
       class: Dist::Zilla::Plugin::License
       name: '@RJBS/@Filter/License'
-      version: '6.011'
+      version: '6.012'
     -
       class: Dist::Zilla::Plugin::Readme
       name: '@RJBS/@Filter/Readme'
-      version: '6.011'
+      version: '6.012'
     -
       class: Dist::Zilla::Plugin::ExecDir
       name: '@RJBS/@Filter/ExecDir'
-      version: '6.011'
+      version: '6.012'
     -
       class: Dist::Zilla::Plugin::ShareDir
       name: '@RJBS/@Filter/ShareDir'
-      version: '6.011'
+      version: '6.012'
     -
       class: Dist::Zilla::Plugin::Manifest
       name: '@RJBS/@Filter/Manifest'
-      version: '6.011'
+      version: '6.012'
     -
       class: Dist::Zilla::Plugin::TestRelease
       name: '@RJBS/@Filter/TestRelease'
-      version: '6.011'
+      version: '6.012'
     -
       class: Dist::Zilla::Plugin::ConfirmRelease
       name: '@RJBS/@Filter/ConfirmRelease'
-      version: '6.011'
+      version: '6.012'
     -
       class: Dist::Zilla::Plugin::UploadToCPAN
       name: '@RJBS/@Filter/UploadToCPAN'
-      version: '6.011'
+      version: '6.012'
     -
       class: Dist::Zilla::Plugin::MakeMaker
       config:
         Dist::Zilla::Role::TestRunner:
           default_jobs: 9
       name: '@RJBS/MakeMaker'
-      version: '6.011'
+      version: '6.012'
     -
       class: Dist::Zilla::Plugin::AutoPrereqs
       name: '@RJBS/AutoPrereqs'
-      version: '6.011'
+      version: '6.012'
     -
       class: Dist::Zilla::Plugin::Git::NextVersion
       config:
@@ -142,26 +143,26 @@
           version_by_branch: 1
           version_regexp: (?^:^([0-9]+\.[0-9]+)$)
         Dist::Zilla::Role::Git::Repo:
-          git_version: 2.15.1
+          git_version: 2.18.0
           repo_root: .
       name: '@RJBS/Git::NextVersion'
-      version: '2.043'
+      version: '2.045'
     -
       class: Dist::Zilla::Plugin::PkgVersion
       name: '@RJBS/PkgVersion'
-      version: '6.011'
+      version: '6.012'
     -
       class: Dist::Zilla::Plugin::MetaConfig
       name: '@RJBS/MetaConfig'
-      version: '6.011'
+      version: '6.012'
     -
       class: Dist::Zilla::Plugin::MetaJSON
       name: '@RJBS/MetaJSON'
-      version: '6.011'
+      version: '6.012'
     -
       class: Dist::Zilla::Plugin::NextRelease
       name: '@RJBS/NextRelease'
-      version: '6.011'
+      version: '6.012'
     -
       class: Dist::Zilla::Plugin::Test::ChangesHasContent
       name: '@RJBS/Test::ChangesHasContent'
@@ -169,7 +170,7 @@
     -
       class: Dist::Zilla::Plugin::PodSyntaxTests
       name: '@RJBS/PodSyntaxTests'
-      version: '6.011'
+      version: '6.012'
     -
       class: Dist::Zilla::Plugin::Test::ReportPrereqs
       name: '@RJBS/Test::ReportPrereqs'
@@ -181,7 +182,7 @@
           phase: test
           type: requires
       name: '@RJBS/TestMoreWithSubtests'
-      version: '6.011'
+      version: '6.012'
     -
       class: Dist::Zilla::Plugin::PodWeaver
       config:
@@ -269,11 +270,11 @@
               name: '@RJBS/List'
               version: '4.015'
       name: '@RJBS/PodWeaver'
-      version: '4.008'
+      version: '4.009'
     -
       class: Dist::Zilla::Plugin::GithubMeta
       name: '@RJBS/GithubMeta'
-      version: '0.54'
+      version: '0.58'
     -
       class: Dist::Zilla::Plugin::Git::Check
       config:
@@ -286,10 +287,10 @@
           allow_dirty_match: []
           changelog: Changes
         Dist::Zilla::Role::Git::Repo:
-          git_version: 2.15.1
+          git_version: 2.18.0
           repo_root: .
       name: '@RJBS/@Git/Check'
-      version: '2.043'
+      version: '2.045'
     -
       class: Dist::Zilla::Plugin::Git::Commit
       config:
@@ -303,12 +304,12 @@
           allow_dirty_match: []
           changelog: Changes
         Dist::Zilla::Role::Git::Repo:
-          git_version: 2.15.1
+          git_version: 2.18.0
           repo_root: .
         Dist::Zilla::Role::Git::StringFormatter:
           time_zone: local
       name: '@RJBS/@Git/Commit'
-      version: '2.043'
+      version: '2.045'
     -
       class: Dist::Zilla::Plugin::Git::Tag
       config:
@@ -316,16 +317,16 @@
           branch: ~
           changelog: Changes
           signed: 0
-          tag: '1.909'
+          tag: '1.912'
           tag_format: '%v'
           tag_message: v%v
         Dist::Zilla::Role::Git::Repo:
-          git_version: 2.15.1
+          git_version: 2.18.0
           repo_root: .
         Dist::Zilla::Role::Git::StringFormatter:
           time_zone: local
       name: '@RJBS/@Git/Tag'
-      version: '2.043'
+      version: '2.045'
     -
       class: Dist::Zilla::Plugin::Git::Push
       config:
@@ -335,73 +336,76 @@
             - 'github :'
           remotes_must_exist: 0
         Dist::Zilla::Role::Git::Repo:
-          git_version: 2.15.1
+          git_version: 2.18.0
           repo_root: .
       name: '@RJBS/@Git/Push'
-      version: '2.043'
+      version: '2.045'
     -
       class: Dist::Zilla::Plugin::Git::Contributors
       config:
         Dist::Zilla::Plugin::Git::Contributors:
-          git_version: 2.15.1
+          git_version: 2.18.0
           include_authors: 0
           include_releaser: 1
           order_by: name
           paths: []
       name: '@RJBS/Git::Contributors'
-      version: '0.032'
+      version: '0.034'
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':InstallModules'
-      version: '6.011'
+      version: '6.012'
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':IncModules'
-      version: '6.011'
+      version: '6.012'
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':TestFiles'
-      version: '6.011'
+      version: '6.012'
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':ExtraTestFiles'
-      version: '6.011'
+      version: '6.012'
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':ExecFiles'
-      version: '6.011'
+      version: '6.012'
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':PerlExecFiles'
-      version: '6.011'
+      version: '6.012'
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':ShareFiles'
-      version: '6.011'
+      version: '6.012'
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':MainModule'
-      version: '6.011'
+      version: '6.012'
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':AllFiles'
-      version: '6.011'
+      version: '6.012'
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':NoFiles'
-      version: '6.011'
+      version: '6.012'
   zilla:
     class: Dist::Zilla::Dist::Builder
     config:
       is_trial: '0'
-    version: '6.011'
+    version: '6.012'
 x_contributors:
   - 'Alex Vandiver <a...@chmrr.net>'
   - 'David Golden <dagol...@cpan.org>'
   - 'David Steinbrunner <dsteinbrun...@pobox.com>'
   - 'Glenn Fowler <cebj...@cpan.org>'
+  - 'Jim Brandt <jbra...@bestpractical.com>'
   - 'Kevin Falcone <ke...@jibsheet.com>'
   - 'Pali <p...@cpan.org>'
   - 'Ruslan Zakirov <r...@bestpractical.com>'
+  - 'sunnavy <sunn...@bestpractical.com>'
   - 'William Yardley <p...@veggiechinese.net>'
-x_serialization_backend: 'YAML::Tiny version 1.70'
+x_generated_by_perl: v5.26.1
+x_serialization_backend: 'YAML::Tiny version 1.73'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Email-Address-1.909/Makefile.PL 
new/Email-Address-1.912/Makefile.PL
--- old/Email-Address-1.909/Makefile.PL 2018-03-05 04:07:16.000000000 +0100
+++ new/Email-Address-1.912/Makefile.PL 2018-12-31 19:46:26.000000000 +0100
@@ -1,4 +1,4 @@
-# This file was automatically generated by Dist::Zilla::Plugin::MakeMaker 
v6.011.
+# This file was automatically generated by Dist::Zilla::Plugin::MakeMaker 
v6.012.
 use strict;
 use warnings;
 
@@ -7,7 +7,7 @@
 use ExtUtils::MakeMaker;
 
 my %WriteMakefileArgs = (
-  "ABSTRACT" => "(DEPRECATED) RFC 2822 Address Parsing and Creation",
+  "ABSTRACT" => "RFC 2822 Address Parsing and Creation",
   "AUTHOR" => "Casey West, Ricardo SIGNES <rjbs\@cpan.org>",
   "CONFIGURE_REQUIRES" => {
     "ExtUtils::MakeMaker" => 0
@@ -25,9 +25,10 @@
     "Encode::MIME::Header" => 0,
     "ExtUtils::MakeMaker" => 0,
     "File::Spec" => 0,
-    "Test::More" => "0.96"
+    "Test::More" => "0.96",
+    "Time::HiRes" => 0
   },
-  "VERSION" => "1.909",
+  "VERSION" => "1.912",
   "test" => {
     "TESTS" => "t/*.t"
   }
@@ -40,6 +41,7 @@
   "ExtUtils::MakeMaker" => 0,
   "File::Spec" => 0,
   "Test::More" => "0.96",
+  "Time::HiRes" => 0,
   "overload" => 0,
   "strict" => 0,
   "warnings" => 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Email-Address-1.909/README 
new/Email-Address-1.912/README
--- old/Email-Address-1.909/README      2018-03-05 04:07:16.000000000 +0100
+++ new/Email-Address-1.912/README      2018-12-31 19:46:26.000000000 +0100
@@ -1,7 +1,7 @@
 This archive contains the distribution Email-Address,
-version 1.909:
+version 1.912:
 
-  (DEPRECATED) RFC 2822 Address Parsing and Creation
+  RFC 2822 Address Parsing and Creation
 
 This software is copyright (c) 2004 by Casey West.
 
@@ -9,4 +9,4 @@
 the same terms as the Perl 5 programming language system itself.
 
 
-This README file was generated by Dist::Zilla::Plugin::Readme v6.011.
+This README file was generated by Dist::Zilla::Plugin::Readme v6.012.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Email-Address-1.909/lib/Email/Address.pm 
new/Email-Address-1.912/lib/Email/Address.pm
--- old/Email-Address-1.909/lib/Email/Address.pm        2018-03-05 
04:07:16.000000000 +0100
+++ new/Email-Address-1.912/lib/Email/Address.pm        2018-12-31 
19:46:26.000000000 +0100
@@ -1,8 +1,8 @@
 use strict;
 use warnings;
 package Email::Address;
-# ABSTRACT: (DEPRECATED) RFC 2822 Address Parsing and Creation
-$Email::Address::VERSION = '1.909';
+# ABSTRACT: RFC 2822 Address Parsing and Creation
+$Email::Address::VERSION = '1.912';
 our $COMMENT_NEST_LEVEL ||= 1;
 our $STRINGIFY          ||= 'format';
 our $COLLAPSE_SPACES      = 1 unless defined $COLLAPSE_SPACES; # I miss //=
@@ -18,19 +18,22 @@
 #pod
 #pod =head1 DESCRIPTION
 #pod
-#pod B<ACHTUNG!> This module has a vulnerability
-#pod 
(L<CVE-2015-7686|https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7686>)
-#pod which allows remote attackers to cause denial of service.   In other 
words,
-#pod sometimes it takes way too long to process certain kinds of input.  Maybe
-#pod someday this will be fixed.  Until then, use
-#pod L<B<Email::Address::XS>|Email::Address::XS> instead which has backward
-#pod compatible API.
-#pod
 #pod This class implements a regex-based RFC 2822 parser that locates email
 #pod addresses in strings and returns a list of C<Email::Address> objects 
found.
 #pod Alternatively you may construct objects manually. The goal of this 
software is
 #pod to be correct, and very very fast.
 #pod
+#pod Version 1.909 and earlier of this module had vulnerabilies
+#pod 
(L<CVE-2015-7686|https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7686>)
+#pod and 
(L<CVE-2015-12558|https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-12558>)
+#pod which allowed specially constructed email to cause a denial of service. 
The
+#pod reported vulnerabilities and some other pathalogical cases (meaning they 
really
+#pod shouldn't occur in normal email) have been addressed in version 1.910 and 
newer.
+#pod If you're running version 1.909 or older, you should update!
+#pod
+#pod Alternatively, you could switch to 
L<B<Email::Address::XS>|Email::Address::XS>
+#pod which has a backward compatible API.
+#pod
 #pod =cut
 
 my $CTL            = q{\x00-\x1F\x7F};
@@ -44,18 +47,18 @@
 my ($ccontent, $comment) = (q{})x2;
 for (1 .. $COMMENT_NEST_LEVEL) {
   $ccontent = qr/$ctext|$quoted_pair|$comment/;
-  $comment  = qr/\s*\((?:\s*$ccontent)*\s*\)\s*/;
+  $comment  = qr/(?>\s*\((?:\s*$ccontent)*\s*\)\s*)/;
 }
-my $cfws           = qr/$comment|\s+/;
+my $cfws           = qr/$comment|(?>\s+)/;
 
 my $atext          = qq/[^$CTL$special\\s]/;
-my $atom           = qr/$cfws*$atext+$cfws*/;
-my $dot_atom_text  = qr/$atext+(?:\.$atext+)*/;
-my $dot_atom       = qr/$cfws*$dot_atom_text$cfws*/;
+my $atom           = qr/(?>$cfws*$atext+$cfws*)/;
+my $dot_atom_text  = qr/(?>$atext+(?:\.$atext+)*)/;
+my $dot_atom       = qr/(?>$cfws*$dot_atom_text$cfws*)/;
 
 my $qtext          = qr/[^\\"]/;
 my $qcontent       = qr/$qtext|$quoted_pair/;
-my $quoted_string  = qr/$cfws*"$qcontent*"$cfws*/;
+my $quoted_string  = qr/(?>$cfws*"$qcontent*"$cfws*)/;
 
 my $word           = qr/$atom|$quoted_string/;
 
@@ -71,15 +74,15 @@
 # So we disallow the hateful CFWS in this context for now.  Of modern mail
 # agents, only Apple Web Mail 2.0 is known to produce obs-phrase.
 # -- rjbs, 2006-11-19
-my $simple_word    = qr/$atom|\.|\s*"$qcontent+"\s*/;
-my $obs_phrase     = qr/$simple_word+/;
+my $simple_word    = qr/(?>$atom|\.|\s*"$qcontent+"\s*)/;
+my $obs_phrase     = qr/(?>$simple_word+)/;
 
-my $phrase         = qr/$obs_phrase|(?:$word+)/;
+my $phrase         = qr/$obs_phrase|(?>$word+)/;
 
 my $local_part     = qr/$dot_atom|$quoted_string/;
 my $dtext          = qr/[^\[\]\\]/;
 my $dcontent       = qr/$dtext|$quoted_pair/;
-my $domain_literal = qr/$cfws*\[(?:\s*$dcontent)*\s*\]$cfws*/;
+my $domain_literal = qr/(?>$cfws*\[(?:\s*$dcontent)*\s*\]$cfws*)/;
 my $domain         = qr/$dot_atom|$domain_literal/;
 
 my $display_name   = $phrase;
@@ -132,9 +135,9 @@
 #pod =cut
 
 our $addr_spec  = qr/$local_part\@$domain/;
-our $angle_addr = qr/$cfws*<$addr_spec>$cfws*/;
+our $angle_addr = qr/(?>$cfws*<$addr_spec>$cfws*)/;
 our $name_addr  = qr/(?>$display_name?)$angle_addr/;
-our $mailbox    = qr/(?:$name_addr|$addr_spec)$comment*/;
+our $mailbox    = qr/(?:$name_addr|$addr_spec)(?>$comment*)/;
 
 sub _PHRASE   () { 0 }
 sub _ADDRESS  () { 1 }
@@ -161,12 +164,6 @@
 #pod     q[me@local, Casey <me@local>, "Casey" <me@local> (West)]
 #pod   );
 #pod
-#pod B<ACHTUNG!> This is where that vulnerability mentioned above lies.  Do 
not use
-#pod this method with untrusted user input.
-#pod
-#pod Use method L<parse from the Email::Address::XS 
module|Email::Address::XS/parse>
-#pod instead.
-#pod
 #pod This method returns a list of C<Email::Address> objects it finds in the 
input
 #pod string.  B<Please note> that it returns a list, and expects that it may 
find
 #pod multiple addresses.  The behavior in scalar context is undefined.
@@ -222,7 +219,13 @@
         return @cached;
     }
 
-    my (@mailboxes) = ($line =~ /$mailbox/go);
+    my %mailboxes;
+    my $str = $line;
+    $str =~ s!($name_addr(?>$comment*))!$mailboxes{pos($str)} = $1; ',' x 
length $1!ego
+        if $str =~ /$angle_addr/;
+    $str =~ s!($addr_spec(?>$comment*))!$mailboxes{pos($str)} = $1; ',' x 
length $1!ego;
+    my @mailboxes = map { $mailboxes{$_} } sort { $a <=> $b } keys %mailboxes;
+
     my @addrs;
     foreach (@mailboxes) {
       my $original = $_;
@@ -546,11 +549,11 @@
 
 =head1 NAME
 
-Email::Address - (DEPRECATED) RFC 2822 Address Parsing and Creation
+Email::Address - RFC 2822 Address Parsing and Creation
 
 =head1 VERSION
 
-version 1.909
+version 1.912
 
 =head1 SYNOPSIS
 
@@ -563,19 +566,22 @@
 
 =head1 DESCRIPTION
 
-B<ACHTUNG!> This module has a vulnerability
-(L<CVE-2015-7686|https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7686>)
-which allows remote attackers to cause denial of service.   In other words,
-sometimes it takes way too long to process certain kinds of input.  Maybe
-someday this will be fixed.  Until then, use
-L<B<Email::Address::XS>|Email::Address::XS> instead which has backward
-compatible API.
-
 This class implements a regex-based RFC 2822 parser that locates email
 addresses in strings and returns a list of C<Email::Address> objects found.
 Alternatively you may construct objects manually. The goal of this software is
 to be correct, and very very fast.
 
+Version 1.909 and earlier of this module had vulnerabilies
+(L<CVE-2015-7686|https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-7686>)
+and 
(L<CVE-2015-12558|https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-12558>)
+which allowed specially constructed email to cause a denial of service. The
+reported vulnerabilities and some other pathalogical cases (meaning they really
+shouldn't occur in normal email) have been addressed in version 1.910 and 
newer.
+If you're running version 1.909 or older, you should update!
+
+Alternatively, you could switch to L<B<Email::Address::XS>|Email::Address::XS>
+which has a backward compatible API.
+
 =head2 Package Variables
 
 B<ACHTUNG!>  Email isn't easy (if even possible) to parse with a regex, I<at
@@ -631,12 +637,6 @@
     q[me@local, Casey <me@local>, "Casey" <me@local> (West)]
   );
 
-B<ACHTUNG!> This is where that vulnerability mentioned above lies.  Do not use
-this method with untrusted user input.
-
-Use method L<parse from the Email::Address::XS module|Email::Address::XS/parse>
-instead.
-
 This method returns a list of C<Email::Address> objects it finds in the input
 string.  B<Please note> that it returns a list, and expects that it may find
 multiple addresses.  The behavior in scalar context is undefined.
@@ -831,7 +831,7 @@
 
 =head1 CONTRIBUTORS
 
-=for stopwords Alex Vandiver David Golden Steinbrunner Glenn Fowler Kevin 
Falcone Pali Ruslan Zakirov William Yardley
+=for stopwords Alex Vandiver David Golden Steinbrunner Glenn Fowler Jim Brandt 
Kevin Falcone Pali Ruslan Zakirov sunnavy William Yardley
 
 =over 4
 
@@ -853,6 +853,10 @@
 
 =item *
 
+Jim Brandt <jbra...@bestpractical.com>
+
+=item *
+
 Kevin Falcone <ke...@jibsheet.com>
 
 =item *
@@ -865,6 +869,10 @@
 
 =item *
 
+sunnavy <sunn...@bestpractical.com>
+
+=item *
+
 William Yardley <p...@veggiechinese.net>
 
 =back
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Email-Address-1.909/t/00-report-prereqs.dd 
new/Email-Address-1.912/t/00-report-prereqs.dd
--- old/Email-Address-1.909/t/00-report-prereqs.dd      2018-03-05 
04:07:16.000000000 +0100
+++ new/Email-Address-1.912/t/00-report-prereqs.dd      2018-12-31 
19:46:26.000000000 +0100
@@ -27,7 +27,8 @@
                                    'Encode::MIME::Header' => '0',
                                    'ExtUtils::MakeMaker' => '0',
                                    'File::Spec' => '0',
-                                   'Test::More' => '0.96'
+                                   'Test::More' => '0.96',
+                                   'Time::HiRes' => '0'
                                  }
                  }
      };
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Email-Address-1.909/t/order.t 
new/Email-Address-1.912/t/order.t
--- old/Email-Address-1.909/t/order.t   1970-01-01 01:00:00.000000000 +0100
+++ new/Email-Address-1.912/t/order.t   2018-12-31 19:46:26.000000000 +0100
@@ -0,0 +1,13 @@
+use strict;
+use warnings;
+
+use Test::More;
+use Email::Address;
+
+my @emails = ( q{"foo" <f...@example.com>}, q{b...@example.com}, q{"baz" 
<b...@example.com>}, q{b...@example.com} );
+my @addr = Email::Address->parse( join ', ', @emails );
+
+is( scalar @addr, scalar @emails, "correct number of emails" );
+is_deeply( \@addr, \@emails, 'correct order of emails' );
+
+done_testing;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Email-Address-1.909/t/pathological.t 
new/Email-Address-1.912/t/pathological.t
--- old/Email-Address-1.909/t/pathological.t    1970-01-01 01:00:00.000000000 
+0100
+++ new/Email-Address-1.912/t/pathological.t    2018-12-31 19:46:26.000000000 
+0100
@@ -0,0 +1,20 @@
+use strict;
+use warnings;
+use Test::More;
+use Email::Address;
+use Time::HiRes 'time';
+
+my %cases = (
+    'CVE-2015-7686' =>
+        q{\(¯¯`·.¥«P®ÎÑç€ØfTh€ÐÅ®K»¥.·`¯¯\) <em...@example.com>, "(> \" \" <)  
                            ( ='o'= )                              (\")___(\")  
sWeEtAnGeLtHePrInCeSsOfThEsKy" <ema...@example.com>, "(i)cRiStIaN(i)" 
<ema...@example.com>, "(S)MaNu_vuOLeAmMazZaReNimOe(*)MiAo(@)" 
<ema...@example.com>},
+    'CVE-2018-12558' => "\f" x 30,
+);
+
+for my $name ( sort keys %cases ) {
+    my $start = Time::HiRes::time();
+    Email::Address->parse( $cases{$name} );
+    my $time = Time::HiRes::time() - $start;
+    ok( $time < 0.5, "Parsing '$name' takes less than 0.5 second($time)" );
+}
+
+done_testing();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Email-Address-1.909/xt/release/changes_has_content.t 
new/Email-Address-1.912/xt/release/changes_has_content.t
--- old/Email-Address-1.909/xt/release/changes_has_content.t    2018-03-05 
04:07:16.000000000 +0100
+++ new/Email-Address-1.912/xt/release/changes_has_content.t    2018-12-31 
19:46:26.000000000 +0100
@@ -2,7 +2,7 @@
 
 note 'Checking Changes';
 my $changes_file = 'Changes';
-my $newver = '1.909';
+my $newver = '1.912';
 my $trial_token = '-TRIAL';
 my $encoding = 'UTF-8';
 


Reply via email to