shell bypass 403
3
�^t � @ sD d dl Z d dlZddlmZmZ ddlmZ G dd� deee�ZdS )� N� )� MatchName�MatchPermission)�PolicyQueryc s( e Zd ZdZ� fdd�Zdd� Z� ZS )�CommonQuerya�
Query common permission sets.
Parameter:
policy The policy to query.
Keyword Parameters/Class attributes:
name The name of the common to match.
name_regex If true, regular expression matching will
be used for matching the name.
perms The permissions to match.
perms_equal If true, only commons with permission sets
that are equal to the criteria will
match. Otherwise, any intersection
will match.
perms_regex If true, regular expression matching will be used
on the permission names instead of set logic.
c s$ t t| �j|f|� tjt�| _d S )N)�superr �__init__�loggingZ getLogger�__name__�log)�self�policy�kwargs)� __class__� �#/usr/lib64/python3.6/commonquery.pyr / s zCommonQuery.__init__c c s` | j jdj| �� | j| j � | j| j � x0| jj� D ]"}| j|�sFq6| j|�sRq6|V q6W dS )z,Generator which yields all matching commons.z)Generating common results from {0.policy}N) r �info�formatZ_match_name_debugZ_match_perms_debugr
ZcommonsZ_match_nameZ_match_perms)r Zcomr r r �results3 s
zCommonQuery.results)r
�
__module__�__qualname__�__doc__r r �
__classcell__r r )r r r s r )r �reZmixinsr r Zqueryr r r r r r �<module> s