On Fri, Nov 10, 2023 at 01:41:41AM +0100, Alejandro Colomar wrote: > This is useful for signing patches with git-send-email(1). Here's a > working configuration for that: > > In <~/.gitconfig>, add this section: > > [sendemail] > sendmailcmd = mutt -H -
A better approach for using git-send-email(1) with mutt(1) is: $ cat /usr/bin/mutt-as-mta #!/bin/sh mutt -H - And then in <~/.gitconfig>: [sendemail] sendmailcmd = mutt-as-mta This avoids duplicate TO and CCs. > > After this patch, all patches sent with git-send-mail(1) will be signed > (and even encrypted, if we have the public keys of all recipients and > have enabled encryption when possible). > > This is breaking behavior, so it needs some more justification than just > the above. > > This wasn't possible at all with mutt, and is a quite basic operation. > With current mutt(1), you'd need to do trickery with mailboxes to be > able to open patches with mutt in interactive mode and sign/encrypt > them. One could say don't use git-send-email(1), but then you still > need to open mutt(1) interactively for sending signed mail. It is > very useful to be able to send a long series of patches or any other > mail without interaction, and have it all signed. > > The reason for not enabling this was for allowing running mutt(1) in > cron jobs, or other cases where the keyring can't be unlocked. This > would still be possible after this patch, although it would need a > change in the configuration. Users should have a different > configuration for such cron jobs that doesn't ask mutt(1) to use PGP. > > Link: <https://github.com/neomutt/neomutt/issues/1471> > Link: <https://github.com/neomutt/neomutt/pull/1476> > Co-developed-by: Jenya Sovetkin <e.sovet...@gmail.com> > Cc: <neomutt-de...@neomutt.org> > Signed-off-by: Alejandro Colomar <a...@kernel.org> > --- > > Hi! > > I've been trying this patch for a few days with real patches sent to > mailing lists, and it's been working great. This same patch is sent > with this patch (and the suggested git-send-email(1) configuration). > > I based this patch on work from Jenya in neomutt(1), which has similar > code, so the patch was easy to translate to mutt(1)'s code. > > Here's how a log from git-send-email(1) looks like after this patch: > > $ git send-email > patches/0001-CONTRIBUTING-Please-sign-your-emails-with-PGP.patch > ... > Send this email? ([y]es|[n]o|[e]dit|[q]uit|[a]ll): y > Looking for keys matching "a...@kernel.org"... > OK. Log says: > Sendmail: mutt -H - -i a...@kernel.org > From: Alejandro Colomar <a...@kernel.org> > To: a...@kernel.org > Subject: [PATCH] CONTRIBUTING: Please sign your emails with PGP > Date: Fri, 10 Nov 2023 01:16:46 +0100 > Message-ID: <20231110001648.4787-1-...@kernel.org> > X-Mailer: git-send-email 2.42.0 > MIME-Version: 1.0 > Content-Transfer-Encoding: 8bit > > Result: OK > > I'm CCing neomutt(1), since I intend to send a similar patch to them. > > Also, I only subscribed to mutt-dev@ recently, so this message may not > arrive to the list. If so, please bounce it yourself there. > > Thanks! > Alex > > > send.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/send.c b/send.c > index 21ecf041..c98773fc 100644 > --- a/send.c > +++ b/send.c > @@ -2248,13 +2248,11 @@ static int send_message_resume_first_edit > (SEND_CONTEXT *sctx) > * 2) pgp: header field was present during message editing with > $edit_headers (sctx->msg->security != 0) > * 3) we are resending a message > * 4) we are recalling a postponed message (don't override the user's > saved settings) > - * 5) we are in mailx mode > - * 6) we are in batch mode > * > * This is done after allowing the user to edit the message so that > security > * settings can be configured with send2-hook and $edit_headers. > */ > - if (WithCrypto && (sctx->msg->security == 0) && !(sctx->flags & (SENDBATCH > | SENDMAILX | SENDPOSTPONED | SENDRESEND))) > + if (WithCrypto && (sctx->msg->security == 0) && !(sctx->flags & > (SENDPOSTPONED | SENDRESEND))) > { > if ( > #ifdef USE_AUTOCRYPT > -- > 2.42.0 > -- <https://www.alejandro-colomar.es/>
signature.asc
Description: PGP signature