Sindbad~EG File Manager

Current Path : /lib64/python3.6/site-packages/setools/__pycache__/
Upload File :
Current File : //lib64/python3.6/site-packages/setools/__pycache__/ioportconquery.cpython-36.opt-1.pyc

3

�^��@sNddlZddlmZddlmZddlmZddlmZGdd�dee�Z	dS)	�N�)�MatchContext)�IoportconRange)�PolicyQuery)�match_rangecsVeZdZdZdZdZdZdZdZe	dd��Z
e
jdd��Z
�fdd�Zd	d
�Z
�ZS)�IoportconQuerya�
    Ioportcon context query.

    Parameter:
    policy          The policy to query.

    Keyword Parameters/Class attributes:
    ports           A 2-tuple of the port range to match. (Set both to
                    the same value for a single port)
    ports_subset    If true, the criteria will match if it is a subset
                    of the ioportcon's range.
    ports_overlap   If true, the criteria will match if it overlaps
                    any of the ioportcon's range.
    ports_superset  If true, the criteria will match if it is a superset
                    of the ioportcon's range.
    ports_proper    If true, use proper superset/subset operations.
                    No effect if not using set operations.

    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.
    NFcCs|jS)N)�_ports)�self�r
�&/usr/lib64/python3.6/ioportconquery.py�portsLszIoportconQuery.portscCs^t|�}t|�rT|jdks$|jdkr2tdj|���|j|jkrLtdj|���||_nd|_dS)Nrz/Port numbers must be positive: {0.low}-{0.high}zAThe low port must be smaller than the high port: {0.low}-{0.high})r�allZlowZhigh�
ValueError�formatr)r	�valueZ
pending_portsr
r
rrPscs$tt|�j|f|�tjt�|_dS)N)�superr�__init__�loggingZ	getLogger�__name__�log)r	�policy�kwargs)�	__class__r
rrbszIoportconQuery.__init__ccs�|jjdj|��|jjdj|��|j|j�xN|jj�D]@}|jrht|j|j|j	|j
|j|j�rhq<|j
|j�svq<|Vq<WdS)z/Generator which yields all matching ioportcons.z"Generating results from {0.policy}z�Ports: {0.ports!r}, overlap: {0.ports_overlap}, subset: {0.ports_subset}, superset: {0.ports_superset}, proper: {0.ports_proper}N)r�infor�debugZ_match_context_debugrZ
ioportconsrr�ports_subset�
ports_overlap�ports_superset�ports_properZ_match_context�context)r	Z	ioportconr
r
r�resultsfs 

zIoportconQuery.results)r�
__module__�__qualname__�__doc__rrrrr�propertyr�setterrr �
__classcell__r
r
)rrrs)r)
rZmixinsrZ	policyreprZqueryr�utilrrr
r
r
r�<module>s


Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists