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__/tap.cpython-310.pyc
o

�b��@sndZddlZddlZddlmZmZddlmZmZm	Z	m
Z
ddlmZGdd�dej
�Z
dd	�Zd
d�ZdS)z
Domain Name Server
�N)�internet�service)�	authority�dns�	secondary�server)�usagec@s�eZdZgd�gd�gd�gd�gZgd�gd�gd�gZejde��id	�Zd
Z	d
Z
dd�Zd
d�Zdd�Z
dd�Zdd�Zdd�Zd
S)�Options)�	interface�i�zThe interface to which to bind)�port�p�53zThe port on which to listen)�resolv-confNNz6Override location of resolv.conf (implies --recursive))�
hosts-fileNNz!Perform lookups with a hosts file)�cache�czEnable record caching)�	recursive�rzPerform recursive lookups)�verbose�vz
Log verboselyr
)�
optActionsNcCs*tj�|�d|d<g|_g|_g|_dS)Nrr)rr	�__init__�	bindfiles�	zonefiles�secondaries��self�r�3/usr/lib/python3/dist-packages/twisted/names/tap.pyr+s

zOptions.__init__cC�*tj�|�s
t�|d��|j�|�dS)z7Specify the filename of a Python syntax zone definition�: No such fileN)�os�path�existsr�
UsageErrorr�append�r�filenamerrr �
opt_pyzone2�zOptions.opt_pyzonecCr!)z6Specify the filename of a BIND9 syntax zone definitionr"N)r#r$r%rr&rr'r(rrr �opt_bindzone8r+zOptions.opt_bindzonecCs�|�dd�}t|�dkrt�d��|d�d�}t|�dkr&|dtjf}n zt|d�}Wnty?t�d|d����w|d|f}|j�	||dgf�dS)	zwAct as secondary for the specified domain, performing
        zone transfers from the specified IP (IP/domain)
        �/��z-Argument must be of the form IP[:port]/domainr�:z$Specify an integer port number, not N)
�split�lenrr&r�PORT�int�
ValueErrorrr')r�	ip_domain�args�addressr
rrr �
opt_secondary>s
��zOptions.opt_secondarycCs|dd7<dS)zIncrement verbosity levelrr.Nrrrrr �opt_verboseRszOptions.opt_verbosec	Cs|drd|d<g|_g|_|jD]}z|j�t�|��Wqty0t��t	�
d|��w|jD]}z|j�t�|��Wq4tySt��t	�
d|��w|j
D]}tjj|�}|j�|�|j�|jd���qWzt|d�|d<WdSty�t	�
d�|d���w)NrTrzInvalid syntax in ���r
zInvalid port: {!r})�svcs�zonesrr'r�PySourceAuthority�	Exception�	traceback�	print_excrr&r�
BindAuthorityrr�SecondaryAuthorityService�fromServerAddressAndDomains�getAuthorityr4r5�format)r�f�svcrrr �postOptionsVs6
�
�
�zOptions.postOptions)�__name__�
__module__�__qualname__�
optParameters�optFlagsr�Completions�CompleteNetInterfaces�compDatar=rrr*r,r9r:rIrrrr r	s*�
�
�r	cCs�ddlm}m}m}gg}}|dr|�|j|dd��|dr-|�|j|dd��|dr<|�|j|d	d
��||fS)a%
    Build DNS resolver instances in an order which leaves recursive
    resolving as a last resort.

    @type config: L{Options} instance
    @param config: Parsed command-line configuration

    @return: Two-item tuple of a list of cache resovers and a list of client
        resolvers
    r)r�client�hostsrr)rr)�filerr)�
resolvconf)�
twisted.namesrrRrSr'�
CacheResolver�Resolver�createResolver)�configrrRrS�ca�clrrr �_buildResolversrs
r]c
Cs�t|�\}}t�|j|||d�}t�|�}d|_t��}t	j
|ft	j|ffD]\}}||d||dd�}|�|�q'|j
D]}	|	�|�q?|S)Nrrr
r
)r
)r]r�DNSServerFactoryr=r�DNSDatagramProtocol�noisyr�MultiServicer�	TCPServer�	UDPServer�setServiceParentr<)
rZr[r\rGr�ret�klass�arg�srHrrr �makeService�s

ri)�__doc__r#r@�twisted.applicationrrrVrrrr�twisted.pythonrr	r]rirrrr �<module>sa

Spamworldpro Mini