r4419 - in /packages/libemail-valid-perl/trunk: Changes LICENSE
MANIFEST
META.yml Makefile.PL debian/changelog lib/Email/Valid.pm t/valid.t
eloy at users.alioth.debian.org
eloy at users.alioth.debian.org
Tue Nov 28 16:31:01 CET 2006
Author: eloy
Date: Tue Nov 28 16:31:01 2006
New Revision: 4419
URL: http://svn.debian.org/wsvn/pkg-perl/?sc=1&rev=4419
Log:
eloy: new upstream version
Added:
packages/libemail-valid-perl/trunk/LICENSE
- copied unchanged from r4418, packages/libemail-valid-perl/branches/upstream/current/LICENSE
Modified:
packages/libemail-valid-perl/trunk/Changes
packages/libemail-valid-perl/trunk/MANIFEST
packages/libemail-valid-perl/trunk/META.yml
packages/libemail-valid-perl/trunk/Makefile.PL
packages/libemail-valid-perl/trunk/debian/changelog
packages/libemail-valid-perl/trunk/lib/Email/Valid.pm
packages/libemail-valid-perl/trunk/t/valid.t
Modified: packages/libemail-valid-perl/trunk/Changes
URL: http://svn.debian.org/wsvn/pkg-perl/packages/libemail-valid-perl/trunk/Changes?rev=4419&op=diff
==============================================================================
--- packages/libemail-valid-perl/trunk/Changes (original)
+++ packages/libemail-valid-perl/trunk/Changes Tue Nov 28 16:31:01 2006
@@ -1,4 +1,16 @@
Revision history for Perl extension Email::Valid.
+
+0.179 Mon Nov 27 2006
+ bug 23657: fix domain label regex: thanks, Nobuaki ITO!
+
+0.178 Sat Nov 25 2006
+ reduce cases in which IO::CaptureOutput is needed on Win32
+ (bug 22062, thanks Alexandr Ciornii)
+
+0.177 Sat Nov 25 2006
+ resolve bug 22710: make fqdn rule more strict: domains must be multiple
+ valid domain labels, and domain labels must be [a-z0-9][-a-z0-9]*
+ replace UNIVERSAL:: with eval{}-wrapping
0.176 Thu Jul 27 2006
further improve DNS stuff: try to make Net::DNS a prereq if we think
Modified: packages/libemail-valid-perl/trunk/MANIFEST
URL: http://svn.debian.org/wsvn/pkg-perl/packages/libemail-valid-perl/trunk/MANIFEST?rev=4419&op=diff
==============================================================================
--- packages/libemail-valid-perl/trunk/MANIFEST (original)
+++ packages/libemail-valid-perl/trunk/MANIFEST Tue Nov 28 16:31:01 2006
@@ -6,4 +6,5 @@
t/valid.t
t/pod.t
t/pod-coverage.t
+LICENSE
META.yml Module meta-data (added by MakeMaker)
Modified: packages/libemail-valid-perl/trunk/META.yml
URL: http://svn.debian.org/wsvn/pkg-perl/packages/libemail-valid-perl/trunk/META.yml?rev=4419&op=diff
==============================================================================
--- packages/libemail-valid-perl/trunk/META.yml (original)
+++ packages/libemail-valid-perl/trunk/META.yml Tue Nov 28 16:31:01 2006
@@ -1,11 +1,12 @@
-# http://module-build.sourceforge.net/META-spec.html
-#XXXXXXX This is a prototype!!! It will change in the future!!! XXXXX#
-name: Email-Valid
-version: 0.176
-version_from: lib/Email/Valid.pm
-installdirs: site
-requires:
+--- #YAML:1.0
+name: Email-Valid
+version: 0.179
+abstract: ~
+license: perl
+generated_by: ExtUtils::MakeMaker version 6.31
+distribution_type: module
+requires:
Mail::Address: 0
-
-distribution_type: module
-generated_by: ExtUtils::MakeMaker version 6.30
+meta-spec:
+ url: http://module-build.sourceforge.net/META-spec-v1.2.html
+ version: 1.2
Modified: packages/libemail-valid-perl/trunk/Makefile.PL
URL: http://svn.debian.org/wsvn/pkg-perl/packages/libemail-valid-perl/trunk/Makefile.PL?rev=4419&op=diff
==============================================================================
--- packages/libemail-valid-perl/trunk/Makefile.PL (original)
+++ packages/libemail-valid-perl/trunk/Makefile.PL Tue Nov 28 16:31:01 2006
@@ -1,4 +1,3 @@
-#!perl
use strict;
use warnings;
@@ -22,10 +21,14 @@
WriteMakefile(
'NAME' => 'Email::Valid',
'VERSION_FROM' => 'lib/Email/Valid.pm',
+ (eval { ExtUtils::MakeMaker->VERSION(6.21) } ? (LICENSE => 'perl') : ()),
'PREREQ_PM' => {
'Mail::Address' => 0,
($need_net_dns ? ('Net::DNS' => 0) : ()),
- (($^O =~ /\AMSWin32|Cygwin\z/) ? ('IO::CaptureOutput' => 0) : ()),
+ ((!$need_net_dns and $^O =~ /\AMSWin32|Cygwin\z/)
+ ? ('IO::CaptureOutput' => 0)
+ : ()
+ ),
},
'dist' => { 'COMPRESS'=>'gzip -9f', 'SUFFIX' => 'gz',
Modified: packages/libemail-valid-perl/trunk/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-perl/packages/libemail-valid-perl/trunk/debian/changelog?rev=4419&op=diff
==============================================================================
--- packages/libemail-valid-perl/trunk/debian/changelog (original)
+++ packages/libemail-valid-perl/trunk/debian/changelog Tue Nov 28 16:31:01 2006
@@ -1,3 +1,9 @@
+libemail-valid-perl (0.179-1) unstable; urgency=low
+
+ * New upstream release
+
+ -- Krzysztof Krzyzaniak (eloy) <eloy at debian.org> Tue, 28 Nov 2006 16:30:02 +0100
+
libemail-valid-perl (0.176-1) unstable; urgency=low
* New upstream release
Modified: packages/libemail-valid-perl/trunk/lib/Email/Valid.pm
URL: http://svn.debian.org/wsvn/pkg-perl/packages/libemail-valid-perl/trunk/lib/Email/Valid.pm?rev=4419&op=diff
==============================================================================
--- packages/libemail-valid-perl/trunk/lib/Email/Valid.pm (original)
+++ packages/libemail-valid-perl/trunk/lib/Email/Valid.pm Tue Nov 28 16:31:01 2006
@@ -9,7 +9,7 @@
use Mail::Address;
use File::Spec;
-$VERSION = '0.176';
+$VERSION = '0.179';
%AUTOLOAD = (
fqdn => 1,
@@ -88,7 +88,7 @@
my %args = $self->_rearrange([qw( address )], \@_);
my $addr = $args{address} or return $self->details('rfc822');
- $addr = $addr->address if UNIVERSAL::isa($addr, 'Mail::Address');
+ $addr = $addr->address if eval { $addr->isa('Mail::Address') };
return $self->details('rfc822') unless $addr =~ m/^$RFC822PAT$/o;
@@ -219,7 +219,7 @@
my $self = shift;
my $addr = shift;
- $addr = $addr->address if UNIVERSAL::isa($addr, 'Mail::Address');
+ $addr = $addr->address if eval { $addr->isa('Mail::Address') };
my $host = ($addr =~ /^.*@(.*)$/ ? $1 : $addr);
$host =~ s/\s+//g;
@@ -264,6 +264,31 @@
1;
}
+sub _valid_domain_parts {
+ my ($self, $string) = @_;
+
+ return unless $string and length $string <= 255;
+ return if $string =~ /\.\./;
+ my @labels = split /\./, $string;
+
+ for my $label (@labels) {
+ return 0 unless $self->_is_domain_label($label);
+ }
+ return scalar @labels;
+}
+
+sub _is_domain_label {
+ my ($self, $string) = @_;
+ return unless $string =~ /\A
+ [A-Z0-9] # must start with an alnum
+ (?:
+ [-A-Z0-9]* # then maybe a dash or alnum
+ [A-Z0-9] # finally ending with an alnum
+ )? # lather, rinse, repeat
+ \z/ix;
+ return 1;
+}
+
# Purpose: Put an address through a series of checks to determine
# whether it should be considered valid.
sub address {
@@ -272,7 +297,7 @@
local_rules )], \@_);
my $addr = $args{address} or return $self->details('rfc822');
- $addr = $addr->address if UNIVERSAL::isa($addr, 'Mail::Address');
+ $addr = $addr->address if eval { $addr->isa('Mail::Address') };
$addr = $self->_fudge( $addr ) if $args{fudge};
$self->rfc822( -address => $addr ) or return undef;
@@ -287,7 +312,8 @@
}
if ($args{fqdn}) {
- $addr->host =~ /^.+\..+$/ or return $self->details('fqdn');
+ $self->_valid_domain_parts($addr->host) > 1
+ or return $self->details('fqdn');
}
if ($args{mxcheck}) {
Modified: packages/libemail-valid-perl/trunk/t/valid.t
URL: http://svn.debian.org/wsvn/pkg-perl/packages/libemail-valid-perl/trunk/t/valid.t?rev=4419&op=diff
==============================================================================
--- packages/libemail-valid-perl/trunk/t/valid.t (original)
+++ packages/libemail-valid-perl/trunk/t/valid.t Tue Nov 28 16:31:01 2006
@@ -1,7 +1,7 @@
#!perl
use strict;
-use Test::More tests => 16;
+use Test::More tests => 21;
BEGIN {
use_ok('Email::Valid');
@@ -59,6 +59,31 @@
'an email can start with a dash (alternate calling method)',
);
+ok(
+ ! $v->address(-address => 'dashy at -example.net', -fqdn => 1),
+ 'but a domain cannot',
+);
+
+ok(
+ ! $v->address(-address => 'dashy at example.net-', -fqdn => 1),
+ 'a domain cannot end with a dash either',
+);
+
+ok(
+ $v->address(-address => 'dashy at a--o.example.net', -fqdn => 1),
+ 'but a domain may contain two dashes in a row in the middle',
+);
+
+ok(
+ $v->address(-address => 'dashy at ao.example.net', -fqdn => 1),
+ 'and of course two-character labels are valid!',
+);
+
+ok(
+ $v->address(-address => 'dashy at a.a.example.net', -fqdn => 1),
+ 'onesies, too',
+);
+
SKIP: {
skip "Net::DNS not available or network down", 2
unless eval { require Net::DNS; 1; } && Net::DNS::mx('debian.org');
More information about the Pkg-perl-cvs-commits
mailing list