projects
/
elisp
/
epg.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
* epa-file.el
[elisp/epg.git]
/
epa-file.el
diff --git
a/epa-file.el
b/epa-file.el
index
2b47373
..
ff5b65f
100644
(file)
--- a/
epa-file.el
+++ b/
epa-file.el
@@
-34,13
+34,19
@@
:type 'regexp
:group 'epa-file)
:type 'regexp
:group 'epa-file)
+(defcustom epa-file-cache-passphrase-for-symmetric-encryption nil
+ "If t, cache passphrase for symmetric encryption."
+ :type 'boolean
+ :group 'epa-file)
+
(defvar epa-file-handler
(cons epa-file-name-regexp 'epa-file-handler))
(defvar epa-file-handler
(cons epa-file-name-regexp 'epa-file-handler))
-
+
(defvar epa-file-passphrase-alist nil)
(defun epa-file-passphrase-callback-function (context key-id file)
(defvar epa-file-passphrase-alist nil)
(defun epa-file-passphrase-callback-function (context key-id file)
- (if (eq key-id 'SYM)
+ (if (and epa-file-cache-passphrase-for-symmetric-encryption
+ (eq key-id 'SYM))
(let ((entry (assoc file epa-file-passphrase-alist))
passphrase)
(or (copy-sequence (cdr entry))
(let ((entry (assoc file epa-file-passphrase-alist))
passphrase)
(or (copy-sequence (cdr entry))
@@
-49,11
+55,11
@@
(setq entry (list file)
epa-file-passphrase-alist (cons entry
epa-file-passphrase-alist)))
(setq entry (list file)
epa-file-passphrase-alist (cons entry
epa-file-passphrase-alist)))
- (setq passphrase (epg-passphrase-callback-function context
+ (setq passphrase (epa-passphrase-callback-function context
key-id nil))
(setcdr entry (copy-sequence passphrase))
passphrase)))
key-id nil))
(setcdr entry (copy-sequence passphrase))
passphrase)))
- (epg-passphrase-callback-function context key-id nil)))
+ (epa-passphrase-callback-function context key-id nil)))
(defun epa-file-handler (operation &rest args)
(save-match-data
(defun epa-file-handler (operation &rest args)
(save-match-data
@@
-100,6
+106,8
@@
context
(cons #'epa-file-passphrase-callback-function
file))
context
(cons #'epa-file-passphrase-callback-function
file))
+ (epg-context-set-progress-callback context
+ #'epa-progress-callback-function)
(unwind-protect
(progn
(if replace
(unwind-protect
(progn
(if replace
@@
-144,6
+152,8
@@
context
(cons #'epa-file-passphrase-callback-function
file))
context
(cons #'epa-file-passphrase-callback-function
file))
+ (epg-context-set-progress-callback context
+ #'epa-progress-callback-function)
(condition-case error
(setq string
(epg-encrypt-string
(condition-case error
(setq string
(epg-encrypt-string