3
^m
@ sf d dl Z d dlZddlmZmZ ddlmZ ddlmZ ddl m
Z
ddlmZ G dd d ee
Z
dS )
N )CriteriaDescriptorCriteriaSetDescriptor)MatchContext)
FSUseRuletype)PolicyQuery)match_regexc s> e Zd ZdZeedZedZdZ fddZ
dd Z ZS )
FSUseQueryar
Query fs_use_* statements.
Parameter:
policy The policy to query.
Keyword Parameters/Class attributes:
ruletype The rule type(s) to match.
fs The criteria to match the file system type.
fs_regex If true, regular expression matching
will be used on the file system type.
user The criteria to match the context's user.
user_regex If true, regular expression matching
will be used on the user.
role The criteria to match the context's role.
role_regex If true, regular expression matching
will be used on the role.
type_ The criteria to match the context's type.
type_regex If true, regular expression matching
will be used on the type.
range_ The criteria to match the context's range.
range_subset If true, the criteria will match if it is a subset
of the context's range.
range_overlap If true, the criteria will match if it overlaps
any of the context's range.
range_superset If true, the criteria will match if it is a superset
of the context's range.
range_proper If true, use proper superset/subset operations.
No effect if not using set operations.
)
enum_classfs_regexFc s$ t t| j|f| tjt| _d S )N)superr __init__loggingZ getLogger__name__log)selfpolicykwargs) __class__ "/usr/lib64/python3.6/fsusequery.pyr
B s zFSUseQuery.__init__c c s | j jdj| | j jdj| | j jdj| | j| j xV| jj D ]H}| jrf|j| jkrfqN| jrt |j| j| j
rqN| j|jsqN|V qNW dS )z8Generator which yields all matching fs_use_* statements.z+Generating fs_use_* results from {0.policy}zRuletypes: {0.ruletype}z!FS: {0.fs!r}, regex: {0.fs_regex}N)
r infoformatdebugZ_match_context_debugr Zfs_usesruletypefsr r Z_match_contextcontext)r Zfsur r r resultsF s
zFSUseQuery.results)
r
__module____qualname____doc__r r r r r r r
r
__classcell__r r )r r r s
r )r reZdescriptorsr r Zmixinsr Z policyrepr Zqueryr utilr r r r r r