MMCT TEAM
Server IP : 111.118.215.189  /  Your IP : 18.221.20.252
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/net/

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : //usr/share/emacs/24.3/lisp/net/network-stream.elc
;ELC
;;; Compiled by mockbuild@buildfarm06-new.corp.cloudlinux.com on Fri Oct 11 10:10:33 2024
;;; from file /builddir/build/BUILD/emacs-24.3/lisp/net/network-stream.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!\210\300\302!\210\300\303!\210\304\305\306\"\210\304\307\306\"\207" [require tls starttls auth-source autoload gnutls-negotiate "gnutls" open-gnutls-stream] 3)
#@3643 Open a TCP connection to HOST, optionally with encryption.
Normally, return a network process object; with a non-nil
:return-list parameter, return a list instead (see below).
Input and output work as for subprocesses; `delete-process'
closes it.

NAME is the name for the process.  It is modified if necessary to
 make it unique.
BUFFER is a buffer or buffer name to associate with the process.
 Process output goes at end of that buffer.  BUFFER may be nil,
 meaning that the process is not associated with any buffer.
HOST is the name or IP address of the host to connect to.
SERVICE is the name of the service desired, or an integer specifying
 a port number to connect to.

The remaining PARAMETERS should be a sequence of keywords and
values:

:type specifies the connection type, one of the following:
  nil or `network'
             -- Begin with an ordinary network connection, and if
                the parameters :success and :capability-command
                are also supplied, try to upgrade to an encrypted
                connection via STARTTLS.  Even if that
                fails (e.g. if HOST does not support TLS), retain
                an unencrypted connection.
  `plain'    -- An ordinary, unencrypted network connection.
  `starttls' -- Begin with an ordinary connection, and try
                upgrading via STARTTLS.  If that fails for any
                reason, drop the connection; in that case the
                returned object is a killed process.
  `tls'      -- A TLS connection.
  `ssl'      -- Equivalent to `tls'.
  `shell'    -- A shell connection.

:return-list specifies this function's return value.
  If omitted or nil, return a process object.  A non-nil means to
  return (PROC . PROPS), where PROC is a process object and PROPS
  is a plist of connection properties, with these keywords:
   :greeting -- the greeting returned by HOST (a string), or nil.
   :capabilities -- a string representing HOST's capabilities,
                    or nil if none could be found.
   :type -- the resulting connection type; `plain' (unencrypted)
            or `tls' (TLS-encrypted).

:end-of-command specifies a regexp matching the end of a command.

:end-of-capability specifies a regexp matching the end of the
  response to the command specified for :capability-command.
  It defaults to the regexp specified for :end-of-command.

:success specifies a regexp matching a message indicating a
  successful STARTTLS negotiation.  For instance, the default
  should be "^3" for an NNTP connection.

:capability-command specifies a command used to query the HOST
  for its capabilities.  For instance, for IMAP this should be
  "1 CAPABILITY\r\n".

:starttls-function specifies a function for handling STARTTLS.
  This function should take one parameter, the response to the
  capability command, and should return the command to switch on
  STARTTLS if the server supports STARTTLS, and nil otherwise.

:always-query-capabilities says whether to query the server for
  capabilities, even if we're doing a `plain' network connection.

:client-certificate should either be a list where the first
  element is the certificate key file name, and the second
  element is the certificate file name itself, or `t', which
  means that `auth-source' will be queried for the key and the
  certificate.  This parameter will only be used when doing TLS
  or STARTTLS connections.

:use-starttls-if-possible is a boolean that says to do opportunistic
STARTTLS upgrades even if Emacs doesn't have built-in TLS functionality.

:nowait is a boolean that says the connection should be made
  asynchronously, if possible.
