/usr/lib64/python3.6/site-packages/setools/__pycache__
Edit: /usr/lib64/python3.6/site-packages/setools/__pycache__/portconquery.cpython-36.pyc (4309B)
3
í«„^. ã @ sb d dl Z d dlmZmZ ddlmZ ddlmZ ddlm Z m
Z
ddlmZ G dd „ d eeƒZ
dS )
é N)ÚIPPROTO_TCPÚIPPROTO_UDPé )ÚMatchContext)ÚPolicyQuery)ÚPortconRangeÚPortconProtocol)Úmatch_rangec st e Zd ZdZdZdZdZdZdZdZ e
dd„ ƒZejdd„ ƒZe
dd„ ƒZ
e
jd d„ ƒZ
‡ fd
d„Zdd
„ Z‡ ZS )ÚPortconQuerya_
Port context query.
Parameter:
policy The policy to query.
Keyword Parameters/Class attributes:
protocol The protocol to match (socket.IPPROTO_TCP for
TCP or socket.IPPROTO_UDP for UDP)
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 portcon's range.
ports_overlap If true, the criteria will match if it overlaps
any of the portcon's range.
ports_superset If true, the criteria will match if it is a superset
of the portcon'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.
NFc C s | j S )N)Ú_ports)Úself© r
ú$/usr/lib64/python3.6/portconquery.pyÚportsQ s zPortconQuery.portsc C s^ t |Ž }t|ƒrT|jdk s$|jdk r2tdj|ƒƒ‚|j|jkrLtdj|ƒƒ‚|| _nd | _d S )Nr z/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
r r U s c C s | j S )N)Ú _protocol)r r
r
r Úprotocolg s zPortconQuery.protocolc C s |rt j|ƒ| _nd | _d S )N)r Úlookupr )r r r
r
r r k s c s$ t t| ƒj|f|Ž tjtƒ| _d S )N)Úsuperr
Ú__init__ÚloggingZ getLoggerÚ__name__Úlog)r ÚpolicyÚkwargs)Ú __class__r
r r r s zPortconQuery.__init__c c sª | j jdj| ƒƒ | j jdj| ƒƒ | j jdj| ƒƒ | j| j ƒ xb| jjƒ D ]T}| jrzt|j| j| j | j
| j| jƒ rzqN| j
rŽ| j
|j
krŽqN| j|jƒsœqN|V qNW dS )z-Generator which yields all matching portcons.z*Generating portcon results from {0.policy}z~Ports: {0.ports}, overlap: {0.ports_overlap}, subset: {0.ports_subset}, superset: {0.ports_superset}, proper: {0.ports_proper}zProtocol: {0.protocol!r}N)r Úinfor ÚdebugZ_match_context_debugr Zportconsr r Úports_subsetÚ
ports_overlapÚports_supersetÚports_properr Z_match_contextÚcontext)r Zportconr
r
r Úresultsv s&