CasperSecurity

Current Path : /lib/python3/dist-packages/twisted/names/__pycache__/
Upload File :
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
Hacker Blog, Shell İndir, Sql İnjection, XSS Attacks, LFI Attacks, Social Hacking, Exploit Bot, Proxy Tools, Web Shell, PHP Shell, Alfa Shell İndir, Hacking Training Set, DDoS Script, Denial Of Service, Botnet, RFI Attacks, Encryption
Telegram @BIBIL_0DAY