HEX
Server: Apache
System: Linux zacp120.webway.host 4.18.0-553.50.1.lve.el8.x86_64 #1 SMP Thu Apr 17 19:10:24 UTC 2025 x86_64
User: govancoz (1003)
PHP: 8.3.26
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: //usr/local/lib/python3.10/multiprocessing/__pycache__/connection.cpython-310.opt-2.pyc
o

�i�{�@s�gd�ZddlZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
mZddl
mZm
Z
ddlmZejZzddlZddlmZmZmZmZWneybejdkr^�dZYnwd	Zd
Ze��ZdZdgZeed�r|dZedg7Zejdkr�d
Zed
g7Zefdd�Z dd�Z!dd�Z"dd�Z#dd�Z$Gdd�d�Z%er�Gdd�de%�Z&Gdd�de%�Z'Gdd�de(�Z)dPd d!�Z*ejdkr�dQd#d$�Z+ndQd%d$�Z+Gd&d'�d'e(�Z,d(d)�Z-ejdkr�Gd*d+�d+e(�Z.d,d-�Z/d.Z0d/Z1d0Z2d1Z3d2d3�Z4d4d5�Z5Gd6d7�d7e(�Z6d8d9�Z7d:d;�Z8Gd<d=�d=e)�Z9d>d?�Z:ejdk�r3d@dA�Z;ej<ej=hZ>dRdBdC�Z?nddl@Z@ee@dD��rAe@jAZBne@jCZBdRdEdC�Z?ejdk�rmdFdG�ZDdHdI�ZEe�Fe'eD�dJdK�ZGdLdM�ZHe�Fe&eG�dSdNdG�ZDdOdI�ZEe�Fe'eD�dS)S)�Client�Listener�Pipe�wait�N�)�util)�AuthenticationError�BufferTooShort)�	reduction)�
WAIT_OBJECT_0�WAIT_ABANDONED_0�WAIT_TIMEOUT�INFINITE�win32i g4@�AF_INET�AF_UNIX�AF_PIPEcCst��|S�N��time�	monotonic)�timeout�r�7/usr/local/lib/python3.10/multiprocessing/connection.py�
_init_timeout;�rcCst��|kSrr)�trrr�_check_timeout>rrcCsV	|dkrdS|dkrtjdt��d�S|dkr'tjdt��tt�fdd�Std	��)
Nr)�	localhostrrz	listener-)�prefix�dirrz\\.\pipe\pyc-%d-%d-�zunrecognized family)	�tempfile�mktempr�get_temp_dir�os�getpid�next�
_mmap_counter�
ValueError��familyrrr�arbitrary_addressEs��r,cCsT	tjdkr|dkrtd|��tjdkr$|dkr&tt|�s(td|��dSdSdS)NrrzFamily %s is not recognized.r)�sys�platformr)�hasattr�socketr*rrr�_validate_familySs
�r1cCsR	t|�tkr	dSt|�tur|�d�rdSt|�tus!t�|�r#dStd|��)Nrz\\rrzaddress type of %r unrecognized)�type�tuple�str�
startswithr�is_abstract_socket_namespacer))�addressrrr�address_type_sr8c@s�eZdZdZd+dd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	e
dd��Ze
dd��Ze
dd��Z
dd�Zdd�Zd,dd�Zdd�Zd-dd�Zd.d d!�Zd"d#�Zd/d%d&�Zd'd(�Zd)d*�ZdS)0�_ConnectionBaseNTcCs>|��}|dkrtd��|s|std��||_||_||_dS)Nrzinvalid handlez6at least one of `readable` and `writable` must be True)�	__index__r)�_handle�	_readable�	_writable)�self�handle�readable�writablerrr�__init__us�
z_ConnectionBase.__init__cCs|jdur|��dSdSr�r;�_close�r>rrr�__del__�s
�z_ConnectionBase.__del__cCs|jdur	td��dS)Nzhandle is closed)r;�OSErrorrErrr�
_check_closed�s
�z_ConnectionBase._check_closedcC�|jstd��dS)Nzconnection is write-only)r<rGrErrr�_check_readable���z_ConnectionBase._check_readablecCrI)Nzconnection is read-only)r=rGrErrr�_check_writable�rKz_ConnectionBase._check_writablecCs$|jr
d|_td��|��td��)NFzbad message length)r=r<�closerGrErrr�_bad_message_length�s
�z#_ConnectionBase._bad_message_lengthcCs	|jduSr�r;rErrr�closed�s
z_ConnectionBase.closedcC�	|jSr)r<rErrrr@��z_ConnectionBase.readablecCrQr)r=rErrrrA�rRz_ConnectionBase.writablecCs	|��|jSr)rHr;rErrr�fileno�sz_ConnectionBase.filenocCs.	|jdurz
|��Wd|_dSd|_wdSrrCrErrrrM�s

