]> granicus.if.org Git - neomutt/commit
Create pgp and s/mime default and sign_as key vars. (see #3983)
authorKevin McCarthy <kevin@8t8.us>
Thu, 11 Jan 2018 21:24:30 +0000 (13:24 -0800)
committerRichard Russon <rich@flatcap.org>
Sat, 13 Jan 2018 13:55:11 +0000 (13:55 +0000)
commit09ff726131ac594ff800f6e739302652fcf01c31
tree58779e284d6ea1d5e1d1f00c89a9f67f600bd16c
parent1be22412811ed8555da35cde847351be90920fb9
Create pgp and s/mime default and sign_as key vars. (see #3983)

The $postpone_encrypt and $(pgp/smime)_self_encrypt configuration
variables have created a somewhat messier situation for users.  Many
of them now have to specify their keys across multiple configuration
variables.

(Trac) Ticket #3983 had a reasonable request: "if my encrypt and
signing keys are the same, why can't I just specify my key once in my
.muttrc?"

The problem currently is that $smime_default_key and $pgp_sign_as are
both used to specify signing keys, and are set by the "sign (a)s"
security menu choice.  So we can't store encryption keys there because
some users have separate sign-only capability keys.

Create $pgp_default_key to store the default encryption key.  Change
signing to use $pgp_default_key, unless overridden by $pgp_sign_as.
The pgp "sign (a)s" will continue setting $pgp_sign_as.

Create $smime_sign_as.  Change signing to use $smime_default_key
unless overridden by $smime_sign_as.  Change s/mime "sign (a)s" menu
to set $smime_sign_as instead.

Change $postpone_encrypt and $(pgp/smime)_self_encrypt to use
$(pgp/smime)_default_key by default.

Mark $(pgp/smime)_self_encrypt_as deprecated.  They are now aliases
for the $(pgp/smime)_default_key config vars.

Change $(pgp/smime)_self_encrypt default to set.

The intent is that most users now need only set
$(pgp/smime)_default_key.  If they have a sign-only key, or have
separate signing and encryption keys, they can put that in
$(pgp/smime)_sign_as.  This also enables to default self_encrypt on
and solve a very common request.

Thanks to Michele Marcionelli and Vincent Lefèvre for gently pushing
me towards a solution.
compose.c
doc/manual.xml.head
globals.h
init.h
ncrypt/crypt.c
ncrypt/pgpinvoke.c
ncrypt/smime.c
postpone.c
send.c
sendlib.c