Sindbad~EG File Manager

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

3

�^��@sVddlZddlZddlmZddlmZddlmZddlm	Z	Gdd�dee�Z
dS)	�N�)�MatchContext)�IbpkeyconRange)�PolicyQuery)�match_rangecsteZdZdZdZdZdZdZdZdZ	�fdd�Z
edd��Zej
dd��Zed	d
��Zej
dd
��Zdd
�Z�ZS)�IbpkeyconQuerya 
    Infiniband pkey context query.

    Parameter:
    policy          The policy to query.

    Keyword Parameters/Class attributes:
    subnet_prefix   A subnet prefix to match.
    pkeys           A 2-tuple of the pkey range to match. (Set both to
                    the same value for a single pkey)
    pkeys_subset    If true, the criteria will match if it is a subset
                    of the ibpkeycon's range.
    pkeys_overlap   If true, the criteria will match if it overlaps
                    any of the ibpkeycon's range.
    pkeys_superset  If true, the criteria will match if it is a superset
                    of the ibpkeycon's range.
    pkeys_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.
    NFcs$tt|�j|f|�tjt�|_dS)N)�superr�__init__�loggingZ	getLogger�__name__�log)�self�policy�kwargs)�	__class__��&/usr/lib64/python3.6/ibpkeyconquery.pyr	KszIbpkeyconQuery.__init__cCs|jS)N)�_pkeys)r
rrr�pkeysOszIbpkeyconQuery.pkeyscCs�|dk	rvt|�}|jdks$|jdkr2tdj|���|jdksF|jdkrTtdj|���|j|jkrntdj|���||_nd|_dS)Nrz.Pkeys must be positive: {0.low:#x}-{0.high:#x}i��z/Pkeys maximum is 0xffff: {0.low:#x}-{0.high:#x}zGThe low pkey must be smaller than the high pkey: {0.low:#x}-{0.high:#x})rZlowZhigh�
ValueError�formatr)r
�valueZ
pending_pkeysrrrrSscCs|jS)N)�_subnet_prefix)r
rrr�
subnet_prefixiszIbpkeyconQuery.subnet_prefixcCs|rtj|�|_nd|_dS)N)�	ipaddressZIPv6Addressr)r
rrrrrmsccs�|jjdj|��|jjdj|��|jjdj|��|j|j�xf|jj�D]X}|jdk	rj|j|jkrjqN|jr�t	|j|j|j
|j|j|j
�r�qN|j|j�s�qN|VqNWdS)z/Generator which yields all matching ibpkeycons.z,Generating ibpkeycon results from {0.policy}z Subnet Prefix: {0.subnet_prefix}z~Pkeys: {0.pkeys}, overlap: {0.pkeys_overlap}, subset: {0.pkeys_subset}, superset: {0.pkeys_superset}, proper: {0.pkeys_proper}N)r�infor�debugZ_match_context_debugrZ
ibpkeyconsrrr�pkeys_subset�
pkeys_overlap�pkeys_superset�pkeys_properZ_match_context�context)r
Zpkrrr�resultsts&

zIbpkeyconQuery.results)r�
__module__�__qualname__�__doc__rrrrrr r	�propertyr�setterrr"�
__classcell__rr)rrrs&r)rr
ZmixinsrZ	policyreprZqueryr�utilrrrrrr�<module>s

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