pgp: check encryption keys before sending message
Add check for public keys of all message recipients (to, cc, and bcc) before sending the message. Adds an OnFocusLost callback to header editors to facilitate a callback for checking keys whenever a new recipient is added (OnChange results in too many keyring checks). Once encryption is initially set, the callbacks are registered. If a public key is not available for any recipient, encryption is turned off. However, notably, the callbacks are still registered meaning as s soon as the user removes the recipients with missing keys, encryption is turned back on. Signed-off-by: Tim Culverhouse <tim@timculverhouse.com> Tested-by: Koni Marti <koni.marti@gmail.com>
This commit is contained in:
parent
bb400c7d88
commit
32a16dcd8d
7 changed files with 107 additions and 21 deletions
commands/compose
|
@ -2,7 +2,6 @@ package compose
|
|||
|
||||
import (
|
||||
"errors"
|
||||
"time"
|
||||
|
||||
"git.sr.ht/~rjarry/aerc/widgets"
|
||||
)
|
||||
|
@ -29,16 +28,5 @@ func (Encrypt) Execute(aerc *widgets.Aerc, args []string) error {
|
|||
composer, _ := aerc.SelectedTab().(*widgets.Composer)
|
||||
|
||||
composer.SetEncrypt(!composer.Encrypt())
|
||||
|
||||
var statusline string
|
||||
|
||||
if composer.Encrypt() {
|
||||
statusline = "Message will be encrypted."
|
||||
} else {
|
||||
statusline = "Message will not be encrypted."
|
||||
}
|
||||
|
||||
aerc.PushStatus(statusline, 10*time.Second)
|
||||
|
||||
return nil
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue