;ELC   
;;; Compiled
;;; in Emacs version 30.1
;;; with all optimizations.


#@121 Name of GnuTLS command line tool.
This program is used when GnuTLS is used, i.e. when
`starttls-use-gnutls' is non-nil.#@2 #@163 The program to run in a subprocess to open an TLSv1 connection.
This program is used when the `starttls' command is used,
i.e. when `starttls-use-gnutls' is nil.#@58 Whether to use GnuTLS instead of the `starttls' command.#@129 Extra arguments to `starttls-program'.
These apply when the `starttls' command is used, i.e. when
`starttls-use-gnutls' is nil.#@272 Extra arguments to `starttls-gnutls-program'.
These apply when GnuTLS is used, i.e. when `starttls-use-gnutls' is non-nil.

For example, non-TLS compliant servers may require
("--protocols" "ssl3").  Invoke "gnutls-cli --help" to
find out which parameters are available.#@76 Value for `process-connection-type' to use when starting STARTTLS process.#@105 Regular expression indicating successful connection.
The default is what GnuTLS's "gnutls-cli" outputs.#@104 Regular expression indicating failed TLS handshake.
The default is what GnuTLS's "gnutls-cli" outputs.#@108 Regular expression indicating completed TLS handshakes.
The default is what GnuTLS's "gnutls-cli" outputs.#@229 Negotiate TLS on PROCESS opened by `open-starttls-stream'.
This should typically only be done once.  It typically returns a
multi-line informational message with information about the
handshake, or nil on failure.

(fn PROCESS)
(byte-code "\300\301\302\303\304\305\306\307&\210\310\311\312\313\314DD\315\304\316\317\320&\210\310\321\312\313\322DD\323\317\320%\210\310\324\312\313\325DD\326\304\316\317\327&\210\310\330\312\313\331DD\332\317\333%\210\310\334\312\313\335DD\336\304\316\317\337&\210\310\340\312\313\341DD\342\304\316\317\327&\210\310\343\312\313\344DD\345\304\316\317\346&\210\310\347\312\313\350DD\351\304\316\317\346&\210\310\352\312\313\353DD\354\304\316\317\346&\207" [custom-declare-group starttls nil "Support for `Transport Layer Security' protocol." :version "21.1" :group mail custom-declare-variable starttls-gnutls-program funcall function #[0 "\300\207" ["gnutls-cli"] 1 (#$ . 208)] (#$ . 84) "22.1" :type string starttls-program #[0 "\300\207" ["starttls"] 1 (#$ . 208)] (#$ . 215) starttls-use-gnutls #[0 "\301!?\207" [starttls-program executable-find] 2 (#$ . 208)] (#$ . 382) boolean starttls-extra-args #[0 "\300\207" [nil] 1 (#$ . 208)] (#$ . 445) (repeat string) starttls-extra-arguments #[0 "\300\207" [nil] 1 (#$ . 208)] (#$ . 579) (repeat string) starttls-process-connection-type #[0 "\300\207" [nil] 1 (#$ . 208)] (#$ . 855) starttls-connect #[0 "\300\207" ["- Simple Client Mode:\n\n"] 1 (#$ . 208)] (#$ . 936) regexp starttls-failure #[0 "\300\207" ["\\*\\*\\* Handshake has failed"] 1 (#$ . 208)] (#$ . 1046) starttls-success #[0 "\300\207" ["- Compression: "] 1 (#$ . 208)] (#$ . 1155)] 8)
(defalias 'starttls-negotiate-gnutls #[257 "\302\211\211\211\211\303!\211\262\204 \304\305!\306\"\207rq\210\212db\262\304\305!\306\"\210\307!\203` \310!\311=\203` \212b\210\312\302\313#\211\262\206O \312	\302\313#\211\262)\204` \314\315\"\210\316\317!\210\202( \320d\"\262d|\210\203r \211\203\200 \203\204 \211\203\204 W\203\204 \202\212 \321\322\"\210\302*\207" [starttls-success starttls-failure nil process-buffer signal-process process-id SIGALRM processp process-status run re-search-forward t accept-process-output 1.1 sit-for 0.1 buffer-substring-no-properties message "STARTTLS negotiation failed: %s"] 10 (#$ . 1268)])#@16 

(fn PROCESS)
(defalias 'starttls-negotiate #[257 "\203 \301!\207\302\303!\304\"\207" [starttls-use-gnutls starttls-negotiate-gnutls signal-process process-id SIGALRM] 4 (#$ . 3570)])#@30 

(fn NAME BUFFER HOST PORT)
(defalias 'starttls-open-stream-gnutls #[1028 "\305\306#\210\307rq\210d)\310\311\n\312	\313\n\250\203' \314!\202) \n&	\315\307\"\210\316!\203^ \317!\320=\203^ rq\210b\210\321\f\307\322#)\211\262\204^ \323\324\"\210\325\324!\210\2021 \203n rq\210|)\210\202t \326!\266\307\305\327\203\203 \330\202\204 \331$)\210\207" [starttls-process-connection-type process-connection-type starttls-gnutls-program starttls-extra-arguments starttls-connect message "Opening STARTTLS connection to `%s:%s'..." nil apply start-process "-s" "-p" int-to-string set-process-query-on-exit-flag processp process-status run re-search-forward t accept-process-output 0.1 sit-for delete-process "Opening STARTTLS connection to `%s:%s'...%s" "done" "failed"] 16 (#$ . 3764)])#@796 Open a TLS connection for a port to a host.
Returns a subprocess object to represent the connection.
Input and output work as for subprocesses; `delete-process' closes it.
Args are NAME BUFFER HOST PORT.
NAME is name for process.  It is modified if necessary to make it unique.
BUFFER is the buffer (or `buffer-name') to associate with the process.
 Process output goes at end of that buffer, unless you specify
 a filter function to handle the output.
 BUFFER may be also nil, meaning that this process is not associated
 with any buffer
Third arg is name of the host to connect to, or its IP address.
Fourth arg PORT is an integer specifying a port to connect to.
If `starttls-use-gnutls' is nil, this may also be a service name, but
GnuTLS requires a port number.

(fn NAME BUFFER HOST PORT)
(defalias 'starttls-open-stream #[1028 "\203 \305$\207\306\307\310\311\"#\210	\312\313\310\311\"\f&\314\315\")\210\207" [starttls-use-gnutls starttls-process-connection-type process-connection-type starttls-program starttls-extra-args starttls-open-stream-gnutls message "Opening STARTTLS connection to `%s:%s'" format "%s" apply start-process set-process-query-on-exit-flag nil] 13 (#$ . 4581)])#@50 Say whether the STARTTLS programs are available.
(defalias 'starttls-available-p #[0 "\304>?\205 \305	\203 \n\202 !\207" [system-type starttls-use-gnutls starttls-gnutls-program starttls-program (windows-nt ms-dos) executable-find] 2 (#$ . 5796)])
(provide 'starttls)
