git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] git-send-email.perl: Fold long header lines to 78 chars

From
Junio C Hamano <gitster@pobox.com>
Date
Oct 8, 2009, 05:02 UTC
Message-ID
<7vd44yo4uz.fsf@alter.siamese.dyndns.org>
In-Reply-To
<1254759898.1799.449.camel@Joe-Laptop.home>
Joe Perches <joe@perches.com> writes:
Show 21 quoted lines
> Some MTAs reject or filter long header lines which can
> be generated if the cc list is only a few entries.
>
> Fold long header lines to 78 chars to be more rfc compliant.
>
> Signed-off-by: Joe Perches <joe@perches.com>
>
> diff --git a/git-send-email.perl b/git-send-email.perl
> index dd821f7..cb8b48b 100755
> --- a/git-send-email.perl
> +++ b/git-send-email.perl
> @@ -835,10 +870,10 @@ sub send_message
>  	    $gitversion = Git::version();
>  	}
>  
> -	my $cc = join(", ", unique_email_list(@cc));
> +	@cc = unique_email_list(@cc);
>  	my $ccline = "";
> -	if ($cc ne '') {
> -		$ccline = "\nCc: $cc";
> +	if (@cc gt 0) {

"gt"? I think you meant (@cc > 0) but you can also say "if (@cc) {" which would most clearly convey what you want to say..

Show 10 quoted lines
> +		$ccline = fold_header("\nCc: ", ", ", @cc);
>  	}
>  	my $sanitized_sender = sanitize_address($sender);
>  	make_message_id() unless defined($message_id);
> @@ -976,7 +1011,7 @@ X-Mailer: git-send-email $gitversion
>  		if ($smtp_server !~ m#^/#) {
>  			print "Server: $smtp_server\n";
>  			print "MAIL FROM:<$raw_from>\n";
> -			print "RCPT TO:".join(',',(map { "<$_>" } @recipients))."\n";
> +			print fold_header("RCPT TO:", ",", map { "<$_>" } @recipients)."\n";
I do not think this hunk is correct.

Shouldn't we be rather repeating "RCPT TO: " for each recipient, as RFC2821 4.1.1.3 says (this is an issue with the original code)? I do not think SMTP's "RCPT TO" command has the notion of continuation line used for the payload (i.e. RFC 2822 Internet Message Format), and folding the line is a new bug this patch introduces.

>  		} else {
>  			print "Sendmail: $smtp_server ".join(' ',@sendmail_parameters)."\n";
>  		}
Previous: Joe PerchesNext: Joe Perches
Message 2 of 7 in “git-send-email.perl: Fold long header lines to 78 chars”
  1. git-send-email.perl: Fold long header lines to 78 charsJoe Perches, Oct 5, 2009
  2. Junio C HamanoOct 8, 2009
  3. Joe PerchesOct 8, 2009
  4. Junio C HamanoOct 8, 2009
  5. git-send-email.perl: fold multiple entry "Cc:" and multiple single line "RCPT TO:"sJoe Perches, Oct 8, 2009
  6. Junio C HamanoOct 9, 2009
  7. Junio C HamanoOct 10, 2009

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.