Re: [PATCH] send-email: Don't leak To: headers between patches
From: Ævar Arnfjörð Bjarmason <hidden>
Date: 2016-06-15 22:49:41
On Mon, Oct 4, 2010 at 07:05, Stephen Boyd [off-list ref] wrote:
If the first patch in a series has a To: header in the file and the second patch in the series doesn't the address from the first patch will be part of the To: addresses in the second patch. Fix this by treating the to list like the cc list. Have an initial to list come from the command line, user input and config options. Then build up a to list from each patch and concatenate the two together before sending the patch. Finally, reset the list after sending each patch so the To: headers from a patch don't get used for the next one.
Couldn't this whole thing be done by:
# Variables we fill in automatically, or via prompting: -my (@to,$no_to,@cc,$no_cc,@initial_cc,@bcclist,$no_bcc,@xh, +my (@to,$no_to,@initial_to,@cc,$no_cc,@initial_cc,@bcclist,$no_bcc,@xh,
Changing this to an "our" variable instead of a "my".
my $body_encoding; + @to = ();
Then doing:
local @to = @to;
+ @to = (@initial_to, @to); @cc = (@initial_cc, @cc);
And keeping this as it is, and should the @cc addresses by accumulated across patches, but not the @to addresses?
+test_expect_success $PREREQ 'To headers from files reset each patch' ' + patch1=`git format-patch -1 --to="bodies@example.com"` && + patch2=`git format-patch -1 --to="other@example.com" HEAD~` && + test_when_finished "rm $patch1 && rm $patch2" && + git send-email \ + --dry-run \ + --from="Example [off-list ref]" \ + --to="nobody@example.com" \ + --smtp-server relay.example.com \ + $patch1 $patch2 >stdout && + test $(grep -c "RCPT TO:[off-list ref]" stdout) = 1 && + test $(grep -c "RCPT TO:[off-list ref]" stdout) = 2 && + test $(grep -c "RCPT TO:[off-list ref]" stdout) = 1 +' +