Function: gnus-insert-mime-security-button

gnus-insert-mime-security-button is a byte-compiled function defined in gnus-art.el.gz.

Signature

(gnus-insert-mime-security-button HANDLE &optional DISPLAYED)

Source Code

;; Defined in /usr/src/emacs/lisp/gnus/gnus-art.el.gz
(defun gnus-insert-mime-security-button (handle &optional _displayed)
  (let* ((protocol (mm-handle-multipart-ctl-parameter handle 'protocol))
	 (gnus-tmp-type
	  (concat
           (or (nth 2 (assoc protocol mm-verify-function-alist))
               (nth 2 (assoc protocol mm-decrypt-function-alist))
               "Unknown")
           (cond ((equal (car handle) "multipart/signed") " Signed")
                 ((equal (car handle) "multipart/encrypted") " Encrypted")
                 ((and (equal (car handle) "application/pkcs7-mime")
                       (equal
                        (mm-handle-multipart-ctl-parameter handle 'protocol)
                        "application/pkcs7-mime_signed-data"))
                  " Signed")
                 ((and (equal (car handle) "application/pkcs7-mime")
                       (equal
                        (mm-handle-multipart-ctl-parameter handle 'protocol)
                        "application/pkcs7-mime_enveloped-data"))
                  " Encrypted")
                 ;; application/x-pkcs7-mime
                 ((and (equal (car handle) "application/x-pkcs7-mime")
                       (equal
                        (mm-handle-multipart-ctl-parameter handle 'protocol)
                        "application/x-pkcs7-mime_signed-data"))
                  " Signed")
                 ((and (equal (car handle) "application/x-pkcs7-mime")
                       (equal
                        (mm-handle-multipart-ctl-parameter handle 'protocol)
                        "application/x-pkcs7-mime_enveloped-data"))
                  " Encrypted"))
           " Part"))
         (gnus-tmp-info
          (or (mm-handle-multipart-ctl-parameter handle 'gnus-info)
	      "Undecided"))
	 (gnus-tmp-details
	  (mm-handle-multipart-ctl-parameter handle 'gnus-details))
	 gnus-tmp-pressed-details
	 b e)
    (setq gnus-tmp-details
	  (if gnus-tmp-details
	      (concat "\n" gnus-tmp-details)
	    ""))
    (setq gnus-tmp-pressed-details
	  (if gnus-mime-security-button-pressed gnus-tmp-details ""))
    (unless (bolp)
      (insert "\n"))
    (setq b (point))
    (gnus-eval-format
     gnus-mime-security-button-line-format
     gnus-mime-security-button-line-format-alist
     `(keymap ,gnus-mime-security-button-map
	      gnus-callback gnus-mime-security-press-button
	      gnus-line-format ,gnus-mime-security-button-line-format
	      gnus-mime-details ,gnus-mime-security-button-pressed
	      article-type annotation
	      follow-link t
	      gnus-data ,handle))
    (setq e (if (bolp)
		;; Exclude a newline.
		(1- (point))
	      (point)))
    (make-text-button b e 'keymap gnus-mime-security-button-map
		      'face gnus-article-button-face)))