setools/Do-not-export-use-setools.InfoFlowAnalysis-and-setoo.patch

117 lines
3.9 KiB
Diff
Raw Normal View History

2023-07-20 19:42:08 +08:00
From c2df1a843136f2eced9bbc13e766024d560a97ee Mon Sep 17 00:00:00 2001
2020-07-30 10:21:58 +08:00
From: Vit Mojzis <vmojzis@redhat.com>
Date: Fri, 26 Apr 2019 15:27:25 +0200
Subject: [PATCH] Do not export/use setools.InfoFlowAnalysis and
setools.DomainTransitionAnalysis
2023-07-20 19:42:08 +08:00
dta and infoflow modules require networkx which brings lot of
dependencies.
These dependencies are not necessary for setools module itself as it's
used in policycoreutils.
Therefore it's better to use setools.infoflow.InfoFlowAnalysis and
setools.dta.DomainTransitionAnalysis and let the package containing
sedta and seinfoflow to require python3-networkx
2023-07-20 19:42:08 +08:00
---
2023-07-20 19:42:08 +08:00
sedta | 6 +++---
2020-07-30 10:21:58 +08:00
seinfoflow | 4 ++--
setools/__init__.py | 4 ----
setoolsgui/apol/dta.py | 2 +-
setoolsgui/apol/infoflow.py | 2 +-
2023-07-20 19:42:08 +08:00
5 files changed, 7 insertions(+), 11 deletions(-)
diff --git a/sedta b/sedta
2023-07-20 19:42:08 +08:00
index ffd9ede..30ff7f8 100755
--- a/sedta
+++ b/sedta
2023-07-20 19:42:08 +08:00
@@ -10,9 +10,9 @@ import logging
2020-07-30 10:21:58 +08:00
import signal
2021-12-14 15:17:37 +08:00
import setools
+import setools.dta
2023-07-20 19:42:08 +08:00
-
2021-12-14 15:17:37 +08:00
-def print_transition(trans: setools.DomainTransition) -> None:
+def print_transition(trans: setools.dta.DomainTransition) -> None:
2023-07-20 19:42:08 +08:00
print()
2021-12-14 15:17:37 +08:00
if trans.transition:
2023-07-20 19:42:08 +08:00
@@ -104,7 +104,7 @@ else:
try:
p = setools.SELinuxPolicy(args.policy)
- g = setools.DomainTransitionAnalysis(p, reverse=args.reverse, exclude=args.exclude)
+ g = setools.dta.DomainTransitionAnalysis(p, reverse=args.reverse, exclude=args.exclude)
if args.shortest_path or args.all_paths:
if args.shortest_path:
diff --git a/seinfoflow b/seinfoflow
2023-07-20 19:42:08 +08:00
index 5f4e764..f5b231d 100755
--- a/seinfoflow
+++ b/seinfoflow
2023-07-20 19:42:08 +08:00
@@ -4,7 +4,7 @@
# SPDX-License-Identifier: GPL-2.0-only
2020-07-30 10:21:58 +08:00
#
2020-07-30 10:21:58 +08:00
-import setools
+import setools.infoflow
import argparse
import sys
import logging
2023-07-20 19:42:08 +08:00
@@ -91,7 +91,7 @@ elif args.booleans is not None:
try:
p = setools.SELinuxPolicy(args.policy)
m = setools.PermissionMap(args.map)
2020-07-30 10:21:58 +08:00
- g = setools.InfoFlowAnalysis(p, m, min_weight=args.min_weight, exclude=args.exclude,
+ g = setools.infoflow.InfoFlowAnalysis(p, m, min_weight=args.min_weight, exclude=args.exclude,
booleans=booleans)
if args.shortest_path or args.all_paths:
diff --git a/setools/__init__.py b/setools/__init__.py
2023-07-20 19:42:08 +08:00
index ad9b36a..5cb5e0f 100644
--- a/setools/__init__.py
+++ b/setools/__init__.py
2023-07-20 19:42:08 +08:00
@@ -77,12 +77,8 @@ from .pcideviceconquery import PcideviceconQuery
from .devicetreeconquery import DevicetreeconQuery
# Information Flow Analysis
-from .infoflow import InfoFlowAnalysis
2021-12-14 15:17:37 +08:00
from .permmap import PermissionMap, RuleWeight, Mapping
2020-07-30 10:21:58 +08:00
-# Domain Transition Analysis
2021-12-14 15:17:37 +08:00
-from .dta import DomainTransitionAnalysis, DomainEntrypoint, DomainTransition
2020-07-30 10:21:58 +08:00
-
# Policy difference
from .diff import PolicyDifference
2020-07-30 10:21:58 +08:00
diff --git a/setoolsgui/apol/dta.py b/setoolsgui/apol/dta.py
2023-07-20 19:42:08 +08:00
index a78d960..e71c70a 100644
--- a/setoolsgui/apol/dta.py
+++ b/setoolsgui/apol/dta.py
2023-07-20 19:42:08 +08:00
@@ -11,7 +11,7 @@ from PyQt5.QtCore import pyqtSignal, Qt, QStringListModel, QThread
from PyQt5.QtGui import QPalette, QTextCursor
from PyQt5.QtWidgets import QCompleter, QHeaderView, QMessageBox, QProgressDialog, \
2020-07-30 10:21:58 +08:00
QTreeWidgetItem
-from setools import DomainTransitionAnalysis
+from setools.dta import DomainTransitionAnalysis
from ..logtosignal import LogHandlerToSignal
2021-12-14 15:17:37 +08:00
from .analysistab import AnalysisSection, AnalysisTab
diff --git a/setoolsgui/apol/infoflow.py b/setoolsgui/apol/infoflow.py
2023-07-20 19:42:08 +08:00
index fb9b409..738f1b8 100644
--- a/setoolsgui/apol/infoflow.py
+++ b/setoolsgui/apol/infoflow.py
2023-07-20 19:42:08 +08:00
@@ -13,7 +13,7 @@ from PyQt5.QtCore import pyqtSignal, Qt, QStringListModel, QThread
from PyQt5.QtGui import QPalette, QTextCursor
from PyQt5.QtWidgets import QCompleter, QHeaderView, QMessageBox, QProgressDialog, \
2020-07-30 10:21:58 +08:00
QTreeWidgetItem
-from setools import InfoFlowAnalysis
+from setools.infoflow import InfoFlowAnalysis
from setools.exception import UnmappedClass, UnmappedPermission
from ..logtosignal import LogHandlerToSignal
--
2023-07-20 19:42:08 +08:00
2.27.0