403Webshell
Server IP : 80.87.202.40  /  Your IP : 216.73.216.169
Web Server : Apache
System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64
User : bitrix ( 600)
PHP Version : 8.2.27
Disable Function : NONE
MySQL : OFF |  cURL : ON |  WGET : ON |  Perl : ON |  Python : OFF |  Sudo : ON |  Pkexec : ON
Directory :  /lib64/python3.9/site-packages/mercurial/__pycache__/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /lib64/python3.9/site-packages/mercurial/__pycache__/commandserver.cpython-39.opt-1.pyc
a

�+�b\b�@slddlmZddlZddlZddlZddlZddlZddlZddlZddl	Z	zddl
Z
e
jWney|ddl
mZ
Yn0ddlmZddlmZddlmZmZmZmZmZmZmZddlmZmZGd	d
�d
e�ZGdd�de�Z Gd
d�de�Z!ddd�iZ"dd�Z#Gdd�de�Z$d"dd�Z%Gdd�de�Z&dd�Z'dd�Z(Gdd�de�Z)Gd d!�d!e�Z*dS)#�)�absolute_importN�)�
selectors2)�_)�getattr)�encoding�error�loggingutil�pycompat�	repocache�util�vfs)�cborutil�procutilc@s4eZdZdZdd�Zedd��Zdd�Zdd	�Zd
S)�channeledoutputz^
    Write data to out in the following format:

    data length (unsigned int),
    data
    cCs||_||_dS�N)�out�channel)�selfrr�r�=/usr/lib64/python3.9/site-packages/mercurial/commandserver.py�__init__3szchanneledoutput.__init__cCs
d|jS�Ns<%c-channel>�r�rrrr�name7szchanneledoutput.namecCs6|sdS|j�t�d|jt|��|�|j��dS)N�>cI)r�write�struct�packr�len�flush)r�datarrrr;s zchanneledoutput.writecCs|dvrt|��t|j|�S�N)�isatty�fileno�tell�seek)�AttributeErrorrr�r�attrrrr�__getattr__Bszchanneledoutput.__getattr__N)	�__name__�
__module__�__qualname__�__doc__r�propertyrrr+rrrrr+s
rc@s,eZdZdZdZdd�Zdd�Zdd�Zd	S)
�channeledmessagea	
    Write encoded message and metadata to out in the following format:

    data length (unsigned int),
    encoded message and metadata, as a flat key-value dict.

    Each message should have 'type' attribute. Messages of unknown type
    should be ignored.
    TcCst||�|_||_||_dSr)r�_coutr�	_encodefn)rrrZ
