HEX
Server: Apache
System: Linux scp1.abinfocom.com 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
User: confeduphaar (1010)
PHP: 8.1.33
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //usr/lib/python3/dist-packages/twisted/names/__pycache__/common.cpython-38.pyc
U


W[��.@sJdZddlmZmZddlZddlmZddlmZddl	m
Z
mZmZddl	m
Z
mZddl	mZdd	lmZmZmZdd
lmZed�\ZZZdZeej�Gd
d�d��Zd)dd�Zejdejdej dej!dej"dej#dej$dej%dej&dej'dej(dej)dej*dej+dej,d ej-d!ej.d"ej/d#ej0d$ej1d%ej2d&ej3d'ej4d(iZ5dS)*z>
Base functionality useful to various parts of Twisted Names.
�)�division�absolute_importN)�implementer)�dns)�DNSFormatError�DNSServerError�DNSNameError)�DNSNotImplementedError�DNSQueryRefusedError)�DNSUnknownError)�defer�error�
interfaces)�Logger�)�rrc
@sVeZdZdZe�Zejeej	e
ejeej
eejeiZdZdd�Zdd�Zd>dd�Zd	d
�Zd?dd�Zd@d
d�ZdAdd�ZdBdd�ZdCdd�ZdDdd�ZdEdd�ZdFdd�ZdGdd�ZdHdd�Z dIdd �Z!dJd!d"�Z"dKd#d$�Z#dLd%d&�Z$dMd'd(�Z%dNd)d*�Z&dOd+d,�Z'dPd-d.�Z(dQd/d0�Z)dRd1d2�Z*dSd3d4�Z+dTd5d6�Z,dUd7d8�Z-dVd:d;�Z.d<d=�Z/dS)W�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__4szResolverBase.__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)rZresponseCoderrr�exceptionForCode:szResolverBase.exceptionForCodec
Cshz|j|j}Wn@tk
rP|jjd|d�t�|j|jjt	j
|j|�YSXt�||jj|�SdS)Nz:Query of unknown type {query.type} for {query.name.name!r})�query)r�type�KeyError�_log�debugrZ
maybeDeferred�_lookup�namer�IN)rr�timeout�methodrrrrDs��
zResolverBase.querycCst�td��S)N�ResolverBase._lookup)rZfail�NotImplementedError)rr%�clsr r'rrrr$Qsr)cCs|�|tjtj|�Sr)r$rr&�A�rr%r'rrr�
lookupAddressUszResolverBase.lookupAddresscCs|�|tjtj|�Sr)r$rr&�AAAAr-rrr�lookupIPV6AddressYszResolverBase.lookupIPV6AddresscCs|�|tjtj|�Sr)r$rr&�A6r-rrr�lookupAddress6]szResolverBase.lookupAddress6cCs|�|tjtj|�Sr)r$rr&�MXr-rrr�lookupMailExchangeaszResolverBase.lookupMailExchangecCs|�|tjtj|�Sr)r$rr&�NSr-rrr�lookupNameserverseszResolverBase.lookupNameserverscCs|�|tjtj|�Sr)r$rr&�CNAMEr-rrr�lookupCanonicalNameisz ResolverBase.lookupCanonicalNamecCs|�|tjtj|�Sr)r$rr&�MBr-rrr�
lookupMailBoxmszResolverBase.lookupMailBoxcCs|�|tjtj|�Sr)r$rr&�MGr-rrr�lookupMailGroupqszResolverBase.lookupMailGroupcCs|�|tjtj|�Sr)r$rr&�MRr-rrr�lookupMailRenameuszResolverBase.lookupMailRenamecCs|�|tjtj|�Sr)r$rr&�PTRr-rrr�
lookupPointeryszResolverBase.lookupPointercCs|�|tjtj|�Sr)r$rr&�SOAr-rrr�lookupAuthority}szResolverBase.lookupAuthoritycCs|�|tjtj|�Sr)r$rr&�NULLr-rrr�
lookupNull�szResolverBase.lookupNullcCs|�|tjtj|�Sr)r$rr&�WKSr-rrr�lookupWellKnownServices�sz$ResolverBase.lookupWellKnownServicescCs|�|tjtj|�Sr)r$rr&�SRVr-rrr�
lookupService�szResolverBase.lookupServicecCs|�|tjtj|�Sr)r$rr&�HINFOr-rrr�lookupHostInfo�szResolverBase.lookupHostInfocCs|�|tjtj|�Sr)r$rr&�MINFOr-rrr�lookupMailboxInfo�szResolverBase.lookupMailboxInfocCs|�|tjtj|�Sr)r$rr&�TXTr-rrr�
lookupText�szResolverBase.lookupTextcCs|�|tjtj|�Sr)r$rr&�SPFr-rrr�lookupSenderPolicy�szResolverBase.lookupSenderPolicycCs|�|tjtj|�Sr)r$rr&�RPr-rrr�lookupResponsibility�sz!ResolverBase.lookupResponsibilitycCs|�|tjtj|�Sr)r$rr&�AFSDBr-rrr�lookupAFSDatabase�szResolverBase.lookupAFSDatabasecCs|�|tjtj|�Sr)r$rr&�AXFRr-rrr�
lookupZone�szResolverBase.lookupZonecCs|�|tjtj|�Sr)r$rr&�NAPTRr-rrr�lookupNamingAuthorityPointer�sz)ResolverBase.lookupNamingAuthorityPointercCs|�|tjtj|�Sr)r$rr&�ALL_RECORDSr-rrr�lookupAllRecords�szResolverBase.lookupAllRecords�
cCs|�||��|j||�Sr)rZ�addCallback�
_cbRecords)rr%r'�effortrrr�
getHostByName�s
�zResolverBase.getHostByNamecCs8|\}}}t|t�|�||||�}|s4t�|��|Sr)�
extractRecordr�Namer
ZDNSLookupError)r�recordsr%r^ZansZauth�add�resultrrrr]�s