�z_ConnectionBase.closercCs�	|��|��t|�}|jdkrtt|��}t|�}|dkr$td��||kr,td��|dur5||}n|dkr=td��|||krGtd��|�||||��dS)Nrrzoffset is negativezbuffer length < offsetzsize is negativezbuffer length < offset + size)rHrL�
memoryview�itemsize�bytes�lenr)�_send_bytes)r>�buf�offset�size�m�nrrr�
send_bytes�s$

z_ConnectionBase.send_bytescCs&	|��|��|�t�|��dSr)rHrLrX�_ForkingPickler�dumps�r>�objrrr�send�sz_ConnectionBase.sendcCsL	|��|��|dur|dkrtd��|�|�}|dur"|��|��S)Nrznegative maxlength)rHrJr)�_recv_bytesrN�getvalue)r>�	maxlengthrYrrr�
recv_bytes�s
z_ConnectionBase.recv_bytescCs�	|��|��t|��K}|j}|t|�}|dkrtd��||kr'td��|��}|��}|||kr;t|�	���|�
d�|�||||||��|Wd�S1s[wYdS)Nrznegative offsetzoffset too large)rHrJrTrUrWr)rd�tellr	re�seek�readinto)r>rYrZr\rU�bytesize�resultr[rrr�recv_bytes_into�s(


�$�z_ConnectionBase.recv_bytes_intocCs(	|��|��|��}t�|���Sr)rHrJrdr_�loads�	getbuffer)r>rYrrr�recv�s
z_ConnectionBase.recv�cCs	|��|��|�|�Sr)rHrJ�_poll�r>rrrr�poll�s
z_ConnectionBase.pollcC�|SrrrErrr�	__enter__�z_ConnectionBase.__enter__cC�|��dSr�rM�r>�exc_type�	exc_value�exc_tbrrr�__exit__rz_ConnectionBase.__exit__)TT)rNr)r)rq)�__name__�
__module__�__qualname__r;rBrFrHrJrLrN�propertyrPr@rArSrMr^rcrgrmrprtrvr~rrrrr9rs0









r9c@sBeZdZ	dZejfdd�Zdd�Zd
dd�Zd	d
�Z	dd�Z
dS)�PipeConnectionFcC�||j�dSrrO)r>Z_CloseHandlerrrrD�zPipeConnection._closec	Csntj|j|dd�\}}z#z|tjkrt�|jgdt�}Wn|���W|�d�\}}dS|�d�\}}w)NT��
overlappedF)	�_winapiZ	WriteFiler;�ERROR_IO_PENDING�WaitForMultipleObjects�eventr�cancel�GetOverlappedResult)r>rY�ov�err�waitresZnwrittenrrrrXs

���"zPipeConnection._send_bytesNc	
Cs\|jr
d|_t��S|durdnt|d�}z�tj|j|dd�\}}z@z|tjkr1t�|j	gdt
�}Wn|���W|�d�\}}|dkrUt��}|�
|���|WS|tjkra|�||�WSn2|�d�\}}|dkr�t��}|�
|���|YWS|tjkr�|�||�YWSwWtd��ty�}z	|jtjkr�t��d}~ww)NF�Tr�rz.shouldn't get here; expected KeyboardInterrupt)�_got_empty_message�io�BytesIO�minr��ReadFiler;r�r�r�rr�r��writeroZERROR_MORE_DATA�_get_more_datarG�winerror�ERROR_BROKEN_PIPE�EOFError�RuntimeError)	r>�maxsizeZbsizer�r�r�Znread�f�errrrd&sR

�

���
��
����zPipeConnection._recv_bytescCs.|js
t�|j�ddkrdStt|g|��S)NrT)r�r��
PeekNamedPiper;�boolrrsrrrrrFszPipeConnection._pollcCs�|��}t��}|�|�t�|j�d}|dur%t|�||kr%|��tj	|j|dd�\}}|�
d�\}}|�|���|S)NrTr�)ror�r�r�r�r�r;rWrNr�r�)r>r�r�rYr��leftr�Zrbytesrrrr�Ls
zPipeConnection._get_more_datar)rr�r�r�r��CloseHandlerDrXrdrrr�rrrrr�s
 r�c@szeZdZ	erejfdd�ZejZej	Z
