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/modules/__pycache__/znc.cpython-310.pyc
o

�N�g	�@stdZddlZddlZddlZddlZddlZddlZe�	e
�Zdd�Zddd�Z
dd	�Zd
d�Zdd
�Zdd�ZdS)zm
znc - An advanced IRC bouncer

.. versionadded:: 2014.7.0

Provides an interface to basic ZNC functionality
�NcCstjj�d�r	dSdS)z2
    Only load the module if znc is installed
    �znc)Fz Module znc: znc binary not found)�salt�utils�path�which�rr�D/opt/saltstack/salt/lib/python3.10/site-packages/salt/modules/znc.py�__virtual__sr	�sha256csr|dkr
t�|�}n|dkrt�|�}ntSd�|jd��fdd�td�D��d�}|�|d	�|��|d
<|S)z1
    Create a znc compatible hashed password
    r
�md5zKabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!?.,:;/*-+_()�c3s�|]
}t�����VqdS)N)�random�SystemRandom�choice)�.0�x��crr�	<genexpr>,s�z_makepass.<locals>.<genexpr>�)ZMethod�SaltrZHash)	�hashlibr
r�NotImplemented�name�join�range�update�	hexdigest)�passwordZhasher�h�rrrr�	_makepasss�r!cGsNdd�|D�}|rd�d�|��Sdg}|�|�td|dd���}|d	S)
z�
    Build module using znc-buildmod

    CLI Example:

    .. code-block:: bash

        salt '*' znc.buildmod module.cpp [...]
    cSsg|]
}tj�|�s|�qSr)�osr�exists)r�modulerrr�
<listcomp>Aszbuildmod.<locals>.<listcomp>z$Error: The file ({}) does not exist.z, zznc-buildmod�cmd.runF�Zpython_shell���)�formatr�extend�__salt__�
splitlines)�modules�missing�cmd�outrrr�buildmod6s
r1cC�tddtjd�S)z�
    Write the active configuration state to config file

    CLI Example:

    .. code-block:: bash

        salt '*' znc.dumpconf
    �ps.pkillr��signal)r+r5�SIGUSR1rrrr�dumpconfK�
r7cCr2)z�
    Rehash the active configuration state from config file

    CLI Example:

    .. code-block:: bash

        salt '*' znc.rehashconf
    r3rr4)r+r5�SIGHUPrrrr�
rehashconfXr8r:cCs2ddg}td|dd���}|d�d�}|dS)z|
    Return server version from znc --version

    CLI Example:

    .. code-block:: bash

        salt '*' znc.version
    rz	--versionr&Fr'rz - )r+r,�split)r/r0�retrrr�versiones
r=)r
)�__doc__r�loggingZos.pathr"r
r5Zsalt.utils.pathr�	getLogger�__name__�logr	r!r1r7r:r=rrrr�<module>s