!9 update setools to 4.3.0

Merge pull request !9 from linwei9/master
This commit is contained in:
openeuler-ci-bot 2020-07-30 20:23:06 +08:00 committed by Gitee
commit 47260e32a1
9 changed files with 69 additions and 333 deletions

View File

@ -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 <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

View File

@ -1,7 +1,7 @@
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 2/2] Do not export/use setools.InfoFlowAnalysis and
From 0575455a0abda5ee63c442433384268a959c4fbc Mon Sep 17 00:00:00 2001
From: Vit Mojzis <vmojzis@redhat.com>
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,46 +44,46 @@ 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 <http://www.gnu.org/licenses/>.
#
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
@ -95,10 +96,10 @@ index 0aaf13f..5b1ea20 100644
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
@ -108,33 +109,31 @@ index 1ae16de..fdf8f7b 100644
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

View File

@ -1,26 +0,0 @@
From 2ac588919dd96d3d624e6ec20c67d1d91386e879 Mon Sep 17 00:00:00 2001
From: Petr Lautrbach <plautrba@redhat.com>
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 <assert.h>
+#include <byteswap.h>
#include <errno.h>
#include <fcntl.h>
#include <limits.h>
--
2.13.3

View File

@ -1,158 +0,0 @@
From 3ef6369a22691e8e11cbf63f37b114941b3577a1 Mon Sep 17 00:00:00 2001
From: Vit Mojzis <vmojzis@redhat.com>
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 <vmojzis@redhat.com>
---
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 <arpa/inet.h>
#include <stdlib.h>
#include <limits.h>
@@ -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

Binary file not shown.

BIN
4.3.0.tar.gz Normal file

Binary file not shown.

View File

@ -1,25 +0,0 @@
From 2082f25320e97c32d9a912908f4c50d4399b213f Mon Sep 17 00:00:00 2001
From: Chris PeBenito <pebenito@ieee.org>
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

View File

@ -1,30 +0,0 @@
From 70445d45ad0f9238b87981016a723ee9470bf8fe Mon Sep 17 00:00:00 2001
From: Chris PeBenito <pebenito@ieee.org>
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

View File

@ -1,7 +1,7 @@
%global debug_package %{nil}
Name: setools
Version: 4.1.1
Release: 17
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: python3-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
* Thu Jul 30 2020 linwei <linwei54@huawei.com> - 4.3.0-1
- update setools to 4.3.0
* Fri Mar 13 2020 zhangrui <zhangrui182@huawei.com> - 4.1.1-17
- obsolete setools