Hello community, here is the log from the commit of package perl-Email-Valid for openSUSE:Factory checked in at 2011-12-06 16:24:02 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/perl-Email-Valid (Old) and /work/SRC/openSUSE:Factory/.perl-Email-Valid.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Email-Valid", Maintainer is "" Changes: -------- --- /work/SRC/openSUSE:Factory/perl-Email-Valid/perl-Email-Valid.changes 2011-09-23 12:36:56.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.perl-Email-Valid.new/perl-Email-Valid.changes 2011-12-06 16:24:04.000000000 +0100 @@ -1,0 +2,9 @@ +Fri Dec 2 10:59:53 UTC 2011 - [email protected] + +- update to 0.185 + do not die in t/valid.t when testing for working DNS + avoid a pointless warning + check TLD validity before MX records + reject addresses with non-ASCII characters + +------------------------------------------------------------------- Old: ---- Email-Valid-0.184.tar.gz New: ---- Email-Valid-0.185.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ perl-Email-Valid.spec ++++++ --- /var/tmp/diff_new_pack.B4BtbQ/_old 2011-12-06 16:24:06.000000000 +0100 +++ /var/tmp/diff_new_pack.B4BtbQ/_new 2011-12-06 16:24:06.000000000 +0100 @@ -15,12 +15,10 @@ # Please submit bugfixes or comments via http://bugs.opensuse.org/ # - - Name: perl-Email-Valid -Version: 0.184 -Release: 1 -License: GPL+ or Artistic +Version: 0.185 +Release: 0 +License: Artistic-1.0 or GPL-1.0+ %define cpan_name Email-Valid Summary: Check validity of Internet email addresses Url: http://search.cpan.org/dist/Email-Valid/ @@ -29,11 +27,11 @@ BuildArch: noarch BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: perl -BuildRequires: perl-macros BuildRequires: perl(ExtUtils::MakeMaker) BuildRequires: perl(Mail::Address) BuildRequires: perl(Net::DNS) BuildRequires: perl(Test::More) +BuildRequires: perl-macros Requires: perl(Mail::Address) Requires: perl(Net::DNS) Requires: perl(Test::More) ++++++ Email-Valid-0.184.tar.gz -> Email-Valid-0.185.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Email-Valid-0.184/Changes new/Email-Valid-0.185/Changes --- old/Email-Valid-0.184/Changes 2010-06-11 04:06:46.000000000 +0200 +++ new/Email-Valid-0.185/Changes 2011-08-11 19:25:29.000000000 +0200 @@ -1,5 +1,17 @@ Revision history for Perl extension Email::Valid. +0.185 2011-08-11 + do not die in t/valid.t when testing for working DNS + (address RT #70157, thanks, Alexey Tourbin) + + avoid a pointless warning (mentioned in RT #68312) + + check TLD validity before MX records + (address RT #32237, thanks, meyerdigital) + + reject addresses with non-ASCII characters + (address RT #50230, thanks, ferreira) + 0.184 2010-06-10 initialize Net::DNS resolver earlier (address RT #56828, thanks mschout @ github) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Email-Valid-0.184/MANIFEST new/Email-Valid-0.185/MANIFEST --- old/Email-Valid-0.184/MANIFEST 2010-06-11 04:08:40.000000000 +0200 +++ new/Email-Valid-0.185/MANIFEST 2011-08-11 19:40:41.000000000 +0200 @@ -9,4 +9,5 @@ t/resolver.t t/utf-8.t LICENSE -META.yml Module meta-data (added by MakeMaker) +META.yml Module YAML meta-data (added by MakeMaker) +META.json Module JSON meta-data (added by MakeMaker) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Email-Valid-0.184/META.json new/Email-Valid-0.185/META.json --- old/Email-Valid-0.184/META.json 1970-01-01 01:00:00.000000000 +0100 +++ new/Email-Valid-0.185/META.json 2011-08-11 19:40:41.000000000 +0200 @@ -0,0 +1,49 @@ +{ + "abstract" : "unknown", + "author" : [ + "unknown" + ], + "dynamic_config" : 1, + "generated_by" : "ExtUtils::MakeMaker version 6.59, CPAN::Meta::Converter version 2.112150", + "license" : [ + "perl_5" + ], + "meta-spec" : { + "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec", + "version" : "2" + }, + "name" : "Email-Valid", + "no_index" : { + "directory" : [ + "t", + "inc" + ] + }, + "prereqs" : { + "build" : { + "requires" : { + "ExtUtils::MakeMaker" : 0 + } + }, + "configure" : { + "requires" : { + "ExtUtils::MakeMaker" : 0 + } + }, + "runtime" : { + "requires" : { + "Mail::Address" : 0, + "Net::DNS" : 0, + "Test::More" : 0, + "perl" : "5.006" + } + } + }, + "release_status" : "stable", + "resources" : { + "repository" : { + "url" : "http://github.com/rjbs/email-valid" + } + }, + "version" : "0.185" +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Email-Valid-0.184/META.yml new/Email-Valid-0.185/META.yml --- old/Email-Valid-0.184/META.yml 2010-06-11 04:08:40.000000000 +0200 +++ new/Email-Valid-0.185/META.yml 2011-08-11 19:40:41.000000000 +0200 @@ -1,26 +1,27 @@ ---- #YAML:1.0 -name: Email-Valid -version: 0.184 -abstract: ~ -author: [] -license: perl -distribution_type: module -configure_requires: - ExtUtils::MakeMaker: 0 +--- +abstract: unknown +author: + - unknown build_requires: - ExtUtils::MakeMaker: 0 + ExtUtils::MakeMaker: 0 +configure_requires: + ExtUtils::MakeMaker: 0 +dynamic_config: 1 +generated_by: 'ExtUtils::MakeMaker version 6.59, CPAN::Meta::Converter version 2.112150' +license: perl +meta-spec: + url: http://module-build.sourceforge.net/META-spec-v1.4.html + version: 1.4 +name: Email-Valid +no_index: + directory: + - t + - inc requires: - Mail::Address: 0 - Net::DNS: 0 - perl: 5.006 - Test::More: 0 + Mail::Address: 0 + Net::DNS: 0 + Test::More: 0 + perl: 5.006 resources: - repository: http://github.com/rjbs/email-valid -no_index: - directory: - - t - - inc -generated_by: ExtUtils::MakeMaker version 6.56 -meta-spec: - url: http://module-build.sourceforge.net/META-spec-v1.4.html - version: 1.4 + repository: http://github.com/rjbs/email-valid +version: 0.185 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Email-Valid-0.184/lib/Email/Valid.pm new/Email-Valid-0.185/lib/Email/Valid.pm --- old/Email-Valid-0.184/lib/Email/Valid.pm 2010-06-11 04:05:55.000000000 +0200 +++ new/Email-Valid-0.185/lib/Email/Valid.pm 2011-08-11 19:36:58.000000000 +0200 @@ -3,7 +3,7 @@ use strict; use warnings; use vars qw( $VERSION $RFC822PAT %AUTOLOAD $AUTOLOAD $NSLOOKUP_PAT - @NSLOOKUP_PATHS $Details $Resolver $Nslookup_Path + @NSLOOKUP_PATHS $Details $Resolver $Nslookup_Path $DNS_Method $TLD $Debug ); use Carp; @@ -13,7 +13,7 @@ use bytes; -$VERSION = '0.184'; +$VERSION = '0.185'; %AUTOLOAD = ( fqdn => 1, @@ -84,7 +84,7 @@ } %args; -} +} # Purpose: determine why an address failed a check sub details { @@ -104,12 +104,13 @@ my $addr = $args{address} or return $self->details('rfc822'); $addr = $addr->address if eval { $addr->isa('Mail::Address') }; - return $self->details('rfc822') unless $addr =~ m/^$RFC822PAT$/o; + return $self->details('rfc822') + if $addr =~ /\P{ASCII}/ or $addr !~ m/^$RFC822PAT$/o; return 1; } -# Purpose: attempt to locate the nslookup utility +# Purpose: attempt to locate the nslookup utility sub _find_nslookup { my $self = shift; @@ -120,7 +121,7 @@ return $file if -x $file and !-d _; } return undef; -} +} sub _select_dns_method { # Configure a global resolver object for DNS queries @@ -136,7 +137,7 @@ my $self = shift; my $host = shift; - $Resolver = Net::DNS::Resolver->new unless defined $Resolver; + $Resolver = Net::DNS::Resolver->new unless defined $Resolver; my $packet = $Resolver->send($host, 'A') or croak $Resolver->errorstring; return 1 if $packet->header->ancount; @@ -144,7 +145,7 @@ $packet = $Resolver->send($host, 'MX') or croak $Resolver->errorstring; return 1 if $packet->header->ancount; - return $self->details('mx'); + return $self->details('mx'); } # Purpose: perform DNS query using the nslookup utility @@ -188,7 +189,7 @@ } open STDERR, ">&OLDERR"; croak "unable to execute nslookup '$Nslookup_Path': $!"; - } + } } } @@ -204,7 +205,7 @@ my $host = $self->_host( $args{address} or return $self->details('tld') ); my ($tld) = $host =~ m#\.(\w+)$#; return Net::Domain::TLD::tld_exists($tld); -} +} # Purpose: Check whether a DNS record (A or MX) exists for a domain. sub mx { @@ -244,7 +245,7 @@ # presence of a domain-literal, which the appropriate # name-domain is to use directly, bypassing normal # name-resolution mechanisms. - $host =~ s/(^\[)|(\]$)//g; + $host =~ s/(^\[)|(\]$)//g; $host; } @@ -260,7 +261,7 @@ } # Purpose: Special address restrictions on a per-domain basis. -# Caveats: These organizations may change their rules at any time. +# Caveats: These organizations may change their rules at any time. sub _local_rules { my $self = shift; my($user, $host) = @_; @@ -275,7 +276,7 @@ if ($host =~ /aol\.com/i) { return undef unless $user =~ /^[a-zA-Z][a-zA-Z0-9]{2,15}$/; } - 1; + 1; } sub _valid_domain_parts { @@ -303,11 +304,11 @@ return 1; } -# Purpose: Put an address through a series of checks to determine +# Purpose: Put an address through a series of checks to determine # whether it should be considered valid. sub address { my $self = shift; - my %args = $self->_rearrange([qw( address fudge mxcheck tldcheck fqdn + my %args = $self->_rearrange([qw( address fudge mxcheck tldcheck fqdn local_rules )], \@_); my $addr = $args{address} or return $self->details('rfc822'); @@ -321,26 +322,27 @@ $addr or return $self->details('rfc822'); # This should never happen if ($args{local_rules}) { - $self->_local_rules( $addr->user, $addr->host ) + $self->_local_rules( $addr->user, $addr->host ) or return $self->details('local_rules'); } if ($args{fqdn}) { + no warnings 'uninitialized'; # valid domain parts might return undef $self->_valid_domain_parts($addr->host) > 1 or return $self->details('fqdn'); } + if ($args{tldcheck}) { + $self->tld( $addr->host ) or return $self->details('tldcheck'); + } + if ($args{mxcheck}) { # I'm not sure this ->details call is needed, but I'll test for it later. # The whole ->details thing is... weird. -- rjbs, 2006-06-08 $self->mx( $addr->host ) or return $self->details('mxcheck'); } - if ($args{tldcheck}) { - $self->tld( $addr->host ) or return $self->details('tldcheck'); - } - - return (wantarray ? ($addr->address, $addr) : $addr->address); + return (wantarray ? ($addr->address, $addr) : $addr->address); } sub AUTOLOAD { @@ -353,7 +355,7 @@ die "unknown autoload name '$name'" unless $AUTOLOAD{$name}; return (@_ ? $self->{$name} = shift : $self->{$name}); -} +} # Regular expression built using Jeffrey Friedl's example in # _Mastering Regular Expressions_ (http://www.ora.com/catalog/regexp/). @@ -464,7 +466,7 @@ =head1 NAME -Email::Valid - Check validity of Internet email addresses +Email::Valid - Check validity of Internet email addresses =head1 SYNOPSIS @@ -522,7 +524,7 @@ handling is improved. If Net::DNS is available, you can modify the behavior of the resolver (e.g. change the default tcp_timeout value) by manipulating the global Net::DNS::Resolver instance stored in -$Email::Valid::Resolver. +$Email::Valid::Resolver. =item tld ( <ADDRESS> ) @@ -565,7 +567,7 @@ =item address ( <ADDRESS> ) -This is the primary method which determines whether an email +This is the primary method which determines whether an email address is valid. It's behavior is modified by the values of mxcheck(), tldcheck(), local_rules(), fqdn(), and fudge(). If the address passes all checks, the (possibly modified) address is returned as @@ -581,11 +583,11 @@ rfc822 local_rules fqdn - mxcheck + mxcheck tldcheck If the class is not instantiated, you can get the same information -from the global $Email::Valid::Details. +from the global $Email::Valid::Details. =back @@ -604,7 +606,7 @@ Let's see an example of how the address may be modified: $addr = Email::Valid->address('Alfred Neuman <Neuman @ foo.bar>'); - print "$addr\n"; # prints [email protected] + print "$addr\n"; # prints [email protected] Now let's add the check for top level domains: @@ -620,13 +622,13 @@ If an error is encountered, an exception is raised. This is really only possible when performing DNS queries. Trap any exceptions by -wrapping the call in an eval block: +wrapping the call in an eval block: eval { $addr = Email::Valid->address( -address => '[email protected]', -mxcheck => 1 ); }; - warn "an error was encountered: $@" if $@; + warn "an error was encountered: $@" if $@; =head1 BUGS @@ -636,7 +638,7 @@ =head1 AUTHOR -Copyright 1998-2003, Maurice Aubrey E<lt>[email protected]<gt>. +Copyright 1998-2003, Maurice Aubrey E<lt>[email protected]<gt>. All rights reserved. This module is free software; you may redistribute it and/or @@ -646,7 +648,7 @@ Significant portions of this module are based on the ckaddr program written by Tom Christiansen and the RFC822 address pattern developed -by Jeffrey Friedl. Neither were involved in the construction of this +by Jeffrey Friedl. Neither were involved in the construction of this module; all errors are mine. Thanks very much to the following people for their suggestions and @@ -654,7 +656,7 @@ Otis Gospodnetic <[email protected]> Kim Ryan <[email protected]> - Pete Ehlke <[email protected]> + Pete Ehlke <[email protected]> Lupe Christoph David Birnbaum Achim diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Email-Valid-0.184/t/valid.t new/Email-Valid-0.185/t/valid.t --- old/Email-Valid-0.184/t/valid.t 2010-01-27 17:51:54.000000000 +0100 +++ new/Email-Valid-0.185/t/valid.t 2011-08-11 19:27:45.000000000 +0200 @@ -1,7 +1,7 @@ #!perl use strict; -use Test::More tests => 21; +use Test::More tests => 22; BEGIN { use_ok('Email::Valid'); @@ -15,6 +15,11 @@ ); ok( + $v->address('[email protected]'), + '[email protected]', +); + +ok( $v->address( -address => 'Alfred Neuman <Neuman@BBN-TENEXA>', -fqdn => 0), 'Alfred Neuman <Neuman@BBN-TENEXA> { -fqdn => 0 }', ); @@ -86,7 +91,7 @@ SKIP: { skip "your dns appears missing or failing to resolve", 2 - unless $v->address(-address=> '[email protected]', -mxcheck => 1); + unless eval { $v->address(-address=> '[email protected]', -mxcheck => 1) }; if ( $v->address(-address => '[email protected]', -mxcheck => 1) -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
