Spamworldpro Mini Shell
Spamworldpro


Server : Apache/2.4.52 (Ubuntu)
System : Linux webserver 6.8.0-49-generic #49~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Wed Nov 6 17:42:15 UTC 2 x86_64
User : www-data ( 33)
PHP Version : 8.1.2-1ubuntu2.21
Disable Function : NONE
Directory :  /lib/python3/dist-packages/twisted/names/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //lib/python3/dist-packages/twisted/names/__pycache__/common.cpython-310.pyc
o

�b�$�
@sPdZddlZddlmZddlmZmZmZddlm	Z	ddl
mZddlm
Z
mZmZmZmZmZed�\ZZZd	Zeej�Gd
d�d��Zd&d
d�Ziejd�ejd�ejd�ejd�ejd�ej d�ej!d�ej"d�ej#d�ej$d�ej%d�ej&d�ej'd�ej(d�ej)d�ej*d�ej+d�ej,d ej-d!ej.d"ej/d#ej0d$ej1d%i�Z2dS)'z>
Base functionality useful to various parts of Twisted Names.
�N)�implementer)�defer�error�
interfaces)�Logger)�dns)�DNSFormatError�DNSNameError�DNSNotImplementedError�DNSQueryRefusedError�DNSServerError�DNSUnknownError�)�rrc
@sVeZdZdZe�Zejeej	e
ejeej
eejeiZdZdd�Zdd�Zd>dd�Zd	d
�Zd>dd�Zd>d
d�Zd>dd�Zd>dd�Zd>dd�Zd>dd�Zd>dd�Zd>dd�Zd>dd�Zd>dd�Z d>dd �Z!d>d!d"�Z"d>d#d$�Z#d>d%d&�Z$d>d'd(�Z%d>d)d*�Z&d>d+d,�Z'd>d-d.�Z(d>d/d0�Z)d>d1d2�Z*d>d3d4�Z+d>d5d6�Z,d>d7d8�Z-d?d:d;�Z.d<d=�Z/dS)@�ResolverBaseaN
    L{ResolverBase} is a base class for implementations of
    L{interfaces.IResolver} which deals with a lot
    of the boilerplate of implementing all of the lookup methods.

    @cvar _errormap: A C{dict} mapping DNS protocol failure response codes
        to exception classes which will be used to represent those failures.
    NcCs,i|_t��D]\}}t||�|j|<qdS�N)�typeToMethod�items�getattr)�self�k�vrr�6/usr/lib/python3/dist-packages/twisted/names/common.py�__init__7s�zResolverBase.__init__cCs|j�|t�S)z�
        Convert a response code (one of the possible values of
        L{dns.Message.rCode} to an exception instance representing it.

        @since: 10.0
        )�	_errormap�getr
)r�responseCoderrr�exceptionForCode<szResolverBase.exceptionForCodec
Csbz|j|j}Wnty'|jjd|d�t�|j|jjt	j
|j|�YSwt�||jj|�S)Nz:Query of unknown type {query.type} for {query.name.name!r})�query)r�type�KeyError�_log�debugr�
maybeDeferred�_lookup�namer�IN)rr�timeout�methodrrrrEs���	zResolverBase.querycCst�td��S)N�ResolverBase._lookup)r�fail�NotImplementedError)rr%�clsrr'rrrr$Ssr)cC�|�t�|�tjtj|�Sr)r$r�domainStringr&�A�rr%r'rrr�
lookupAddressV�zResolverBase.lookupAddresscCr-r)r$rr.r&�AAAAr0rrr�lookupIPV6AddressYr2zResolverBase.lookupIPV6AddresscCr-r)r$rr.r&�A6r0rrr�lookupAddress6\r2zResolverBase.lookupAddress6cCr-r)r$rr.r&�MXr0rrr�lookupMailExchange_r2zResolverBase.lookupMailExchangecCr-r)r$rr.r&�NSr0rrr�lookupNameserversbr2zResolverBase.lookupNameserverscCr-r)r$rr.r&�CNAMEr0rrr�lookupCanonicalNameer2z ResolverBase.lookupCanonicalNamecCr-r)r$rr.r&�MBr0rrr�
lookupMailBoxhr2zResolverBase.lookupMailBoxcCr-r)r$rr.r&�MGr0rrr�lookupMailGroupkr2zResolverBase.lookupMailGroupcCr-r)r$rr.r&�MRr0rrr�lookupMailRenamenr2zResolverBase.lookupMailRenamecCr-r)r$rr.r&�PTRr0rrr�
lookupPointerqr2zResolverBase.lookupPointercCr-r)r$rr.r&�SOAr0rrr�lookupAuthoritytr2zResolverBase.lookupAuthoritycCr-r)r$rr.r&�NULLr0rrr�
lookupNullwr2zResolverBase.lookupNullcCr-r)r$rr.r&�WKSr0rrr�lookupWellKnownServiceszr2z$ResolverBase.lookupWellKnownServicescCr-r)r$rr.r&�SRVr0rrr�
lookupService}r2zResolverBase.lookupServicecCr-r)r$rr.r&�HINFOr0rrr�lookupHostInfo�r2zResolverBase.lookupHostInfocCr-r)r$rr.r&�MINFOr0rrr�lookupMailboxInfo�r2zResolverBase.lookupMailboxInfocCr-r)r$rr.r&�TXTr0rrr�
lookupText�r2zResolverBase.lookupTextcCr-r)r$rr.r&�SPFr0rrr�lookupSenderPolicy�r2zResolverBase.lookupSenderPolicycCr-r)r$rr.r&�RPr0rrr�lookupResponsibility�r2z!ResolverBase.lookupResponsibilitycCr-r)r$rr.r&�AFSDBr0rrr�lookupAFSDatabase�r2zResolverBase.lookupAFSDatabasecCr-r)r$rr.r&�AXFRr0rrr�
lookupZone�r2zResolverBase.lookupZonecCr-r)r$rr.r&�NAPTRr0rrr�lookupNamingAuthorityPointer�r2z)ResolverBase.lookupNamingAuthorityPointercCr-r)r$rr.r&�ALL_RECORDSr0rrr�lookupAllRecords�r2zResolverBase.lookupAllRecords�
cCs*t�|�}|�||�}|�|j||�|Sr)rr.r^�addCallback�
_cbRecords)rr%r'�effort�drrr�
getHostByName�s
zResolverBase.getHostByNamecCs8|\}}}t|t�|�||||�}|st�|��|Sr)�
extractRecordr�Namer�DNSLookupError)r�recordsr%rb�ans�auth�add�resultrrrra�s


