146 lines
4.9 KiB
Diff
146 lines
4.9 KiB
Diff
From ae84e5ef59bb24d5b8fd17e6756952f42c2d5c36 Mon Sep 17 00:00:00 2001
|
|
From: rpm-build <rpm-build>
|
|
Date: Thu, 23 Feb 2017 08:17:07 +0100
|
|
Subject: [PATCH] Do not export/use setools.InfoFlowAnalysis and
|
|
setools.DomainTransitionAnalysis
|
|
|
|
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
|
|
|
|
Signed-off-by: Antoine Tenart <antoine.tenart@bootlin.com>
|
|
[Refreshed for 4.3.0]
|
|
Signed-off-by: Adam Duskett <aduskett@gmail.com>
|
|
[Refreshed for 4.4.2]
|
|
---
|
|
sedta | 3 ++-
|
|
seinfoflow | 5 +++--
|
|
setools/__init__.py | 4 ++--
|
|
setoolsgui/apol/dta.py | 2 +-
|
|
setoolsgui/apol/infoflow.py | 2 +-
|
|
tests/test_dta.py | 2 +-
|
|
tests/test_infoflow.py | 2 +-
|
|
7 files changed, 11 insertions(+), 9 deletions(-)
|
|
|
|
diff --git a/sedta b/sedta
|
|
index ffd9ede..4c53825 100755
|
|
--- a/sedta
|
|
+++ b/sedta
|
|
@@ -10,6 +10,7 @@ import logging
|
|
import signal
|
|
|
|
import setools
|
|
+import setools.dta
|
|
|
|
|
|
def print_transition(trans: setools.DomainTransition) -> None:
|
|
@@ -104,7 +105,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
|
|
index 5f4e764..a27b781 100755
|
|
--- a/seinfoflow
|
|
+++ b/seinfoflow
|
|
@@ -5,6 +5,7 @@
|
|
#
|
|
|
|
import setools
|
|
+import setools.infoflow
|
|
import argparse
|
|
import sys
|
|
import logging
|
|
@@ -91,8 +92,8 @@ elif args.booleans is not None:
|
|
try:
|
|
p = setools.SELinuxPolicy(args.policy)
|
|
m = setools.PermissionMap(args.map)
|
|
- g = setools.InfoFlowAnalysis(p, m, min_weight=args.min_weight, exclude=args.exclude,
|
|
- booleans=booleans)
|
|
+ g = setools.infoflow.InfoFlowAnalysis(p, m, min_weight=args.min_weight, exclude=args.exclude,
|
|
+ booleans=booleans)
|
|
|
|
if args.shortest_path or args.all_paths:
|
|
if args.shortest_path:
|
|
diff --git a/setools/__init__.py b/setools/__init__.py
|
|
index ad9b36a..2bde01b 100644
|
|
--- a/setools/__init__.py
|
|
+++ b/setools/__init__.py
|
|
@@ -77,11 +77,11 @@ from .pcideviceconquery import PcideviceconQuery
|
|
from .devicetreeconquery import DevicetreeconQuery
|
|
|
|
# Information Flow Analysis
|
|
-from .infoflow import InfoFlowAnalysis
|
|
+# from .infoflow import InfoFlowAnalysis
|
|
from .permmap import PermissionMap, RuleWeight, Mapping
|
|
|
|
# Domain Transition Analysis
|
|
-from .dta import DomainTransitionAnalysis, DomainEntrypoint, DomainTransition
|
|
+# from .dta import DomainTransitionAnalysis, DomainEntrypoint, DomainTransition
|
|
|
|
# Policy difference
|
|
from .diff import PolicyDifference
|
|
diff --git a/setoolsgui/apol/dta.py b/setoolsgui/apol/dta.py
|
|
index a78d960..e71c70a 100644
|
|
--- a/setoolsgui/apol/dta.py
|
|
+++ b/setoolsgui/apol/dta.py
|
|
@@ -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, \
|
|
QTreeWidgetItem
|
|
-from setools import DomainTransitionAnalysis
|
|
+from setools.dta import DomainTransitionAnalysis
|
|
|
|
from ..logtosignal import LogHandlerToSignal
|
|
from .analysistab import AnalysisSection, AnalysisTab
|
|
diff --git a/setoolsgui/apol/infoflow.py b/setoolsgui/apol/infoflow.py
|
|
index fb9b409..738f1b8 100644
|
|
--- a/setoolsgui/apol/infoflow.py
|
|
+++ b/setoolsgui/apol/infoflow.py
|
|
@@ -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, \
|
|
QTreeWidgetItem
|
|
-from setools import InfoFlowAnalysis
|
|
+from setools.infoflow import InfoFlowAnalysis
|
|
from setools.exception import UnmappedClass, UnmappedPermission
|
|
|
|
from ..logtosignal import LogHandlerToSignal
|
|
diff --git a/tests/test_dta.py b/tests/test_dta.py
|
|
index 7f9bbc9..48338c5 100644
|
|
--- a/tests/test_dta.py
|
|
+++ b/tests/test_dta.py
|
|
@@ -5,7 +5,7 @@
|
|
import os
|
|
import unittest
|
|
|
|
-from setools import DomainTransitionAnalysis
|
|
+from setools.dta import DomainTransitionAnalysis
|
|
from setools import TERuletype as TERT
|
|
from setools.exception import InvalidType
|
|
from setools.policyrep import Type
|
|
diff --git a/tests/test_infoflow.py b/tests/test_infoflow.py
|
|
index 5a8f745..e25993b 100644
|
|
--- a/tests/test_infoflow.py
|
|
+++ b/tests/test_infoflow.py
|
|
@@ -5,7 +5,7 @@
|
|
import os
|
|
import unittest
|
|
|
|
-from setools import InfoFlowAnalysis
|
|
+from setools.infoflow import InfoFlowAnalysis
|
|
from setools import TERuletype as TERT
|
|
from setools.exception import InvalidType
|
|
from setools.permmap import PermissionMap
|
|
--
|
|
2.26.2
|
|
|