| 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 |
| @@ -94,8 +95,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 |
| |