(defalias 'open-network-stream #[(name buffer host service &rest parameters) "\306\307!\204\n\310\311!\210\312\313\"\312\314\"	\204F\n\315=\2042\n\316>\203F\312\317\"\2032\312\320\"\204F\307\321\322\f\323
\324)\325\312\325\"&\n\202\272\f\206M\326\327!\n\315=\203^\312\330\"\204^\331\202\200\n\332>\203h\333\202\200\n\334>\203r\335\202\200\n\336=\203|\337\202\200\310\340\n\"\341*+,\342\216+,
)%*)	\203\266*@\343*A@\344\345*8\313\346*8\347\350*8\257	\202\271*@+*\207" [parameters return-list type name buffer host featurep make-network-process error "Emacs was compiled without networking support" plist-get :type :return-list plain (nil network) :success :capability-command :name :buffer :host :service :nowait generate-new-buffer " *stream buffer*" :always-query-capabilities network-stream-open-plain (nil network starttls plain) network-stream-open-starttls (tls ssl) network-stream-open-tls shell network-stream-open-shell "Invalid connection type %s" nil ((byte-code "\204\303	@!\203\304	@\305\"\210\306\n!\210\305\207" [buffer result work-buffer processp set-process-buffer nil kill-buffer] 3)) :greeting :capabilities 2 3 :error 4 service result fun work-buffer] 13 (#$ . 744)])
(defalias 'network-stream-certificate #[(host service parameters) "\306\307\"\211<\203	\2028	\310=\2058\311\312\313\314\n\315&@\306\f\316\"\306\f\317\"
\2057\2057
D+)\207" [parameters spec host service auth-info key plist-get :client-certificate t auth-source-search :max 1 :host :port :key :cert cert] 8])
(defalias 'open-protocol-stream 'open-network-stream)
(defalias 'network-stream-open-plain #[(name buffer host service parameters) "rq\210`)\306\307	\310\311\n\312\313\314\f\313\"&\n
\315
\314\f\316\"#\317\320F*\207" [buffer name host service parameters stream make-network-process :name :buffer :host :service :nowait plist-get network-stream-get-response :end-of-command nil plain start] 14])
(defalias 'network-stream-open-starttls #[(name buffer host service parameters) "rq\210`)\306\n\307\"\310=\306\n\311\"\306\n\312\"\306\n\313\"1\306\n\314\"2\306\n\315\"\206-23\316\3174\320\3215\3226&7\3237	2#8\324713#9\325:\326\327!\205]\327 ;\330\211<=\330>9\203{
\203{\f\203{\f9!==\203\213;\206\222\204\220\306\n\331\"\205\222\332 \211<\203\213\306\n\307\"\325=\204\213;\204\3337!\210rq\210d)\203\273?\202\277\334?B?@@\33556\n#\211A\203\370\336\337A@!\340\337AA@!F?\244?\341\337A@!\342\337AA@!F@\244@\343456$7+\3237	2#\210\306\n\344\"\203\324713#\210\3247=2#\211B\205/\345
B\")\203\213;\203J\33556\n#A\330\346\347\217\210)\202V\3507!\204V\3337!\210\3517!\352>\203e\353:\202\201\204\201\316\3174\320\3215\3226&7\3237	2#\210\324713#9\203\310:\325=\203\310=\203\240<\203\244\354\202\276C\355>\203\257\356\202\276\357D\203\272E\202\274F\360Q>\3337!\210\3307789:>\257.\207" [buffer start parameters require-tls starttls-function success-string plist-get :type starttls :starttls-function :success :capability-command :end-of-command :end-of-capability make-network-process :name :buffer :host :service network-stream-get-response network-stream-command plain fboundp gnutls-available-p nil :use-starttls-if-possible starttls-available-p delete-process "--insecure" network-stream-certificate "--x509keyfile" expand-file-name "--x509certfile" "--key-file" "--cert-file" starttls-open-stream :always-query-capabilities string-match (byte-code "\303\304\305	\306\n\205\f\nC&\207" [stream host cert gnutls-negotiate :process :hostname :keylist] 7) ((gnutls-error (delete-process stream))) starttls-negotiate process-status (open run) tls "Server does not support TLS" (windows-nt ms-dos) "Emacs does not support TLS" "Emacs does not support TLS, and no external `" "' program was found" capability-command eoc eo-capa name host service stream greeting capabilities resulting-type builtin-starttls starttls-available starttls-command error starttls-extra-arguments starttls-extra-args cert response system-type starttls-use-gnutls starttls-gnutls-program starttls-program] 10])
(defalias 'network-stream-command #[(stream command eoc) "\205r\304	!q\210d)\305	\"\210\306	\n#)\207" [command stream start eoc process-buffer process-send-string network-stream-get-response] 4])
(defalias 'network-stream-get-response #[(stream start end-of-command) "\2055r\303	!q\210\212\nb\210\304	!\305>\203*\306\307\310#\204*\311	\312\313#\210\nb\210\202\n`U?\2054\n`{*\207" [end-of-command stream start process-buffer process-status (open run) re-search-forward nil t accept-process-output 0 50] 4])
(defalias 'network-stream-open-tls #[(name buffer host service parameters) "rq\210d\306\307!\205\307 \211\203\310\202\311\f
$\312\313\"\2043\314\211\211\315F\202t\n\204Y\203Y\316	#\210eb\210\317\314\320#\203Y\321\224b\210e\322 |\210\312\323\"\316	#\324#\325F)-\207" [buffer start use-builtin-gnutls name host service fboundp gnutls-available-p open-gnutls-stream open-tls-stream plist-get :end-of-command nil plain network-stream-get-response re-search-forward t 0 line-beginning-position :capability-command network-stream-command tls stream parameters eoc capability-command] 7])
(defalias 'network-stream-open-shell #[(name buffer host service parameters) "\306\307!\210\310\311\"\310\312\"rq\210`)\313\314\307\310\315\"\316\317\320$\"%)\211\321\f\n#\322	\310\323\"\206D\n#\324F,\207" [parameters capability-command eoc buffer start process-connection-type require format-spec plist-get :capability-command :end-of-command nil start-process :shell-command format-spec-make 115 112 network-stream-get-response network-stream-command :end-of-capability plain name shell-file-name shell-command-switch host service stream] 13])
(provide 'network-stream)

MMCT - 2023