encodenameZencodefnrrrrVszchanneledmessage.__init__cKs0t�|�}|dur||d<|j�|�|��dS)Nsdata)r
Zbyteskwargsr2rr3)rr"�optsrrrr[s
zchanneledmessage.writecCst|j|�Sr)rr2r)rrrr+aszchanneledmessage.__getattr__N)r,r-r.r/Z
structuredrrr+rrrrr1Hs
r1c@s`eZdZdZdZdd�Zedd��Zddd	�Zd
d�Z	ddd
�Z
dd�Zdd�ZeZ
dd�ZdS)�channeledinputa/
    Read data from in_.

    Requests for input are written to out in the following format:
    channel identifier - 'I' for plain input, 'L' line based (1 byte)
    how many bytes to send at most (unsigned int),

    The client replies with:
    data length (unsigned int), 0 meaning EOF
    data
    icCs||_||_||_dSr)�in_rr)rr6rrrrrrtszchanneledinput.__init__cCs
d|jSrrrrrrryszchanneledinput.name���cCsR|dkr@|j}|�||j�}|}|r<|�||j�}||7}q |S|�||j�SdS�Nr)�maxchunksize�_readr�r�size�s�bufrrr�read}s
zchanneledinput.readcCs\|sdS|j�t�d||��|j��|j�d�}t�d|�d}|sLdS|j�|�SdS)N�r��>Ir)rrrrr!r6r?�unpack)rr<r�lengthrrrr:�s
zchanneledinput._readcCsV|dkrF|j}|�|d�}|}|rB|�d�sB|�|d�}||7}q|S|�|d�SdS)Nr�L�
)r9r:�endswithr;rrr�readline�s
zchanneledinput.readlinecCs|Srrrrrr�__iter__�szchanneledinput.__iter__cCs|��}|st�|Sr)rH�
StopIteration)r�lrrr�next�szchanneledinput.nextcCs|dvrt|��t|j|�Sr#)r(rr6r)rrrr+�szchanneledinput.__getattr__N)r7)r7)r,r-r.r/r9rr0rr?r:rHrIrL�__next__r+rrrrr5es


r5scborcCsd�t�|��S�Nr@)�joinrZstreamencode)�vrrr�<lambda>�r@rQcCsH|�dd�}|D]}t�|�}|r||fSqt�dd�|���dS)N�	cmdserversmessage-encodingss"no supported message encodings: %s� )�
configlist�_messageencoders�getr�AbortrO)�uiZencnames�n�frrr�_selectmessageencoder�s
�r[c@sleZdZdZddd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Ze
ed�Z
dd�ZdS)�serverzm
    Listens for commands on fin, runs them and writes the output on a channel
    based stream to fout.
    NcCst��|_|r&|j|_||_|j|_n||_d|_|_||_t|d�|_	t|d�|_
t|d�|_t||d�|_
t|d�|_|j�dd�dkr�|j��|_t|jd|j	d	�d|_|�d
d�dkr�t|�\}}t|d
||�|_||_|�dd�|_d|_|j�st�tjtj�|_dS)N�d�e�o�I�rrR�log�-)�repo�fp�uismessage-outputschannel�msshutdown-on-interrupt)r�getcwd�cwd�baseuirXrd�repoui�_prereposetupsrZcdebug�cerr�coutr5�cin�cresult�config�copy�setuplogging�cmsgr[r1�clientZ
configbool�_shutdown_on_interrupt�_old_inthandler�signal�SIGINT�SIG_IGN)rrXrd�fin�fout�
prereposetupsZencnameZencfnrrrr�s6

�zserver.__init__cCs|jst�tj|j�dS)z9release and restore resources taken during server sessionN)rvrxryrwrrrr�cleanupszserver.cleanupcCs |sdS|j�|�}|st�|SrN)rur?�EOFError)rr<r"rrrr:szserver._readcCs(t�d|�d��d}|sdS|�|�S)z[read a string from the channel

        format:
        data length (uint32), data
        rBrArr@)rrCr:)rrDrrr�_readstrszserver._readstrcCs|��}|r|�d�SgSdS)z6read a list of NULL separated strings from the channel�N)r��split)rr=rrr�	_readlists
zserver._readlistc
Cs�ddlm}|jr|�|�Szjz.t�tj|j�|�|�WWt�tjtj�Stjyb�Ynt	yrYn0Wt�tjtj�nt�tjtj�0|j
�td��dS)Nr��dispatchs
interrupted!
r7)�r�rvrxryrwrzrZSignalInterrupt�KeyboardInterruptrXr)r�reqr�rrr�_dispatchcommand$s
�$zserver._dispatchcommandc	
Cs*ddlm}|��}|j��}|g}|jrn||j_|j�|j�}|j|_|�	|�||j_|jj
_|j��|D]*}|�
�t�|jd�sr|�dddd�qr|j|dd�||j|j|j|j|j|jd	�}z@|�|�d
@}|j�t�dt|���Wd|v�r&t�|j�nd|v�r$t�|j�0dS)
zireads a list of  terminated arguments, executes
        and writes the return code to the result channelrr�sfilenorfsnonttystrues
commandserverN�r}�s>is--cwd) r�r�r�rXrrrdrjrk�	__class__�appendZdirstateZ_uiZ
invalidateallZ
resetstater�safehasattrroZ	setconfigZrequestrnrmrtrlr�rprrr�int�os�chdirri)	rr��argsZcopieduiZuisrkrXr��retrrr�
runcommand>s@



�
�
zserver.runcommandcCs|j�tj�dS)z1writes the current encoding to the result channelN)rprrrrrr�getencodingpszserver.getencodingcCsJ|j��dd�}|rB|j�|�}|r0||�nt�td�|��|dkS)Nr7sunknown command %sr@)rurH�capabilitiesrVrrWr)r�cmd�handlerrrr�serveonets
zserver.serveone)s
runcommandsgetencodingcCs�dd�t|j��}|d7}|dtj7}|d7}|jrH|d|jj7}|dt��7}t�t	d�r~|d7}|dt	�
d	�7}|j�|�z|�
�r�q�Wnty�Yd
S0d	S)Nscapabilities: rSrFs
encoding: smessage-encoding: %s
spid: %dsgetpgidspgid: %drr)rO�sortedr�rrtr�getpidrr�r��getpgidrnrr�r)rZhellomsgrrr�serve�s"zserver.serve)N)r,r-r.r/rr~r:r�r�r�r�r�r�r�r�rrrrr\�s
.2
r\cCs�|�dd�}|sdSt|�dd��}|dkr>|r>t�||�}nn|dkrVt�|j|�}nVt�t�|��}|�	dd�}|�
dd�}t�t
j�|��}tj|t
j�|�|||d�}|h}	|r�|	�|j�|	�|j�|	D]}
|
�d|�q�dS)	z�Set up server logging facility

    If cmdserver.log is '-', log messages will be sent to the given fp.
    It should be the 'd' channel while a client is connected, and otherwise
    is the stderr of the server process.
    rRrbNs	track-logrcs
max-log-filessmax-log-size)�maxfiles�maxsize)rq�setrTr	ZfileobjectloggerZferrr�abspathZ
expandpath�	configintZconfigbytes�vfsmodr
r��path�dirnameZ
filelogger�basename�addrjrXZ	setlogger)rXrdreZlogpathZtracked�loggerr�r�r
Z	targetuis�urrrrs�s2
�rsc@s$eZdZdd�Zdd�Zdd�ZdS)�pipeservicecCs||_||_dSr)rXrd)rrXrdr4rrrr�szpipeservice.__init__cCsdSrrrrrr�init�szpipeservice.initc	Csr|j}|���P\}}t||j||�}z |��W|��Wd�S|��0Wd�n1sd0YdSr)rXZprotectedfinoutr\rdr�r~)rrXr{r|�svrrr�run�s�zpipeservice.runN)r,r-r.rr�r�rrrrr��sr�cCst�dd�t��dSr8)r��setpgid�randomZseedrrrr�_initworkerprocess�sr�c
Cs�|�d�}|�d�}d}�z>z�||||||�}z�z|��Wnztjyv}z |�td�|j�WYd}~nJd}~0ty�}z|jtjkr��WYd}~nd}~0t	y�Yn0W|�
�n
|�
�0Wn8|r�|j}	n
t|d�}	|	�
t�t�����Yn0W|��z|��Wn6t�yV}z|jtjk�rB�WYd}~n
d}~00nN|��z|��Wn6t�y�}z|jtjk�r��WYd}~n
d}~000dS)N�rb�wbs
abort: %s
r^)Zmakefiler�rrWr�message�IOError�errnoZEPIPEr�r~rmrrrZ
strtolocal�	traceback�
format_exc�close)
rXrd�conn�createcmdserverr}r{r|r��instrmrrr�
_serverequest�sB

(

�r�c@sDeZdZdZdZdd�Zdd�Zdd�Zd	d
�Zdd�Z	d
d�Z
dS)�unixservicehandlerz�Set of pluggable operations for unix-mode services

    Almost all methods except for createcmdserver() are called in the main
    process. You can't pass mutable resource back from createcmdserver().
    NcCs
||_dSr)rX)rrXrrrrszunixservicehandler.__init__cCs:t�||�|�tj�|j�td�|�|j��dS)Nslistening at %s
)	rZbindunixsocketZlisten�socketZ	SOMAXCONNrX�statusrr!)r�sock�addressrrr�
bindsocketszunixservicehandler.bindsocketcCst�|�dSr)r��unlink)rr�rrr�unlinksocket#szunixservicehandler.unlinksocketcCsdS)z9True if server should shut down; checked per pollintervalFrrrrr�
shouldexit&szunixservicehandler.shouldexitcCsdS)z/Called when main process notices new connectionNrrrrr�
newconnection*sz unixservicehandler.newconnectioncCst|j||||�S)zhCreate new command server instance; called in the process that
        serves for the current connection)r\rX)rrdr�r{r|r}rrrr�-sz"unixservicehandler.createcmdserver)r,r-r.r/�pollintervalrr�r�r�r�r�rrrrr�sr�c@sreZdZdZddd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�ZdS)�unixforkingservicezG
    Listens on unix domain socket and forks server per connection
    NcCs�||_||_|d|_t�td�s0t�td���|jsDt�td���|pNt	|�|_
d|_d|_d|_
d|_t�|_d|_|�dd�}|dkr�t�td���t�||�|_tjr�t��dS)	NsaddresssAF_UNIXsunsupported platforms'no socket path specified with --addressrRsmax-repo-cachers(negative max-repo-cache size not allowed)rXrdr�rr�r�rrWrr��_servicehandler�_sock�_mainipc�
_workeripc�_oldsigchldhandlerr��_workerpids�_socketunlinkedr�rZ
repoloader�_repoloaderr
ZisdarwinrZgui)rrXrdr4r��maxlenrrrr8s(
zunixforkingservice.__init__cCs~t�tj�|_t�tjtj�}|\|_|_|j�|j|j	�t
�td�rTt�
tj�t�tj|j�}||_d|_|j��dS)Ns
unblocksignalF)r�ZAF_UNIXr�Z
socketpairZ
SOCK_DGRAMr�r�r�r�r�rr�rZ
unblocksignalrx�SIGCHLD�_sigchldhandlerr�r�r��start)r�orrrr�Qszunixforkingservice.initcCs|js|j�|j�d|_dS)NT)r�r�r�r�rrrr�
_unlinksocket`sz unixforkingservice._unlinksocketcCsNt�tj|j�|j��|j��|j��|��|j�	�|�
d�dSr8)rxr�r�r�r�r�r�r�r��stop�_reapworkersrrrr�_cleanupes



