aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaiki Ueno2011-10-17 04:29:19 +0000
committerKatsumi Yamaoka2011-10-17 04:29:19 +0000
commit344465fd3b73502ea266e1009e99be93600d812f (patch)
treea9d82dfa751db2bc0813dfadb28a3f25d135394b
parent21fedf28e5c59fd17e846f4b8abcbb223ae5ed90 (diff)
downloademacs-344465fd3b73502ea266e1009e99be93600d812f.tar.gz
emacs-344465fd3b73502ea266e1009e99be93600d812f.zip
Merge changes made in Gnus trunk.
mml2015.el (mml2015-epg-find-usable-key): Skip the whole key if the primary key is marked as disabled. mml1991.el (mml1991-epg-find-usable-key): Ditto. Thanks to Christian von Roques <roques@mti.ag>.
-rw-r--r--lisp/gnus/ChangeLog7
-rw-r--r--lisp/gnus/mml1991.el17
-rw-r--r--lisp/gnus/mml2015.el17
3 files changed, 27 insertions, 14 deletions
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog
index 2fd624e819b..cc2568a3647 100644
--- a/lisp/gnus/ChangeLog
+++ b/lisp/gnus/ChangeLog
@@ -1,3 +1,10 @@
12011-10-17 Daiki Ueno <ueno@unixuser.org>
2
3 * mml2015.el (mml2015-epg-find-usable-key): Skip the whole key if the
4 primary key is marked as disabled.
5 * mml1991.el (mml1991-epg-find-usable-key): Ditto.
6 Thanks to Christian von Roques <roques@mti.ag>.
7
12011-10-11 Andreas Schwab <schwab@linux-m68k.org> 82011-10-11 Andreas Schwab <schwab@linux-m68k.org>
2 9
3 * html2text.el (html2text-clean-anchor): Check for quotes around 10 * html2text.el (html2text-clean-anchor): Check for quotes around
diff --git a/lisp/gnus/mml1991.el b/lisp/gnus/mml1991.el
index ad9f95796fe..1777a660319 100644
--- a/lisp/gnus/mml1991.el
+++ b/lisp/gnus/mml1991.el
@@ -282,13 +282,16 @@ Whether the passphrase is cached at all is controlled by
282 (catch 'found 282 (catch 'found
283 (while keys 283 (while keys
284 (let ((pointer (epg-key-sub-key-list (car keys)))) 284 (let ((pointer (epg-key-sub-key-list (car keys))))
285 (while pointer 285 ;; The primary key will be marked as disabled, when the entire
286 (if (and (memq usage (epg-sub-key-capability (car pointer))) 286 ;; key is disabled (see 12 Field, Format of colon listings, in
287 (not (memq 'disabled (epg-sub-key-capability (car pointer)))) 287 ;; gnupg/doc/DETAILS)
288 (not (memq (epg-sub-key-validity (car pointer)) 288 (unless (memq 'disabled (epg-sub-key-capability (car pointer)))
289 '(revoked expired)))) 289 (while pointer
290 (throw 'found (car keys))) 290 (if (and (memq usage (epg-sub-key-capability (car pointer)))
291 (setq pointer (cdr pointer)))) 291 (not (memq (epg-sub-key-validity (car pointer))
292 '(revoked expired))))
293 (throw 'found (car keys)))
294 (setq pointer (cdr pointer)))))
292 (setq keys (cdr keys))))) 295 (setq keys (cdr keys)))))
293 296
294;; XXX: since gpg --list-secret-keys does not return validity of each 297;; XXX: since gpg --list-secret-keys does not return validity of each
diff --git a/lisp/gnus/mml2015.el b/lisp/gnus/mml2015.el
index b9310beed58..028955a8c33 100644
--- a/lisp/gnus/mml2015.el
+++ b/lisp/gnus/mml2015.el
@@ -788,13 +788,16 @@ If set, it overrides the setting of `mml2015-sign-with-sender'."
788 (catch 'found 788 (catch 'found
789 (while keys 789 (while keys
790 (let ((pointer (epg-key-sub-key-list (car keys)))) 790 (let ((pointer (epg-key-sub-key-list (car keys))))
791 (while pointer 791 ;; The primary key will be marked as disabled, when the entire
792 (if (and (memq usage (epg-sub-key-capability (car pointer))) 792 ;; key is disabled (see 12 Field, Format of colon listings, in
793 (not (memq 'disabled (epg-sub-key-capability (car pointer)))) 793 ;; gnupg/doc/DETAILS)
794 (not (memq (epg-sub-key-validity (car pointer)) 794 (unless (memq 'disabled (epg-sub-key-capability (car pointer)))
795 '(revoked expired)))) 795 (while pointer
796 (throw 'found (car keys))) 796 (if (and (memq usage (epg-sub-key-capability (car pointer)))
797 (setq pointer (cdr pointer)))) 797 (not (memq (epg-sub-key-validity (car pointer))
798 '(revoked expired))))
799 (throw 'found (car keys)))
800 (setq pointer (cdr pointer)))))
798 (setq keys (cdr keys))))) 801 (setq keys (cdr keys)))))
799 802
800;; XXX: since gpg --list-secret-keys does not return validity of each 803;; XXX: since gpg --list-secret-keys does not return validity of each