X-Git-Url: http://cgit.sxemacs.org/?a=blobdiff_plain;f=lisp%2Fmml-smime.el;h=f8e20a0791b97b856cecbf28f4b3d6f17ff22cb8;hb=873ba7b51ddfb07246cd874b7de72662308236c9;hp=62e742f93a152a873aac30b3b4e106e1b1a46a33;hpb=a07fef39c45c3c3c77cafef422daca2460f34882;p=gnus diff --git a/lisp/mml-smime.el b/lisp/mml-smime.el index 62e742f93..f8e20a079 100644 --- a/lisp/mml-smime.el +++ b/lisp/mml-smime.el @@ -1,7 +1,6 @@ ;;; mml-smime.el --- S/MIME support for MML -;; Copyright (C) 2000, 2001, 2002, 2003, 2004, -;; 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. +;; Copyright (C) 2000-2012 Free Software Foundation, Inc. ;; Author: Simon Josefsson ;; Keywords: Gnus, MIME, S/MIME, MML @@ -25,7 +24,7 @@ ;;; Code: -;; For Emacs < 22.2. +;; For Emacs <22.2 and XEmacs. (eval-and-compile (unless (fboundp 'declare-function) (defmacro declare-function (&rest r)))) @@ -37,7 +36,12 @@ (autoload 'message-narrow-to-headers "message") (autoload 'message-fetch-field "message") -(defvar mml-smime-use 'openssl) +(defcustom mml-smime-use (if (featurep 'epg) 'epg 'openssl) + "Whether to use OpenSSL or EPG to decrypt S/MIME messages. +Defaults to EPG if it's loaded." + :group 'mime-security + :type '(choice (const :tag "EPG" epg) + (const :tag "OpenSSL" openssl))) (defvar mml-smime-function-alist '((openssl mml-smime-openssl-sign @@ -162,7 +166,7 @@ Whether the passphrase is cached at all is controlled by (and from (smime-get-key-by-email from))) (smime-get-key-by-email (gnus-completing-read "Sign this part with what signature" - smime-keys nil nil + (mapcar 'car smime-keys) nil nil nil (and (listp (car-safe smime-keys)) (caar smime-keys)))))))) @@ -221,7 +225,7 @@ Whether the passphrase is cached at all is controlled by (while (not done) (ecase (read (gnus-completing-read "Fetch certificate from" - '(("dns") ("ldap") ("file")) t nil nil + '("dns" "ldap" "file") t nil nil "ldap")) (dns (setq certs (append certs (mml-smime-get-dns-cert)))) @@ -527,7 +531,7 @@ Content-Disposition: attachment; filename=smime.p7m (mm-set-handle-multipart-parameter mm-security-handle 'gnus-info "Corrupted") (throw 'error handle)) - (setq part (mm-replace-in-string part "\n" "\r\n" t) + (setq part (mm-replace-in-string part "\n" "\r\n") context (epg-make-context 'CMS)) (condition-case error (setq plain (epg-verify-string context (mm-get-part signature) part))