zunixforkingservice._cleanupcCs$z|��W|��n
|��0dSr)�	_mainloopr�rrrrr�os
zunixforkingservice.runc
Cs�d}|j}t��}|�|jtj|j�|�|jtj|j�|sR|�	�rR|�
�d}z|j|jd�}Wn6t
y�}z|jtjkr��g}WYd}~n
d}~00|s�|r:q�q:|D]\}}|�|j|�q�q:|��dS)NFT)�timeout)r��	selectorsZDefaultSelector�registerr�Z
EVENT_READ�_acceptnewconnectionr��_handlemainipcr�r�Zselectr��OSErrorr�Z	ETIMEDOUTr"Zfileobjr�)rZexiting�h�selectorZeventsr��keyZ_maskrrrr�us2��zunixforkingservice._mainloopcCs(|j}z|��\}}WnFtjy\}z,|jdtjkrFWYd}~dS�WYd}~n
d}~00t��}|r�z0|j	�
dd|�|j�|�|�
�W|��n
|��0n|zD|��|��|j��|�|�|��|j��t�d�Wn6z|j	jdd�Wt�d�nt�d�0Yn0dS)NrrRsforked worker process (pid=%d)
T)�forcer�)r�Zacceptr�rr�r��EINTRr��forkrX�logr�r�r�r�r��
_runworkerr��_exitr�)rr�r�r�r�Z_addrr��pidrrrr��s8�



