
    i'                         d dl mZ d dlZd dlZd dlZd dlZ G d d          Z G d de          Z G d de          Z	 G d	 d
e          Z
 G d de          Z G d de          ZdS )    )urlparseNc                      e Zd Zd Zd ZdefdZdefdZdefdZ	de
fdZ	 	 dd	ej        j        d
ededz  de
dedededej        j        fdZ	 	 dd	ej        j        d
ededz  de
dedej        j        dededej        j        fdZdS )
Nameserverc                     d S N selfs    ^/var/www/html/Pagina-Ingenieria-Requisitos/venv/lib/python3.11/site-packages/dns/nameserver.py__init__zNameserver.__init__
   s        c                     t           r   NotImplementedErrorr	   s    r   __str__zNameserver.__str__       !!r   returnc                     t           r   r   r	   s    r   kindzNameserver.kind   r   r   c                     t           r   r   r	   s    r   is_always_max_sizezNameserver.is_always_max_size   r   r   c                     t           r   r   r	   s    r   answer_nameserverzNameserver.answer_nameserver   r   r   c                     t           r   r   r	   s    r   answer_portzNameserver.answer_port   r   r   FrequesttimeoutsourceNsource_portmax_sizeone_rr_per_rrsetignore_trailingc                     t           r   r   r
   r   r   r   r   r    r!   r"   s           r   queryzNameserver.query   s
     "!r   backendc	                    K   t           r   r   	r
   r   r   r   r   r    r&   r!   r"   s	            r   async_queryzNameserver.async_query(   s       "!r   FF)__name__
__module____qualname__r   r   strr   boolr   r   intr   dnsmessageQueryMessagefloatMessager%   asyncbackendBackendr)   r   r   r   r   r   	   s         " " ""c " " " ""D " " " ""3 " " " ""S " " " " "' %
" 
")
" 
" d
	
"
 
" 
" 
" 
" 
	
" 
" 
" 
"( "' %" ")" " d
	"
 " " !)" " " 
	" " " " " "r   r   c                   ^     e Zd Zdedef fdZdefdZdefdZd Z	defdZ
defd	Z xZS )
AddressAndPortNameserveraddressportc                 d    t                                                       || _        || _        d S r   )superr   r:   r;   r
   r:   r;   	__class__s      r   r   z!AddressAndPortNameserver.__init__7   s+    			r   r   c                     t           r   r   r	   s    r   r   zAddressAndPortNameserver.kind<   r   r   c                     dS )NFr   r	   s    r   r   z+AddressAndPortNameserver.is_always_max_size?       ur   c                 R    |                                  }| d| j         d| j         S )N:@)r   r:   r;   )r
   ns_kinds     r   r   z AddressAndPortNameserver.__str__B   s/    ))++66DL6649666r   c                     | j         S r   )r:   r	   s    r   r   z*AddressAndPortNameserver.answer_nameserverF   s
    |r   c                     | j         S r   )r;   r	   s    r   r   z$AddressAndPortNameserver.answer_portI   s
    yr   )r+   r,   r-   r.   r0   r   r   r/   r   r   r   r   __classcell__r?   s   @r   r9   r9   6   s         3      
"c " " " "D    7 7 73    S        r   r9   c                        e Zd Zddedef fdZd Z	 	 ddej        j	        de
d	ed
z  dededededej        j        fdZ	 	 ddej        j	        de
d	ed
z  dededej        j        dededej        j        fdZ xZS )Do53Nameserver5   r:   r;   c                 L    t                                          ||           d S r   )r=   r   r>   s      r   r   zDo53Nameserver.__init__N   s#    $'''''r   c                     dS )NDo53r   r	   s    r   r   zDo53Nameserver.kindQ   s    vr   Fr   r   r   Nr   r    r!   r"   r   c                     |r2t           j                            || j        || j        ||||          }n4t           j                            || j        || j        ||d||dd          }|S )N)r   r;   r   r   r!   r"   T)	r   r;   r   r   raise_on_truncationr!   r"   ignore_errorsignore_unexpected)r1   r%   tcpr:   r;   udp)	r
   r   r   r   r   r    r!   r"   responses	            r   r%   zDo53Nameserver.queryT   s      	y}}Y'!1 / % 	 	HH y}}Y'$(!1 /""& %  H r   r&   c	                    K   |r9t           j                            || j        || j        |||||	  	         d {V }	n;t           j                            || j        || j        ||d|||dd           d {V }	|	S )N)r   r;   r   r   r&   r!   r"   T)
