aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaiki Ueno2015-03-31 10:14:13 +0900
committerDaiki Ueno2015-03-31 10:14:13 +0900
commit2e4b0c98a77657e787e04ae680403b187b271c21 (patch)
tree859bd5522b93e26094a05f380f83d0ccb7f323da
parentce88920edb410ed90733763843014470f1d40e28 (diff)
downloademacs-2e4b0c98a77657e787e04ae680403b187b271c21.tar.gz
emacs-2e4b0c98a77657e787e04ae680403b187b271c21.zip
plstore.el: Don't cache wrong passphrase
* plstore.el (plstore--decrypt): Clear entry in `plstore-passphrase-alist' if decryption failed (bug#20030).
-rw-r--r--lisp/gnus/ChangeLog5
-rw-r--r--lisp/gnus/plstore.el13
2 files changed, 15 insertions, 3 deletions
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog
index 574b2e825c6..5b10d45e814 100644
--- a/lisp/gnus/ChangeLog
+++ b/lisp/gnus/ChangeLog
@@ -1,3 +1,8 @@
12015-03-31 Daiki Ueno <ueno@gnu.org>
2
3 * plstore.el (plstore--decrypt): Clear entry in
4 `plstore-passphrase-alist' if decryption failed (bug#20030).
5
12015-03-28 Adam Sjøgren <asjo@koldfront.dk> 62015-03-28 Adam Sjøgren <asjo@koldfront.dk>
2 7
3 * gnus-sum.el (gnus-summary-make-menu-bar): Add "Display HTML images" 8 * gnus-sum.el (gnus-summary-make-menu-bar): Add "Display HTML images"
diff --git a/lisp/gnus/plstore.el b/lisp/gnus/plstore.el
index 12a0413dcaf..175e272cb9a 100644
--- a/lisp/gnus/plstore.el
+++ b/lisp/gnus/plstore.el
@@ -270,9 +270,16 @@ symmetric encryption will be used.")
270 context 270 context
271 (cons #'plstore-progress-callback-function 271 (cons #'plstore-progress-callback-function
272 (format "Decrypting %s" (plstore-get-file plstore)))) 272 (format "Decrypting %s" (plstore-get-file plstore))))
273 (setq plain 273 (condition-case error
274 (epg-decrypt-string context 274 (setq plain
275 (plstore--get-encrypted-data plstore))) 275 (epg-decrypt-string context
276 (plstore--get-encrypted-data plstore)))
277 (error
278 (let ((entry (assoc (plstore-get-file plstore)
279 plstore-passphrase-alist)))
280 (if entry
281 (setcdr entry nil)))
282 (signal (car error) (cdr error))))
276 (plstore--set-secret-alist plstore (car (read-from-string plain))) 283 (plstore--set-secret-alist plstore (car (read-from-string plain)))
277 (plstore--merge-secret plstore) 284 (plstore--merge-secret plstore)
278 (plstore--set-encrypted-data plstore nil)))) 285 (plstore--set-encrypted-data plstore nil))))