File: //lib/python3/dist-packages/apparmor/rule/__pycache__/alias.cpython-310.pyc
o
%`bB � @ sr d dl mZmZ d dlmZmZmZ d dlmZm Z m
Z
mZ d dlm
Z
e
� ZG dd� de�ZG dd� de �Zd S )
� )�RE_PROFILE_ALIAS�strip_quotes)�AppArmorBug�AppArmorException�type_is_str)�BaseRule�BaseRuleset�
parse_comment�quote_if_needed)�init_translationc sd e Zd ZdZdZ d� fdd� Zedd � �Zed
d� �Zdd
d�Z dd� Z
dd� Zdd� Z� Z
S )� AliasRulez-Class to handle and store a single alias rule�aliasF� Nc s� t t| �j|||||d� |rtd| jj ��|r!td| jj ��t|�s/td| jj|f ��|s;td| jj|f ��|�d�sDtd��t|�sRtd| jj|f ��|s^td | jj|f ��|�d�sgtd
��|| _ || _
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 orig_path to %s: %sz Passed empty orig_path to %s: %s�/z!Alias path doesn't start with '/'z(Passed unknown type for target to %s: %szPassed empty target to %s: %sz#Alias target doesn't start with '/')�superr �__init__r � __class__�__name__r r �
startswith� orig_path�target)�selfr r r r r r r �r � �5/usr/lib/python3/dist-packages/apparmor/rule/alias.pyr s. �
zAliasRule.__init__c C s
t �|�S )N)r �search)�cls�raw_ruler r r �_match<