shell bypass 403

Cubjrnet7 Shell


name : _trio.cpython-39.pyc
a

�M�e��@s�ddlZddlZddlZddlZddlZddlZddlZddlZddl	Z
ddlZ
ddlm
Z
ddlmZmZmZmZmZGdd�de�ZGdd�de�ZGdd	�d	e�ZdS)
�N)�NullContext)�QUIC_MAX_DATAGRAM�AsyncQuicConnection�AsyncQuicManager�BaseQuicStream�
UnexpectedEOFcsXeZdZ�fdd�Zdd�Zddd�Zdd	d
�Zdd�Zd
d�Zdd�Z	dd�Z
�ZS)�TrioQuicStreamcst��||�t��|_dS�N)�super�__init__�trio�	Condition�_wake_up)�self�
connection�	stream_id��	__class__��2/usr/lib/python3.9/site-packages/dns/quic/_trio.pyrszTrioQuicStream.__init__c	�sl|j�|�rdS||_|j4IdH�&|j��IdHWd�IdHq`1IdHsV0Yd|_qdS)Nr)�_bufferZhaveZ
_expectingr�wait)r�amountrrr�wait_fors:zTrioQuicStream.wait_forNc�s�|durtd�}n
t�|�}|�R|�d�IdHt�d|j�d��\}|�|�IdH|j�|�Wd�S1sx0Ytj	j
�dS)N�z!H)rr�
move_on_afterr�struct�unpackr�get�dns�	exception�Timeout)r�timeout�context�sizerrr�receive's

*zTrioQuicStream.receiveFc�s&|�|�}|j�|j||�IdHdSr	)Z_encapsulate�_connection�writeZ
_stream_id)r�datagram�is_end�datarrr�send3s
zTrioQuicStream.sendc	�sT|�||�rP|j4IdH� |j��Wd�IdHqP1IdHsF0YdSr	)Z_common_add_inputr�notify)rr*r)rrr�
_add_input7szTrioQuicStream._add_inputc�s|��dSr	)Z_close�rrrr�close<szTrioQuicStream.closec�s|Sr	rr.rrr�
__aenter__AszTrioQuicStream.__aenter__c	�sV|��IdH|j4IdH� |j��Wd�IdHqR1IdHsH0YdS�NF)r/rr,)r�exc_type�exc_val�exc_tbrrr�	__aexit__Ds4zTrioQuicStream.__aexit__)N)F)�__name__�
__module__�__qualname__rrr%r+r-r/r0r5�
__classcell__rrrrrs	

rcsReZdZd�fdd�	Zdd�Zdd�Zdd	d
�Zdd�Zdd
d�Zdd�Z	�Z
S)�TrioQuicConnectionNcsPt��||||||�tj�|jtjd�|_t��|_t��|_	d|_
d|_dS)NrF)r
rr�socket�_afZ
SOCK_DGRAM�_socket�Event�_handshake_complete�	_run_done�
_worker_scope�
_send_pending)rr�address�port�source�source_portZmanagerrrrrLs

zTrioQuicConnection.__init__c�s<�z"|jr*|j�tj�|j|j��IdH|j�|j�IdH|j	�s|�
d�\}}|jr^d}tj
t��|d��:|_|j�t�IdH}|j�||jt���Wd�n1s�0Yd|_|�|�|��IdHd|_|j�t���}|D]\}}|j�|�IdHq�q>Wd|_	|j��nd|_	|j��0dS)NFg)ZdeadlineT)�_sourcer=ZbindrZinetZlow_level_address_tupler<�connect�_peer�_doneZ_get_timer_valuesrBrZCancelScopeZcurrent_timerAZrecvrr&Zreceive_datagram�timeZ
_handle_timer�_handle_eventsZdatagrams_to_sendr+r?�set)rZ
expiration�intervalr(Z	datagrams�_rrr�_workerTs6�

�4
�zTrioQuicConnection._workerc�s�d}|j��}|durdSt|tjjj�rT|j�|j	�}|r�|�
|j|j�IdHnrt|tjjj
�rp|j��nVt|tjjj�r�d|_|j��n4t|tjjj�r�|j�|j	�}|r�|�
dd�IdH|d7}|dkrd}t�d�IdHqdS)NrT���
)r&Z
next_event�
isinstance�aioquicZquicZeventsZStreamDataReceived�_streamsrrr-r*Z
end_streamZHandshakeCompletedr?rMZConnectionTerminatedrJr=r/ZStreamResetr�sleep)r�countZevent�streamrrrrLxs*
z!TrioQuicConnection._handle_eventsFc�s.|j�|||�d|_|jdur*|j��dS)NT)r&Zsend_stream_datarBrA�cancel)rrYr*r)rrrr'�s
zTrioQuicConnection.writec	�s`|jr
dSt��4IdH�"}|�|j�Wd�IdHqR1IdHsH0Y|j��dSr	)�_closedrZopen_nursery�
start_soonrPr@rM)r�nurseryrrr�run�s
6zTrioQuicConnection.runc�s�|durtd�}n
t�|�}|�N|j��IdH|jr<t�|j�d�}t	||�}||j
|<|Wd�S1st0Ytjj
�dSr1)rrrr?rrJrr&Zget_next_available_stream_idrrVrr r!)rr"r#rrYrrr�make_stream�s



"zTrioQuicConnection.make_streamc�s^|jsZ|j�|jd|jd�d|_|j��d|_|jdurJ|j��|j	�
�IdHdS)NrrRT)r[Z_manager�closedrIr&r/rBrArZr@rr.rrrr/�s


zTrioQuicConnection.close)N)F)N)r6r7r8rrPrLr'r^r_r/r9rrrrr:Ks$

r:cs@eZdZdejdf�fdd�	Zd
dd�Zd	d
�Zdd�Z�Z	S)�TrioQuicManagerNcst��||t|�||_dSr	)r
rr:�_nursery)rr]ZconfZverify_modeZserver_namerrrr�szTrioQuicManager.__init__�UrTcCs,|�|||||�\}}|r(|j�|j�|Sr	)Z_connectrbr\r^)rrCrDrErFZwant_session_ticketr�startrrrrH�s
�zTrioQuicManager.connectc�s|Sr	rr.rrrr0�szTrioQuicManager.__aenter__c�s*t|j���}|D]}|��IdHqdSr1)�listZ_connections�valuesr/)rr2r3r4Zconnectionsrrrrr5�szTrioQuicManager.__aexit__)rcNrT)
r6r7r8�sslZ
CERT_REQUIREDrrHr0r5r9rrrrra�s��

ra)r;rgrrKZaioquic.quic.configurationrUZaioquic.quic.connectionZaioquic.quic.eventsrZ
dns.exceptionrZdns.inetZdns._asyncbackendrZdns.quic._commonrrrrrrr:rarrrr�<module>s	2m

© 2025 Cubjrnet7