Re: [RFC] git-format-patch: default to --from to avoid spoofed mails?
- From
Jeff King <peff@peff.net>
- Date
- Jul 29, 2016, 00:16 UTC
- Message-ID
- <20160729001618.GA9646@sigill.intra.peff.net>
- In-Reply-To
- <xmqq4m79qujr.fsf@gitster.mtv.corp.google.com>
On Thu, Jul 28, 2016 at 03:14:48PM -0700, Junio C Hamano wrote:
Show 21 quoted lines
> > I think the original reason I did not make "--from" the default is that > > I was worried about breaking consumers which do not know how to handle > > in-body headers. > > That's a fair concern. > > So going back to Josh's original problem description: > > While git-send-email knows how to change the patch mails to use your own > address as "From:" and add a "From:" line to the body for the author, > any other tool used to send emails doesn't do that. > > I wonder how these "any other tool" (that reads the format-patch > output, i.e. mbox file with one mail per file each, and sends each > as a piece of e-mail, without paying attention who you, the tool's > user, are and blindly send them with the original "From:" and other > headers intact in the header part of the message) are used in the > wild to send patch submissions. /usr/bin/mail or /usr/bin/Mail > would not be among them, as I suspect they would place everything in > the body part, and the would do so without stripping the "From " > line that exists before each e-mail message.
I cannot speak for everybody, of course, but the reason I implemented "--from" is because my workflow is basically:
git format-patch --from --stdout @{u}..HEAD >mbox
mutt -f mboxand then I use mutt's "resend" command to send each one. Mutt uses the "From" header written by format-patch as the default (and so I would have to manually move the headers around if not for "--from").
The commands above are wrapped in a script, so I have no problem remembering to type "--from", but I can see how it would be irritating for general use. I would go so far as to say that any time the patches are going to be mailed, that "--from" is the right thing to do (because otherwise you are relying on your MUA to avoid impersonating the original author).
The question in my mind is whether people actually use format-patch for things besides emailing, and if the final destination is something other than "git am". It is a handy format because it is the least-lossy way to move commits around external to git itself. That's why "rebase" used it originally. If the final destination is "am" (as it is for rebase), then in-body headers are OK, because we know it understands those. If not, then it's a regression.
I think on the whole that defaulting to "--from" would help more people than hurt them, but if we do believe there are scripts that would be regressed, it probably needs a deprecation period.
-Peff