shell bypass 403
3
�^_ � @ sb d dl Z ddlmZmZ ddlmZ ddlmZ ddlm Z ddl
mZmZ G dd � d ee �Z
dS )
� N� )�CriteriaDescriptor�CriteriaSetDescriptor)�
MatchObjClass)�MLSRuletype)�PolicyQuery)�match_indirect_regex�match_rangec s~ e Zd ZdZeed�Zedd�ZdZ dZ
edd�ZdZdZ
edd �ZdZed
d�ZdZdZdZdZ� fdd
�Zdd� Z� ZS )�MLSRuleQuerya�
Query MLS rules.
Parameter:
policy The policy to query.
Keyword Parameters/Class attributes:
ruletype The list of rule type(s) to match.
source The name of the source type/attribute to match.
source_regex If true, regular expression matching will
be used on the source type/attribute.
target The name of the target type/attribute to match.
target_regex If true, regular expression matching will
be used on the target type/attribute.
tclass The object class(es) to match.
tclass_regex If true, use a regular expression for
matching the rule's object class.
)�
enum_class�source_regexZlookup_type_or_attrFT�target_regex�tclass_regexZlookup_classZlookup_range)Zlookup_functionc s$ t t| �j|f|� tjt�| _d S )N)�superr
�__init__�loggingZ getLogger�__name__�log)�self�policy�kwargs)� __class__� �$/usr/lib64/python3.6/mlsrulequery.pyr @ s zMLSRuleQuery.__init__c c s | j jdj| �� | j jdj| �� | j jdj| �� | j jdj| �� | j| j � | j jdj| �� x�| jj� D ]�}| jr�|j| jkr�qr| jr�t |j| j| j
| j� r�qr| jr�t |j| j| j
| j� r�qr| j|�s�qr| jo�t|j| j| j| j| j| j� �r qr|V qrW dS )z.Generator which yields all matching MLS rules.z+Generating MLS rule results from {0.policy}zRuletypes: {0.ruletype}zLSource: {0.source!r}, indirect: {0.source_indirect}, regex: {0.source_regex}zLTarget: {0.target!r}, indirect: {0.target_indirect}, regex: {0.target_regex}z�Default: {0.default!r}, overlap: {0.default_overlap}, subset: {0.default_subset}, superset: {0.default_superset}, proper: {0.default_proper}N)r �info�format�debugZ_match_object_class_debugr Zmlsrules�ruletype�sourcer �source_indirectr �target�target_indirectr
Z_match_object_class�defaultr �default_subset�default_overlap�default_superset�default_proper)r Zruler r r �resultsD sH
zMLSRuleQuery.results)r �
__module__�__qualname__�__doc__r r r r r r r r r
r! Ztclassr r"