OwlCyberSecurity - MANAGER
Edit File: protocol.cpython-311.pyc
� ������hW.�����������������������������d�dl�mZ�d�dlmZmZ�d�dlmZ�ddlZddlZdZ dZ dZdZd Z d Zd��Z�G�d��d ������������Z�G�d��de������������Z�G�d��d������������Z�G�d��d������������Z�G�d��d������������ZdS�)����)�MBLENGTH)� FIELD_TYPE� SERVER_STATUS)�err�����NF����������������c����������� ��������������d��� �t����������dt�������������������������������������t����������dd������������D�]:}t����������j��������|������������}t����������d||j��������j��������|j��������fz����������������;t����������d�������������n#�t����������$�r�Y�nw�xY�w��fd�t����������dt����������t������������������������d ������������d ������������D���������������}|D�]i}t����������d� ��������������������d��|D���������������������������d d t����������|������������z ��z��z���dz���d� ���������������������fd�|D���������������������������z�����������������jt����������d�������������t�������������������������d�S�)Nc������������������D�����d|�cxk����rdk�����rn�nt����������|�������������S�dS�)N� ��������.)�chr)�datas��� �G/opt/cloudlinux/venv/lib64/python3.11/site-packages/pymysql/protocol.py� printablezdump_packet.<locals>.printable���s5������ �������������t�9�9���s�����zpacket length:r�������zcall[%d]: %s (line %d)zB------------------------------------------------------------------c������������������*������g�|�]}�||d�z���������������S�)������)�.0�ir���s��� �r���� <listcomp>zdump_packet.<locals>.<listcomp>#���s&�������M�M�M�a��a�!�b�&�j�!�M�M�Mr���r�������r���� c��������������3�������K����|�]}|d��V���� dS�)�02XNr���)r����xs��� r���� <genexpr>zdump_packet.<locals>.<genexpr>&���s&����������+�+�A��Z�Z�+�+�+�+�+�+r���z z ��c��������������3����.����K����|�]}��|������������V����d�S��Nr���)r���r!���r���s��� �r���r"���zdump_packet.<locals>.<genexpr>)���s+�����������.�.�q�i�i��l�l�.�.�.�.�.�.r���)�print�len�range�sys� _getframe�f_code�co_name�f_lineno� ValueError�min�join)r���r����f� dump_data�dr���s���` @r����dump_packetr4������s������������� � ���D� � �*�*�*��q�!���� P�� P�A�� �a� � �A��*�a���1A�1�:�-N�N�O�O�O�O� �h�������� �� �� ��� ����M�M�M�M�5��C��D� � �3�4G�4G��+L�+L�M�M�M�I� �� �� �� ��H�H�+�+��+�+�+�+�+��r�C��F�F�{�#� $�� ���g�g�.�.�.�.�A�.�.�.�.�.� /� �� �� �� �� �(�O�O�O� �G�G�G�G�Gs����A7A?��? B�Bc�������������������������e�Zd�ZdZdZd��Zd��Zd��Zd��Zd��Z d d �Z d!d�Zd��Zd ��Z d��Zd��Zd��Zd��Zd��Zd��Zd��Zd��Zd��Zd��Zd��Zd��Zd��Zd��Zd��Zd��Zd��ZdS�)"�MysqlPacketzrRepresentation of a MySQL response packet. Provides an interface for reading/parsing the packet results. �� _position�_datac������������������"�����d|�_���������||�_��������d�S�)Nr���r7�����selfr����encodings��� r����__init__zMysqlPacket.__init__7���s����������� � � r���c�����������������������|�j���������S�r%����r9����r<���s��� r����get_all_datazMysqlPacket.get_all_data;���s �������z�r���c����������� �������Z����|�j���������|�j��������|�j��������|z�������������}t����������|������������|k����rkd|�dt����������|�������������d|�j���������dt����������|�j�����������������������}t����������r#t ����������|�������������|�������������������������������������t ����������|�������������|�xj��������|z ��c_��������|S�)zCRead the first 'size' bytes in packet and advance cursor past them.z-Result length not requested length: Expected=z . Actual=z . Position: z. Data Length: )r9���r8���r'����DEBUGr&����dump�AssertionError)r<����size�result�errors��� r����readzMysqlPacket.read>���s���������D�N�d�n�t�.C�D�E���v�;�;�$������4�4��V�����d�n�n�n�c�$�*�o�o�o�G�� � ��� ��e����� � ���� ��'�'�'����$����� r���c������������������<�����|�j���������|�j��������d����������}d|�_��������|S�)z`Read all remaining data in the packet. (Subsequent read() will return errors.) N�r9���r8����r<���rH���s��� r����read_allzMysqlPacket.read_allN���s$������ ���D�N�,�,�-������ r���c�����������������������|�j���������|z���}|dk�����s|t����������|�j��������������������k����rt����������d|�d|���������������||�_���������dS�)z1Advance the cursor in data buffer 'length' bytes.r���zInvalid advance amount (z) for cursor. Position=N)r8���r'���r9���� Exception)r<����length�new_positions��� r����advancezMysqlPacket.advanceW���s\�������~��.���!���|�c�$�*�o�o�=�=��)�!'�����7����� ��&����r���r���c������������������t�����|dk�����s|t����������|�j��������������������k����rt����������d|z���������������||�_��������dS�)z9Set the position of the data buffer cursor to 'position'.r���z)Invalid position to rewind cursor to: %s.N)r'���r9���rP���r8���)r<����positions��� r����rewindzMysqlPacket.rewinda���s<�������a�<�<�8�c�$�*�o�o�5�5��G�(�R�S�S�S�!����r���r���c������������������&�����|�j���������|||z�������������S�)a>��Get 'length' bytes starting at 'position'. Position is start of payload (first four packet header bytes are not included) starting at index '0'. No error checking is done. If requesting outside end of buffer an empty string (or string shorter than 'length') may be returned! r@���)r<���rU���rQ���s��� r���� get_byteszMysqlPacket.get_bytesg���s��������z�(�h��&7�8�9�9r���c������������������J�����|�j���������|�j�����������������}|�xj��������dz ��c_��������|S��Nr���rL���rM���s��� r���� read_uint8zMysqlPacket.read_uint8r���s%��������D�N�+�����!����� r���c������������������r�����t����������j��������d|�j��������|�j��������������������d���������}|�xj��������dz ��c_��������|S�)Nz<Hr���������struct�unpack_fromr9���r8���rM���s��� r����read_uint16zMysqlPacket.read_uint16w����4�������#�D�$�*�d�n�E�E�a�H�����!����� r���c������������������x�����t����������j��������d|�j��������|�j��������������������\��}}|�xj��������dz ��c_��������||dz��z���S�)Nz<HB����r���r^���)r<����low�highs��� r����read_uint24zMysqlPacket.read_uint24|���s=�������&�u�d�j�$�.�I�I� ��T����!�����d�b�j�!�!r���c������������������r�����t����������j��������d|�j��������|�j��������������������d���������}|�xj��������dz ��c_��������|S�)Nz<Ir�������r^���rM���s��� r����read_uint32zMysqlPacket.read_uint32����rb���r���c������������������r�����t����������j��������d|�j��������|�j��������������������d���������}|�xj��������dz ��c_��������|S�)Nz<Qr�������r^���rM���s��� r����read_uint64zMysqlPacket.read_uint64����rb���r���c�����������������������|�j������������������������������d|�j��������������������}|dk�����rd�S�|�j���������|�j��������|����������}|dz���|�_��������|S�)N�����r���r���)r9����findr8���)r<����end_posrH���s��� r����read_stringzMysqlPacket.read_string����sJ�������*�/�/�%���8�8���Q�;�;��4���D�N�W�4�5�� �1����� r���c����������������������|�������������������������������������}|t����������k����rdS�|t����������k�����r|S�|t����������k����r|������������������������������������S�|t ����������k����r|������������������������������������S�|t����������k����r|������������������������������������S�dS�)z�Read a 'Length Coded Binary' number from the data buffer. Length coded numbers can be anywhere from 1 to 9 bytes depending on the value of the first byte. N) r[����NULL_COLUMN�UNSIGNED_CHAR_COLUMN�UNSIGNED_SHORT_COLUMNra����UNSIGNED_INT24_COLUMNrg����UNSIGNED_INT64_COLUMNrm���)r<����cs��� r����read_length_encoded_integerz'MysqlPacket.read_length_encoded_integer����s�������� �O�O���������4��#�#�#��H� �'� '� '��#�#�%�%�%� �'� '� '��#�#�%�%�%� �'� '� '��#�#�%�%�%��(� 'r���c������������������\�����|�������������������������������������}|�dS�|����������������������|������������S�)a��Read a 'Length Coded String' from the data buffer. A 'Length Coded String' consists first of a length coded (unsigned, positive) integer represented in 1-9 bytes followed by that many bytes of binary data. (For example "cat" would be "3cat".) N)rz���rJ���)r<���rQ���s��� r����read_length_coded_stringz$MysqlPacket.read_length_coded_string����s1��������1�1�3�3���>��4��y�y�� � � r���c�����������������������t����������j��������|������������}|���������������������|�j��������|�j��������������������}|�xj��������|j��������z ��c_��������|S�r%���)r_����Structr`���r9���r8���rG���)r<����fmt�srH���s��� r����read_structzMysqlPacket.read_struct����s?�������M�#�������t�z�4�>�:�:�����!�&� ���� r���c������������������T�����|�j���������d���������dk����ot����������|�j���������������������dk����S�)Nr���r����r9���r'���rA���s��� r����is_ok_packetzMysqlPacket.is_ok_packet����s%�������z�!�}��!�:�c�$�*�o�o��&:�:r���c������������������T�����|�j���������d���������dk����ot����������|�j���������������������dk�����S�)Nr���r���� ���r����rA���s��� r���� is_eof_packetzMysqlPacket.is_eof_packet����s'��������z�!�}��$�<��T�Z���1�)<�<r���c������������������$�����|�j���������d���������dk����S�)Nr���r���r@���rA���s��� r����is_auth_switch_requestz"MysqlPacket.is_auth_switch_request����s�������z�!�}��$�$r���c������������������$�����|�j���������d���������dk����S�)Nr���r���r@���rA���s��� r����is_extra_auth_datazMysqlPacket.is_extra_auth_data����s�������z�!�}��!�!r���c������������������<�����|�j���������d���������}d|cxk����odk����nc�S�)Nr���r�������r@���)r<����field_counts��� r����is_resultset_packetzMysqlPacket.is_resultset_packet����s/�������j��m���K�&�&�&�&�3�&�&�&�&�&r���c������������������$�����|�j���������d���������dk����S�)Nr���r���r@���rA���s��� r����is_load_local_packetz MysqlPacket.is_load_local_packet������������z�!�}��$�$r���c������������������$�����|�j���������d���������dk����S�)Nr�������r@���rA���s��� r����is_error_packetzMysqlPacket.is_error_packet����r����r���c������������������Z�����|�������������������������������������r|�������������������������������������d�S�d�S�r%���)r�����raise_for_errorrA���s��� r����check_errorzMysqlPacket.check_error����s8���������!�!�� #�� � �"�"�"�"�"� #�� #r���c������������������������|��������������������������������������|����������������������d�������������|������������������������������������}t����������rt ����������d|�������������t����������j��������|�j���������������������d�S�)Nr���zerrno =)rV���rS���ra���rD���r&���r����raise_mysql_exceptionr9���)r<����errnos��� r���r����zMysqlPacket.raise_for_error����s`��������� � � ����Q����� � �"�"���� $��)�U�#�#�#��!�$�*�-�-�-�-�-r���c������������������.�����t����������|�j���������������������d�S�r%���)r4���r9���rA���s��� r���rE���zMysqlPacket.dump����s�������D�J�����r���N)r���)r���)�__name__� __module__�__qualname__�__doc__� __slots__r>���rB���rJ���rN���rS���rV���rX���r[���ra���rg���rj���rm���rr���rz���r|���r����r����r����r����r����r����r����r����r����r����rE���r���r���r���r6���r6���/���s����������������� �'�I���������������� �����&��&��&�"��"��"��"� :�� :�� :�� :������ ����� "��"��"� ����� ����� �����&��&��&�$ !�� !�� !������;��;��;�=��=��=�%��%��%�"��"��"�'��'��'�%��%��%�%��%��%�#��#��#�.��.��.� �� �� �� �� r���r6���c��������������������0�����e�Zd�ZdZd��Zd��Zd��Zd��Zd��ZdS�)�FieldDescriptorPacketz�A MysqlPacket that represents a specific column's metadata in the result. Parsing is automatically done and the results are exported via public attributes on the class such as: db, table_name, name, length, type_code. c������������������h�����t��������������������������������|�||�������������|����������������������|�������������d�S�r%���)r6���r>����_parse_field_descriptorr;���s��� r���r>���zFieldDescriptorPacket.__init__����s4���������T�4��2�2�2��$�$�X�.�.�.�.�.r���c������������������2����|�������������������������������������|�_��������|�������������������������������������|�_��������|����������������������������������������������������������|������������|�_��������|����������������������������������������������������������|������������|�_��������|����������������������������������������������������������|������������|�_��������|����������������������������������������������������������|������������|�_��������|����������������������d������������\��|�_ ��������|�_ ��������|�_��������|�_��������|�_ ��������dS�)z�Parse the 'Field Descriptor' (Metadata) packet. This is compatible with MySQL 4.1+ (not compatible with MySQL 4.0). z <xHIBHBxxN)r|����catalog�db�decode� table_name� org_table�name�org_namer����� charsetnrrQ���� type_code�flags�scale)r<���r=���s��� r���r����z-FieldDescriptorPacket._parse_field_descriptor����s������� ��4�4�6�6����/�/�1�1����7�7�9�9�@�@��J�J����6�6�8�8�?�?��I�I����1�1�3�3�:�:�8�D�D�� ��5�5�7�7�>�>�x�H�H�� �� ���[�)�)� ��N��K��N��J��J�J�Jr���c�����������������������|�j���������|�j��������d|������������������������������������|������������������������������������|�j��������|�j��������dz��dk����fS�)zBProvides a 7-item tuple compatible with the Python PEP249 DB Spec.Nr]���r���)r����r�����get_column_lengthr����r����rA���s��� r����descriptionz!FieldDescriptorPacket.description��sL������� �I��N���"�"�$�$��"�"�$�$��J��J��N�a�� �� r���c�����������������������|�j���������t����������j��������k����r$t����������j��������|�j��������d������������}|�j��������|z��S�|�j��������S�rZ���)r����r���� VAR_STRINGr����getr����rQ���)r<����mblens��� r���r����z'FieldDescriptorPacket.get_column_length��s:�������>�Z�2�2�2��L����3�3�E��;�%�'�'��{�r���c������������������r�����d����������������������|�j��������|�j��������|�j��������|�j��������|�j��������|�j��������������������S�)Nz&{} {!r}.{!r}.{!r}, type={}, flags={:x})�format� __class__r����r����r����r����r����rA���s��� r����__str__zFieldDescriptorPacket.__str__��s8������7�>�>��N��G��O��I��N��J� �� �� r���N) r����r����r����r����r>���r����r����r����r����r���r���r���r����r��������si�����������������/��/��/�*��*��*�* �� �� ������ �� �� �� �� r���r����c�������������������������e�Zd�ZdZd��Zd��ZdS�)�OKPacketWrapperz� OK Packet Wrapper. It uses an existing packet object, and wraps around it, exposing useful variables while still providing access to the original packet objects variables and methods. c�����������������������|������������������������������������s,t����������dt����������|�j��������j��������������������z���dz����������������||�_��������|�j�����������������������������d�������������|�j�������������������������������������������|�_��������|�j�������������������������������������������|�_ ��������|�� ��������������������d������������\��|�_��������|�_��������|�j��������� ����������������������������������|�_��������|�j��������t����������j��������z��|�_��������d�S�)NzCannot create z object from invalid packet typer���z<HH)r����r.����strr����r�����packetrS���rz���� affected_rows� insert_idr����� server_status� warning_countrN����messager����SERVER_MORE_RESULTS_EXISTS�has_next�r<����from_packets��� r���r>���zOKPacketWrapper.__init__'��s��������'�'�)�)�� �� ��d�n�-�.�.�/�4�5����� ��"�������A����!�[�D�D�F�F�����@�@�B�B���15�1A�1A�%�1H�1H�.���D�.��{�+�+�-�-����*�]�-U�U�� � � r���c������������������,�����t����������|�j��������|������������S�r%�����getattrr�����r<����keys��� r����__getattr__zOKPacketWrapper.__getattr__8����������t�{�C�(�(�(r���N�r����r����r����r����r>���r����r���r���r���r����r���� ��s?�����������������V��V��V�")��)��)��)��)r���r����c�������������������������e�Zd�ZdZd��Zd��ZdS�)�EOFPacketWrapperz� EOF Packet Wrapper. It uses an existing packet object, and wraps around it, exposing useful variables while still providing access to the original packet objects variables and methods. c������������������$����|������������������������������������st����������d|�j����������d��������������||�_��������|�j�����������������������������d������������\��|�_��������|�_��������t����������rt����������d|�j���������������������|�j��������t����������j ��������z��|�_��������d�S�)N�Cannot create '�!' object from invalid packet typez<xhhzserver_status=)r����r.���r����r����r����r����r����rD���r&���r���r����r����r����s��� r���r>���zEOFPacketWrapper.__init__C��s��������(�(�*�*�� ��S�$�.�S�S�S����� ��"���15��1H�1H��1P�1P�.���D�.��� 8��"�D�$6�7�7�7��*�]�-U�U�� � � r���c������������������,�����t����������|�j��������|������������S�r%���r����r����s��� r���r����zEOFPacketWrapper.__getattr__O��r����r���Nr����r���r���r���r����r����<��s?����������������� V�� V�� V�)��)��)��)��)r���r����c�������������������������e�Zd�ZdZd��Zd��ZdS�)�LoadLocalPacketWrapperz� Load Local Packet Wrapper. It uses an existing packet object, and wraps around it, exposing useful variables while still providing access to the original packet objects variables and methods. c������������������������|������������������������������������st����������d|�j����������d��������������||�_��������|�j�������������������������������������������dd�����������|�_��������t����������rt����������d|�j���������������������d�S�d�S�)Nr����r����r���z filename=)r����r.���r����r����rB����filenamerD���r&���r����s��� r���r>���zLoadLocalPacketWrapper.__init__Z��s��������/�/�1�1�� ��S�$�.�S�S�S����� ��"�����0�0�2�2�1�2�2�6�� ��� .��+�t�}�-�-�-�-�-� .�� .r���c������������������,�����t����������|�j��������|������������S�r%���r����r����s��� r���r����z"LoadLocalPacketWrapper.__getattr__e��r����r���Nr����r���r���r���r����r����S��s<����������������� .�� .�� .�)��)��)��)��)r���r����)�charsetr���� constantsr���r���r#���r���r_���r)���rD���rt���ru���rv���rw���rx���r4���r6���r����r����r����r����r���r���r����<module>r�������sf�����������������0��0��0��0��0��0��0��0�������������� � � � �� � � � �� ���������������������4q ��q ��q ��q ��q ��q ��q ��q �h: ��: ��: ��: ��: �K��: ��: ��: �z)��)��)��)��)��)��)��)�8)��)��)��)��)��)��)��)�.)��)��)��)��)��)��)��)��)��)r���