git-send-email.perl defect: address missing trailing > accepted

5 messages, 2 authors, 2016-06-15 · open the first message on its own page

git-send-email.perl defect: address missing trailing > accepted

From: Joe Perches <joe@perches.com>
Date: 2016-06-15 22:47:35

I typo cut/pasted an invalid email address,
neglecting to copy the trailing ">".

was:	"Name <addr.org"
needed:	"Name <addr.org>"

Anyone have suggestions on how to get
git-send-email.perl to notify and abort
sending on more invalid address styles?

Re: git-send-email.perl defect: address missing trailing > accepted

From: Erik Faye-Lund <hidden>
Date: 2016-06-15 22:47:35

On Wed, Oct 21, 2009 at 12:12 AM, Joe Perches [off-list ref] wrote:
I typo cut/pasted an invalid email address,
neglecting to copy the trailing ">".

was:    "Name <addr.org"
needed: "Name <addr.org>"

Anyone have suggestions on how to get
git-send-email.perl to notify and abort
sending on more invalid address styles?
Something along these lines? Of course, the error message is, uhm,
less than helpful :)

--->8---
diff --git a/git-send-email.perl b/git-send-email.perl
index f5ba4e7..83f5e80 100755
--- a/git-send-email.perl
+++ b/git-send-email.perl
@@ -787,6 +787,10 @@ sub is_rfc2047_quoted {
 sub sanitize_address
 {
 	my ($recipient) = @_;
+	if ($recipient =~ m/.*<[^>]*$/) {
+		die "EEK!"
+	}
+
 	my ($recipient_name, $recipient_addr) = ($recipient =~ /^(.*?)\s*(<.*)/);

 	if (not $recipient_name) {

-- 
Erik "kusma" Faye-Lund

Re: git-send-email.perl defect: address missing trailing > accepted

From: Joe Perches <joe@perches.com>
Date: 2016-06-15 22:47:35

On Wed, 2009-10-21 at 00:29 +0200, Erik Faye-Lund wrote:
quoted hunk
On Wed, Oct 21, 2009 at 12:12 AM, Joe Perches [off-list ref] wrote:
quoted
I typo cut/pasted an invalid email address,
neglecting to copy the trailing ">".
was:    "Name <addr.org"
needed: "Name <addr.org>"
Anyone have suggestions on how to get
git-send-email.perl to notify and abort
sending on more invalid address styles?
Something along these lines? Of course, the error message is, uhm,
less than helpful :)
--- a/git-send-email.perl
+++ b/git-send-email.perl
@@ -787,6 +787,10 @@ sub is_rfc2047_quoted {
 sub sanitize_address
 {
 	my ($recipient) = @_;
+	if ($recipient =~ m/.*<[^>]*$/) {
+		die "EEK!"
+	}
+

Maybe this?  Seems to work.
diff --git a/git-send-email.perl b/git-send-email.perl
index a0279de..52ddd9e 100755
--- a/git-send-email.perl
+++ b/git-send-email.perl
@@ -374,15 +374,18 @@ my ($repoauthor, $repocommitter);
 # Verify the user input
 
 foreach my $entry (@to) {
-	die "Comma in --to entry: $entry'\n" unless $entry !~ m/,/;
+	die "Comma in --to entry: '$entry'\n" unless $entry !~ m/,/;
+	die "Invalid --to entry: '$entry'\n"  unless $entry !~ m/.*<[^>]*$/;
 }
 
 foreach my $entry (@initial_cc) {
-	die "Comma in --cc entry: $entry'\n" unless $entry !~ m/,/;
+	die "Comma in --cc entry: '$entry'\n" unless $entry !~ m/,/;
+	die "Invalid --cc entry: '$entry'\n" unless $entry !~ m/.*<[^>]*$/;
 }
 
 foreach my $entry (@bcclist) {
-	die "Comma in --bcclist entry: $entry'\n" unless $entry !~ m/,/;
+	die "Comma in --bcclist entry: '$entry'\n" unless $entry !~ m/,/;
+	die "Invalid --bcclist entry: '$entry'\n" unless $entry !~ m/.*<[^>]*$/;
 }
 
 sub parse_address_line {

Re: git-send-email.perl defect: address missing trailing > accepted

From: Erik Faye-Lund <hidden>
Date: 2016-06-15 22:47:35

On Wed, Oct 21, 2009 at 12:48 AM, Joe Perches [off-list ref] wrote:
quoted
Something along these lines? Of course, the error message is, uhm,
less than helpful :)
Maybe this?  Seems to work.
Didn't my version work for you? It worked for me.

I find it a bit cleaner to make it a part of the address-sanitizion,
since that needs to be performed for all addresses. I might miss
something vital, though. I don't really speak perl all that well ;)


-- 
Erik "kusma" Faye-Lund

Re: git-send-email.perl defect: address missing trailing > accepted

From: Joe Perches <joe@perches.com>
Date: 2016-06-15 22:47:35

On Wed, 2009-10-21 at 00:56 +0200, Erik Faye-Lund wrote:
Didn't my version work for you? It worked for me.
Hi Erik.

It worked, but an unexplained die isn't great,
so I put it where the other validations are done.

It seems that the regex for address validation
isn't very good and perhaps there could/should
be a stronger validation done for each address
entered.

cheers, Joe
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help