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