(require 'cl)
(require 'mm-util))
+(require 'password)
+
(defvar mc-pgp-always-sign)
(autoload 'quoted-printable-decode-region "qp")
(epg-context-set-armor context t)
(epg-context-set-textmode context t)
(epg-context-set-signers context signers)
- (epg-context-set-passphrase-callback
- context
- #'mml1991-epg-passphrase-callback)
+ (if mml1991-cache-passphrase
+ (epg-context-set-passphrase-callback
+ context
+ #'mml1991-epg-passphrase-callback))
;; Don't sign headers.
(goto-char (point-min))
(when (re-search-forward "^$" nil t)
"[ \f\t\n\r\v,]+"))))
(epg-context-set-armor context t)
(epg-context-set-textmode context t)
- (epg-context-set-passphrase-callback
- context
- #'mml1991-epg-passphrase-callback)
+ (if mml1991-cache-passphrase
+ (epg-context-set-passphrase-callback
+ context
+ #'mml1991-epg-passphrase-callback))
(condition-case error
(setq cipher
(epg-encrypt-string context (buffer-string) recipients sign)
;;; epg wrapper
(eval-and-compile
- (autoload 'epg-make-context "epg")
- (autoload 'epa-select-keys "epa"))
+ (autoload 'epg-make-context "epg"))
(eval-when-compile
(defvar epg-user-id-alist)
mm-security-handle 'gnus-info "Corrupted")
(throw 'error handle))
(setq context (epg-make-context))
- (epg-context-set-passphrase-callback
- context
- #'mml2015-epg-passphrase-callback)
+ (if mml2015-cache-passphrase
+ (epg-context-set-passphrase-callback
+ context
+ #'mml2015-epg-passphrase-callback))
(condition-case error
(setq plain (epg-decrypt-string context (mm-get-part child))
mml2015-epg-secret-key-id-list nil)
(let ((inhibit-redisplay t)
(context (epg-make-context))
plain)
- (epg-context-set-passphrase-callback
- context
- #'mml2015-epg-passphrase-callback)
+ (if mml2015-cache-passphrase
+ (epg-context-set-passphrase-callback
+ context
+ #'mml2015-epg-passphrase-callback))
(condition-case error
(setq plain (epg-decrypt-string context (buffer-string))
mml2015-epg-secret-key-id-list nil)
(epg-context-set-armor context t)
(epg-context-set-textmode context t)
(epg-context-set-signers context signers)
- (epg-context-set-passphrase-callback
- context
- #'mml2015-epg-passphrase-callback)
+ (if mml2015-cache-passphrase
+ (epg-context-set-passphrase-callback
+ context
+ #'mml2015-epg-passphrase-callback))
(condition-case error
(setq signature (epg-sign-string context (buffer-string) t)
mml2015-epg-secret-key-id-list nil)
(message-options-get 'message-recipients)
"[ \f\t\n\r\v,]+"))))
(setq recipients
- (epg-list-keys context
- (split-string
- (message-options-get 'message-recipients)
- "[ \f\t\n\r\v,]+"))))
+ (mapcar (lambda (name)
+ (car (epg-list-keys context name)))
+ (split-string
+ (message-options-get 'message-recipients)
+ "[ \f\t\n\r\v,]+"))))
(epg-context-set-armor context t)
(epg-context-set-textmode context t)
- (epg-context-set-passphrase-callback
- context
- #'mml2015-epg-passphrase-callback)
+ (if mml2015-cache-passphrase
+ (epg-context-set-passphrase-callback
+ context
+ #'mml2015-epg-passphrase-callback))
(condition-case error
(setq cipher
(epg-encrypt-string context (buffer-string) recipients sign)