zResolverBase._cbRecordsr)Nr_)0�__name__�
__module__�__qualname__�__doc__rr!r�EFORMATr�ESERVERr�ENAMEr	�ENOTIMPr
�EREFUSEDrrrrrrr$r1r4r6r8r:r<r>r@rBrDrFrHrJrLrNrPrRrTrVrXrZr\r^rdrarrrrr!sN	�
	























	rr_cs~�sdSttd�r?|D]}|j�kr#|jtjkr#t�tj|jj	�Sq|D]}|j�kr>|jtj
kr>t�tj|jj	�Sq&|D]}|j�krY|jtjkrYt�tj|jj	�SqA|D],}|j�kr�|jtj
kr�t||jj|�d�}|s�|j|jjj�dd�S|Sq\|D]1}|jtjkr�q�ddlm}|j|jjj�d�tjfgd�����fd	d
�}���j��|�SdS)am
    Resolve a name to an IP address, following I{CNAME} records and I{NS}
    referrals recursively.

    This is an implementation detail of L{ResolverBase.getHostByName}.

    @param resolver: The resolver to use for the next query (unless handling
    an I{NS} referral).
    @type resolver: L{IResolver}

    @param name: The name being looked up.
    @type name: L{dns.Name}

    @param answers: All of the records returned by the previous query (answers,
    authority, and additional concatenated).
    @type answers: L{list} of L{dns.RRHeader}

    @param level: Remaining recursion budget. This is decremented at each
    recursion. The query returns L{None} when it reaches 0.
    @type level: L{int}

    @returns: The first IPv4 or IPv6 address (as a dotted quad or colon
    quibbles), or L{None} when no result is found.
    @rtype: native L{str} or L{None}
    N�	inet_ntop�)rbr)�client�ascii)�serverscs$|\}}}t��|||�d�S)Nrw)re)rhrirjrk��levelr%�
nsResolverrr�
queryAgain�s
z!extractRecord.<locals>.queryAgain)�hasattr�socketr%rrr5rv�AF_INET6�payload�addressr3r/�AF_INETr;rerdr9�
twisted.namesrx�Resolver�decode�PORTr1r`)�resolverr%�answersr|�rrlrxr~rr{rre�sB
�������rer1r4r6r:r<rFr>r@rBrHrJrDrNrPr8rRrTrVrXrLr\rZr^)r_)3rpr��zope.interfacer�twisted.internetrrr�twisted.loggerrr�r�twisted.names.errorrr	r
rrr
�range�_ANS�_AUTH�_ADD�EMPTY_RESULT�	IResolverrrer/r3r5r9r;rEr=r?rArGrIrCrMrOr7rQrSrUrWrKr[rYr]rrrrr�<module>sn 
B��������	�
���
�����
�

Spamworldpro Mini