Function: mml2015-pgg-verify
mml2015-pgg-verify is a byte-compiled function defined in
mml2015.el.gz.
Signature
(mml2015-pgg-verify HANDLE CTL)
Source Code
;; Defined in /usr/src/emacs/lisp/gnus/mml2015.el.gz
(defun mml2015-pgg-verify (handle ctl)
(let ((pgg-errors-buffer mml2015-result-buffer)
signature-file part signature)
(if (or (null (setq part (mm-find-raw-part-by-type
ctl (or (mm-handle-multipart-ctl-parameter
ctl 'protocol)
"application/pgp-signature")
t)))
(null (setq signature
(mm-find-part-by-type
(cdr handle) "application/pgp-signature" nil t))))
(progn
(mm-sec-error 'gnus-info "Corrupted")
handle)
(with-temp-buffer
(insert part)
;; Convert <LF> to <CR><LF> in signed text. If --textmode is
;; specified when signing, the conversion is not necessary.
(goto-char (point-min))
(end-of-line)
(while (not (eobp))
(unless (eq (char-before) ?\r)
(insert "\r"))
(forward-line)
(end-of-line))
(with-temp-file (setq signature-file (make-temp-file "pgg"))
(mm-insert-part signature))
(if (condition-case err
(prog1
(pgg-verify-region (point-min) (point-max)
signature-file t)
(goto-char (point-min))
(while (search-forward "\r\n" nil t)
(replace-match "\n" t t))
(mm-sec-status
'gnus-details
(concat (with-current-buffer pgg-output-buffer
(buffer-string))
(with-current-buffer pgg-errors-buffer
(buffer-string)))))
(error
(mm-sec-error 'gnus-details (mml2015-format-error err))
nil)
(quit
(mm-sec-error 'gnus-details "Quit.")
nil))
(progn
(delete-file signature-file)
(mm-sec-error
'gnus-info
(with-current-buffer pgg-errors-buffer
(mml2015-gpg-extract-signature-details))))
(delete-file signature-file)
(mm-sec-error 'gnus-info "Failed")))))
handle)