ACIL FM
Dark
Refresh
Current DIR:
/lib64/python3.9/site-packages/setools/diff
/
lib64
python3.9
site-packages
setools
diff
Upload
Zip Selected
Delete Selected
Pilih semua
Nama
Ukuran
Permission
Aksi
__pycache__
-
chmod
Open
Rename
Delete
bool.py
2.43 MB
chmod
View
DL
Edit
Rename
Delete
bounds.py
3.69 MB
chmod
View
DL
Edit
Rename
Delete
commons.py
2.15 MB
chmod
View
DL
Edit
Rename
Delete
conditional.py
1.23 MB
chmod
View
DL
Edit
Rename
Delete
constraints.py
8.2 MB
chmod
View
DL
Edit
Rename
Delete
context.py
1.36 MB
chmod
View
DL
Edit
Rename
Delete
default.py
3.54 MB
chmod
View
DL
Edit
Rename
Delete
descriptors.py
1.04 MB
chmod
View
DL
Edit
Rename
Delete
difference.py
5.36 MB
chmod
View
DL
Edit
Rename
Delete
fsuse.py
2.49 MB
chmod
View
DL
Edit
Rename
Delete
genfscon.py
2.66 MB
chmod
View
DL
Edit
Rename
Delete
ibendportcon.py
2.58 MB
chmod
View
DL
Edit
Rename
Delete
ibpkeycon.py
2.59 MB
chmod
View
DL
Edit
Rename
Delete
initsid.py
1.95 MB
chmod
View
DL
Edit
Rename
Delete
mls.py
9.91 MB
chmod
View
DL
Edit
Rename
Delete
mlsrules.py
4.55 MB
chmod
View
DL
Edit
Rename
Delete
netifcon.py
3.05 MB
chmod
View
DL
Edit
Rename
Delete
nodecon.py
2.59 MB
chmod
View
DL
Edit
Rename
Delete
objclass.py
3.08 MB
chmod
View
DL
Edit
Rename
Delete
polcap.py
1.09 MB
chmod
View
DL
Edit
Rename
Delete
portcon.py
2.57 MB
chmod
View
DL
Edit
Rename
Delete
properties.py
1.78 MB
chmod
View
DL
Edit
Rename
Delete
rbacrules.py
6.4 MB
chmod
View
DL
Edit
Rename
Delete
roles.py
2.66 MB
chmod
View
DL
Edit
Rename
Delete
terules.py
24.09 MB
chmod
View
DL
Edit
Rename
Delete
typeattr.py
2.8 MB
chmod
View
DL
Edit
Rename
Delete
types.py
4.17 MB
chmod
View
DL
Edit
Rename
Delete
typing.py
458 B
chmod
View
DL
Edit
Rename
Delete
users.py
5.35 MB
chmod
View
DL
Edit
Rename
Delete
__init__.py
2.52 MB
chmod
View
DL
Edit
Rename
Delete
Edit file: /lib64/python3.9/site-packages/setools/diff/bounds.py
# Copyright 2016, Tresys Technology, LLC # Copyright 2018, Chris PeBenito <pebenito@ieee.org> # # SPDX-License-Identifier: LGPL-2.1-only # from typing import cast, List, NamedTuple, Optional from ..policyrep import Bounds, BoundsRuletype, Type from .descriptors import DiffResultDescriptor from .difference import Difference, Wrapper from .types import type_wrapper_factory class ModifiedBounds(NamedTuple): """Difference details for a modified bounds rule.""" rule: Bounds added_bound: Type removed_bound: Type class BoundsDifference(Difference): """Determine the difference in *bounds between two policies.""" added_typebounds = DiffResultDescriptor("diff_typebounds") removed_typebounds = DiffResultDescriptor("diff_typebounds") modified_typebounds = DiffResultDescriptor("diff_typebounds") # Lists of rules for each policy _left_typebounds: Optional[List[Bounds]] = None _right_typebounds: Optional[List[Bounds]] = None def diff_typebounds(self) -> None: """Generate the difference in typebound rules between the policies.""" self.log.info("Generating typebounds differences from {0.left_policy} to {0.right_policy}". format(self)) if self._left_typebounds is None or self._right_typebounds is None: self._create_typebound_lists() self.added_typebounds, self.removed_typebounds, matched_typebounds = self._set_diff( (BoundsWrapper(c) for c in cast(List[Bounds], self._left_typebounds)), (BoundsWrapper(c) for c in cast(List[Bounds], self._right_typebounds)), key=lambda b: str(b.child)) self.modified_typebounds = [] for left_bound, right_bound in matched_typebounds: if type_wrapper_factory(left_bound.parent) != type_wrapper_factory(right_bound.parent): self.modified_typebounds.append(ModifiedBounds( left_bound, right_bound.parent, left_bound.parent)) # # Internal functions # def _create_typebound_lists(self) -> None: """Create rule lists for both policies.""" self._left_typebounds = [] for rule in self.left_policy.bounds(): if rule.ruletype == BoundsRuletype.typebounds: self._left_typebounds.append(rule) else: self.log.error("Unknown rule type: {0} (This is an SETools bug)". format(rule.ruletype)) self._right_typebounds = [] for rule in self.right_policy.bounds(): if rule.ruletype == BoundsRuletype.typebounds: self._right_typebounds.append(rule) else: self.log.error("Unknown rule type: {0} (This is an SETools bug)". format(rule.ruletype)) def _reset_diff(self) -> None: """Reset diff results on policy changes.""" self.log.debug("Resetting all *bounds differences") self.added_typebounds = None self.removed_typebounds = None # Sets of rules for each policy self._left_typebounds = None self._right_typebounds = None class BoundsWrapper(Wrapper[Bounds]): """Wrap *bounds for diff purposes.""" __slots__ = ("ruletype", "parent", "child") def __init__(self, rule: Bounds) -> None: self.origin = rule self.ruletype = rule.ruletype self.parent = type_wrapper_factory(rule.parent) self.child = type_wrapper_factory(rule.child) self.key = hash(rule) def __hash__(self): return self.key def __lt__(self, other): return self.key < other.key def __eq__(self, other): return self.ruletype == other.ruletype and \ self.child == other.child
Simpan
Batal
Isi Zip:
Unzip
Create
Buat Folder
Buat File
Terminal / Execute
Run
Chmod Bulk
All File
All Folder
All File dan Folder
Apply