]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix multiple-recipient handling of Gnus S/MIME.
authorDaiki Ueno <ueno@unixuser.org>
Wed, 21 Jul 2010 05:56:18 +0000 (14:56 +0900)
committerDaiki Ueno <ueno@unixuser.org>
Wed, 21 Jul 2010 05:56:18 +0000 (14:56 +0900)
* mml.el (mml-parse-1): Collect "certfile" attributes in "<#secure>" tag
(Bug#6654).

lisp/gnus/ChangeLog
lisp/gnus/mml.el

index 4abcd9824e2b8aa51d8955672eb2fb752953425f..2a2011e8843e8ba5300c0890b601ec268987cfcb 100644 (file)
@@ -1,3 +1,8 @@
+2010-07-21  Daiki Ueno  <ueno@unixuser.org>
+
+       * mml.el (mml-parse-1): Collect "certfile" attributes in "<#secure>"
+       tag (Bug#6654).
+
 2010-07-20  Katsumi Yamaoka  <yamaoka@jpl.org>
 
        * gnus-sum.el (gnus-summary-bookmark-make-record): Bookmark position in
index 170bc69fe3a7f15b6fa3a6d38775731e5a1f6597..2ebd7996d77e416eb5be376a5f27aff1c97436ed 100644 (file)
@@ -228,7 +228,10 @@ part.  This is for the internal use, you should never modify the value.")
        (let* (secure-mode
               (taginfo (mml-read-tag))
               (keyfile (cdr (assq 'keyfile taginfo)))
-              (certfile (cdr (assq 'certfile taginfo)))
+              (certfiles (delq nil (mapcar (lambda (tag)
+                                             (if (eq (car-safe tag) 'certfile)
+                                                 (cdr tag)))
+                                           taginfo)))
               (recipients (cdr (assq 'recipients taginfo)))
               (sender (cdr (assq 'sender taginfo)))
               (location (cdr (assq 'tag-location taginfo)))
@@ -254,8 +257,10 @@ part.  This is for the internal use, you should never modify the value.")
                                 ,@tags
                                 ,(if keyfile "keyfile")
                                 ,keyfile
-                                ,(if certfile "certfile")
-                                ,certfile
+                                ,@(apply #'append
+                                         (mapcar (lambda (certfile)
+                                                   (list "certfile" certfile))
+                                                 certfiles))
                                 ,(if recipients "recipients")
                                 ,recipients
                                 ,(if sender "sender")