HEX
Server: Apache
System: Linux server2.voipitup.com.au 4.18.0-553.109.1.lve.el8.x86_64 #1 SMP Thu Mar 5 20:23:46 UTC 2026 x86_64
User: posscale (1027)
PHP: 8.2.30
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //opt/saltstack/salt/lib/python3.10/site-packages/salt/roster/__pycache__/scan.cpython-310.pyc
o

�N�g+�@sVdZddlZddlZddlZddlZddlmZe�e	�Z
d	dd�ZGdd�d�ZdS)
z-
Scan a netmask or ipaddr for open ssh ports
�N)�	ipaddress�globcKst||�}|��S)zs
    Return the targets from the flat yaml file, checks opts for location but
    defaults to /etc/salt/roster
    )�
RosterMatcher�targets)�tgt�tgt_type�kwargsZrmatcher�r	�D/opt/saltstack/salt/lib/python3.10/site-packages/salt/roster/scan.pyrs
rc@s eZdZdZdd�Zdd�ZdS)rz/
    Matcher for the roster data structure
    cCs||_||_dS)N)rr)�selfrrr	r	r
�__init__s
zRosterMatcher.__init__c	Csfg}i}td}t|t�stttt|��d���}|jdkr"|j}n|jg}|D]+}z
|�	t
�|��Wq(tySz|�
t
�|����Wn	tyPYnwYq(w|D]Z}t|�}t�t�di��||<t�d|�|D]@}t�d|�z/tjj�|tj�}|�ttd��|�||f�|�tj�|� �||�!||d��Wqot"y�YqowqV|S)	zp
        Return ip addrs based on netmask, sitting in the "glob" spot because
        it is the default
        Zssh_scan_ports�,�listZroster_defaultszScanning host: %szScanning port: %sZssh_scan_timeout)�host�port)#Z__opts__�
isinstancer�map�int�str�splitrr�appendr�
ip_address�
ValueError�extend�
ip_network�hosts�copy�deepcopy�get�logZtrace�salt�utils�networkZ
get_socket�socket�SOCK_STREAM�
settimeout�float�connect�shutdown�	SHUT_RDWR�close�update�OSError)	r�addrs�retZportsZtgtsr�addrr�sockr	r	r
r!sJ

�����zRosterMatcher.targetsN)�__name__�
__module__�__qualname__�__doc__rrr	r	r	r
rsr)r)
r4r�loggingr#Zsalt.utils.networkr Zsalt._compatr�	getLoggerr1rrrr	r	r	r
�<module>s