MMCT TEAM
Server IP : 111.118.215.189  /  Your IP : 18.117.158.174
Web Server : Apache
System : Linux md-in-83.webhostbox.net 4.19.286-203.ELK.el7.x86_64 #1 SMP Wed Jun 14 04:33:55 CDT 2023 x86_64
User : a1673wkz ( 2475)
PHP Version : 8.2.25
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON
Directory (0755) :  /usr/share/emacs/24.3/lisp/gnus/

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : //usr/share/emacs/24.3/lisp/gnus/mml-smime.elc
;ELC
;;; Compiled by mockbuild@buildfarm06-new.corp.cloudlinux.com on Fri Oct 11 10:10:16 2024
;;; from file /builddir/build/BUILD/emacs-24.3/lisp/gnus/mml-smime.el
;;; in Emacs version 24.3.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!\204
\302\301\303\304B\"\210\305\306!\210\305\307!\210\305\310!\210\311\312\313\"\210\311\314\313\"\210\315\316\317\320\321\322\323\324&\207" [fboundp declare-function defalias macro #[(&rest r) "\300\207" [nil] 1] require smime mm-decode mml-sec autoload message-narrow-to-headers "message" message-fetch-field custom-declare-variable mml-smime-use (if (featurep 'epg) 'epg 'openssl) "Whether to use OpenSSL or EPG to decrypt S/MIME messages.\nDefaults to EPG if it's loaded." :group mime-security :type (choice (const :tag "EPG" epg) (const :tag "OpenSSL" openssl))] 8)
(defvar mml-smime-function-alist '((openssl mml-smime-openssl-sign mml-smime-openssl-encrypt mml-smime-openssl-sign-query mml-smime-openssl-encrypt-query mml-smime-openssl-verify mml-smime-openssl-verify-test) (epg mml-smime-epg-sign mml-smime-epg-encrypt nil nil mml-smime-epg-verify mml-smime-epg-verify-test)))
(byte-code "\300\301\302\303\304\305\306\307&\210\300\310\311\312\304\305\306\313&\210\300\314\315\316\304\305\306\317&\207" [custom-declare-variable mml-smime-cache-passphrase mml-secure-cache-passphrase "If t, cache passphrase." :group mime-security :type boolean mml-smime-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`mml-smime-cache-passphrase'." integer mml-smime-signers nil "A list of your own key ID which will be used to sign a message." (repeat (string :tag "Key ID"))] 8)
(defalias 'mml-smime-sign #[(cont) "	\236A@\211\203\n!\202\304\305!)\207" [mml-smime-use mml-smime-function-alist func cont error "Cannot find sign function"] 3])
(defalias 'mml-smime-encrypt #[(cont) "\304	\2368\211\203\n!\202\305\306!)\207" [mml-smime-use mml-smime-function-alist func cont 2 error "Cannot find encrypt function"] 4])
(defalias 'mml-smime-sign-query #[nil "\303	\2368\211\205\f\n )\207" [mml-smime-use mml-smime-function-alist func 3] 4])
(defalias 'mml-smime-encrypt-query #[nil "\303	\2368\211\205\f\n )\207" [mml-smime-use mml-smime-function-alist func 4] 4])
(defalias 'mml-smime-verify #[(handle ctl) "\305	\2368\211\203\n\f\"\202)\207" [mml-smime-use mml-smime-function-alist func handle ctl 5] 4])
(defalias 'mml-smime-verify-test #[(handle ctl) "\305	\2368\211\205\n\f\")\207" [mml-smime-use mml-smime-function-alist func handle ctl 6] 4])
(defalias 'mml-smime-openssl-sign #[(cont) "\204\f\302\300!\210\303\304!\210\305\306	\236A!\210eb\210\307\310\311\312#\203'\313\314\312\211#\210\202db\207" [smime-keys cont customize-variable error "No S/MIME keys configured, use customize to add your key" smime-sign-buffer keyfile search-forward "
\n" nil t replace-match "\n"] 4])
(defalias 'mml-smime-openssl-encrypt #[(cont) "\306\211\211\211\211
\211A@\211\203(\n:\203\n\n@\307=\203\n\nA\fB\202\n\f\211A@\211\203c\310\n!\204>\311\n!\204E\nB\202(\312\313\314\"!r\nq\210\315ed	#\210)	B	B\202(\316!\203z\211A@\211\203\213\317\n!\210\202i\211A@\211\203\213\317\n!\210\202z-db\207" [tmpfiles file tmp certfiles certnames cont nil certfile file-exists-p get-buffer mm-make-temp-file expand-file-name "mml." write-region smime-encrypt-buffer delete-file mm-tmp-directory] 5])
(defalias 'mml-smime-openssl-sign-query #[nil "\204\f\304\300!\210\305\306!\210\307G\310U\203@A@\202^\311\301!\203%	\202&\312\212\214\313 \210\314\315!*\2063\316!\211A@)\211\205A\317!)\206^\317\320\321\322\323\"\324\211\211\242<\205[\211@@)&!D\207" [smime-keys gnus-extract-address-components x from customize-variable error "No S/MIME keys configured, use customize to add your key" keyfile 1 boundp mail-extract-address-components message-narrow-to-headers message-fetch-field "from" "" smime-get-key-by-email gnus-completing-read "Sign this part with what signature" mapcar car nil] 10])
(defalias 'mml-smime-get-file-cert #[nil "\300\301\302\217\207" [nil (byte-code "\301\302\303\304\305\306%D\207" [smime-certificate-directory certfile read-file-name "File with recipient's S/MIME certificate: " nil t ""] 7) ((error))] 3])
(defalias 'mml-smime-get-dns-cert #[nil "\304\211\211\211\304\305\306\217\210,\207" [cert bad who result nil (byte-code "\204G\306\307\310	\206\f\311\"\312\302!\203\n\202\313\212\214\314 \210\315\316!*\206%\311!\211A@)\"\317\f!\211\203?\320\321
!D\211\202\307\322\f\"\202\306\207" [result bad gnus-extract-address-components x who cert read-from-minibuffer format "%sLookup certificate for: " "" boundp mail-extract-address-components message-narrow-to-headers message-fetch-field "to" smime-cert-by-dns certfile buffer-name "`%s' not found. "] 6) ((quit))] 4])
(defalias 'mml-smime-get-ldap-cert #[nil "\304\211\211\211\304\305\306\217\210,\207" [cert bad who result nil (byte-code "\204=\306\307\310	\206\f\311\"\n\212\214\312 \210\313\314!*\206\311!\211A@)\"\315\f!\211\2035\316\317
!D\211\202\307\320\f\"\202\306\207" [result bad gnus-extract-address-components x who cert read-from-minibuffer format "%sLookup certificate for: " "" message-narrow-to-headers message-fetch-field "to" smime-cert-by-ldap certfile buffer-name "`%s' not found. "] 6) ((quit))] 4])
(autoload 'gnus-completing-read "gnus-util")
(defalias 'mml-smime-openssl-encrypt-query #[nil "\303\211\204T\304\305\306\307\310\303\211\311&!\312\n\313\"\203$\314	\315 \"\202J\312\n\316\"\2034\314	\317 \"\202J\312\n\320\"\203D\314	\321 \"\202J\322\323\n\324#\210)\325\326!?\211\203	*\207" [done certs #1=#:--cl-var-- nil read gnus-completing-read "Fetch certificate from" ("dns" "ldap" "file") t "ldap" eql dns append mml-smime-get-dns-cert ldap mml-smime-get-ldap-cert file mml-smime-get-file-cert error "cl-ecase failed: %s, %s" (dns ldap file) y-or-n-p "Add more recipients? "] 9])
(defalias 'mml-smime-openssl-verify #[(handle ctl) "\306\307!rq\210\310\216\311\312\313\314	@#!\210eb\210\315\316	\211@;\203%\n@\202)\nA@@)\"c\210\315\317\312\313\320	@#\"c\210\315\321\312\313\322	@#\"c\210\315\323\312\313\324	@#\"c\210\325!\203X\326!\210p\327 \f\204c
\205e\330 \331\211<=>?@rq\210\332 )<?\204\274A\333\334BC\211\205\230\335\313\n@GCB\n@%+\210A\336\337\340<QBC\211\205\267\335\313\n@GCB\n@%+\210\202\264\341ed\"\203\342ed\"\203\306\307!DrDq\210\343\216\311@!\210eb\210\344\345\331\346#\203\376\347e`\"\203\367\350\351e`\"=\"=e`|\210\202\336\352\353=\"=+\312\313\354	@#\206\355\227=\235\2045A\333\356BC\211\2050\335\313\n@GCB\n@%+\210\202s>\203XA\333\357BC\211\205S\335\313\n@GCB\n@%+\210\202sA\333\360BC\211\205q\335\313\n@GCB\n@%+\210A\336\361\312\313\354	@#\362=\203\216\363\364\365=\366#P\202\217\367\362\211\370\371<\362\372\373\332 \362\260BC\211\205\262\335\313\n@GCB\n@%+\210.\n\207" [#1=#:temp-buffer ctl handle smime-details-buffer smime-CA-file smime-CA-directory generate-new-buffer " *temp*" ((byte-code "\301!\203\n\302!\210\301\207" [#1# buffer-name kill-buffer] 2)) insert-buffer-substring get-text-property 0 buffer format "Content-Type: %s; " "protocol=\"%s\"; " protocol "micalg=\"%s\"; " micalg "boundary=\"%s\"\n\n" boundary get-buffer kill-buffer smime-noverify-buffer smime-verify-buffer nil buffer-string gnus-info "Failed" put-text-property gnus-details "OpenSSL failed to verify message integrity:\n" "-------------------------------------------\n" smime-pkcs7-region smime-pkcs7-certificates-region ((byte-code "\301!\203\n\302!\210\301\207" [#2=#:temp-buffer buffer-name kill-buffer] 2)) re-search-forward "-----END CERTIFICATE-----" t smime-pkcs7-email-region append smime-buffer-as-string-region mapcar downcase from "" "Sender address forged" "Ok (sender authenticated)" "Ok (sender not trusted)" "Sender claimed to be: " "\n" "Addresses in certificate: " mapconcat identity ", " "No addresses found in certificate. (Requires OpenSSL 0.9.6 or later.)" "OpenSSL output:\n" "---------------\n" "Certificate(s) inside S/MIME signature:\n" "---------------------------------------\n" openssl-output addresses good-certificate good-signature buf mm-security-handle value parameter #2#] 17])
(defalias 'mml-smime-openssl-verify-test #[(handle ctl) "\207" [smime-openssl-program] 1])
(defvar mml-smime-epg-secret-key-id-list nil)
(defalias 'mml-smime-epg-passphrase-callback #[(context key-id ignore) "\306=\203\f\307	\310#\207\310\311\312=\203\313\202/\314\"\211\203+\315\316\nA#\202/\315\317\"\312=\2039\320\202:\"\211\205R
\321\f\"\210)B\322\f!*\207" [key-id context entry epg-user-id-alist passphrase mml-smime-passphrase-cache-expiry SYM epg-passphrase-callback-function nil password-read PIN "Passphrase for PIN: " assoc format "Passphrase for %s %s: " "Passphrase for %s: " "PIN" password-cache-add copy-sequence password-cache-expiry mml-smime-epg-secret-key-id-list] 6])
(defalias 'mml-smime-epg-find-usable-key #[(keys usage) "\300\301\215\207" [found (byte-code "\2055\303@!\211\203,\n\304	@!>\203%\305	@!\306>\204%\307\310@\"\210	A\211\204
)A\211\204\311\207" [keys pointer usage epg-key-sub-key-list epg-sub-key-capability epg-sub-key-validity (revoked expired) throw found nil] 4)] 2])
(autoload 'mml-compute-boundary "mml")
(defalias 'mml-smime-epg-sign #[(cont) "\306\307\310!\311\n!\312\313\314!\206/\315\314
\316=\203$\317	\320%\306$\202.%\205.\321\322%\"\"&\312\211'(\323	&\"\210)\203G\324	\325\"\210\326\327\330\217\210\331	\332\"\203\\\333\331	\332\"@!(eb\210\334\335\"c\210(\203v\334\336(*\236A\227\"c\210\337c\210\334\340\"c\210db\210\334\340\"c\210\341c\210\342'!\343\261\210db\210\334\344\"c\210db.\207" [inhibit-redisplay context cont boundary signer-key mm-sign-option t epg-make-context CMS mml-compute-boundary nil message-options-get mml-smime-epg-signers message-options-set guided epa-select-keys "Select keys for signing.\nIf no one is selected, default secret key is used.  " mapcar #[(signer) "\303\304	\305#\306\"\211\204\307\310\311	\"!\204\312\313	\"\210\n\207" [context signer signer-key mml-smime-epg-find-usable-key epg-list-keys t sign y-or-n-p format "No secret key for %s; skip it? " error "No secret key for %s"] 6] epg-context-set-signers epg-context-set-passphrase-callback mml-smime-epg-passphrase-callback error (byte-code "\303\304\305 \306\307#\310#\311\211\207" [context signature mml-smime-epg-secret-key-id-list epg-sign-string mm-replace-in-string buffer-string "\n" "
\n" t nil] 7) ((error (byte-code "\203\302@!\210A\211\204\303	@	A\"\207" [mml-smime-epg-secret-key-id-list error password-cache-remove signal] 4))) epg-context-result-for sign epg-new-signature-digest-algorithm format "Content-Type: multipart/signed; boundary=\"%s\";\n" "	micalg=%s; " "protocol=\"application/pkcs7-signature\"\n" "\n--%s\n" "Content-Type: application/pkcs7-signature; name=smime.p7s\nContent-Transfer-Encoding: base64\nContent-Disposition: attachment; filename=smime.p7s\n\n" base64-encode-string "\n" "--%s--\n" mml-smime-signers signers signature micalg mml-smime-cache-passphrase epg-digest-algorithm-alist] 8])
(defalias 'mml-smime-epg-encrypt #[(cont) "\306\307\310!\311 \312\313!\314\211\315!\314$%&
\204W\316\317\320\321\322\312\323!\206/\324\323\325\326!\"\327\"\"\"'\330=\203E\331%\332
#\202R\320\333
\"\211\204R\334\335!\210\324\313
\"\210(\203b\336%\337\"\210\334\340\341\217\210ed|\210eb\210\342c\210\343\f!c\210db.\207" [cont recipient-key boundary signers cipher recipients t epg-make-context CMS epg-configuration message-options-get mml-smime-epg-recipients nil mml-compute-boundary apply nconc mapcar #[(recipient) "\302	\"\206		C\207" [config recipient epg-expand-group] 3] split-string message-recipients message-options-set read-string "Recipients: " "[ \f	\n
,]+" guided epa-select-keys "Select recipients for encryption.\nIf no one is selected, symmetric encryption will be performed.  " #[(recipient) "\303\304	\"\305\"\211\204\306\307\310	\"!\204\311\312	\"\210\n\207" [context recipient recipient-key mml-smime-epg-find-usable-key epg-list-keys encrypt y-or-n-p format "No public key for %s; skip it? " error "No public key for %s"] 5] error "No recipient specified" epg-context-set-passphrase-callback mml-smime-epg-passphrase-callback (byte-code "\304\305 	#\306\211\207" [context recipients cipher mml-smime-epg-secret-key-id-list epg-encrypt-string buffer-string nil] 5) ((error (byte-code "\203\302@!\210A\211\204\303	@	A\"\207" [mml-smime-epg-secret-key-id-list error password-cache-remove signal] 4))) "Content-Type: application/pkcs7-mime;\n smime-type=enveloped-data;\n name=smime.p7m\nContent-Transfer-Encoding: base64\nContent-Disposition: attachment; filename=smime.p7m\n\n" base64-encode-string config context inhibit-redisplay mm-encrypt-option mml-smime-cache-passphrase] 10])
(defalias 'mml-smime-epg-verify #[(handle ctl) "\300\301\215\207" [error (byte-code "\306\307\211\211\211\211\310\311\312\313@#\206\314\306#\211\2039\315A\314\307\306$\2064\315A\316\307\306$\211\204] \317\320!\"\211\205U\321\312@G\"!@%+\210\322\323\"\210\324	\325\326#\327\330!\323\331\332\217\210 \317\333\334\f\335\"!!\"\211\205\215\321\312@G\"!@%+\210.\207" [signature part signature-file plain context inhibit-redisplay t nil mm-find-raw-part-by-type get-text-property 0 protocol "application/pkcs7-signature" mm-find-part-by-type "application/x-pkcs7-signature" gnus-info "Corrupted" put-text-property throw error mm-replace-in-string "\n" "
\n" epg-make-context CMS (byte-code "\304\305	!\n#\304\207" [context signature part plain epg-verify-string mm-get-part] 4) ((error (byte-code "\305\306\211\205\307\310@G\n	@%+\210\f@\311=\2036\312\313\211\2051\307\310@G\n	@%+\210\202O\312\314\315\f\"\211\205M\307\310@G\n	@%+\210\316\304\"\207" [mm-security-handle value parameter handle error gnus-info "Failed" put-text-property 0 quit gnus-details "Quit." format "%S" throw] 7))) epg-verify-result-to-string epg-context-result-for verify ctl handle mm-security-handle value parameter] 7)] 2])
(defalias 'mml-smime-epg-verify-test #[(handle ctl) "\300\207" [t] 1])
(provide 'mml-smime)

MMCT - 2023