Function: mml2015-mailcrypt-decrypt

mml2015-mailcrypt-decrypt is a byte-compiled function defined in mml2015.el.gz.

Signature

(mml2015-mailcrypt-decrypt HANDLE CTL)

Source Code

;; Defined in /usr/src/emacs/lisp/gnus/mml2015.el.gz
(defun mml2015-mailcrypt-decrypt (handle _ctl)
  (catch 'error
    (let (child handles result)
      (unless (setq child (mm-find-part-by-type
			   (cdr handle)
			   "application/octet-stream" nil t))
	(mm-sec-error 'gnus-info "Corrupted")
	(throw 'error handle))
      (with-temp-buffer
	(mm-insert-part child)
	(setq result
	      (condition-case err
		  (funcall mml2015-decrypt-function)
		(error
		 (mm-sec-error 'gnus-details (mml2015-format-error err))
		 nil)
		(quit
		 (mm-sec-error 'gnus-details "Quit.")
		 nil)))
	(unless (car result)
	  (mm-sec-error 'gnus-info "Failed")
	  (throw 'error handle))
	(setq handles (mm-dissect-buffer t)))
      (mm-destroy-parts handle)
      (mm-sec-status
       'gnus-info
       (concat "OK"
	       (let ((sig (with-current-buffer mml2015-result-buffer
			    (mml2015-gpg-extract-signature-details))))
		 (concat ", Signer: " sig))))
      (if (listp (car handles))
	  handles
	(list handles)))))