r   r;   r   r   rR   r&   r!   r"   rS   rT   )r1   
asyncqueryrU   r:   r;   rV   )
r
   r   r   r   r   r    r&   r!   r"   rW   s
             r   r)   zDo53Nameserver.async_queryy   s        	 ^//Y'!1 / 0 
 
 
 
 
 
 
 
HH !^//Y'$(!1 /""& 0        H r   )rM   r*   )r+   r,   r-   r.   r0   r   r   r1   r2   r3   r4   r/   r5   r%   r6   r7   r)   rI   rJ   s   @r   rL   rL   M   sj       ( ( (3 ( ( ( ( ( (   "' %# #)# # d
	#
 # # # # 
	# # # #Z "' %& &)& & d
	&
 & & !)& & & 
	& & & & & & & &r   rL   c                   ~    e Zd Zdddej        j        j        fdededz  deez  dedej        j        f
 fd	Z	d
 Z
defdZd ZdefdZdefdZ	 	 	 ddej        j        dededz  dededededej        j        fdZ	 	 ddej        j        dededz  dededej        j        dededej        j        fdZ xZS )DoHNameserverNTFurlbootstrap_addressverifywant_gethttp_versionc                     t                                                       || _        || _        || _        || _        || _        d S r   )r=   r   r\   r]   r^   r_   r`   )r
   r\   r]   r^   r_   r`   r?   s         r   r   zDoHNameserver.__init__   sF     	!2 (r   c                     dS )NDoHr   r	   s    r   r   zDoHNameserver.kind   rB   r   r   c                     dS )NTr   r	   s    r   r   z DoHNameserver.is_always_max_size   s    tr   c                     | j         S r   r\   r	   s    r   r   zDoHNameserver.__str__   	    xr   c                     | j         S r   rf   r	   s    r   r   zDoHNameserver.answer_nameserver   rg   r   c                 @    t          | j                  j        }|d}|S )Ni  )r   r\   r;   )r
   r;   s     r   r   zDoHNameserver.answer_port   s#    !!&<Dr   r   r   r   r   r    r!   r"   c                     t           j                            || j        |||| j        ||| j        | j         | j                  S N)	r   r   r   r]   r!   r"   r^   postr`   )r1   r%   httpsr\   r]   r^   r_   r`   r$   s           r   r%   zDoHNameserver.query   sQ     yH#"4-+;m#*  
 
 	
