golden hour
/lib64/python3.9/site-packages/setools
⬆️ Go Up
Upload
File/Folder
Size
Actions
__init__.py
3.24 KB
Del
OK
__pycache__
-
Del
OK
boolquery.py
1.7 KB
Del
OK
boundsquery.py
1.8 KB
Del
OK
categoryquery.py
1.34 KB
Del
OK
checker
-
Del
OK
commonquery.py
1.58 KB
Del
OK
constraintquery.py
4.99 KB
Del
OK
defaultquery.py
2.29 KB
Del
OK
descriptors.py
9.7 KB
Del
OK
devicetreeconquery.py
2.22 KB
Del
OK
diff
-
Del
OK
dta.py
22.67 KB
Del
OK
exception.py
5.96 KB
Del
OK
fsusequery.py
2.8 KB
Del
OK
genfsconquery.py
3.18 KB
Del
OK
ibendportconquery.py
3.05 KB
Del
OK
ibpkeyconquery.py
4.89 KB
Del
OK
infoflow.py
15.54 KB
Del
OK
initsidquery.py
2.25 KB
Del
OK
iomemconquery.py
4 KB
Del
OK
ioportconquery.py
4.02 KB
Del
OK
mixins.py
6.82 KB
Del
OK
mlsrulequery.py
4.09 KB
Del
OK
netifconquery.py
2.4 KB
Del
OK
nodeconquery.py
3.9 KB
Del
OK
objclassquery.py
3.27 KB
Del
OK
pcideviceconquery.py
2.58 KB
Del
OK
perm_map
84.1 KB
Del
OK
permmap.py
16.2 KB
Del
OK
pirqconquery.py
2.48 KB
Del
OK
polcapquery.py
1.12 KB
Del
OK
policyrep.cpython-39-x86_64-linux-gnu.so
1.45 MB
Del
OK
policyrep.pyi
51.03 KB
Del
OK
portconquery.py
4.77 KB
Del
OK
py.typed
0 B
Del
OK
query.py
1.24 KB
Del
OK
rbacrulequery.py
5.33 KB
Del
OK
rolequery.py
1.95 KB
Del
OK
sensitivityquery.py
2.22 KB
Del
OK
terulequery.py
8.73 KB
Del
OK
typeattrquery.py
2.11 KB
Del
OK
typequery.py
2.95 KB
Del
OK
userquery.py
4.19 KB
Del
OK
util.py
7.59 KB
Del
OK
Edit: typequery.py
# Copyright 2014-2015, Tresys Technology, LLC # # SPDX-License-Identifier: LGPL-2.1-only # import logging import re from typing import Iterable, Optional from .descriptors import CriteriaSetDescriptor from .mixins import MatchAlias, MatchName from .policyrep import Type from .query import PolicyQuery from .util import match_regex_or_set class TypeQuery(MatchAlias, MatchName, PolicyQuery): """ Query SELinux policy types. Parameter: policy The policy to query. Keyword Parameters/Class attributes: name The type name to match. name_regex If true, regular expression matching will be used on the type names. alias The alias name to match. alias_regex If true, regular expression matching will be used on the alias names. attrs The attribute to match. attrs_equal If true, only types with attribute sets that are equal to the criteria will match. Otherwise, any intersection will match. attrs_regex If true, regular expression matching will be used on the attribute names instead of set logic. permissive The permissive state to match. If this is None, the state is not matched. """ attrs = CriteriaSetDescriptor("attrs_regex", "lookup_typeattr") attrs_regex: bool = False attrs_equal: bool = False _permissive: Optional[bool] = None @property def permissive(self) -> Optional[bool]: return self._permissive @permissive.setter def permissive(self, value) -> None: if value is None: self._permissive = None else: self._permissive = bool(value) def __init__(self, policy, **kwargs) -> None: super(TypeQuery, self).__init__(policy, **kwargs) self.log = logging.getLogger(__name__) def results(self) -> Iterable[Type]: """Generator which yields all matching types.""" self.log.info("Generating type results from {0.policy}".format(self)) self._match_name_debug(self.log) self._match_alias_debug(self.log) self.log.debug("Attrs: {0.attrs!r}, regex: {0.attrs_regex}, " "eq: {0.attrs_equal}".format(self)) self.log.debug("Permissive: {0.permissive}".format(self)) for t in self.policy.types(): if not self._match_name(t): continue if not self._match_alias(t): continue if self.attrs and not match_regex_or_set( set(t.attributes()), self.attrs, self.attrs_equal, self.attrs_regex): continue if self.permissive is not None and t.ispermissive != self.permissive: continue yield t
Save