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/utils/__pycache__/sanitizers.cpython-310.pyc
o

�N�g
�@sLddlZddlZddlZddlZddlmZGdd�d�Ze�Z	dd�Z
dS)�N)�CommandExecutionErrorc@s4eZdZedd��Zedd��Zedd��ZeZdS)�InputSanitizercCs |pd��}|std��t|�S)zw
        Raise an exception if value is empty. Otherwise strip it down.
        :param value:
        :return:
        �zEmpty value during sanitation)�stripr�str��value�r	�I/opt/saltstack/salt/lib/python3.10/site-packages/salt/utils/sanitizers.py�trimszInputSanitizer.trimc	Cst�ddtj�t�|���S)zs
        Remove everything that would affect paths in the filename

        :param value:
        :return:
        z[^a-zA-Z0-9.-_ ]r)�re�sub�os�path�basenamerrrr	r	r
�filename's�zInputSanitizer.filenamecCst�ddt�|���d�S)zR
        Clean value for RFC1123.

        :param value:
        :return:
        z[^a-zA-Z0-9.-]r�.)rr
rrrrr	r	r
�hostname3szInputSanitizer.hostnameN)�__name__�
__module__�__qualname__�staticmethodrrr�idr	r	r	r
rs


	rc	Cs||s|Sg}|�tj�D],}t�|��|�r3d|vr3|�dd�\}}|�d�tjj	�
|���d��q|�|�qd�|�S)a�
    Mask a line in the data, which matches "mask".

    This can be used for cases where values in your roster file may contain
    sensitive data such as IP addresses, passwords, user names, etc.

    Note that this works only when ``data`` is a single string (i.e. when the
    data in the roster is formatted as ``key: value`` pairs in YAML syntax).

    :param data: String data, already rendered.
    :param mask: Mask that matches a single line

    :return:
    �:�z{}: {}z** hidden **�
)�splitr�linesep�fnmatchr�append�format�salt�utilsZstringutilsZ
to_unicode�join)�data�mask�out�line�keyrr	r	r
�mask_args_valueCs��
r))rZos.pathrrZsalt.utils.stringutilsr!Zsalt.exceptionsrrZcleanr)r	r	r	r
�<module>s'