Eric Wong <normalperson@yhbt.net> wrote:
Show 21 quoted lines
> "Horst H. von Brand" <vonbrand@inf.utfsm.cl> wrote:
> > - Fix the regular expressions for local addresses
> > - Fix the fallback regexp for non-local addresses, simplify the logic
> >
> > Signed-off-by: Horst H. von Brand <vonbrand@inf.utfsm.cl>
> > ---
> > git-send-email.perl | 9 +++------
> > 1 files changed, 3 insertions(+), 6 deletions(-)
> >
> > diff --git a/git-send-email.perl b/git-send-email.perl
> > index ed1d89b..a7a7797 100755
> > --- a/git-send-email.perl
> > +++ b/git-send-email.perl
> > @@ -314,18 +314,15 @@ sub extract_valid_address {
> > my $address = shift;
> >
> > # check for a local address:
> > - return $address if ($address =~ /^([\w\-]+)$/);
> > + return $address if ($address =~ /^([\w\-.]+)$/);
>
> I keep forgetting this, '+' is a valid (and useful) setup, too.Oops...
Show 21 quoted lines
> > if ($have_email_valid) {
> > return Email::Valid->address($address);
> > } else {
> > # less robust/correct than the monster regexp in Email::Valid,
> > # but still does a 99% job, and one less dependency
> > - my $cleaned_address;
> > - if ($address =~ /([^\"<>\s]+@[^<>\s]+)/) {
> > - $cleaned_address = $1;
> > - }
> > - return $cleaned_address;
> > + $address =~ /([\w\-.]+@[\w\-.]+)/;
> > + return $1;
>
> Actually, I'm retracting my earlier ack on this. This is way too
> restrictive. I'd rather allow an occasional invalid email address than
> to reject valid ones. I generally trust git users to know what they're
> doing when entering email addresses[1].
>
> *, $, ^, +, = are all valid characters in the username portion (not sure
> about local accounts, though), and I'm sure there are more that I don't
> know about.As a general principle, I prefer to check what is legal instead of trying to filter out what isn't.
-- Dr. Horst H. von Brand User #22616 counter.li.org Departamento de Informatica Fono: +56 32 654431 Universidad Tecnica Federico Santa Maria +56 32 654239 Casilla 110-V, Valparaiso, Chile Fax: +56 32 797513