Current File : //lib/python3.9/site-packages/sepolgen/__pycache__/objectmodel.cpython-39.pyc |
a
z
fw � @ sb d Z g d�ZdZdZdZeeB Zeeeed�Zedededed iZG d
d� d�ZG dd
� d
�Z dS )z�
This module provides knowledge object classes and permissions. It should
be used to keep this knowledge from leaking into the more generic parts of
the policy generation.
) Zsocket�fdZprocess�fileZlnk_fileZ fifo_fileZdbusZ
capabilityZunix_stream_socket� � � )�n�r�w�br r r r c @ s e Zd ZdZdd� Zdd� ZdS )�PermMapa A mapping between a permission and its information flow properties.
PermMap represents the information flow properties of a single permission
including the direction (read, write, etc.) and an abstract representation
of the bandwidth of the flow (weight).
c C s || _ || _|| _d S �N)�perm�dir�weight)�selfr r
r � r �8/usr/lib/python3.9/site-packages/sepolgen/objectmodel.py�__init__T s zPermMap.__init__c C s d| j t| j | jf S )Nz'<sepolgen.objectmodel.PermMap %s %s %d>)r �
dir_to_strr
r �r r r r �__repr__Y s �zPermMap.__repr__N)�__name__�
__module__�__qualname__�__doc__r r r r r r r
M s r
c @ s@ e Zd ZdZdd� Zdd� Zdd� Zdd � Zd
d� Zdd
� Z dS )�PermMappingsz�The information flow properties of a set of object classes and permissions.
PermMappings maps one or more classes and permissions to their PermMap objects
describing their information flow characteristics.
c C s i | _ d| _t| _d S )N� )�classes�default_weight� FLOW_BOTH�default_dirr r r r r d s zPermMappings.__init__c C s� d}|D ]�}|� � }t|�dkst|�dks|d dkr:q|d dkrv|d }|| jv r`td��i | j|<