File: //opt/saltstack/salt/lib/python3.10/site-packages/salt/modules/__pycache__/cmdmod.cpython-310.pyc
o
�N�g � � @ s� d Z ddlZddlZddlZddlZddlZddlZddlZddlZddl Z ddl
Z
ddlZddlZddl
Z
ddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddl Zddl!Zddl"m#Z# ddl$m%Z%m&Z&m'Z' z
ddl(Z(ddl)Z)W n e*y� Y nw ej+j,�-� r�ddl.m/Z0 ddl1m2Z3 dZ4n ddl5Z5e5j6Z0dZ4d gZ7d
Z8e�9e:�Z;ej<j=�>� d Z?dd
� Z@dd� ZAdd� ZBdd� ZCdd� ZDd[dd�ZEd\dd�ZFdd� ZGdd� ZHdd � ZId!d"� ZJdde jKe jKdd#ddde?dddddddddddddddddddddd$f d%d&�ZLdddde?dddddddddddddfd'd(�ZMddde?ddddddddddddddfd)d*�ZNdddde?dddddddd#ddddddddddddddddfd+d,�ZOdddde?ddddddd#dddddddddddddfd-d�Z>dddde?dddddddd#ddddddddddddfd.d/�ZPdddde?dddddddd#ddddddddddddfd0d1�ZQdddde?dddddddd#ddddddddddddddfd2d3�ZRdddde?ddddddd#ddddddddddfd4d5�ZSdddde?ddddddddddddddddfd6d7�ZTddddde?dddddd#dddddddddddfd8d9�ZUddddde?ddd:dddddd#ddddddfd;d<�ZVd=d>� ZWd?d@� ZXdAdB� ZYd]dCdD�ZZd]dEdF�Z[d^dHdI�Z\dddde?dddddddddJdddddddddddfdKdL�Z]dMdN� Z^dOdP� Z_d_dQdR�Z` S # d`dTdS�Za S # dadUdV�ZbdWdX� Zcddde?dddddddd#dddddddddfdYdZ�ZddS )bz�
A module for shelling out.
Keep in mind that this module is insecure, in that it can give whomever has
access to the master root execution access to all salt minions.
� N)�
LOG_LEVELS)�CommandExecutionError�SaltInvocationError�TimedProcTimeoutError)�escape_argument��runasTF�*�cmd�shellc C s t S �N)�__virtualname__� r r �G/opt/saltstack/salt/lib/python3.10/site-packages/salt/modules/cmdmod.py�__virtual__N s r c C s. t | ttf�r
| d �� S t| ��� d �� S )Nr )�
isinstance�tuple�list�strip�str�split�r
r r r �_log_cmdR s r c C s( | durt | d�r| S t�d� dd� S )zh
If the callback is None or is not callable, return a lambda that returns
the value passed.
N�__call__z&log_callback is not callable, ignoringc S s | S r r )�xr r r �<lambda>c s z_check_cb.<locals>.<lambda>)�hasattr�log�error)Zcb_r r r � _check_cbY s
r c C sR z|r
| du r
W dS t �dd�du r| du rW dS W | S W | S ty( Y | S w )zU
Set python_shell default based on remote execution and __opts__['cmd_safe']
NTZcmd_safeF)�__opts__�get� NameError)�python_shell� __pub_jidr r r �_python_shell_defaultf s ����r% c C sb g }t � d�D ]'}ztj�|�}|�| �r$|�ttj�tj�|���� W q t y. Y qw |S )Nz/proc/[0-9]*/root)
�glob�os�path�realpath�
startswith�append�int�basename�dirname�OSError)�chroot�pids�root�linkr r r �_chroot_pidsw s
��r4 c s� |du rzt �dd�}W n ty d}Y nw �s| |fS �tjjjvr,td�� ���i � t� d<