[PATCH] git-send-email: treat field names as case-independent
Field names like To:, Cc:, etc should be treated as case-independent; use a case-insensitive regexp to match them as such. Previously, git-send-email would send email messages with a lowercase cc: line in the body without actually sending a copy of the message to that address. Signed-off-by: Nickolai Zeldovich nicko...@csail.mit.edu --- git-send-email.perl | 10 +- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/git-send-email.perl b/git-send-email.perl index 94c7f76..be809e5 100755 --- a/git-send-email.perl +++ b/git-send-email.perl @@ -1285,10 +1285,10 @@ foreach my $t (@files) { } if (defined $input_format $input_format eq 'mbox') { - if (/^Subject:\s+(.*)$/) { + if (/^Subject:\s+(.*)$/i) { $subject = $1; } - elsif (/^From:\s+(.*)$/) { + elsif (/^From:\s+(.*)$/i) { ($author, $author_encoding) = unquote_rfc2047($1); next if $suppress_cc{'author'}; next if $suppress_cc{'self'} and $author eq $sender; @@ -1296,14 +1296,14 @@ foreach my $t (@files) { $1, $_) unless $quiet; push @cc, $1; } - elsif (/^To:\s+(.*)$/) { + elsif (/^To:\s+(.*)$/i) { foreach my $addr (parse_address_line($1)) { printf((mbox) Adding to: %s from line '%s'\n, $addr, $_) unless $quiet; push @to, $addr; } } - elsif (/^Cc:\s+(.*)$/) { + elsif (/^Cc:\s+(.*)$/i) { foreach my $addr (parse_address_line($1)) { if (unquote_rfc2047($addr) eq $sender) { next if ($suppress_cc{'self'}); @@ -1325,7 +1325,7 @@ foreach my $t (@files) { elsif (/^Message-Id: (.*)/i) { $message_id = $1; } - elsif (!/^Date:\s/ /^[-A-Za-z]+:\s+\S/) { + elsif (!/^Date:\s/i /^[-A-Za-z]+:\s+\S/) { push @xh, $_; } -- 1.7.10.4 -- To unsubscribe from this list: send the line unsubscribe git in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] git-send-email: treat field names as case-independent
Nickolai Zeldovich nicko...@csail.mit.edu writes: Field names like To:, Cc:, etc should be treated as case-independent; use a case-insensitive regexp to match them as such. Previously, git-send-email would send email messages with a lowercase cc: line in the body without actually sending a copy of the message to that address. Signed-off-by: Nickolai Zeldovich nicko...@csail.mit.edu --- While I think this patch is a sensible thing to do, I at the same time wonder who is writing cc: in the lowercase in the first place, and if that is one of our tools, we should fix that part as well. Such a header would leak out to the payload given to the underlying sendmail, doesn't it? Leaking such lowercased headers of course is not a crime (the headers are case insensitive), but they look ugly. git-send-email.perl | 10 +- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/git-send-email.perl b/git-send-email.perl index 94c7f76..be809e5 100755 --- a/git-send-email.perl +++ b/git-send-email.perl @@ -1285,10 +1285,10 @@ foreach my $t (@files) { } if (defined $input_format $input_format eq 'mbox') { - if (/^Subject:\s+(.*)$/) { + if (/^Subject:\s+(.*)$/i) { $subject = $1; } - elsif (/^From:\s+(.*)$/) { + elsif (/^From:\s+(.*)$/i) { ($author, $author_encoding) = unquote_rfc2047($1); next if $suppress_cc{'author'}; next if $suppress_cc{'self'} and $author eq $sender; @@ -1296,14 +1296,14 @@ foreach my $t (@files) { $1, $_) unless $quiet; push @cc, $1; } - elsif (/^To:\s+(.*)$/) { + elsif (/^To:\s+(.*)$/i) { foreach my $addr (parse_address_line($1)) { printf((mbox) Adding to: %s from line '%s'\n, $addr, $_) unless $quiet; push @to, $addr; } } - elsif (/^Cc:\s+(.*)$/) { + elsif (/^Cc:\s+(.*)$/i) { foreach my $addr (parse_address_line($1)) { if (unquote_rfc2047($addr) eq $sender) { next if ($suppress_cc{'self'}); @@ -1325,7 +1325,7 @@ foreach my $t (@files) { elsif (/^Message-Id: (.*)/i) { $message_id = $1; } - elsif (!/^Date:\s/ /^[-A-Za-z]+:\s+\S/) { + elsif (!/^Date:\s/i /^[-A-Za-z]+:\s+\S/) { push @xh, $_; } -- To unsubscribe from this list: send the line unsubscribe git in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] git-send-email: treat field names as case-independent
On Sun, Jan 6, 2013 at 10:27 PM, Junio C Hamano gits...@pobox.com wrote: While I think this patch is a sensible thing to do, I at the same time wonder who is writing cc: in the lowercase in the first place, and if that is one of our tools, we should fix that part as well. Such a header would leak out to the payload given to the underlying sendmail, doesn't it? In my case, I wrote the cc: headers by hand; it was not a result of any automated tool. (Yes, the header makes it into the message payload. This makes the bug all the more annoying: other people's replies get cc:ed to the right address, but the original message never gets sent there.) Nickolai. -- To unsubscribe from this list: send the line unsubscribe git in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] git-send-email: treat field names as case-independent
Nickolai Zeldovich nicko...@csail.mit.edu writes: On Sun, Jan 6, 2013 at 10:27 PM, Junio C Hamano gits...@pobox.com wrote: While I think this patch is a sensible thing to do, I at the same time wonder who is writing cc: in the lowercase in the first place, and if that is one of our tools, we should fix that part as well. Such a header would leak out to the payload given to the underlying sendmail, doesn't it? In my case, I wrote the cc: headers by hand; it was not a result of any automated tool. Ok, thanks for shrinking the list of things that worries me by one ;-) -- To unsubscribe from this list: send the line unsubscribe git in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html