r   r&   c	                    K   t           j                            || j        |||| j        ||| j        | j         | j                   d {V S rk   )r1   rY   rm   r\   r]   r^   r_   r`   r(   s	            r   r)   zDoHNameserver.async_query   su       ^))H#"4-+;m#* * 
 
 
 
 
 
 
 
 	
r   FFFr*   )r+   r,   r-   r1   r%   HTTPVersionDEFAULTr.   r/   r   r   r   r   r   r0   r   r2   r3   r4   r5   r6   r7   r)   rI   rJ   s   @r   r[   r[      s        )-!.1i.C.K) )) :) s
	)
 ) i+) ) ) ) ) )  D      3    S     !& %
 
)
 
 d
	

 
 
 
 
 
	
 
 
 
@ "' %
 
)
 
 d
	

 
 
 !)
 
 
 
	
 
 
 
 
 
 
 
r   r[   c                       e Zd Z	 	 	 ddedededz  deez  f fdZd	 Z	 	 	 ddej	        j
        dededz  dededededej	        j        fdZ	 	 ddej	        j
        dededz  dededej        j        dededej	        j        fdZ xZS )DoTNameserverU  NTr:   r;   hostnamer^   c                 h    t                                          ||           || _        || _        d S r   )r=   r   ru   r^   )r
   r:   r;   ru   r^   r?   s        r   r   zDoTNameserver.__init__   s1     	$''' r   c                     dS )NDoTr   r	   s    r   r   zDoTNameserver.kind  rB   r   Fr   r   r   r   r    r!   r"   r   c           
      x    t           j                            || j        | j        |||| j        | j                  S N)r;   r   r!   r"   server_hostnamer^   )r1   r%   tlsr:   r;   ru   r^   r$   s           r   r%   zDoTNameserver.query  sA     y}}L-+ M;  	
 	
 		
r   r&   c	           
         K   t           j                            || j        | j        |||| j        | j                   d {V S rz   )r1   rY   r|   r:   r;   ru   r^   r(   s	            r   r)   zDoTNameserver.async_query  se       ^''L-+ M; ( 	
 	
 	
 	
 	
 	
 	
 	
 		
r   )rt   NTro   r*   r+   r,   r-   r.   r0   r/   r   r   r1   r2   r3   r4   r5   r%   r6   r7   r)   rI   rJ   s   @r   rs   rs      s        #!	 		 	 *		
 s
	 	 	 	 	 	   !& %
 
)
 
 d
	

 
 
 
 
 
	
 
 
 
: "' %
 
)
 
 d
	

 
 
 !)
 
 
 
	
 
 
 
 
 
 
 
r   rs   c                       e Zd Z	 	 	 ddededeez  dedz  f fdZd	 Z	 	 	 ddej	        j
        dededz  dededededej	        j        fdZ	 	 ddej	        j
        dededz  dededej        j        dededej	        j        fdZ xZS )DoQNameserverrt   TNr:   r;   r^   r{   c                 h    t                                          ||           || _        || _        d S r   )r=   r   r^   r{   )r
   r:   r;   r^   r{   r?   s        r   r   zDoQNameserver.__init__2  s4     	$'''.r   c                     dS )NDoQr   r	   s    r   r   zDoQNameserver.kind=  rB   r   Fr   r   r   r   r    r!   r"   r   c           
      x    t           j                            || j        | j        |||| j        | j                  S N)r;   r   r!   r"   r^   r{   )r1   r%   quicr:   r;   r^   r{   r$   s           r   r%   zDoQNameserver.query@  sB     y~~L-+; 0  	
 	
 		
r   r&   c	           
         K   t           j                            || j        | j        |||| j        | j                   d {V S r   )r1   rY   r   r:   r;   r^   r{   r(   s	            r   r)   zDoQNameserver.async_queryU  sf       ^((L-+; 0 ) 	
 	
 	
 	
 	
 	
 	
 	
 		
r   )rt   TNro   r*   r~   rJ   s   @r   r   r   1  s        !&*	/ 	/	/ 	/ s
		/
 t	/ 	/ 	/ 	/ 	/ 	/   !& %
 
)
 
 d
	

 
 
 
 
 
	
 
 
 
: "' %
 
)
 
 d
	

 
 
 !)
 
 
 
	
 
 
 
 
 
 
 
r   r   )urllib.parser   dns.asyncbackendr1   dns.asyncquerydns.message	dns.queryr   r9   rL   r[   rs   r   r   r   r   <module>r      sb   ! ! ! ! ! !                *" *" *" *" *" *" *" *"Z    z   .R R R R R- R R RjQ
 Q
 Q
 Q
 Q
J Q
 Q
 Q
h8
 8
 8
 8
 8
, 8
 8
 8
v8
 8
 8
 8
 8
, 8
 8
 8
 8
 8
r   