n
ejfdd�Zej
ZejZ
efdd�Ze
fdd�Zdd	�Zddd�Zd
d�Zd
S)�
ConnectioncCr�rrO�r>rDrrrrDcr�zConnection._closecCr�rrOr�rrrrDhr�cCs8t|�}	||j|�}||8}|dkrdS||d�}q)NTr)rWr;)r>rYr��	remainingr]rrr�_sendms�zConnection._sendcCsft��}|j}|}|dkr1|||�}t|�}|dkr$||kr t�td��|�|�||8}|dks
|S)Nrzgot end of file during message)r�r�r;rWr�rGr�)r>r[�readrYr?r��chunkr]rrr�_recvvs

�
zConnection._recvcCs�t|�}|dkr%t�dd�}t�d|�}|�|�|�|�|�|�dSt�d|�}|dkr;|�|�|�|�dS|�||�dS)Ni����!i����!Qi@)rW�struct�packr�)r>rYr]�
pre_header�headerrrrrX�s


zConnection._send_bytesNcCs^|�d�}t�d|���\}|dkr |�d�}t�d|���\}|dur*||kr*dS|�|�S)N�r�r��r�)r�r��unpackre)r>r�rYr[rrrrd�s


zConnection._recv_bytescCst|g|�}t|�Sr)rr�)r>r�rrrrrr�szConnection._pollr)rr�r�r��_multiprocessingZclosesocketrDrc�_writerp�_readr%rMr�r�r�r�rXrdrrrrrrr�\s	

r�c@sPeZdZ	ddd�Zdd�Zdd�Zed	d
��Zedd��Zd
d�Z	dd�Z
dS)rNrcCsp|p	|rt|�p	t}|pt|�}t|�|dkrt||�|_nt|||�|_|dur3t|t�s3t	d��||_
dS�Nrzauthkey should be a byte string)r8�default_familyr,r1�PipeListener�	_listener�SocketListener�
isinstancerV�	TypeError�_authkey)r>r7r+�backlog�authkeyrrrrB�s�
zListener.__init__cCs@	|jdur
td��|j��}|jrt||j�t||j�|S)Nzlistener is closed)r�rG�acceptr��deliver_challenge�answer_challenge)r>�crrrr��s

zListener.acceptcCs&	|j}|durd|_|��dSdSr)r�rM)r>�listenerrrrrM�s�zListener.closecC�|jjSr)r��_addressrErrrr7��zListener.addresscCr�r)r��_last_acceptedrErrr�
last_accepted�r�zListener.last_acceptedcCrurrrErrrrv�rwzListener.__enter__cCrxrryrzrrrr~�rzListener.__exit__)NNrN)rr�r�rBr�rMr�r7r�rvr~rrrrr�s
	

rcCsj	|pt|�}t|�|dkrt|�}nt|�}|dur%t|t�s%td��|dur3t||�t||�|Sr�)	r8r1�
PipeClient�SocketClientr�rVr�r�r�)r7r+r�r�rrrr�s


rTcCsr	|r#t��\}}|�d�|�d�t|���}t|���}||fSt��\}}t|dd�}t|dd�}||fS)NTF�rA�r@)r0�
socketpair�setblockingr��detachr%�pipe)�duplex�s1�s2�c1�c2�fd1�fd2rrrrs

�rc

Cs�	td�}|rtj}tjtjB}tt}}ntj}tj}dt}}t�||tjBtj	Btj
tjBtjBd||tj
tj�}t�||dtjtjtjtj�}t�|tjdd�tj|dd�}|�d�\}	}
t||d�}t||d�}||fS)NrrrTr�r�r�)r,r��PIPE_ACCESS_DUPLEX�GENERIC_READ�
GENERIC_WRITE�BUFSIZEZPIPE_ACCESS_INBOUND�CreateNamedPipe�FILE_FLAG_OVERLAPPED�FILE_FLAG_FIRST_PIPE_INSTANCE�PIPE_TYPE_MESSAGE�PIPE_READMODE_MESSAGE�	PIPE_WAIT�NMPWAIT_WAIT_FOREVER�NULL�
CreateFile�
OPEN_EXISTING�SetNamedPipeHandleState�ConnectNamedPiper�r�)
r�r7Zopenmode�accessZobsizeZibsizeZh1Zh2r��_r�r�r�rrrrs>

