a qqe4 @svddlZddlZddlmZddlmZmZddlmZddl m Z m Z ddl m Z ddlmZGd d d ee ZdS) N)Iterable)CriteriaDescriptorCriteriaSetDescriptor) MatchContext)FSUse FSUseRuletype) PolicyQuery) match_regexcsXeZdZUdZeedZedZdZ e e d<ddfdd Z e edd d ZZS) 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_regexFN)returnc s(tt|j|fi|tt|_dS)N)superr __init__loggingZ getLogger__name__log)selfpolicykwargs __class__8/usr/lib64/python3.9/site-packages/setools/fsusequery.pyr5szFSUseQuery.__init__ccs|jd||jd||jd|||j|jD]F}|jrd|j|jvrdqL|jr~t |j|j|j s~qL| |j sqL|VqLdS)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) rinfoformatdebugZ_match_context_debugrZfs_usesruletypefsr r Z_match_contextcontext)rZfsurrrresults9s   zFSUseQuery.results)r __module__ __qualname____doc__rrrrrr bool__annotations__rrrr! __classcell__rrrrr s   r )rretypingrZ descriptorsrrZmixinsrZ policyreprrqueryr utilr r rrrrs