/usr/lib64/python3.6/site-packages/setools/__pycache__
Edit: /usr/lib64/python3.6/site-packages/setools/__pycache__/constraintquery.cpython-36.pyc (4527B)
3
^ @ sx d dl Z d dlZddlmZmZ ddlmZ ddlmZm Z ddl
mZ ddlm
Z
ddlmZ G d d
d
ee e
ZdS ) N )CriteriaDescriptorCriteriaSetDescriptor)ConstraintUseError)
MatchObjClassMatchPermission)ConstraintRuletype)PolicyQuery)match_in_setc sl e Zd ZdZeedZeddZdZ eddZ
dZdZed d
Z
dZdZ fddZd
d Zdd Z ZS )ConstraintQuerya
Query constraint rules, (mls)constrain/(mls)validatetrans.
Parameter:
policy The policy to query.
Keyword Parameters/Class attributes:
ruletype The list of rule type(s) to match.
tclass The object class(es) to match.
tclass_regex If true, use a regular expression for
matching the rule's object class.
perms The permission(s) to match.
perms_equal If true, the permission set of the rule
must exactly match the permissions
criteria. If false, any set intersection
will match.
perms_regex If true, regular expression matching will be used
on the permission names instead of set logic.
role The name of the role to match in the
constraint expression.
role_indirect If true, members of an attribute will be
matched rather than the attribute itself.
role_regex If true, regular expression matching will
be used on the role.
type_ The name of the type/attribute to match in the
constraint expression.
type_indirect If true, members of an attribute will be
matched rather than the attribute itself.
type_regex If true, regular expression matching will
be used on the type/attribute.
user The name of the user to match in the
constraint expression.
user_regex If true, regular expression matching will
be used on the user.
)
enum_class
user_regexZlookup_userF
role_regexZlookup_roleT
type_regexZlookup_type_or_attrc s$ t t| j|f| tjt| _d S )N)superr __init__loggingZ getLogger__name__log)selfpolicykwargs) __class__ '/usr/lib64/python3.6/constraintquery.pyr N s zConstraintQuery.__init__c C s8 |r(t }x |D ]}|j|j qW n|}t|||S )ay
Match roles/types/users in a constraint expression,
optionally by expanding the contents of attributes.
Parameters:
expr The expression to match.
criteria The criteria to match.
indirect If attributes in the expression should be expanded.
regex If regular expression matching should be used.
)setupdateexpandr
)r exprZcriteriaZindirectZregexobjitemr r r _match_exprR s
zConstraintQuery._match_exprc c sJ | j jdj| | j jdj| | j| j | j| j | j jdj| | j jdj| | j jdj| x| jj D ]}| jr|j| jkrq~| j |sq~y| j
|sw~W n tk
r w~Y nX | jr| j
|jj| j| j| j rq~| jr| j
|jj| j| j| j rq~| jr<| j
|jj| jd| j r