�
�
�	�
�c@s(eZdZ	d	dd�Zdd�Zdd�ZdS)
r�rcCs�t�tt|��|_z)tjdkr|j�tjtjd�|j�d�|j�	|�|j�
|�|j��|_Wn
t
y?|j���w||_d|_|dkr]t�|�s]tj|tj|fdd�|_dSd|_dS)N�posixrTrr��args�exitpriority)r0�getattr�_socketr%�name�
setsockopt�
SOL_SOCKET�SO_REUSEADDRr��bind�listen�getsocknamer�rGrM�_familyr�rr6�Finalize�unlink�_unlink)r>r7r+r�rrrrBGs*

�
��
zSocketListener.__init__cCs&|j��\}|_|�d�t|���S�NT)r�r�r�r�r�r��r>�srrrr�`s
zSocketListener.acceptcCsNz|j��W|j}|durd|_|�dSdS|j}|dur&d|_|�wwr)r�rMr�)r>r�rrrrMes
���zSocketListener.closeN)r)rr�r�rBr�rMrrrrr�Cs

r�cCs^	t|�}t�tt|���}|�d�|�|�t|���Wd�S1s(wYdSr�)r8r0r�r��connectr�r�)r7r+rrrrr�os


$�r�c@s6eZdZ	ddd�Zddd�Zdd�Zed	d
��ZdS)
r�NcCsL||_|jdd�g|_d|_t�d|j�tj|tj|j|jfdd�|_	dS)NT)�firstz listener created with address=%rrr�)
r��_new_handle�
_handle_queuer�r�	sub_debugr�r��_finalize_pipe_listenerrM)r>r7r�rrrrB�s�zPipeListener.__init__Fc
CsHtjtjB}|r
|tjO}t�|j|tjtjBtjBtj	t
t
tjtj�Sr)
r�r�r�r�r�r�r�r�r�ZPIPE_UNLIMITED_INSTANCESr�r�r�)r>r�flagsrrrr�s

��zPipeListener._new_handlec
Cs�|j�|���|j�d�}z	tj|dd�}Wnty3}z|jtjkr&�WYd}~t|�Sd}~wwz%zt�	|j
gdt�}Wn
|��t�
|��W|�d�\}}t|�S|�d�\}}w)NrTr�F)r�appendr�popr�r�rGr�Z
ERROR_NO_DATAr�r�rr�r�r�r�)r>r?r�r��resr�r�rrrr��s0
���
�
��zPipeListener.acceptcCs$t�d|�|D]}t�|�qdS)Nz closing listener with address=%r)rrr�r�)�queuer7r?rrrr�s�z$PipeListener._finalize_pipe_listenerr)F)rr�r�rBrr��staticmethodrrrrrr�s

r�c
Cs�	t�}	zt�|d�t�|tjtjBdtjtjtjtj�}Wn t	y@}z|j
tjtjfvs5t
|�r6�WYd}~nd}~wwnqt�|tjdd�t|�S)Nr��r)rr�Z
WaitNamedPiper�r�r�r�r�r�rGr�ZERROR_SEM_TIMEOUTZERROR_PIPE_BUSYrr�r�r�)r7r�hr�rrrr��s4
�������
�r��s#CHALLENGE#s	#WELCOME#s	#FAILURE#cCs�ddl}t|t�std�t|����t�t�}|�	t
|�|�||d���}|�
d�}||kr7|�	t�dS|�	t�td��)Nr� Authkey must be bytes, not {0!s}�md5�zdigest received was wrong)�hmacr�rVr)�formatr2r%�urandom�MESSAGE_LENGTHr^�	CHALLENGE�new�digestrg�WELCOME�FAILUREr��
connectionr�r�messager�responserrrr��s
�


r�cCsxddl}t|t�std�t|����|�d�}|tt�d�}|�	||d��
�}|�|�|�d�}|tkr:t
d��dS)Nrrrrzdigest sent was rejected)rr�rVr)rr2rgrWrrrr^rrrrrrr��s
�


�r�c@s$eZdZdd�Zdd�Zdd�ZdS)�ConnectionWrappercCs6||_||_||_dD]
}t||�}t|||�qdS)N)rSrMrtrgr^)�_conn�_dumps�_loadsr��setattr)r>�connr`rn�attrrbrrrrB�s
�zConnectionWrapper.__init__cCs|�|�}|j�|�dSr)r#r"r^)r>rbrrrrrcs
zConnectionWrapper.sendcCs|j��}|�|�Sr)r"rgr$rrrrrps

