File: //lib/python3/dist-packages/apparmor/rule/__pycache__/dbus.cpython-310.pyc
o
%`bb? � @ s� d dl Z d dlmZmZmZmZ d dlmZmZ d dl m
Z
mZmZm
Z
mZmZ d dlmZ e� Zg d�Zddge Zd d
�e� d d Zed
d
d e d d d e d d ZdZe �de d d ed d d ed d d ed d d ed d d ed! d d" d d d# d d$ d% ed& d d$ d' ed( d d$ d% ed) d* d' ed+ d d$ d' ed, d* d% ed- d d. �ZG d/d0� d0e
�ZG d1d2� d2e�ZdS )3� N)�RE_PROFILE_DBUS�RE_PROFILE_NAME�strip_parenthesis�strip_quotes)�AppArmorBug�AppArmorException)�BaseRule�BaseRuleset�check_and_split_list�logprof_value_or_all�parse_modifiers�quote_if_needed)�init_translation)�send�receive�r�read�w�write�rw�bind� eavesdropz ((\s|,)*(�|z)(\s|,)*�)z\(z(\s|,)*�?�(z(\s|,)+z)*z\)z5(?P<%s>(\S+|"[^"]+"|\(\s*\S+\s*\)|\(\s*"[^"]+"\)\s*))z^(\s+(?P<access>z))?z((\s+(bus\s*=\s*�busz))?|z(\s+(path\s*=\s*�pathz(\s+(name\s*=\s*�namez(\s+(interface\s*=\s*� interfacez(\s+(member\s*=\s*�memberz(\s+(peer\s*=\s*\((,|\s)*z(,|\s)*z|(zname\s*=\s*� peername1zlabel\s*=\s*�
peerlabel1� peername2z(,|\s)+�
peerlabel2�
peerlabel3� peername3z)(,|\s)*\)))?){0,6}\s*$c s~ e Zd ZdZG dd� de�ZeZdZ d� fdd � Ze d
d� �Z
e dd
� �Zddd�Zdd� Z
dd� Zdd� Zdd� Z� ZS )�DbusRulez,Class to handle and store a single dbus rulec @ s e Zd ZdS )zDbusRule.__DbusAllN)�__name__�
__module__�__qualname__� r+ r+ �4/usr/lib/python3/dist-packages/apparmor/rule/dbus.py� __DbusAllG s r- �dbusF� Nc s� t t| �j| |
|||
d� t|ttjdd�\| _| _}|r(tt d�d�
|� ��| �|dd|
�\| _| _
| �|dd |
�\| _| _| �|d
d|
�\| _| _| �|dd|
�\| _| _| �|dd|
�\| _| _| �|d
d|
�\| _| _| �|dd|
�\| _| _| jr�d| jv r�| js�| js�| js�| js�| jr�tt d���| jr�d| jv r�| js�| js�| js�| js�| js�| jr�tt d���| jr�| jr�tD ]}|| jv r�tt d�d�
| j� ��q�d S d S d S )N)�audit�deny�
allow_keyword�comment� log_eventr'