HEX
Server: Apache
System: Linux server2.voipitup.com.au 4.18.0-553.104.1.lve.el8.x86_64 #1 SMP Tue Feb 10 20:07:30 UTC 2026 x86_64
User: posscale (1027)
PHP: 8.2.29
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //opt/saltstack/salt/lib/python3.10/site-packages/salt/modules/__pycache__/openscap.cpython-310.pyc
o

�N�g
�@svdZddlZddlZddlZddlZddlmZmZddddifgdd	�iZGd
d�dej	�Z
dddd
�Zdd�ZdS)z!
Module for OpenSCAP Management

�N)�PIPE�Popen�eval)z	--profile�requiredTz\oscap xccdf eval --oval-results --results results.xml --report report.html --profile {0} {1})�parser_arguments�cmd_patterncs&eZdZd�fdd�	Zdd�Z�ZS)�_ArgumentParserNcsPt�j|ddi|��|jddgd�tddD]\}}|j|i|��qdS)N�progZoscap�actionr)�choicesr)�super�__init__�add_argument�
_XCCDF_MAP)�selfr
�args�kwargs�paramsZkwparams��	__class__��I/opt/saltstack/salt/lib/python3.10/site-packages/salt/modules/openscap.pyr
s
�z_ArgumentParser.__init__cOst|���N)�	Exception)r�messagerrrrr�errorsz_ArgumentParser.errorr)�__name__�
__module__�__qualname__r
r�
__classcell__rrrrrsrF)r��c
Cst�|�}|d}d}d}d}d}d}zt�}|�|�dj}t|d�j|d�\}}	WntyC}
zd}t|
�}WYd}
~
nd}
~
ww|r�t|d�|j	|�}t
��}tt�|�t
t
|d	�}
|
��\}}|
j}t�|d�}|r�td
|�tj|dd�|}t||||d�S)
a�
    Run ``oscap xccdf`` commands on minions.
    It uses cp.push_dir to upload the generated files to the salt master
    in the master's minion files cachedir
    (defaults to ``/var/cache/salt/master/minions/minion-id/files``)

    It needs ``file_recv`` set to ``True`` in the master configuration file.

    CLI Example:

    .. code-block:: bash

        salt '*'  openscap.xccdf "eval --profile Default /usr/share/openscap/scap-yast2sec-xccdf.xml"
    ���TNr)r
)rFr)�stdout�stderr�cwdzcp.push_dir)�
ignore_errors)�success�
upload_dirr�
returncode)�shlex�splitr�parse_known_argsr
r�strr�formatZprofile�tempfileZmkdtemprr�communicater)�_OSCAP_EXIT_CODES_MAP�getZ__salt__�shutil�rmtree�dict)r�policyr'rr(r
r)�parserr�argv�err�cmdZtempdir�procZ
stdoutdatarrr�xccdf*s<
���r<)
�__doc__�argparser*r3r/�
subprocessrrr�ArgumentParserrr1r<rrrr�<module>s"���