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__/pam.cpython-310.pyc
o

�N�g�@sHdZddlZddlZddlZe�e�ZdZdd�Z	d
dd�Z
dd	�ZdS)z
Support for pam
�NZpamcCstS)z-
    Set the virtual name for the module
    )�__virtualname__�rr�D/opt/saltstack/salt/lib/python3.10/site-packages/salt/modules/pam.py�__virtual__src	Csr|rn2|r-tj�|�r-tjj�|d��}tjj�|�	��}Wd�n1s'wYnt
�d|�dSg}|��D]{}|s@q;|�
d�rFq;d}d}g}|��}|d}	d}
|d�
d	�r�|d�d	d�}|d
d�D]#}|
d7}
|�d�r�|d�|�dd��7}|
d7}
n|d
|��7}qkn|d}|
d7}
||
}t|�|
kr�|
d7}
||
d�}|�|	|||d��q;|S)z*
    Parse a standard pam config file
    �rNzFile "%s" does not existF�#�r��[��]z {}� )�	interface�control_flag�module�	arguments)�os�path�exists�salt�utils�filesZfopenZstringutilsZ
to_unicode�read�log�error�
splitlines�
startswith�split�replace�endswith�format�len�append)�contents�	file_nameZifileZrules�linerrr�compsr�position�partrrr�_parsesZ��

���r)cCs
t|d�S)z�
    This is just a test function, to make sure parsing works

    CLI Example:

    .. code-block:: bash

        salt '*' pam.read_file /etc/pam.d/login
    �r$)r)r*rrr�	read_fileLs

r+)NN)�__doc__�loggingrZsalt.utils.filesr�	getLogger�__name__rrrr)r+rrrr�<module>s

5