| From 2512c3ba608077db3a5e0286b976fadc8a04a5c4 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: Adam Duskett <aduskett@gmail.com> |
| --- |
| sedta | 3 ++- |
| seinfoflow | 3 ++- |
| setools/__init__.py | 4 ++-- |
| setoolsgui/apol/dta.py | 2 +- |
| setoolsgui/apol/infoflow.py | 2 +- |
| tests/dta.py | 3 ++- |
| tests/infoflow.py | 3 ++- |
| 7 files changed, 12 insertions(+), 8 deletions(-) |
| |
| diff --git a/sedta b/sedta |
| index 1c76ebb..255ad49 100755 |
| --- a/sedta |
| +++ b/sedta |
| @@ -23,6 +23,7 @@ import argparse |
| import logging |
| |
| import setools |
| +import setools.dta |
| |
| |
| def print_transition(trans): |
| @@ -111,7 +112,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 b287921..d53bdef 100755 |
| --- a/seinfoflow |
| +++ b/seinfoflow |
| @@ -19,6 +19,7 @@ |
| |
| from __future__ import print_function |
| import setools |
| +import setools.infoflow |
| import argparse |
| import sys |
| import logging |
| @@ -79,7 +80,7 @@ else: |
| try: |
| p = setools.SELinuxPolicy(args.policy) |
| m = setools.PermissionMap(args.map) |
| - 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) |
| |
| if args.shortest_path or args.all_paths: |
| if args.shortest_path: |
| diff --git a/setools/__init__.py b/setools/__init__.py |
| index a84c846..a53c5a7 100644 |
| --- a/setools/__init__.py |
| +++ b/setools/__init__.py |
| @@ -74,11 +74,11 @@ from .pcideviceconquery import PcideviceconQuery |
| from .devicetreeconquery import DevicetreeconQuery |
| |
| # Information Flow Analysis |
| -from .infoflow import InfoFlowAnalysis |
| +# from .infoflow import InfoFlowAnalysis |
| from .permmap import PermissionMap |
| |
| # Domain Transition Analysis |
| -from .dta import DomainTransitionAnalysis |
| +# from .dta import DomainTransitionAnalysis |
| |
| # Policy difference |
| from .diff import PolicyDifference |
| diff --git a/setoolsgui/apol/dta.py b/setoolsgui/apol/dta.py |
| index 0aaf13f..5b1ea20 100644 |
| --- a/setoolsgui/apol/dta.py |
| +++ b/setoolsgui/apol/dta.py |
| @@ -23,7 +23,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 AnalysisTab |
| diff --git a/setoolsgui/apol/infoflow.py b/setoolsgui/apol/infoflow.py |
| index 1ae16de..fdf8f7b 100644 |
| --- a/setoolsgui/apol/infoflow.py |
| +++ b/setoolsgui/apol/infoflow.py |
| @@ -25,7 +25,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/dta.py b/tests/dta.py |
| index 32b9271..2bdd052 100644 |
| --- a/tests/dta.py |
| +++ b/tests/dta.py |
| @@ -17,7 +17,8 @@ |
| # |
| import unittest |
| |
| -from setools import SELinuxPolicy, DomainTransitionAnalysis |
| +from setools import SELinuxPolicy |
| +from setools.dta import DomainTransitionAnalysis |
| from setools import TERuletype as TERT |
| from setools.policyrep.exception import InvalidType |
| from setools.policyrep.typeattr import Type |
| diff --git a/tests/infoflow.py b/tests/infoflow.py |
| index 7751dda..a21c683 100644 |
| --- a/tests/infoflow.py |
| +++ b/tests/infoflow.py |
| @@ -17,7 +17,8 @@ |
| # |
| import unittest |
| |
| -from setools import SELinuxPolicy, InfoFlowAnalysis |
| +from setools import SELinuxPolicy |
| +from setools.infoflow import InfoFlowAnalysis |
| from setools import TERuletype as TERT |
| from setools.permmap import PermissionMap |
| from setools.policyrep.exception import InvalidType |
| -- |
| 2.9.3 |
| |