;ELC
;;; Compiled
;;; in Emacs version 26.1
;;; with all optimizations.
;;; This file uses dynamic docstrings, first added in Emacs 19.29.
;;; This file does not contain utf-8 non-ASCII characters,
;;; and so can be loaded in Emacs versions earlier than 23.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(byte-code "\300\301!\210\300\302!\210\300\303!\210\300\304!\210\300\305!\207" [require mm-decode mm-util mml mml-sec epg-config] 2)
#@85 The package used for PGP/MIME.
Valid packages include `epg', `pgg' and `mailcrypt'.
(defvar mml2015-use 'epg (#$ . 541))
#@30 Alist of PGP/MIME functions.
(defvar mml2015-function-alist '((mailcrypt mml2015-mailcrypt-sign mml2015-mailcrypt-encrypt mml2015-mailcrypt-verify mml2015-mailcrypt-decrypt mml2015-mailcrypt-clear-verify mml2015-mailcrypt-clear-decrypt) (pgg mml2015-pgg-sign mml2015-pgg-encrypt mml2015-pgg-verify mml2015-pgg-decrypt mml2015-pgg-clear-verify mml2015-pgg-clear-decrypt) (epg mml2015-epg-sign mml2015-epg-encrypt mml2015-epg-verify mml2015-epg-decrypt mml2015-epg-clear-verify mml2015-epg-clear-decrypt)) (#$ . 668))
(defvar mml2015-result-buffer nil)
(byte-code "\300\301\302\303\304\305\306\307\310\311& \210\300\312\313\314\306\307\310\315&\210\316\312\313\317#\210\300\320\321\322\306\307\310\323&\210\316\320\321\317#\210\300\324\325\326\306\307\310\327&\210\300\330\325\331\306\307\310\315\304\332& \210\300\333\325\334\306\307\310\315&\210\300\335\336\337\306\307\310\315&\210\300\340\341\342\304\343\306\307\310\323& \210\300\344\336\345\304\346\306\307\310\315& \207" [custom-declare-variable mml2015-unabbrev-trust-alist '(("TRUST_UNDEFINED") ("TRUST_NEVER") ("TRUST_MARGINAL" . t) ("TRUST_FULLY" . t) ("TRUST_ULTIMATE" . t)) "Map GnuPG trust output values to a boolean saying if you trust the key." :version "22.1" :group mime-security :type (repeat (cons (regexp :tag "GnuPG output regexp") (boolean :tag "Trust key"))) mml2015-cache-passphrase mml-secure-cache-passphrase "If t, cache passphrase." boolean make-obsolete-variable "25.1" mml2015-passphrase-cache-expiry mml-secure-passphrase-cache-expiry "How many seconds the passphrase is cached.\nWhether the passphrase is cached at all is controlled by\n`mml2015-cache-passphrase'." integer mml2015-signers nil "A list of your own key ID(s) which will be used to sign a message.\nIf set, it overrides the setting of `mml2015-sign-with-sender'." (repeat (string :tag "Key ID")) mml2015-sign-with-sender "If t, use message sender so find a key to sign with." "24.1" mml2015-encrypt-to-self "If t, add your own key ID to recipient list when encryption." mml2015-always-trust t "If t, GnuPG skip key validation on encryption." mml2015-maximum-key-image-dimension 64 "The maximum dimension (width or height) of any key images." "24.4" mml2015-display-key-image "If t, try to display key images." "24.5"] 10)
(defalias 'mml2015-extract-cleartext-signature #[nil "eb\210\300y\210\301\302!\203 \300y\210\202 \301\303!\203 \300y\210e`|\210\304\305\300\306#\203, \307\224d|\210eb\210\304\310\300\306#\205C \311\312\306\211#\210\313y\210\202/ \207" [nil looking-at "Hash:" "[ ]*$" re-search-forward "^-----BEGIN PGP SIGNATURE-----" t 0 "^- " replace-match "" 1] 4])
(byte-code "\300\301\302\"\210\300\303\302\"\210\300\304\302\"\210\300\305\306\"\210\300\307\306\"\210\300\310\306\"\207" [autoload mailcrypt-decrypt "mailcrypt" mailcrypt-verify mc-pgp-always-sign mc-encrypt-generic "mc-toplev" mc-cleanup-recipient-headers mc-sign-generic] 3)
(defvar mml2015-decrypt-function 'mailcrypt-decrypt)
(defvar mml2015-verify-function 'mailcrypt-verify)
(defalias 'mml2015-format-error #[(err) "A@;\203 A@\207\301\302A\"\207" [err format "%S"] 3])
(defalias 'mml2015-mailcrypt-decrypt #[(handle ctl) "\3062\364 \307\211\211\310A\311\307\312$\211\2043 \f\313\314\211\205, \315\316@G
@%+\210\317\306\"\210\320\321! r q\210\322\216\323\n!\210\3241v \3251S ! 00\202\222 0\"\f\326\327\"!\211\205o \315\316@G
@%+\210)\307\202\222 \"\f\326\330\211\205\216 \315\316@G
@%+\210)\307\211@\204\265 \f\313\331\211\205\256 \315\316@G
@%+\210\317\306\"\210\332\312!+\333!\210\f\313\334r#q\210\335 )$\336$P)P\211\205\344 \315\316@G
@%+\210 @<\203\360 \202\362 C+0\207" [result handles child handle mm-security-handle value error nil mm-find-part-by-type "application/octet-stream" t gnus-info "Corrupted" put-text-property 0 throw generate-new-buffer " *temp*" #[nil "\301!\205 \302!\207" [#1=#:temp-buffer buffer-name kill-buffer] 2] mm-insert-part (quit) (error) gnus-details mml2015-format-error "Quit." "Failed" mm-dissect-buffer mm-destroy-parts "OK" mml2015-gpg-extract-signature-details ", Signer: " parameter #1# mml2015-decrypt-function err mml2015-result-buffer sig] 7])
(defalias 'mml2015-gpg-pretty-print-fpr #[(fingerprint) "\305\306 !\307\310 \311\310\"\262 \2039 \n\312Z\313 \n\"\312 \233T\314\267\2021 \f\2024 \315\fPP\202 ,\207" [result fingerprint fpr-length n-slice slice "" string-width 0 nil append 4 butlast #s(hash-table size 1 test eql rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (1 45)) " "] 4])
(defalias 'mml2015-gpg-extract-signature-details #[nil "eb\210\306\307\310\311#\306\312\310\311#\205 \313\314!\313\315!B\306\316\310\311#\205$ \313\314!\306\317\310\311#\2050 \313\314!\320\f\"A \203X \n\203X A
?\205K \321\322\n!P\205T \323\324 @\"Q\202g \306\325\310\311#\203f \313\315!\202g \326-\207" [expired signer fprint trust mml2015-unabbrev-trust-alist trust-good-enough-p re-search-forward "^\\[GNUPG:\\] SIGEXPIRED$" nil t "^\\[GNUPG:\\] GOODSIG \\([0-9A-Za-z]*\\) \\(.*\\)$" match-string 1 2 "^\\[GNUPG:\\] VALIDSIG \\([0-9a-zA-Z]*\\) " "^\\[GNUPG:\\] \\(TRUST_.*\\)$" assoc "\nUntrusted, Fingerprint: " mml2015-gpg-pretty-print-fpr format "\nWARNING: Signature from expired key (%s)" "^\\(gpg: \\)?Good signature from \"\\(.*\\)\"$" "From unknown user"] 5])
(defalias 'mml2015-mailcrypt-clear-decrypt #[nil "\306\30713 \3101 00\202O 0\311\312\n!\211\205, \313\314@G
\f@%+\210)\306\202O \311\315\211\205K \313\314@G
\f@%+\210)\306\211@\203p \316\317\211\205l \313\314@G
\f@%+\202\210 \316\320\211\205\207 \313\314@G
\f@%+)\207" [result mml2015-decrypt-function err mm-security-handle value parameter nil (quit) (error) gnus-details mml2015-format-error put-text-property 0 "Quit." gnus-info "OK" "Failed" handle] 7])
(defalias 'mml2015-fix-micalg #[(alg) "\205 \301\302\"\203 \303\225\304O\202 \226\207" [alg string-match "^p[gh]p-" 0 nil] 3])
(defalias 'mml2015-mailcrypt-verify #[(handle ctl) "\3062\230\307\310 \311\312\313 @#\206 \314\315#\211\2044 \n\316\317\211\205- \320\312
@G\f
@%+\210\321\306
\"\210\322\323!6r6q\210\324\216\325c\210\326\327\330\311\312\331 @#!\206Q \332\"c\210\214``}\210\333\261\210eb\210m\204t \334\335!\203n \336c\210\307y\210\202a )\337
A\314\307\315$\211\204\234 \n\316\317\211\205\225 \320\312
@G\f
@%+\210\321\306
\"\210\214``}\210\340!\210eb\210\341\342\307\315#\203\266 \343\344\315\211#\210\341\345\307\315#\203\304 \343\346\315\211#\210)\347\350!7\3511F\3521&8 \353\354!\203\367 \n\355r\354q\210\356 )\211\205\365 \320\312
@G\f
@%+\210\353\357!\203\360\357!\210\353\354!\203\360\354!\210\353\361!\203\360\361!\210\3537!\203!\3607!\21000\202`09\n\355\3629!\211\205@\320\312
@G\f
@%+\210)\202c9\n\355\363\211\205\\\320\312
@G\f
@%+\210)\307\204~\n\316\364\211\205w\320\312
@G\f
@%+\210\321\306
\"\210,\n\316\365\211\205\223\320\312
@G\f
@%+\210
)0\207" [part ctl mm-security-handle value parameter handle error nil mm-find-raw-part-by-type get-text-property 0 protocol "application/pgp-signature" t gnus-info "Corrupted" put-text-property throw generate-new-buffer " *temp*" #[nil "\301!\205 \302!\207" [#1=#:temp-buffer buffer-name kill-buffer] 2] "-----BEGIN PGP SIGNED MESSAGE-----\n" format "Hash: %s\n\n" mml2015-fix-micalg micalg "SHA1" "\n" looking-at "^-" "- " mm-find-part-by-type mm-insert-part re-search-forward "^-----BEGIN PGP [^-]+-----
?$" replace-match "-----BEGIN PGP SIGNATURE-----" "^-----END PGP [^-]+-----
?$" "-----END PGP SIGNATURE-----" get-buffer-create " *gnus gpg debug*" (quit) (error) get-buffer " *mailcrypt stderr temp" gnus-details buffer-string " *mailcrypt stdout temp" kill-buffer " *mailcrypt status temp" mml2015-format-error "Quit." "Failed" "OK" #1# mc-gpg-debug-buffer mml2015-verify-function err] 8])
(defalias 'mml2015-mailcrypt-clear-verify #[nil "\306\307!\3101} \3111] \312\313!\2030 \n\314r\313q\210\315 )\211\205. \316\317
@G\f
@%+\210\312\320!\203: \321\320!\210\312\313!\203D \321\313!\210\312\322!\203N \321\322!\210\312!\203X \321!\21000\202\231 0\n\314\323!\211\205w \316\317
@G\f
@%+\210)\202\265 \n\314\324\211\205\223 \316\317
@G\f
@%+\210)\202\265 \203\265 \n\325\326\211\205\260 \316\317
@G\f
@%+\210\202\313 \n\325\327\211\205\311 \316\317
@G\f
@%+\210)\330 \207" [mc-gpg-debug-buffer mml2015-verify-function mm-security-handle value parameter handle get-buffer-create " *gnus gpg debug*" (quit) (error) get-buffer " *mailcrypt stderr temp" gnus-details buffer-string put-text-property 0 " *mailcrypt stdout temp" kill-buffer " *mailcrypt status temp" mml2015-format-error "Quit." gnus-info "OK" "Failed" mml2015-extract-cleartext-signature err] 8])
(defalias 'mml2015-mailcrypt-sign #[(cont) "\304\305\306!\307\211\211\211%\210\310!\307\211eb\210\311\312\307\313#\204! \314\315!\210\316\224b\210\317y\210\320\321!\2042 \314\322!\210\323\317!\311\324\307\313#\204B \314\325!\210\317y\210e`|\210\326\327\"c\210\326\330\n\227\"c\210\326\331\"c\210`db\210\332\333\307\313#\204m \314\334!\210\335\336\313\211#\210\316\224b\210\332\337\307\313#\204\203 \314\334!\210\335\340\313\211#\210\316\224b\210\214 `}\210 b\210\311\341\307\313#\203\246 \335\342\313\211#\210\202\225 db\210)\326\343\"c\210\344c\210db\210\326\345\"c\210db+\207" [cont point hash boundary mc-sign-generic message-options-get message-sender nil mml-compute-boundary re-search-forward "^-----BEGIN PGP SIGNED MESSAGE-----
?$" t error "Cannot find signed begin line" 0 1 looking-at "Hash:[ ]*\\([a-zA-Z0-9]+\\)" "Cannot not find PGP hash" match-string "^$" "Cannot not find PGP message" format "Content-Type: multipart/signed; boundary=\"%s\";\n" " micalg=pgp-%s; protocol=\"application/pgp-signature\"\n" "\n--%s\n" re-search-backward "^-----END PGP SIGNATURE-----
?$" "Cannot find signature part" replace-match "-----END PGP MESSAGE-----" "^-----BEGIN PGP SIGNATURE-----
?$" "-----BEGIN PGP MESSAGE-----" "^- -" "-" "--%s\n" "Content-Type: application/pgp-signature\n\n" "--%s--\n"] 6])
(defalias 'mml2015-mailcrypt-encrypt #[(cont &optional sign) "\206 \206 \305\306!\206 \307\306\310\311!\206 \312\"\313=\206 \314\315\316!r\nq\210\317\216\320\321!\210\322\305\323!\206< |