zResolverBase._cbRecords)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)Nr[)0�__name__�
__module__�__qualname__�__doc__rr"rZEFORMATrZESERVERrZENAMErZENOTIMPr	ZEREFUSEDr
rrrrrr$r.r0r2r4r6r8r:r<r>r@rBrDrFrHrJrLrNrPrRrTrVrXrZr_r]rrrrr sV�


























rr[cs��sdSttd�r~|D]0��j�kr�jtjkrt�tj�jj	�Sq|D]0��j�krL�jtj
krLt�tj�jj	�SqL|D]0��j�kr��jtjkr�t�tj�jj	�Sq�|D]\��j�kr��jtj
kr�t|�jj|�d�}|�s|jt�jj��dd�S|Sq�|D]`��jtjk�rddlm}|jt�jj�tjfgd����t�������fdd��S�qdS)	N�	inet_ntop�)r^r)�client)Zserverscs&t��|t|t|t�d�S)Nrj)r`�_ANS�_AUTH�_ADD)rb��levelr%�rrr�<lambda>�s
�zextractRecord.<locals>.<lambda>)�hasattr�socketr%r rr1riZAF_INET6ZpayloadZaddressr/r,ZAF_INETr7r`r_�strr5�
twisted.namesrkZResolverZPORTr.r\)Zresolverr%Zanswersrprdrkrrorr`�sB
�
�

�r`r.r0r2r6r8rBr:r<r>rDrFr@rJrLr4rNrPrRrTrHrXrVrZ)r[)6rhZ
__future__rrrtZzope.interfacerrvrZtwisted.names.errorrrrr	r
rZtwisted.internetrr
rZtwisted.loggerr�rangerlrmrnZEMPTY_RESULTZ	IResolverrr`r,r/r1r5r7rAr9r;r=rCrEr?rIrKr3rMrOrQrSrGrWrUrYrrrrr�<module>s|"
%