zConnectionWrapper.recvN)rr�r�rBrcrprrrrr!�sr!cCst�|fdddd��d�S)Nr�utf-8)�	xmlrpclibr`�encode)rbrrr�
_xml_dumpssr+cCst�|�d��\\}}|S)Nr()r)rn�decode)rrb�methodrrr�
_xml_loadssr.c@seZdZdd�ZdS)�XmlListenercCs"ddlmat�|�}t|tt�S�Nr)�
xmlrpc.client�clientr)rr�r!r+r.rarrrr�s
zXmlListener.acceptN)rr�r�r�rrrrr/sr/cOs"ddlmatt|i|��tt�Sr0)r1r2r)r!rr+r.)r��kwdsrrr�	XmlClientsr4cCs�t|�}g}|rZt�|d|�}|tkr	|St|kr$tt|�kr+nn|t8}nt|kr9tt|�krCntd��|t8}ntd��|�||�||dd�}d}|s|S)NFzShould not get hererr)	�listr�r�r
rrWrr�r	)Zhandlesr�L�readyrrrr�_exhaustive_wait%s$
 �

��
r8c
s�	|durt}n|dkrd}nt|dd�}t|�}i�g}t��t�}z�|D]�}zt|d�}Wnty@|�|��<Yq(wzt�|�dd�\}}Wnt	yj}zd|j
}}|tvr`�WYd}~nd}~ww|tjkr{|�
|�|�|j<q(|r�t��dd�dkr�z	|�d�\}	}Wnt	y�}z	|j
}WYd}~nd}~ww|s�t|d	�r�d|_��|�d}q(t���|�}W|D]}|��q�|D]D}z	|�d�\}	}Wnt	y�}z|j
}|tvr�WYd}~nd}~ww|tjk�r�|j}��|�|dk�rt|d	��rd|_q�nU|D]}|���q|D]G}z	|�d�\}	}Wnt	�yD}z|j
}|tv�r:�WYd}~nd}~ww|tjk�rc�|j}��|�|dk�rct|d	��rcd|_�qw���fd
d�|D���fdd
�|D�S)Nrrg�?rST�)�r9Fr�c3s�|]}�|VqdSrr)�.0r)�waithandle_to_objrr�	<genexpr>�s�zwait.<locals>.<genexpr>csg|]}|�vr|�qSrr)r;�o)�
ready_objectsrr�
<listcomp>�s�wait.<locals>.<listcomp>)r�intr5�setr��AttributeErrorr:r�r�rGr��
_ready_errorsr�r	r�r-Zgetwindowsversionr�r/r��addr8�keysr�ZERROR_OPERATION_ABORTED�update)
�object_listrZov_listZ
ready_handlesr>rSr�r�r�r�r)r?r<rr;s�����

��

���


���
���


��r�PollSelectorcCs�	t��E}|D]	}|�|tj�q|durt��|}	|�|�}|r1dd�|D�Wd�S|durH|t��}|dkrH|Wd�Sq1sLwYdS)NTcSsg|]\}}|j�qSr)�fileobj)r;�key�eventsrrrr@�srAr)�
_WaitSelector�register�	selectors�
EVENT_READrr�select)rIr�selectorrb�deadliner7rrrr�s$
���cCsf|��}t�|tjtj��}ddlm}|�|�}t||j	|j
ffWd�S1s,wYdS)Nr)�resource_sharer)rSr0�fromfdr�SOCK_STREAMr!rUZ	DupSocket�rebuild_connectionr@rA)r&r?rrU�dsrrr�reduce_connection�s
$�rZcCs|��}t|��||�Sr�r�r�)rYr@rA�sockrrrrX�srXcCsB|jrtjnd|jr
tjndB}t�|��|�}t||j|jffSr0)	r@r�ZFILE_GENERIC_READrAZFILE_GENERIC_WRITEr
Z	DupHandlerS�rebuild_pipe_connection)r&r��dhrrr�reduce_pipe_connection�s
�r_cC�|��}t|||�Sr)r�r�)r^r@rAr?rrrr]��r]cCs t�|���}t||j|jffSr)r
�DupFdrSrXr@rA)r&�dfrrrrZ�scCr`rr[)rcr@rA�fdrrrrX�ra)NN)Tr)I�__all__r�r%r-r0r�rr"�	itertoolsr�r!rrr	�contextr
�ForkingPicklerr_r�rrr
r�ImportErrorr.r��CONNECTION_TIMEOUT�countr(r��familiesr/rrr,r1r8r9r�r��objectrrrr�r�r�r�rrrrr�r�r!r+r.r/r4r8r�ZERROR_NETNAME_DELETEDrErrPrJrN�SelectSelectorrZrXrOr_r]rrrr�<module>s�	
�	



PT
=

,,
8	P