Eric Wong <normalperson@xxxxxxxx> wrote: > "Horst H. von Brand" <vonbrand@xxxxxxxxxxxx> 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@xxxxxxxxxxxx> > > --- > > 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... > > 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 - : send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html