Mini Shell
�
�o�i, � �" � d dl Z d dlZd dlZd dlZd dlmZ dZdZd� Zd� Z d� Z
d� Zd � Zd
� Z
dd�Zd
� Zdd�Zd� Zd� Zd� Zdd�Zdd�Zedk r@ ej eej d ej d ej dd� � � � � dS dS )� N)�Listz/etc/cagefs/filters�P c �2 � | rt ||z � � d S d S )N)�print)�debug�msg�argss �`/builddir/build/BUILDROOT/cagefs-7.6.32-1.el8.cloudlinux.x86_64/usr/share/cagefs/check_params.py�dmesgr s, � �� �
�c�D�j������� � c � � t j � | � � }t t j � t
d|z � � d� � }t
j |� � }|� � � n# t $ r Y dS w xY wt |� � dk rd|v sd|v sd|v r|S |� | |� dd� � � � S ) z*
Load JSON config by command name
z%s.json�rN� �allow�deny�
restrict_path�default)�os�path�basename�open�join�CONFIGS_DIR�json�load�close� Exception�len�get)�command_path�name�f�full_configs r
�load_configr$ s� � ���w����-�-�������k�9�t�+;�<�<�c�B�B���i��l�l�� ��� � � � ��� � � ��t�t����� �;���1���'�[�"8�"8�"(�K�"7�"7�"1�[�"@�"@��� �?�?�<�����D�)I�)I�J�J�Js �A=B �
B�
Bc �, � | � d� � S )z�
Return True if arg is a long option name, not a parameter of an option
Long options start with a *double* dash.
:param arg: option or parameter
:type arg: string
�--)�
startswith��args r
�is_long_optionr* + s � � �>�>�$���r c �L � | � d� � ot | � � S )z�
Return True if arg is a short option name, not a parameter of an option
Short options start with a *single* dash.
:param arg: option or parameter
:type arg: string
�-)r'