File: //lib/python3/dist-packages/apparmor/rule/__pycache__/include.cpython-310.pyc
o
%`b� � @ sz d dl mZmZ d dlmZmZmZmZ d dlm Z m
Z
mZ d dlZd dl
mZ e� ZG dd� de �ZG dd � d e
�ZdS )
� )�
RE_INCLUDE�re_match_include_parse)�AppArmorBug�AppArmorException�is_skippable_file�type_is_str)�BaseRule�BaseRuleset�
parse_commentN)�init_translationc sl e Zd ZdZdZ d� fdd� Zedd � �Zed
d� �Zdd
d�Z dd� Z
dd� Zdd� Zdd� Z
� ZS )�IncludeRulez/Class to handle and store a single include rule�includeF� Nc s� t t| �j|||||d� |rtd| jj ��|r!td| jj ��t|�tur1td| jj|f ��t|�turAtd| jj|f ��t|�sOtd| jj|f ��|s[td| jj|f ��|| _ || _
|| _d S )N)�audit�deny�
allow_keyword�comment� log_eventz(Attempt to initialize %s with audit flagz'Attempt to initialize %s with deny flagz*Passed unknown type for ifexists to %s: %sz)Passed unknown type for ismagic to %s: %sz&Passed unknown type for path to %s: %szPassed empty path to %s: %s)�superr �__init__r � __class__�__name__�type�boolr �path�ifexists�ismagic) �selfr r r r r r r r �r � �7/usr/lib/python3/dist-packages/apparmor/rule/include.pyr s( �
zIncludeRule.__init__c C s
t �|�S )N)r �search)�cls�raw_ruler r r �_match9 s
zIncludeRule._matchc C sT | � |�}|sttd�| j|f ��t|�}t|| j�\}}}| |||ddd|d�S )z%parse raw_rule and return IncludeRulezInvalid %s rule '%s'F)r r r r )r$ r �_� rule_namer
r )r"