Spamworldpro Mini Shell
Spamworldpro


Server : Apache/2.4.62 (Unix) OpenSSL/1.0.2k-fips
System : Linux server1.richineiserver.com 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64
User : fdshops ( 1003)
PHP Version : 8.2.21
Disable Function : NONE
Directory :  /lib/python2.7/site-packages/DNS/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //lib/python2.7/site-packages/DNS/Base.pyc
�
.�Yc@s�dZddlZddlZddlZddlZddlZddlZddlZddlZddl	Z	yddl
mZe�Z
Wnddl
Z
nXdefd��YZ
de
fd��YZde
fd	��YZd
e
fd��YZde
fd
��YZde
fd��YZddlZidd6dd6ejd6ejd6dd6dd6dd6dd6agtd<dd�Zd �Zd!d%d"��YZd#ee	jfd$��YZdS(&s.
$Id: Base.py,v 1.12.2.19 2011/11/23 17:14:11 customdesigned Exp $

This file is part of the pydns project.
Homepage: http://pydns.sourceforge.net

This code is covered by the standard Python License.  See LICENSE for details.

    Base functionality. Request and Response classes, that sort of thing.
i����N(tSystemRandomtDNSErrorcBseZRS((t__name__t
__module__(((s,/usr/lib/python2.7/site-packages/DNS/Base.pyRst
ArgumentErrorcBseZRS((RR(((s,/usr/lib/python2.7/site-packages/DNS/Base.pyRstSocketErrorcBseZRS((RR(((s,/usr/lib/python2.7/site-packages/DNS/Base.pyRstTimeoutErrorcBseZRS((RR(((s,/usr/lib/python2.7/site-packages/DNS/Base.pyRstServerErrorcBseZd�ZRS(cCs)tj|||�||_||_dS(N(Rt__init__tmessagetrcode(tselfR	R
((s,/usr/lib/python2.7/site-packages/DNS/Base.pyR"s	(RRR(((s,/usr/lib/python2.7/site-packages/DNS/Base.pyR!stIncompleteReplyErrorcBseZRS((RR(((s,/usr/lib/python2.7/site-packages/DNS/Base.pyR'studptprotocoli5tporttopcodetqtypeitrdttimingittimeoutit
server_rotatetservers/etc/resolv.confcCst|�j�}x|D]�}tj|�}|s|ddks|ddkr[qntj|�}t|�dkr�qn|ddkr�t|�dkr�|dtd<n|ddkr�n|ddkr�n|dd	kr�n|dd
krtdj|d�qqWdS(
sCparses the /etc/resolv.conf file and sets defaults for name serversit;t#itdomainitsearchtoptionstsortlistt
nameserverRN(topent	readlineststringtstriptsplittlentdefaultstappend(tresolv_pathtlinestlinetfields((s,/usr/lib/python2.7/site-packages/DNS/Base.pytParseResolvConf2s$
'"cCsEddl}|jdkr:ddl}|j�td<nt�SdS(Ni����twin32tntR(swin32snt(tsystplatformtwin32dnstRegistryResolveR$R*(R-R/((s,/usr/lib/python2.7/site-packages/DNS/Base.pytDiscoverNameServersHs
t
DnsRequestcBszeZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�ZRS(
s high level Request object cOsDd|_d|_i|_|j||�|j|_d|_dS(Ni(tNonetdonefunctasyncR$targparsetargsttid(RtnameR7((s,/usr/lib/python2.7/site-packages/DNS/Base.pyRRs			cCsZ|r-|jjd�r-|jd|d<nt|�tjkrO||d<n0t|�dkr|dr|d|d<qntdr�ttd�tjkr�tddtdd td<nxZtj�D]L}|j|�s�|jj|�r|j|||<qt|||<q�q�Wt|d�tjkrM|dg|d<n||_dS(NR9iiRR(	R$thas_keyttypettypest
StringTypeR#tListTypetkeysR7(RR9R7ti((s,/usr/lib/python2.7/site-packages/DNS/Base.pyR6Zs$


!cCstj||�|_dS(N(tsocketts(Rtatb((s,/usr/lib/python2.7/site-packages/DNS/Base.pyt
socketInitpscCs�|jdkrTtj|jggg|j�\}}}t|�sTtd�qTn|jjd�\|_|_tj�|_	|j
|jd<|j�S(NitTimeouti��R(
RtselectRBR#Rtrecvfromtreplytfrom_addressttimettime_finishtnsR7tprocessReply(Rtrtwte((s,/usr/lib/python2.7/site-packages/DNS/Base.pytprocessUDPReplyss*cCs�|j|�}x�t|�|kr�|jdkrx|j|jtj�}|dkretd�n|jj|�n|j|t|��}|s�tdt|�|f�n||7}qW|S(NiRFs incomplete reply - %d of %d read(	treadR#Rt
time_startRKRRBt
settimeoutR(Rtftcounttrestremtbuf((s,/usr/lib/python2.7/site-packages/DNS/Base.pyt_readall}scCs�|jdkr%|jj|j�n|jjd�|jjd�}z:|j|d�}tj|�}|j||�|_Wd|j	�Xt
j
�|_|j|j
d<|j�S(NitrbiR(RRBRUR3tmakefileR[tLibtunpack16bitRItcloseRKRLRMR7RN(RRVtheaderRW((s,/usr/lib/python2.7/site-packages/DNS/Base.pytprocessTCPReply�scCsR|j|jd|jd<tj|j�}tj||j�}|j|_|S(Ni�telapsed(RLRTR7R^t	MunpackerRIt	DnsResult(RtuRO((s,/usr/lib/python2.7/site-packages/DNS/Base.pyRN�s
cCsmxftrhy-tjdd�}|jjd|f�PWqtjk
rd}|ddkre�qeqXqWdS(s<Pick random source port to avoid DNS cache poisoning attack.ii��tiibN(tTruetrandomtrandintRBtbindRAterror(Rtsource_porttmsg((s,/usr/lib/python2.7/site-packages/DNS/Base.pyt	getSource�s	cCs*|j�|jj|j|jf�dS(N(RoRBtconnectRMR(R((s,/usr/lib/python2.7/site-packages/DNS/Base.pytconn�s
cOs
|j||�|jd}|jd|_tjdd�|_|jd|_|jd}|jd}|jd}t|jd	�tj	kr�y#t
ttj
|jd	��}Wq�tk
r�td
�q�Xn
|jd	}|jjd�s|jGHtd�n|jd}|tjkrA|d
krAdGHd
}ntj�}	|	j|jd|dd|ddddddd�
|	j||tj�|	j�|_y-|dkr�|j|�n
|j|�Wntjk
r�}
t|
�nX|jrdS|j!SdS(s needs a refactoring RRii��RRRRRsunknown query typeR9snothing to lookupttcps'Query type AXFR, protocol forced to TCPiR
N("R6R7RRiRjR8RR;R<R=tgetattrtTypeR tuppertAttributeErrorRR:tAXFRR^tMpackert	addHeadertaddQuestiontClasstINtgetbuftrequesttsendUDPRequesttsendTCPRequestRARlRR5R3tresponse(RR9R7RRRRRtqnametmtreason((s,/usr/lib/python2.7/site-packages/DNS/Base.pytreq�sH



#


	
	cCs�d}d|_xw|D]o|_y|jjd�rkttd�retjre|jtjtj	�q�wn|jtj
tj	�z�tj�|_|j
�|js|jj|j�|j�}x<|jd|jks�|jd|jkr|j�}q�W||_nWd|js-|jj�nXWnFtjk
rV}|pM|}qn"tk
rw}|pn|}qnX|jrPqqW|jr�|r�|�ndS(srefactor met:thas_ipv6tidiN(R3R�RMRWthasattrRAR�REtAF_INET6t
SOCK_DGRAMtAF_INETRKRTRqR5RBtsendR~RRRaR8RJRR`RlR(RRtfirst_socket_errorRORQtt((s,/usr/lib/python2.7/site-packages/DNS/Base.pyR�s>	
			cCs�d}d|_xf|D]^|_y�|jjd�rkttd�retjre|jtjtj	�q�wn|jtj
tj	�z�tj�|_|j
�tjt|j��|j}|jjd�|jj|�|j�}|jd|jkr||_PnWd|jj�XWnFtjk
rE}|p<|}qn"tk
rf}|p]|}qnX|jrPqqW|jr�|r�|�ndS(s& do the work of sending a TCP request R�R�iR�N(R3R�RMRWR�RAR�RER�tSOCK_STREAMR�RKRTRqR^t	pack16bitR#R~RBtsetblockingtsendallRbRaR8R`RlR(RRR�RZRORQR�((s,/usr/lib/python2.7/site-packages/DNS/Base.pyR�s<	
		(RRt__doc__RR6RERRR[RbRNRoRqR�RR�(((s,/usr/lib/python2.7/site-packages/DNS/Base.pyR2Ps				
						.	.tDnsAsyncRequestcBsMeZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	RS(s> an asynchronous request object. out of date, probably broken cOsUtj|||�|jd�r<|dr<|d|_n|j|_d|_dS(Ntdonei(R2RR:R4t
showResultR5(RR9R7((s,/usr/lib/python2.7/site-packages/DNS/Base.pyRLs
cCsh|j�|j|j|jf�tj�|_|jjd�rd|jdrdtj	j
|�ndS(Ntstart(RoRpRMRRKRTR7R:tasyncoret
dispatchertgo(R((s,/usr/lib/python2.7/site-packages/DNS/Base.pyRqUs

cCs-|j||�tjj|�||_dS(N(t
create_socketR�R�RRB(RRCRD((s,/usr/lib/python2.7/site-packages/DNS/Base.pyRE[scCsH|jddkrD|j�|_|jrDt|j|f�qDndS(NRR
(R7RRR�R4tapply(R((s,/usr/lib/python2.7/site-packages/DNS/Base.pythandle_read_s	cCs|j|j�dS(N(R�R~(R((s,/usr/lib/python2.7/site-packages/DNS/Base.pythandle_connectdscCsdS(N((R((s,/usr/lib/python2.7/site-packages/DNS/Base.pythandle_writefscGs|jj�dS(N(R�tshow(RRB((s,/usr/lib/python2.7/site-packages/DNS/Base.pyR�hs(
RRR�RRqRER�R�R�R�(((s,/usr/lib/python2.7/site-packages/DNS/Base.pyR�Js							((R�RAR R<RKRGRtR{tOpcodeR�RiRt	ExceptionRRRRRRR^tQUERYtAR$R*R1R2tdispatcher_with_sendR�(((s,/usr/lib/python2.7/site-packages/DNS/Base.pyt<module>
s.<$


	�

Spamworldpro Mini