z'unixforkingservice._acceptnewconnectionc
Csfz|�d�}WnFtjyT}z,|jdtjkr>WYd}~dS�WYd}~n
d}~00|j�|�dS)z#Process messages sent from a workeri�rN)Zrecvr�rr�r�r�r��load)rr�r�r�r�rrrr��sz!unixforkingservice._handlemainipccCs|�tj�dSr)r�r��WNOHANG)rrx�framerrrr��sz"unixforkingservice._sigchldhandlerc
Cs�|jr�zt�d|�\}}WnVtyp}z>|jtjkrBWYd}~q|jtjkrP�|j��WYd}~dSd}~00|dkr~dS|j�	dd|�|j�
|�qdS)Nr7rrRsworker process exited (pid=%d)
)r�r��waitpidr�r�r�ZECHILD�clearrXr��discard)r�optionsr�Z_statusr�rrrr��s
zunixforkingservice._reapworkerscCsTt�tj|j�t�|j}z(t|j|j||j|j	gd�Wt
��n
t
��0dS)Nr�)rxr�r�r�r�r�rXrdr��
_reposetup�gcZcollect)rr�r�rrrr��s�zunixforkingservice._runworkercsl|��sdSG�fdd�d|j���|_|j|_|j�|j�}|durJdS|j�dd|j�t	�
||�dS)NcseZdZ��fdd�Z�ZS)z8unixforkingservice._reposetup.<locals>.unixcmdserverrepocsHt�|���z|j�|j�Wn"tjyB|j�dd�Yn0dS)NrRs#failed to send repo root to master
)	�superr��
_cmdserveripc�send�rootr�rrXr�r)r��unixcmdserverreporrr��s�z>unixforkingservice._reposetup.<locals>.unixcmdserverrepo.close)r,r-r.r��
__classcell__r�r�)r�rr��sr�s	repocachesrepo from cache: %s
)�localr�r�r�r�rVr�rXr�rZ	copycache)rrXrdZ
cachedreporr�rr��s
zunixforkingservice._reposetup)N)r,r-r.r/rr�r�r�r�r�r�r�r�r�r�r�rrrrr�3s

%&
r�)NN)+Z
__future__rr�r�r�r�rxr�rr�r�ZBaseSelector�ImportErrorZ
thirdpartyrZi18nrr
rr�rrr	rrr
r�Zutilsrr�objectrr1r5rUr[r\rsr�r�r�r�r�rrrr�<module>s>
$	X�R
)%"

Youez - 2016 - github.com/yon3zu
LinuXploit