kumquat-buildroot/package/setools/0001-Do-not-export-use-setools.InfoFlowAnalysis-and-setoo.patch
Adam Duskett 7d4f1fda8f package/setools: bump to version 4.4.2
In addition:
  - Refresh 0001-Do-not-export-use-setools.InfoFlowAnalysis-and-setoo.patch

  - Update COPYING hash as the license file has been rewritten for clarity.
    However, the licenses have not been changed.

Signed-off-by: Adam Duskett <aduskett@gmail.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2023-05-09 22:56:34 +02:00

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