diff --git a/0001-Do-not-use-Werror-during-build.patch b/0001-Do-not-use-Werror-during-build.patch index ff4523c429fbef2e5459f82f26652b22b90b4d7e..60f11e24c7a640d7162fe5ec60921d2ce88badda 100644 --- a/0001-Do-not-use-Werror-during-build.patch +++ b/0001-Do-not-use-Werror-during-build.patch @@ -1,7 +1,7 @@ -From 617c3ae83c1c72ead627a57e1529724c62df807f Mon Sep 17 00:00:00 2001 +From 4b3dc6b38abbd32cda557d5ef9ea1383ac5fdcf2 Mon Sep 17 00:00:00 2001 From: rpm-build Date: Thu, 23 Feb 2017 08:17:07 +0100 -Subject: [PATCH 1/2] Do not use -Werror during build +Subject: [PATCH 2/3] Do not use -Werror during build MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -32,18 +32,18 @@ error: command 'gcc' failed with exit status 1 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py -index 2ca44c9..9319bf6 100644 +index c94daf1..a7442ac 100644 --- a/setup.py +++ b/setup.py -@@ -146,7 +146,7 @@ ext_py_mods = [Extension('setools.policyrep._qpol', - 'libqpol/policy_scan.c', - 'libqpol/xen_query.c'], - include_dirs=include_dirs, +@@ -105,7 +105,7 @@ ext_py_mods = [Extension('setools.policyrep', ['setools/policyrep.pyx'], + libraries=['selinux', 'sepol'], + library_dirs=lib_dirs, + define_macros=macros, - extra_compile_args=['-Werror', '-Wextra', + extra_compile_args=['-Wextra', '-Waggregate-return', '-Wfloat-equal', '-Wformat', '-Wformat=2', -- -2.9.3 +2.17.2 diff --git a/0002-Do-not-export-use-setools.InfoFlowAnalysis-and-setoo.patch b/0002-Do-not-export-use-setools.InfoFlowAnalysis-and-setoo.patch index a5d982a8289ef1f572e65bf525f7a0940689ffd1..a9960691e8fce75efa044d5711edfc751db675d8 100644 --- a/0002-Do-not-export-use-setools.InfoFlowAnalysis-and-setoo.patch +++ b/0002-Do-not-export-use-setools.InfoFlowAnalysis-and-setoo.patch @@ -1,7 +1,7 @@ -From 2512c3ba608077db3a5e0286b976fadc8a04a5c4 Mon Sep 17 00:00:00 2001 -From: rpm-build -Date: Thu, 23 Feb 2017 08:17:07 +0100 -Subject: [PATCH 2/2] Do not export/use setools.InfoFlowAnalysis and +From 0575455a0abda5ee63c442433384268a959c4fbc Mon Sep 17 00:00:00 2001 +From: Vit Mojzis +Date: Fri, 26 Apr 2019 15:27:25 +0200 +Subject: [PATCH] Do not export/use setools.InfoFlowAnalysis and setools.DomainTransitionAnalysis dta and infoflow modules require networkx which brings lot of dependencies. @@ -12,28 +12,29 @@ 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 --- - sedta | 3 ++- - seinfoflow | 3 ++- - setools/__init__.py | 4 ++-- + sedta | 4 ++-- + seinfoflow | 4 ++-- + 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(-) + tests/dta.py | 2 +- + tests/infoflow.py | 2 +- + 7 files changed, 8 insertions(+), 12 deletions(-) diff --git a/sedta b/sedta -index 1c76ebb..255ad49 100755 +index 60861ca630a5..41e38a237b42 100755 --- a/sedta +++ b/sedta -@@ -23,6 +23,7 @@ import argparse +@@ -22,7 +22,7 @@ import argparse import logging + import signal - import setools +-import setools +import setools.dta def print_transition(trans): -@@ -111,7 +112,7 @@ else: +@@ -114,7 +114,7 @@ else: try: p = setools.SELinuxPolicy(args.policy) @@ -43,98 +44,96 @@ index 1c76ebb..255ad49 100755 if args.shortest_path or args.all_paths: if args.shortest_path: diff --git a/seinfoflow b/seinfoflow -index b287921..d53bdef 100755 +index f10c39de4d8e..fee749a83bb5 100755 --- a/seinfoflow +++ b/seinfoflow -@@ -19,6 +19,7 @@ +@@ -17,7 +17,7 @@ + # along with SETools. If not, see . + # - from __future__ import print_function - import setools +-import setools +import setools.infoflow import argparse import sys import logging -@@ -79,7 +80,7 @@ else: +@@ -101,7 +101,7 @@ 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) -+ g = setools.infoflow.InfoFlowAnalysis(p, m, min_weight=args.min_weight, exclude=args.exclude) +- 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: - if args.shortest_path: diff --git a/setools/__init__.py b/setools/__init__.py -index a84c846..a53c5a7 100644 +index 26fa5aa34a19..b7e51c43c4bb 100644 --- a/setools/__init__.py +++ b/setools/__init__.py -@@ -74,11 +74,11 @@ from .pcideviceconquery import PcideviceconQuery +@@ -75,12 +75,8 @@ 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 +-# 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 +index 4608b9dbf34e..2cde44c142e9 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 + 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 +index 7bca299d23fc..7fee2778f35f 100644 --- a/setoolsgui/apol/infoflow.py +++ b/setoolsgui/apol/infoflow.py -@@ -25,7 +25,7 @@ from PyQt5.QtCore import pyqtSignal, Qt, QStringListModel, QThread +@@ -26,7 +26,7 @@ from PyQt5.QtCore import pyqtSignal, Qt, QStringListModel, QThread from PyQt5.QtGui import QPalette, QTextCursor from PyQt5.QtWidgets import QCompleter, QHeaderView, QMessageBox, QProgressDialog, \ - QTreeWidgetItem + 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 +index a0cc9381469c..177e6fb0b961 100644 --- a/tests/dta.py +++ b/tests/dta.py -@@ -17,7 +17,8 @@ - # +@@ -18,7 +18,7 @@ + import os import unittest --from setools import SELinuxPolicy, DomainTransitionAnalysis -+from setools import SELinuxPolicy +-from setools import DomainTransitionAnalysis +from setools.dta import DomainTransitionAnalysis from setools import TERuletype as TERT - from setools.policyrep.exception import InvalidType - from setools.policyrep.typeattr import Type + from setools.exception import InvalidType + from setools.policyrep import Type diff --git a/tests/infoflow.py b/tests/infoflow.py -index 7751dda..a21c683 100644 +index aa0e44a7e4f8..fca2848aeca5 100644 --- a/tests/infoflow.py +++ b/tests/infoflow.py -@@ -17,7 +17,8 @@ - # +@@ -18,7 +18,7 @@ + import os import unittest --from setools import SELinuxPolicy, InfoFlowAnalysis -+from setools import SELinuxPolicy +-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 - from setools.policyrep.exception import InvalidType -- -2.9.3 +2.26.0.rc2 diff --git a/0003-bswap_-macros-are-defined-in-byteswap.h.patch b/0003-bswap_-macros-are-defined-in-byteswap.h.patch deleted file mode 100644 index f5445a945dfd158fc0726aa90623c91c27f68016..0000000000000000000000000000000000000000 --- a/0003-bswap_-macros-are-defined-in-byteswap.h.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 2ac588919dd96d3d624e6ec20c67d1d91386e879 Mon Sep 17 00:00:00 2001 -From: Petr Lautrbach -Date: Thu, 10 Aug 2017 08:23:47 +0200 -Subject: [PATCH] bswap_* macros are defined in byteswap.h - -Fixes ImportError on s390x: -/usr/lib64/python3.6/site-packages/setools/policyrep/_qpol.cpython-36m-s390x-linux-gnu.so: undefined symbol: bswap_32 ---- - libqpol/policy.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/libqpol/policy.c b/libqpol/policy.c -index ae3acb5..e412be0 100644 ---- a/libqpol/policy.c -+++ b/libqpol/policy.c -@@ -28,6 +28,7 @@ - - #include "qpol_internal.h" - #include -+#include - #include - #include - #include --- -2.13.3 - diff --git a/0004-Add-support-for-SCTP-protocol.patch b/0004-Add-support-for-SCTP-protocol.patch deleted file mode 100644 index f22a538baf5dc24d50a8ccc78d63371f844b379a..0000000000000000000000000000000000000000 --- a/0004-Add-support-for-SCTP-protocol.patch +++ /dev/null @@ -1,158 +0,0 @@ -From 3ef6369a22691e8e11cbf63f37b114941b3577a1 Mon Sep 17 00:00:00 2001 -From: Vit Mojzis -Date: Mon, 16 Apr 2018 20:46:20 +0200 -Subject: [PATCH] Add support for SCTP protocol - -Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1568333 - -Signed-off-by: Vit Mojzis ---- - libqpol/include/qpol/linux_types.h | 1 + - libqpol/policy_define.c | 5 +++++ - setools/perm_map | 36 +++++++++++++++++++++++++++--- - setools/policyrep/netcontext.py | 5 +++++ - 4 files changed, 44 insertions(+), 3 deletions(-) - -diff --git a/libqpol/include/qpol/linux_types.h b/libqpol/include/qpol/linux_types.h -index c3c056b..0985162 100644 ---- a/libqpol/include/qpol/linux_types.h -+++ b/libqpol/include/qpol/linux_types.h -@@ -12,6 +12,7 @@ typedef uint16_t __u16; - #define s6_addr32 __u6_addr32 - - #define IPPROTO_DCCP 33 -+#define IPPROTO_SCTP 132 - #endif - - #endif -diff --git a/libqpol/policy_define.c b/libqpol/policy_define.c -index dcc69fc..1e623a3 100644 ---- a/libqpol/policy_define.c -+++ b/libqpol/policy_define.c -@@ -44,6 +44,9 @@ - #ifndef IPPROTO_DCCP - #define IPPROTO_DCCP 33 - #endif -+#ifndef IPPROTO_SCTP -+#define IPPROTO_SCTP 132 -+#endif - #include - #include - #include -@@ -4933,6 +4936,8 @@ int define_port_context(unsigned int low, unsigned int high) - protocol = IPPROTO_UDP; - } else if ((strcmp(id, "dccp") == 0) || (strcmp(id, "DCCP") == 0)) { - protocol = IPPROTO_DCCP; -+ } else if ((strcmp(id, "sctp") == 0) || (strcmp(id, "SCTP") == 0)) { -+ protocol = IPPROTO_SCTP; - } else { - yyerror2("unrecognized protocol %s", id); - goto bad; -diff --git a/setools/perm_map b/setools/perm_map -index 0a9f91c..8bd34f5 100644 ---- a/setools/perm_map -+++ b/setools/perm_map -@@ -27,7 +27,7 @@ - # Look to the examples below for further clarification. - # - # Number of object classes. --95 -+96 - - class netlink_audit_socket 27 - nlmsg_relay w 10 -@@ -376,7 +376,7 @@ class file 22 - quotaon b 1 - swapon b 1 - --class node 11 -+class node 13 - rawip_recv r 10 - tcp_recv r 10 - udp_recv r 10 -@@ -385,6 +385,8 @@ class node 11 - udp_send w 10 - dccp_recv r 10 - dccp_send w 10 -+ sctp_recv r 10 -+ sctp_send w 10 - enforce_dest n 1 - sendto w 10 - recvfrom r 10 -@@ -699,6 +701,32 @@ class dccp_socket 24 - relabelto w 10 - listen r 1 - -+class sctp_socket 24 -+ node_bind n 1 -+ name_connect w 10 -+ append w 10 -+ bind w 1 -+ connect w 1 -+ create w 1 -+ write w 10 -+ relabelfrom r 10 -+ ioctl n 1 -+ name_bind n 1 -+ sendto w 10 -+ recv_msg r 10 -+ send_msg w 10 -+ getattr r 7 -+ setattr w 7 -+ accept r 1 -+ getopt r 1 -+ read r 10 -+ setopt w 1 -+ shutdown w 1 -+ recvfrom r 10 -+ lock n 1 -+ relabelto w 10 -+ listen r 1 -+ - class netlink_firewall_socket 24 - nlmsg_write w 10 - nlmsg_read r 10 -@@ -973,7 +1001,7 @@ class key_socket 22 - relabelto w 10 - listen r 1 - --class netif 10 -+class netif 12 - rawip_recv r 10 - tcp_recv r 10 - udp_recv r 10 -@@ -984,6 +1012,8 @@ class netif 10 - udp_send w 10 - dccp_recv r 10 - dccp_send w 10 -+ sctp_recv r 10 -+ sctp_send w 10 - - class packet_socket 22 - append w 10 -diff --git a/setools/policyrep/netcontext.py b/setools/policyrep/netcontext.py -index 9a01fc5..630b42c 100644 ---- a/setools/policyrep/netcontext.py -+++ b/setools/policyrep/netcontext.py -@@ -35,6 +35,10 @@ try: - IPPROTO_DCCP = getprotobyname("dccp") - except socket.error: - IPPROTO_DCCP = 33 -+try: -+ IPPROTO_SCTP = getprotobyname("sctp") -+except socket.error: -+ IPPROTO_SCTP = 132 - - - def netifcon_factory(policy, name): -@@ -161,6 +165,7 @@ class PortconProtocol(int, PolicyEnum): - tcp = IPPROTO_TCP - udp = IPPROTO_UDP - dccp = IPPROTO_DCCP -+ sctp = IPPROTO_SCTP - - - class Portcon(NetContext): --- -2.18.0 - diff --git a/4.1.1.tar.gz b/4.1.1.tar.gz deleted file mode 100644 index a973e19d6b4d2b7ed3ba2f5b4332b1efdc77b5e8..0000000000000000000000000000000000000000 Binary files a/4.1.1.tar.gz and /dev/null differ diff --git a/4.3.0.tar.gz b/4.3.0.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..219a3dfdfc997002146aa03fee9155e3cbcb6758 Binary files /dev/null and b/4.3.0.tar.gz differ diff --git a/iomemconquery-Fix-IomemconRange-import.patch b/iomemconquery-Fix-IomemconRange-import.patch deleted file mode 100644 index 119a3bea738cade041c47f681292528d6d38ef5a..0000000000000000000000000000000000000000 --- a/iomemconquery-Fix-IomemconRange-import.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 2082f25320e97c32d9a912908f4c50d4399b213f Mon Sep 17 00:00:00 2001 -From: Chris PeBenito -Date: Fri, 29 Dec 2017 10:55:40 -0500 -Subject: [PATCH 034/212] iomemconquery: Fix IomemconRange import. - ---- - setools/iomemconquery.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/setools/iomemconquery.py b/setools/iomemconquery.py -index 9756d8e..876252c 100644 ---- a/setools/iomemconquery.py -+++ b/setools/iomemconquery.py -@@ -19,7 +19,7 @@ - import logging - - from .mixins import MatchContext --from .policyrep.xencontext import IomemconRange -+from .policyrep import IomemconRange - from .query import PolicyQuery - from .util import match_range - --- -2.19.1 - diff --git a/sediff-Fix-bug-in-rendering-modified-nodecons.patch b/sediff-Fix-bug-in-rendering-modified-nodecons.patch deleted file mode 100644 index 9a9132e3fec2319f9aa86eed0a626badf82f0412..0000000000000000000000000000000000000000 --- a/sediff-Fix-bug-in-rendering-modified-nodecons.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 70445d45ad0f9238b87981016a723ee9470bf8fe Mon Sep 17 00:00:00 2001 -From: Chris PeBenito -Date: Wed, 5 Dec 2018 14:38:14 -0500 -Subject: [PATCH 193/212] sediff: Fix bug in rendering modified nodecons. - ---- - sediff | 7 +++---- - 1 file changed, 3 insertions(+), 4 deletions(-) - -diff --git a/sediff b/sediff -index 515208e..372bb5a 100755 ---- a/sediff -+++ b/sediff -@@ -1328,10 +1328,9 @@ try: - print(" - {0}".format(n)) - if diff.modified_nodecons and not args.stats: - print(" Modified Nodecons: {0}".format(len(diff.modified_nodecons))) -- for con, added_context, removed_context in sorted(diff.modified_nodecons, -- key=lambda x: x.rule): -- print(" * nodecon {0.address} {0.netmask} +[{1}] -[{2}];".format( -- con, added_context, removed_context)) -+ for entry in sorted(diff.modified_nodecons, key=lambda x: x.rule): -+ print(" * nodecon {0} +[{1.added_context}] -[{1.removed_context}];".format( -+ entry.rule.network.with_netmask.replace("/", " "), entry)) - - print() - del diff.added_nodecons --- -2.19.1 - diff --git a/setools.spec b/setools.spec index 0e0416ce3d054d3ff54ebc86181cbc72ad0c3a02..8631d857ed1d1a7c96535f8c883692cd8d6e8b94 100644 --- a/setools.spec +++ b/setools.spec @@ -1,7 +1,7 @@ %global debug_package %{nil} Name: setools -Version: 4.1.1 -Release: 18 +Version: 4.3.0 +Release: 1 Summary: Policy Analysis Tools for SELinux License: GPLv2 URL: https://github.com/SELinuxProject/setools/wiki @@ -9,17 +9,13 @@ Source0: https://github.com/SELinuxProject/setools/archive/%{version}.tar.gz Source1: setools.pam Source2: apol.desktop -Patch1: 0001-Do-not-use-Werror-during-build.patch -Patch2: 0002-Do-not-export-use-setools.InfoFlowAnalysis-and-setoo.patch -Patch3: 0003-bswap_-macros-are-defined-in-byteswap.h.patch -Patch4: 0004-Add-support-for-SCTP-protocol.patch -Patch6000: iomemconquery-Fix-IomemconRange-import.patch -Patch6001: sediff-Fix-bug-in-rendering-modified-nodecons.patch +Patch0: 0001-Do-not-use-Werror-during-build.patch +Patch1: 0002-Do-not-export-use-setools.InfoFlowAnalysis-and-setoo.patch BuildRequires: flex bison glibc-devel gcc swig git python3-setuptools -BuildRequires: qt5-qtbase-devel python2-devel python2-setuptools python3-devel +BuildRequires: qt5-qtbase-devel python3-devel BuildRequires: libsepol-devel >= 2.8-1 libsepol-static >= 2.8-1 -Requires: python3-setools = %{version}-%{release} +BuildRequires: python3-Cython Obsoletes: setools < 4.0.0, setools-devel < 4.0.0 %description @@ -30,7 +26,9 @@ and command line. Summary: Console packages for setools License: GPLv2 Requires: python3-setools = %{version}-%{release} libselinux >= 2.8-1 +Requires: python3-network +Requires: python-setuptools %description console Console packages for setools. @@ -43,17 +41,6 @@ Requires: libselinux >= 2.8-1 %description console-analyses Analyses files for setools-console. -%package -n python2-setools -Summary: Python2 package for setools -Requires: python2-enum34 python2-setuptools -Provides: setools-python = %{version}-%{release} -Obsoletes: setools-python < %{version}-%{release} -Recommends: python2-libselinux -%{?python_provide:%python_provide python2-setools} - -%description -n python2-setools -Python2 package for setools - %package -n python3-setools Summary: Python3 package for setools Requires: python3-setuptools @@ -79,29 +66,17 @@ Gui packages for setools. %prep %autosetup -n setools-%{version} -p1 -cp -a ../setools-%{version} ../setools-%{version}-python2 - %build %{__python3} setup.py build -pushd ../setools-%{version}-python2 - %{__python2} setup.py build -popd - %install -pushd ../setools-%{version}-python2 -%{__python2} setup.py install --root %{buildroot} -popd - rm -rf %{buildroot}%{_bindir} %{__python3} setup.py install --root %{buildroot} +%py3_install %check %if %{?_with_check:1}%{!?_with_check:0} %{__python3} setup.py test -pushd ../setools-%{version}-python2 -%{__python2} setup.py test -popd %endif %files @@ -117,11 +92,6 @@ popd %{_bindir}/sedta %{_bindir}/seinfoflow -%files -n python2-setools -%defattr(-,root,root) -%license COPYING COPYING.GPL COPYING.LGPL -%{python2_sitearch}/* - %files -n python3-setools %defattr(-,root,root) %license COPYING COPYING.GPL COPYING.LGPL @@ -132,12 +102,18 @@ popd %defattr(-,root,root) %{_bindir}/apol %{python3_sitearch}/setoolsgui +%{_mandir}/man1/apol* +%{_mandir}/ru/man1/apol* %files help %defattr(-,root,root) %{_mandir}/man1/* +%{_mandir}/ru/man1/* %changelog +* Sat Aug 29 2020 zoulin - 4.3.0-1 +- Update setools to 4.3.0 + * Tue Aug 18 2020 Hugel - 4.1.1-18 - rebuild for requirement package update