Fix multiple-recipient handling of Gnus S/MIME.
authorKatsumi Yamaoka <yamaoka@jpl.org>
Wed, 21 Jul 2010 23:22:55 +0000 (23:22 +0000)
committerKatsumi Yamaoka <yamaoka@jpl.org>
Wed, 21 Jul 2010 23:22:55 +0000 (23:22 +0000)
2010-07-21  Daiki Ueno  <ueno@unixuser.org>
 * mml.el (mml-parse-1): Collect "certfile" attributes in "<#secure>"
 tag (Bug#6654).

lisp/ChangeLog
lisp/mml.el

index ed10f13..a72c6b0 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 170bc69..2ebd799 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")