509318396
Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­
<!DOCTYPE html>
<html>
3
í«„^º  ã               @   sV   d dl Z d dlZddlmZ ddlmZ ddlmZ ddlm	Z	 G dd„ deeƒZ
dS )	é    Né   )ÚCriteriaDescriptor)ÚMatchContext)ÚPolicyQuery)Úmatch_regexc                   sD   e Zd ZdZdZedƒZdZedƒZdZ	‡ fdd„Z
dd	„ Z‡  ZS )
ÚGenfsconQueryaÞ  
    Query genfscon statements.

    Parameter:
    policy          The policy to query.

    Keyword Parameters/Class attributes:
    fs              The criteria to match the file system type.
    fs_regex        If true, regular expression matching
                    will be used on the file system type.
    path            The criteria to match the path.
    path_regex      If true, regular expression matching
                    will be used on the path.
    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.
    NÚfs_regexFÚ
path_regexc                s$   t t| ƒj|f|Ž tjtƒ| _d S )N)Úsuperr   Ú__init__ÚloggingZ	getLoggerÚ__name__Úlog)ÚselfÚpolicyÚkwargs)Ú	__class__© ú%/usr/lib64/python3.6/genfsconquery.pyr   E   s    zGenfsconQuery.__init__c             c   sÎ   | j jdj| ƒƒ | j jdj| ƒƒ | j jdj| ƒƒ | j jdj| ƒƒ | j| j ƒ xt| jjƒ D ]f}| jr€t|j| j| j	ƒ r€q`| j
rœt|j
| j
| jƒ rœq`| jr²| j|jk r²q`| j|jƒsÀq`|V  q`W dS )z.Generator which yields all matching genfscons.z+Generating genfscon results from {0.policy}z!FS: {0.fs!r}, regex: {0.fs_regex}z'Path: {0.path!r}, regex: {0.path_regex}zFiletype: {0.filetype!r}N)r   ÚinfoÚformatÚdebugZ_match_context_debugr   Z	genfsconsÚfsr   r   Úpathr	   ÚfiletypeZ_match_contextÚcontext)r   Zgenfsr   r   r   ÚresultsI   s*    

zGenfsconQuery.results)r   Ú
__module__Ú__qualname__Ú__doc__r   r   r   r   r   r	   r   r   Ú__classcell__r   r   )r   r   r      s   !r   )r   ÚreZdescriptorsr   Zmixinsr   Zqueryr   Úutilr   r   r   r   r   r   Ú<module>   s   