[Bps-public-commit] email-address-list branch, master, updated. 0.05-9-gc01eb79
? sunnavy
sunnavy at bestpractical.com
Tue Jan 29 16:05:24 EST 2019
The branch, master has been updated
via c01eb7998a0b6fbdef3934622ec4b7754cffb335 (commit)
via d3dc87f4cdaf926f9ef92f466aea85a84688df86 (commit)
via 4636bb834918a6cc3b9e62582d5cf930b0719cd9 (commit)
via 55083dbabcfd5dd2b811b35d4ec1250eaf50e2b0 (commit)
via 31bd4dc2dfb26fd6a17e4436df3d3c8904856f30 (commit)
via 6dd5021a6e5df2e8c86a163dc2e180a76a38e63b (commit)
via a22e6b233443fe3ad1a408e50ecbd7237674817d (commit)
from 6a42da3fac2b631c660b52bce8eaa2333a81b53c (commit)
Summary of changes:
Changes | 9 +++++
MANIFEST | 25 ++++++++++++
META.yml | 4 +-
inc/Module/Install.pm | 51 ++++++++-----------------
inc/Module/Install/Base.pm | 2 +-
inc/Module/Install/Can.pm | 13 ++++++-
inc/Module/Install/Fetch.pm | 2 +-
inc/Module/Install/Makefile.pm | 4 +-
inc/Module/Install/Metadata.pm | 6 +--
inc/Module/Install/ReadmeFromPod.pm | 76 +++++++++++++++++++++++++++++--------
inc/Module/Install/Win32.pm | 2 +-
inc/Module/Install/WriteAll.pm | 2 +-
lib/Email/Address/List.pm | 36 +++++++++---------
13 files changed, 151 insertions(+), 81 deletions(-)
create mode 100644 MANIFEST
- Log -----------------------------------------------------------------
commit a22e6b233443fe3ad1a408e50ecbd7237674817d
Author: Alex Vandiver <alex at chmrr.net>
Date: Tue Dec 4 04:50:23 2018 +0800
Fix pathological backtracking in cfws, quoted strings
This reprises 0ed9339a4f, more broadly. Backtracking is only
necessary when parsing of a token could be ambiguous -- and the BNF
for email address is many things, but thankfully is essentially never
ambiguous.
Alter `cfws` to mean "one or more comments, or just space" -- since
comments include space, this is no loss in generality over
`(comment|space)*`. Using this phrasing prevents backtracking into
the `cwfs` token, which is key because of the nested nature of the
comments regex therein. Changing the `atom` definition is the only
one strictly necessary to resolve this particular case, but greediness
is applied throughout, for safety.
diff --git a/lib/Email/Address/List.pm b/lib/Email/Address/List.pm
index d7eb274..89a8266 100644
--- a/lib/Email/Address/List.pm
+++ b/lib/Email/Address/List.pm
@@ -201,36 +201,36 @@ $RE{'text'} = qr/[^\x0A\x0D]/;
$RE{'quoted_pair'} = qr/\\$RE{'text'}/;
$RE{'atext'} = qr/[^$RE{'CTL'}$RE{'special'}\s]/;
-$RE{'ctext'} = qr/(?>[^()\\]+)/;
+$RE{'ctext'} = qr/[^()\\]++/;
$RE{'qtext'} = qr/[^\\"]/;
$RE{'dtext'} = qr/[^\[\]\\]/;
($RE{'ccontent'}, $RE{'comment'}) = (q{})x2;
for (1 .. $COMMENT_NEST_LEVEL) {
$RE{'ccontent'} = qr/$RE{'ctext'}|$RE{'quoted_pair'}|$RE{'comment'}/;
- $RE{'comment'} = qr/\s*\((?:\s*$RE{'ccontent'})*\s*\)\s*/;
+ $RE{'comment'} = qr/(?>\s*+\((?:\s*+$RE{'ccontent'})*+\s*+\)\s*+)/;
}
-$RE{'cfws'} = qr/$RE{'comment'}|\s+/;
+$RE{'cfws'} = qr/$RE{'comment'}++|\s*+/;
$RE{'qcontent'} = qr/$RE{'qtext'}|$RE{'quoted_pair'}/;
-$RE{'quoted-string'} = qr/$RE{'cfws'}*"$RE{'qcontent'}*"$RE{'cfws'}*/;
+$RE{'quoted-string'} = qr/$RE{'cfws'}"$RE{'qcontent'}*+"$RE{'cfws'}/;
-$RE{'atom'} = qr/$RE{'cfws'}*$RE{'atext'}++$RE{'cfws'}*/;
+$RE{'atom'} = qr/$RE{'cfws'}$RE{'atext'}++$RE{'cfws'}/;
$RE{'word'} = qr/$RE{'atom'} | $RE{'quoted-string'}/x;
$RE{'phrase'} = qr/$RE{'word'}+/x;
$RE{'display-name'} = $RE{'phrase'};
-$RE{'dot_atom_text'} = qr/$RE{'atext'}+(?:\.$RE{'atext'}+)*/;
-$RE{'dot_atom'} = qr/$RE{'cfws'}*$RE{'dot_atom_text'}$RE{'cfws'}*/;
+$RE{'dot_atom_text'} = qr/$RE{'atext'}++(?:\.$RE{'atext'}++)*/;
+$RE{'dot_atom'} = qr/$RE{'cfws'}$RE{'dot_atom_text'}$RE{'cfws'}/;
$RE{'local-part'} = qr/$RE{'dot_atom'}|$RE{'quoted-string'}/;
$RE{'dcontent'} = qr/$RE{'dtext'}|$RE{'quoted_pair'}/;
-$RE{'domain_literal'} = qr/$RE{'cfws'}*\[(?:\s*$RE{'dcontent'})*\s*\]$RE{'cfws'}*/;
+$RE{'domain_literal'} = qr/$RE{'cfws'}\[(?:\s*$RE{'dcontent'})*\s*\]$RE{'cfws'}/;
$RE{'domain'} = qr/$RE{'dot_atom'}|$RE{'domain_literal'}/;
$RE{'addr-spec'} = qr/$RE{'local-part'}\@$RE{'domain'}/;
-$RE{'angle-addr'} = qr/$RE{'cfws'}* < $RE{'addr-spec'} > $RE{'cfws'}*/x;
+$RE{'angle-addr'} = qr/$RE{'cfws'} < $RE{'addr-spec'} > $RE{'cfws'}/x;
$RE{'name-addr'} = qr/$RE{'display-name'}?$RE{'angle-addr'}/;
$RE{'mailbox'} = qr/(?:$RE{'name-addr'}|$RE{'addr-spec'})$RE{'comment'}*/;
@@ -238,12 +238,12 @@ $RE{'mailbox'} = qr/(?:$RE{'name-addr'}|$RE{'addr-spec'})$RE{'comment'}*/
$CRE{'addr-spec'} = qr/($RE{'local-part'})\@($RE{'domain'})/;
$CRE{'mailbox'} = qr/
(?:
- ($RE{'display-name'})?($RE{'cfws'}*)<$CRE{'addr-spec'}>($RE{'cfws'}*)
+ ($RE{'display-name'})?($RE{'cfws'})<$CRE{'addr-spec'}>($RE{'cfws'})
|$CRE{'addr-spec'}
- )($RE{'comment'}*)
+ )($RE{'comment'}*+)
/x;
-$RE{'dword'} = qr/$RE{'cfws'}* (?: $RE{'atom'} | \. | "$RE{'qcontent'}+" ) $RE{'cfws'}*/x;
+$RE{'dword'} = qr/$RE{'cfws'} (?: $RE{'atom'} | \. | "$RE{'qcontent'}++" ) $RE{'cfws'}/x;
$RE{'obs-phrase'} = qr/$RE{'word'} $RE{'dword'}*/x;
$RE{'obs-display-name'} = $RE{'obs-phrase'};
$RE{'obs-route'} = qr/
@@ -259,9 +259,9 @@ $CRE{'obs-addr-spec'} = qr/($RE{'obs-local-part'})\@($RE{'obs-domain'})/;
$CRE{'obs-mailbox'} = qr/
(?:
($RE{'obs-display-name'})?
- ($RE{'cfws'}*)< $RE{'obs-route'}? $CRE{'obs-addr-spec'} >($RE{'cfws'}*)
+ ($RE{'cfws'})< $RE{'obs-route'}? $CRE{'obs-addr-spec'} >($RE{'cfws'})
|$CRE{'obs-addr-spec'}
- )($RE{'comment'}*)
+ )($RE{'comment'}*+)
/x;
sub parse {
commit 6dd5021a6e5df2e8c86a163dc2e180a76a38e63b
Author: sunnavy <sunnavy at bestpractical.com>
Date: Tue Dec 4 04:54:48 2018 +0800
Fix pathological backtracking in obs-phrase(i.e. obs-display-name)
diff --git a/lib/Email/Address/List.pm b/lib/Email/Address/List.pm
index 89a8266..87c48f1 100644
--- a/lib/Email/Address/List.pm
+++ b/lib/Email/Address/List.pm
@@ -244,7 +244,7 @@ $CRE{'mailbox'} = qr/
/x;
$RE{'dword'} = qr/$RE{'cfws'} (?: $RE{'atom'} | \. | "$RE{'qcontent'}++" ) $RE{'cfws'}/x;
-$RE{'obs-phrase'} = qr/$RE{'word'} $RE{'dword'}*/x;
+$RE{'obs-phrase'} = qr/$RE{'word'} $RE{'dword'}*+/x;
$RE{'obs-display-name'} = $RE{'obs-phrase'};
$RE{'obs-route'} = qr/
(?:$RE{'cfws'}|,)*
commit 31bd4dc2dfb26fd6a17e4436df3d3c8904856f30
Author: sunnavy <sunnavy at bestpractical.com>
Date: Tue Dec 4 04:56:28 2018 +0800
Fix pathological backtracking for unkown regex
diff --git a/lib/Email/Address/List.pm b/lib/Email/Address/List.pm
index 87c48f1..bf6ca7c 100644
--- a/lib/Email/Address/List.pm
+++ b/lib/Email/Address/List.pm
@@ -331,12 +331,12 @@ sub parse {
# if we got here then something unknown on our way
# try to recorver
if ($in_group) {
- if ( $line =~ s/^([^;,"\)]*(?:(?:$RE{'quoted-string'}|$RE{'comment'})[^;,"\)]*)*)(?=;|,)//o ) {
+ if ( $line =~ s/^([^;,"\)]*+(?:(?:$RE{'quoted-string'}|$RE{'comment'})[^;,"\)]*+)*+)(?=;|,)//o ) {
push @res, { type => 'unknown', value => $1 } unless $args{'skip_unknown'};
next;
}
} else {
- if ( $line =~ s/^([^,"\)]*(?:(?:$RE{'quoted-string'}|$RE{'comment'})[^,"\)]*)*)(?=,)//o ) {
+ if ( $line =~ s/^([^,"\)]*+(?:(?:$RE{'quoted-string'}|$RE{'comment'})[^,"\)]*+)*+)(?=,)//o ) {
push @res, { type => 'unknown', value => $1 } unless $args{'skip_unknown'};
next;
}
commit 55083dbabcfd5dd2b811b35d4ec1250eaf50e2b0
Author: sunnavy <sunnavy at bestpractical.com>
Date: Thu Jan 3 02:37:52 2019 +0800
Update inc/
diff --git a/META.yml b/META.yml
index 505327b..d025257 100644
--- a/META.yml
+++ b/META.yml
@@ -10,7 +10,7 @@ configure_requires:
ExtUtils::MakeMaker: 6.59
distribution_type: module
dynamic_config: 1
-generated_by: 'Module::Install version 1.06'
+generated_by: 'Module::Install version 1.19'
license: perl
meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.4.html
diff --git a/inc/Module/Install.pm b/inc/Module/Install.pm
index 4ecf46b..7ba98c2 100644
--- a/inc/Module/Install.pm
+++ b/inc/Module/Install.pm
@@ -17,7 +17,7 @@ package Module::Install;
# 3. The ./inc/ version of Module::Install loads
# }
-use 5.005;
+use 5.006;
use strict 'vars';
use Cwd ();
use File::Find ();
@@ -31,7 +31,7 @@ BEGIN {
# This is not enforced yet, but will be some time in the next few
# releases once we can make sure it won't clash with custom
# Module::Install extensions.
- $VERSION = '1.06';
+ $VERSION = '1.19';
# Storage for the pseudo-singleton
$MAIN = undef;
@@ -156,10 +156,10 @@ END_DIE
sub autoload {
my $self = shift;
my $who = $self->_caller;
- my $cwd = Cwd::cwd();
+ my $cwd = Cwd::getcwd();
my $sym = "${who}::AUTOLOAD";
$sym->{$cwd} = sub {
- my $pwd = Cwd::cwd();
+ my $pwd = Cwd::getcwd();
if ( my $code = $sym->{$pwd} ) {
# Delegate back to parent dirs
goto &$code unless $cwd eq $pwd;
@@ -239,11 +239,13 @@ sub new {
# ignore the prefix on extension modules built from top level.
my $base_path = Cwd::abs_path($FindBin::Bin);
- unless ( Cwd::abs_path(Cwd::cwd()) eq $base_path ) {
+ unless ( Cwd::abs_path(Cwd::getcwd()) eq $base_path ) {
delete $args{prefix};
}
return $args{_self} if $args{_self};
+ $base_path = VMS::Filespec::unixify($base_path) if $^O eq 'VMS';
+
$args{dispatch} ||= 'Admin';
$args{prefix} ||= 'inc';
$args{author} ||= ($^O eq 'VMS' ? '_author' : '.author');
@@ -322,7 +324,7 @@ sub find_extensions {
my ($self, $path) = @_;
my @found;
- File::Find::find( sub {
+ File::Find::find( {no_chdir => 1, wanted => sub {
my $file = $File::Find::name;
return unless $file =~ m!^\Q$path\E/(.+)\.pm\Z!is;
my $subpath = $1;
@@ -336,9 +338,9 @@ sub find_extensions {
# correctly. Otherwise, root through the file to locate the case-preserved
# version of the package name.
if ( $subpath eq lc($subpath) || $subpath eq uc($subpath) ) {
- my $content = Module::Install::_read($subpath . '.pm');
+ my $content = Module::Install::_read($File::Find::name);
my $in_pod = 0;
- foreach ( split //, $content ) {
+ foreach ( split /\n/, $content ) {
$in_pod = 1 if /^=\w/;
$in_pod = 0 if /^=cut/;
next if ($in_pod || /^=cut/); # skip pod text
@@ -351,7 +353,7 @@ sub find_extensions {
}
push @found, [ $file, $pkg ];
- }, $path ) if -d $path;
+ }}, $path ) if -d $path;
@found;
}
@@ -373,24 +375,14 @@ sub _caller {
return $call;
}
-# Done in evals to avoid confusing Perl::MinimumVersion
-eval( $] >= 5.006 ? <<'END_NEW' : <<'END_OLD' ); die $@ if $@;
sub _read {
local *FH;
open( FH, '<', $_[0] ) or die "open($_[0]): $!";
+ binmode FH;
my $string = do { local $/; <FH> };
close FH or die "close($_[0]): $!";
return $string;
}
-END_NEW
-sub _read {
- local *FH;
- open( FH, "< $_[0]" ) or die "open($_[0]): $!";
- my $string = do { local $/; <FH> };
- close FH or die "close($_[0]): $!";
- return $string;
-}
-END_OLD
sub _readperl {
my $string = Module::Install::_read($_[0]);
@@ -411,30 +403,19 @@ sub _readpod {
return $string;
}
-# Done in evals to avoid confusing Perl::MinimumVersion
-eval( $] >= 5.006 ? <<'END_NEW' : <<'END_OLD' ); die $@ if $@;
sub _write {
local *FH;
open( FH, '>', $_[0] ) or die "open($_[0]): $!";
+ binmode FH;
foreach ( 1 .. $#_ ) {
print FH $_[$_] or die "print($_[0]): $!";
}
close FH or die "close($_[0]): $!";
}
-END_NEW
-sub _write {
- local *FH;
- open( FH, "> $_[0]" ) or die "open($_[0]): $!";
- foreach ( 1 .. $#_ ) {
- print FH $_[$_] or die "print($_[0]): $!";
- }
- close FH or die "close($_[0]): $!";
-}
-END_OLD
# _version is for processing module versions (eg, 1.03_05) not
# Perl versions (eg, 5.8.1).
-sub _version ($) {
+sub _version {
my $s = shift || 0;
my $d =()= $s =~ /(\.)/g;
if ( $d >= 2 ) {
@@ -450,12 +431,12 @@ sub _version ($) {
return $l + 0;
}
-sub _cmp ($$) {
+sub _cmp {
_version($_[1]) <=> _version($_[2]);
}
# Cloned from Params::Util::_CLASS
-sub _CLASS ($) {
+sub _CLASS {
(
defined $_[0]
and
diff --git a/inc/Module/Install/Base.pm b/inc/Module/Install/Base.pm
index 802844a..9fa42c2 100644
--- a/inc/Module/Install/Base.pm
+++ b/inc/Module/Install/Base.pm
@@ -4,7 +4,7 @@ package Module::Install::Base;
use strict 'vars';
use vars qw{$VERSION};
BEGIN {
- $VERSION = '1.06';
+ $VERSION = '1.19';
}
# Suspend handler for "redefined" warnings
diff --git a/inc/Module/Install/Can.pm b/inc/Module/Install/Can.pm
index 22167b8..d65c753 100644
--- a/inc/Module/Install/Can.pm
+++ b/inc/Module/Install/Can.pm
@@ -8,7 +8,7 @@ use Module::Install::Base ();
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '1.06';
+ $VERSION = '1.19';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
@@ -121,6 +121,15 @@ END_C
# Can we locate a (the) C compiler
sub can_cc {
my $self = shift;
+
+ if ($^O eq 'VMS') {
+ require ExtUtils::CBuilder;
+ my $builder = ExtUtils::CBuilder->new(
+ quiet => 1,
+ );
+ return $builder->have_compiler;
+ }
+
my @chunks = split(/ /, $Config::Config{cc}) or return;
# $Config{cc} may contain args; try to find out the program part
@@ -151,4 +160,4 @@ if ( $^O eq 'cygwin' ) {
__END__
-#line 236
+#line 245
diff --git a/inc/Module/Install/Fetch.pm b/inc/Module/Install/Fetch.pm
index bee0c4f..3072b08 100644
--- a/inc/Module/Install/Fetch.pm
+++ b/inc/Module/Install/Fetch.pm
@@ -6,7 +6,7 @@ use Module::Install::Base ();
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '1.06';
+ $VERSION = '1.19';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
diff --git a/inc/Module/Install/Makefile.pm b/inc/Module/Install/Makefile.pm
index 7052f36..13a4464 100644
--- a/inc/Module/Install/Makefile.pm
+++ b/inc/Module/Install/Makefile.pm
@@ -8,7 +8,7 @@ use Fcntl qw/:flock :seek/;
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '1.06';
+ $VERSION = '1.19';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
@@ -133,7 +133,7 @@ sub makemaker_args {
return $args;
}
-# For mm args that take multiple space-seperated args,
+# For mm args that take multiple space-separated args,
# append an argument to the current list.
sub makemaker_append {
my $self = shift;
diff --git a/inc/Module/Install/Metadata.pm b/inc/Module/Install/Metadata.pm
index 58430f3..11bf971 100644
--- a/inc/Module/Install/Metadata.pm
+++ b/inc/Module/Install/Metadata.pm
@@ -6,7 +6,7 @@ use Module::Install::Base ();
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '1.06';
+ $VERSION = '1.19';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
@@ -347,7 +347,7 @@ sub name_from {
^ \s*
package \s*
([\w:]+)
- \s* ;
+ [\s|;]*
/ixms
) {
my ($name, $module_name) = ($1, $1);
@@ -705,7 +705,7 @@ sub _write_mymeta_data {
my @yaml = Parse::CPAN::Meta::LoadFile('META.yml');
my $meta = $yaml[0];
- # Overwrite the non-configure dependency hashs
+ # Overwrite the non-configure dependency hashes
delete $meta->{requires};
delete $meta->{build_requires};
delete $meta->{recommends};
diff --git a/inc/Module/Install/ReadmeFromPod.pm b/inc/Module/Install/ReadmeFromPod.pm
index b5e03c3..3738232 100644
--- a/inc/Module/Install/ReadmeFromPod.pm
+++ b/inc/Module/Install/ReadmeFromPod.pm
@@ -7,12 +7,41 @@ use warnings;
use base qw(Module::Install::Base);
use vars qw($VERSION);
-$VERSION = '0.22';
+$VERSION = '0.30';
+
+{
+
+ # these aren't defined until after _require_admin is run, so
+ # define them so prototypes are available during compilation.
+ sub io;
+ sub capture(&;@);
+
+#line 28
+
+ my $done = 0;
+
+ sub _require_admin {
+
+ # do this once to avoid redefinition warnings from IO::All
+ return if $done;
+
+ require IO::All;
+ IO::All->import( '-binary' );
+
+ require Capture::Tiny;
+ Capture::Tiny->import ( 'capture' );
+
+ return;
+ }
+
+}
sub readme_from {
my $self = shift;
return unless $self->is_admin;
+ _require_admin;
+
# Input file
my $in_file = shift || $self->_all_from
or die "Can't determine file to make readme_from";
@@ -50,6 +79,8 @@ sub readme_from {
$out_file = $self->_readme_htm($in_file, $out_file, $options);
} elsif ($format eq 'man') {
$out_file = $self->_readme_man($in_file, $out_file, $options);
+ } elsif ($format eq 'md') {
+ $out_file = $self->_readme_md($in_file, $out_file, $options);
} elsif ($format eq 'pdf') {
$out_file = $self->_readme_pdf($in_file, $out_file, $options);
}
@@ -67,10 +98,10 @@ sub _readme_txt {
$out_file ||= 'README';
require Pod::Text;
my $parser = Pod::Text->new( @$options );
- open my $out_fh, '>', $out_file or die "Could not write file $out_file:\n$!\n";
+ my $io = io->file($out_file)->open(">");
+ my $out_fh = $io->io_handle;
$parser->output_fh( *$out_fh );
$parser->parse_file( $in_file );
- close $out_fh;
return $out_file;
}
@@ -79,11 +110,14 @@ sub _readme_htm {
my ($self, $in_file, $out_file, $options) = @_;
$out_file ||= 'README.htm';
require Pod::Html;
- Pod::Html::pod2html(
- "--infile=$in_file",
- "--outfile=$out_file",
- @$options,
- );
+ my ($o) = capture {
+ Pod::Html::pod2html(
+ "--infile=$in_file",
+ "--outfile=-",
+ @$options,
+ );
+ };
+ io->file($out_file)->print($o);
# Remove temporary files if needed
for my $file ('pod2htmd.tmp', 'pod2htmi.tmp') {
if (-e $file) {
@@ -99,7 +133,10 @@ sub _readme_man {
$out_file ||= 'README.1';
require Pod::Man;
my $parser = Pod::Man->new( @$options );
- $parser->parse_from_file($in_file, $out_file);
+ my $io = io->file($out_file)->open(">");
+ my $out_fh = $io->io_handle;
+ $parser->output_fh( *$out_fh );
+ $parser->parse_file( $in_file );
return $out_file;
}
@@ -111,11 +148,20 @@ sub _readme_pdf {
or die "Could not generate $out_file because pod2pdf could not be found\n";
my $parser = App::pod2pdf->new( @$options );
$parser->parse_from_file($in_file);
- open my $out_fh, '>', $out_file or die "Could not write file $out_file:\n$!\n";
- select $out_fh;
- $parser->output;
- select STDOUT;
- close $out_fh;
+ my ($o) = capture { $parser->output };
+ io->file($out_file)->print($o);
+ return $out_file;
+}
+
+sub _readme_md {
+ my ($self, $in_file, $out_file, $options) = @_;
+ $out_file ||= 'README.md';
+ require Pod::Markdown;
+ my $parser = Pod::Markdown->new( @$options );
+ my $io = io->file($out_file)->open(">");
+ my $out_fh = $io->io_handle;
+ $parser->output_fh( *$out_fh );
+ $parser->parse_file( $in_file );
return $out_file;
}
@@ -134,5 +180,5 @@ sub _all_from {
__END__
-#line 254
+#line 316
diff --git a/inc/Module/Install/Win32.pm b/inc/Module/Install/Win32.pm
index eeaa3fe..f7aa615 100644
--- a/inc/Module/Install/Win32.pm
+++ b/inc/Module/Install/Win32.pm
@@ -6,7 +6,7 @@ use Module::Install::Base ();
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '1.06';
+ $VERSION = '1.19';
@ISA = 'Module::Install::Base';
$ISCORE = 1;
}
diff --git a/inc/Module/Install/WriteAll.pm b/inc/Module/Install/WriteAll.pm
index 85d8018..2db861a 100644
--- a/inc/Module/Install/WriteAll.pm
+++ b/inc/Module/Install/WriteAll.pm
@@ -6,7 +6,7 @@ use Module::Install::Base ();
use vars qw{$VERSION @ISA $ISCORE};
BEGIN {
- $VERSION = '1.06';
+ $VERSION = '1.19';
@ISA = qw{Module::Install::Base};
$ISCORE = 1;
}
commit 4636bb834918a6cc3b9e62582d5cf930b0719cd9
Author: sunnavy <sunnavy at bestpractical.com>
Date: Thu Jan 3 02:40:01 2019 +0800
Add manifest to git
diff --git a/MANIFEST b/MANIFEST
new file mode 100644
index 0000000..47fdc00
--- /dev/null
+++ b/MANIFEST
@@ -0,0 +1,25 @@
+Changes
+inc/Module/Install.pm
+inc/Module/Install/Base.pm
+inc/Module/Install/Can.pm
+inc/Module/Install/Fetch.pm
+inc/Module/Install/Makefile.pm
+inc/Module/Install/Metadata.pm
+inc/Module/Install/ReadmeFromPod.pm
+inc/Module/Install/Win32.pm
+inc/Module/Install/WriteAll.pm
+lib/Email/Address/List.pm
+Makefile.PL
+MANIFEST This list of files
+META.yml
+README
+t/basics.t
+t/data/RFC5233.single.obs.json
+t/data/RFC5233.single.obs.txt
+t/data/RFC5233.single.valid.json
+t/data/RFC5233.single.valid.txt
+t/generate.pl
+t/invalid.t
+t/pathological.t
+t/random.combinations.t
+t/single.suit.t
commit d3dc87f4cdaf926f9ef92f466aea85a84688df86
Author: sunnavy <sunnavy at bestpractical.com>
Date: Thu Jan 3 02:37:32 2019 +0800
Release 0.06
diff --git a/Changes b/Changes
index fdce7a5..fe47000 100644
--- a/Changes
+++ b/Changes
@@ -1,3 +1,9 @@
+0.06 2019-01-02
+
+ - Fix pathological backtracking for unkown regex
+ - Fix pathological backtracking in obs-phrase(i.e. obs-display-name)
+ - Fix pathological backtracking in cfws, quoted strings
+
0.05 2014-02-16
- Correct typos in documentation; no functionality changes
diff --git a/META.yml b/META.yml
index d025257..150a30d 100644
--- a/META.yml
+++ b/META.yml
@@ -26,4 +26,4 @@ requires:
perl: 5.10.0
resources:
license: http://dev.perl.org/licenses/
-version: 0.05
+version: '0.06'
diff --git a/lib/Email/Address/List.pm b/lib/Email/Address/List.pm
index bf6ca7c..130811a 100644
--- a/lib/Email/Address/List.pm
+++ b/lib/Email/Address/List.pm
@@ -4,7 +4,7 @@ use 5.010;
package Email::Address::List;
-our $VERSION = '0.05';
+our $VERSION = '0.06';
use Email::Address;
=head1 NAME
commit c01eb7998a0b6fbdef3934622ec4b7754cffb335
Author: Jim Brandt <jbrandt at bestpractical.com>
Date: Wed Jan 23 13:06:03 2019 -0500
Update Changes file with additional details
diff --git a/Changes b/Changes
index fe47000..7442a14 100644
--- a/Changes
+++ b/Changes
@@ -1,8 +1,11 @@
0.06 2019-01-02
- - Fix pathological backtracking for unkown regex
- - Fix pathological backtracking in obs-phrase(i.e. obs-display-name)
- - Fix pathological backtracking in cfws, quoted strings
+ - Changes to address CVE-2018-18898 which could allow DDoS-type attacks.
+ Thanks to Lukas Kramer for reporting the issue and Alex Vandiver for
+ contributing fixes.
+ - Fix pathological backtracking for unkown regex
+ - Fix pathological backtracking in obs-phrase(i.e. obs-display-name)
+ - Fix pathological backtracking in cfws, quoted strings
0.05 2014-02-16
-----------------------------------------------------------------------
More information about the Bps-public-commit
mailing list