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/runners/__pycache__/network.cpython-310.pyc
o

�N�g�	�@sXdZddlZddlZddlZddlZddlZe�e�Z	ddd�Z
ddd�Zd
d
d�ZdS)z&
Network tools to run from the Master
�N�255.255.255.255�	c
Cs�g}z=tjj�|d��*}|D]}tjj�|���}t|||�td|���|�	|�qWd�W|S1s8wYW|St
y^}zt�dd|��id�gWYd}~Sd}~ww)ag
    Send a "Magic Packet" to wake up a list of Minions.
    This list must contain one MAC hardware address per line

    CLI Example:

    .. code-block:: bash

        salt-run network.wollist '/path/to/maclist'
        salt-run network.wollist '/path/to/maclist' 255.255.255.255 7
        salt-run network.wollist '/path/to/maclist' 255.255.255.255 7
    �rz
Waking up N�errorz$Failed to open the MAC file. Error: Zprogress)
�salt�utils�filesZfopenZstringutilsZ
to_unicode�strip�wol�print�append�	ExceptionZ
__jid_event__Z
fire_event)Zmaclist�bcast�destport�retZifile�mac�err�r�H/opt/saltstack/salt/lib/python3.10/site-packages/salt/runners/network.py�wollists(
�������rcCsPtjj�|�}t�tjtj�}|�tjtj	d�|�
d|d|t|�f�dS)a
    Send a "Magic Packet" to wake up a Minion

    CLI Example:

    .. code-block:: bash

        salt-run network.wol 08-00-27-13-69-77
        salt-run network.wol 080027136977 255.255.255.255 7
        salt-run network.wol 08:00:27:13:69:77 255.255.255.255 7
    �s�������T)rr�networkZmac_str_to_bytes�socket�AF_INET�
SOCK_DGRAM�
setsockopt�
SOL_SOCKET�SO_BROADCAST�sendto�int)rrr�dest�sockrrrr
,s
r
�globc	Csng}td||�}|D])}||d��D]\}}|dkrq|��}t|||�t�d|�|�|�qq|S)a
    Send a "Magic Packet" to wake up Minions that are matched in the grains cache

    CLI Example:

    .. code-block:: bash

        salt-run network.wolmatch minion_id
        salt-run network.wolmatch 192.168.0.0/16 tgt_type='ipcidr' bcast=255.255.255.255 destport=7
    zcache.grainsZhwaddr_interfaces�lozWaking up %s)Z__salt__�itemsr	r
�log�infor)	ZtgtZtgt_typerrrZminionsZminionZifacerrrr�wolmatch?s�r()rr)r#rr)
�__doc__�loggingrZsalt.utils.filesrZsalt.utils.networkZsalt.utils.stringutils�	getLogger�__name__r&rr
r(rrrr�<module>s