403Webshell
Server IP : 54.37.205.81  /  Your IP : 216.73.216.76
Web Server : nginx/1.22.1
System : Linux vps-249481fa 6.1.0-50-cloud-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.176-1 (2026-07-02) x86_64
User : debian ( 1000)
PHP Version : 8.2.32
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /usr/lib/python3/dist-packages/tornado/platform/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/lib/python3/dist-packages/tornado/platform/__pycache__/caresresolver.cpython-311.pyc
�

��b�
���ddlZddlZddlmZddlmZddlmZddlm	Z	m
Z
ddlZejrddlm
Z
mZmZmZmZGd�de	��ZdS)	�N)�Future)�gen)�IOLoop)�Resolver�is_valid_ip)�	Generator�Any�List�Tuple�Dictc
�|�eZdZdZdd�Zdedededdfd�Zded	eddfd
�Ze	j
	dded
ededdfd���ZdS)�
CaresResolvera�Name resolver based on the c-ares library.

    This is a non-blocking and non-threaded resolver.  It may not produce
    the same results as the system resolver, but can be used for non-blocking
    resolution when threads cannot be used.

    c-ares fails to resolve some names when ``family`` is ``AF_UNSPEC``,
    so it is only recommended for use in ``AF_INET`` (i.e. IPv4).  This is
    the default for ``tornado.simple_httpclient``, but other libraries
    may default to ``AF_UNSPEC``.

    .. versionchanged:: 5.0
       The ``io_loop`` argument (deprecated since version 4.1) has been removed.

    .. deprecated:: 6.2
       This class is deprecated and will be removed in Tornado 7.0. Use the default
       thread-based resolver instead.
    �returnNc��tj��|_tj|j���|_i|_dS)N)�
sock_state_cb)r�current�io_loop�pycares�Channel�_sock_state_cb�channel�fds)�selfs �@/usr/lib/python3/dist-packages/tornado/platform/caresresolver.py�
initializezCaresResolver.initialize#s3���~�'�'�����T�5H�I�I�I���������fd�readable�writablec�J�|rtjnd|rtjndz}|s$|j�|��|j|=dS||jvr'|j�||��||j|<dS|j�||j|��||j|<dS)Nr)	r�READ�WRITEr�remove_handlerr�update_handler�add_handler�_handle_events)rrrr�states     rrzCaresResolver._sock_state_cb(s��� (�/����a�H�4S�F�L�L�RS�T���	!��L�'�'��+�+�+�������
�4�8�^�^��L�'�'��E�2�2�2� �D�H�R�L�L�L��L�$�$�R��)<�e�D�D�D� �D�H�R�L�L�Lr�eventsc��tj}tj}|tjzr|}|tjzr|}|j�||��dS�N)r�ARES_SOCKET_BADrr!r"r�
process_fd)rrr(�read_fd�write_fds     rr&zCaresResolver._handle_events4sX���)���*���F�K��	��G��F�L� �	��H�������2�2�2�2�2rr�host�port�familyz*Generator[Any, Any, List[Tuple[int, Any]]]c#�6�
K�t|��r|g}nrt���
|j�||�
fd����
V�\}}|r5t	d|�dt
j�|���d|�����|j}g}|D]�}d|vr
tj
}	nd|vr
tj}	ntj}	|tjkr||	krt	d||	fz���|�
tjt |	��||ff����|S)Nc�2����||f��Sr*)�
set_result)�result�error�futs  �r�<lambda>z'CaresResolver.resolve.<locals>.<lambda>Gs���C�N�N�F�E�?�4S�4S�rzC-Ares returned error z: z while resolving �.�:z%Requested socket family %d but got %d)rrr�
gethostbyname�IOErrorr�errno�strerror�	addresses�socket�AF_INET�AF_INET6�	AF_UNSPEC�append�typing�cast�int)rr/r0r1r?r5r6�addrinfo�address�address_familyr7s          @r�resolvezCaresResolver.resolve=s`������t���	)���I�I��(�(�C��L�&�&��f�S�S�S�S�
�
�
�#&�I�I�M�F�E��
��g��u�u�g�m�4�4�U�;�;�;�;�T�T�C�����(�I��� �	Q�	Q�G��g�~�~�!'��������!'����!'�!1����)�)�)�f��.F�.F��;�v�~�>V�V����
�O�O�V�[��n�=�=����O�P�P�P�P��r)rN)r)
�__name__�
__module__�__qualname__�__doc__rrG�boolrr&r�	coroutine�strrK�rrrrs���������&����

!��
!��
!��
!��
!�
!�
!�
!�3��3�c�3�d�3�3�3�3�	�]�23�����"��,/��	5�����]���rr)rr@�tornado.concurrentr�tornador�tornado.ioloopr�tornado.netutilrrrE�
TYPE_CHECKINGrr	r
rrrrSrr�<module>rYs�������
�
�
�
�%�%�%�%�%�%�������!�!�!�!�!�!�1�1�1�1�1�1�1�1�
�
�
�
�	��9�8�8�8�8�8�8�8�8�8�8�8�8�8�8�N�N�N�N�N�H�N�N�N�N�Nr

Youez - 2016 - github.com/yon3zu
LinuXploit