a
    í(a+	  ã                   @   s0   d dl Zd dlZd dlZG dd„ dejjƒZdS )é    Nc                       s<   e Zd ZdZ‡ fdd„Zdd„ Z‡ fdd„Zdd	„ Z‡  ZS )
ÚDNSResolvera4  DNS stub resolver compatible with both dnspython < 2.0.0
    and dnspython >= 2.0.0.

    Set `use_search_by_default` attribute to `True`, which
    determines the default for whether the search list configured
    in the system's resolver configuration is used for relative
    names, and whether the resolver's domain may be added to relative
    names.

    Increase the default lifetime which determines the number of seconds
    to spend trying to get an answer to the question. dnspython 2.0.0
    changes this to 5sec, while the previous one was 30sec.
    c                    sB   t ƒ j|i |¤Ž |  ¡  tt ƒ d| jƒ| _tt ƒ d| jƒ| _d S )NÚresolveÚresolve_address)ÚsuperÚ__init__Úreset_defaultsÚgetattrZqueryr   Ú_resolve_addressr   )ÚselfÚargsÚkwargs©Ú	__class__© ú3/usr/lib/python3/dist-packages/samba/dnsresolver.pyr   &   s    ýzDNSResolver.__init__c                 C   s   d| _ d| _d S )NTé   )Zuse_search_by_defaultZlifetime©r
   r   r   r   r   0   s    zDNSResolver.reset_defaultsc                    s   t ƒ  ¡  |  ¡  d S )N)r   Úresetr   r   r   r   r   r   5   s    
zDNSResolver.resetc                 O   s(   | j tj |¡g|¢R dtjji|¤ŽS )zzQuery nameservers for PTR records.

        :param ip_address: IPv4 or IPv6 address
        :type ip_address: str
        Zrdtype)r   ÚdnsZreversenameZfrom_addressZ	rdatatypeZPTR)r
   Z
ip_addressr   r   r   r   r   r	   9   s    
ÿýþüzDNSResolver._resolve_address)	Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r	   Ú__classcell__r   r   r   r   r      s
   
r   )Zdns.resolverr   Zdns.rdatatypeZdns.reversenameZresolverZResolverr   r   r   r   r   Ú<module>   s   