Function: gnus-mime-security-verify-or-decrypt
gnus-mime-security-verify-or-decrypt is a byte-compiled function
defined in gnus-art.el.gz.
Signature
(gnus-mime-security-verify-or-decrypt HANDLE)
Source Code
;; Defined in /usr/src/emacs/lisp/gnus/gnus-art.el.gz
(defun gnus-mime-security-verify-or-decrypt (handle)
(mm-remove-parts (cdr handle))
(let ((region (mm-handle-multipart-ctl-parameter handle 'gnus-region))
point (inhibit-read-only t))
(if region
(goto-char (car region)))
(setq point (point))
(with-current-buffer (mm-handle-multipart-original-buffer handle)
(let* ((mm-verify-option 'known)
(mm-decrypt-option 'known)
(pkcs7-mime-p (or (equal (car handle) "application/pkcs7-mime")
(equal (car handle) "application/x-pkcs7-mime")))
(nparts (if pkcs7-mime-p
(list (mm-possibly-verify-or-decrypt
(cadr handle) (cadadr handle)))
(mm-possibly-verify-or-decrypt (cdr handle) handle))))
(unless (eq nparts (cdr handle))
;; if pkcs7-mime don't destroy the parts as the buffer in
;; the cdr still needs to be accessible
(when (not pkcs7-mime-p)
(mm-destroy-parts (cdr handle)))
(setcdr handle nparts))))
(gnus-mime-display-security handle)
(when region
(delete-region (point) (cdr region))
(set-marker (car region) nil)
(set-marker (cdr region) nil))
(goto-char point)))