HEX
Server: Apache/2.4.62 (Unix) OpenSSL/1.1.1k
System: Linux ns565604.ip-54-39-133.net 4.18.0-553.50.1.el8_10.x86_64 #1 SMP Tue Apr 15 08:09:22 EDT 2025 x86_64
User: greer489 (1034)
PHP: 8.3.19
Disabled: NONE
Upload Files
File: //lib/python3.6/site-packages/DNS/__pycache__/win32dns.cpython-36.opt-1.pyc
3

V[�@sDdZddlZddlZdd�Zdd�Zdd�Zed	kr@ed
e��dS)a}
 $Id$

 Extract a list of TCP/IP name servers from the registry 0.1
    0.1 Strobl 2001-07-19
 Usage:
    RegistryResolve() returns a list of ip numbers (dotted quads), by
    scouring the registry for addresses of name servers

 Tested on Windows NT4 Server SP6a, Windows 2000 Pro SP2 and
 Whistler Pro (XP) Build 2462 and Windows ME
 ... all having a different registry layout wrt name servers :-/

 Todo:

   Program doesn't check whether an interface is up or down

 (c) 2001 Copyright by Wolfgang Strobl ws@mystrobl.de,
          License analog to the current Python license

 WARNING: Python3 port completely untested on Windows.
�NcCs�t|�ddkrt�g}xdtt|�d�D]P}|dd�}|dd�}g}x|D]}|jtt|���qPW|jdj|��q*W|S)z6convert a binary array of ip adresses to a python list�rN�.)�len�EnvironmentError�range�append�str�ord�join)�sZol�i�s1Zip�j�r�/usr/lib/python3.6/win32dns.py�binipdisplays
rcCsddl}ttt|jd|���S)zsconvert "d.d.d.d,d.d.d.d" to ["d.d.d.d","d.d.d.d"].
       also handle u'd.d.d.d d.d.d.d', as reporting on SF 
    rNz[ ,])�re�list�mapr�split)rrrrr�
stringdisplay)src4Csvg}tjdtj�}ytj|d�}Wndtk
r�y:tj|d�}tj|d�\}}|rj||krj|jt|��Wntk
r�YnX|SXytj|d�dj�}Wn tj|d�dj�}YnX|r�|}tj|d�d}tj	|�y�tj|d�}x�t
d�D]t}yTtj||�}tj||�}tj|d�\}}	tj|d	�\}
}|jt|
��tj	|�Wntk
�rlPYnX�q�Wtj	|�Wntk
�r�YnXy�tj|d
�}x�t
d�D]�}yptj||�}tj||�}y2tj|d�\}}|�r�||k�r�|jt|��Wntk
�rYnXtj	|�Wntk
�r<PYnX�q�Wtj	|�Wntk
�rfYnXtj	|�|S)Nz2SYSTEM\CurrentControlSet\Services\Tcpip\Parametersz+SYSTEM\CurrentControlSet\Services\VxD\MSTCPZ
NameServerZDhcpNameServerrzHSYSTEM\CurrentControlSet\Services\Tcpip\Parameters\DNSRegisteredAdaptersi�ZDNSServerAddressCountZDNSServerAddressesz=SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces)
�winregZConnectRegistry�HKEY_LOCAL_MACHINE�OpenKeyrZQueryValueEx�extendrrZCloseKeyrZEnumKeyr)Znameservers�x�yZ
nameserverZ	dummytyper�n�zZdnscountZdnscounttypeZ	dnsvaluesZ
dnsvaluestyperrr�RegistryResolve0s|




r�__main__z
Name servers:)�__doc__rrrrr�__name__�printrrrr�<module>sD