SETools 4.2.2 release
- Replaced the Python/SWIG/static-linked-libsepol policyrep module with a Cython implementation. This will have performance and memory-usage improvements and breaks the static linking to libsepol. - Significant memory usage reduction in sediff (approximately 60%, depending on the policies). - Added support for SCTP portcons - Updated permission maps - Support for Python 2.7 was dropped - Drop python2 subpackage (4.2.0 no longer supports python2) - Require userspace release 2.9 - setools-gui requires python3-setools - Add Requires for python[23]-setuptools - no longer required (just recommended) by python[23] (#1623371) - Fixed performance regressions - Made further memory usage improvements - Fixed build issues with clean target and runtime_library_dirs - Revised package structure to make policyrep a module of the setools package - Symbol names are now available as the name attribute (e.g. Boolean.name, Type.name, etc.) - Fixed some apol layouts to increase the size of text fields - Move constraint expression to its own class - Made Conditional.evaluate() more useful and added BaseTERule.enabled() method to determine if a rule is enabled - Restored missing statement() methods in some policyrep classes - Fixed NULL pointer dereference when iterating over type attributes when the policy has none - Added xdp_socket permission mapping - SELinuxPolicy: Create a map of aliases on policy load - Remove source policy references from man pages, as loading source policies is no longer supported. - Fix a performance regression in alias loading after alias dereferencing fixes in 4.2.1
This commit is contained in:
		
							parent
							
								
									5443cd02b9
								
							
						
					
					
						commit
						082b752534
					
				
							
								
								
									
										5
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										5
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @ -3,3 +3,8 @@ setools-3.3.8.tar.bz2 | |||||||
| setools-3.3.8-f1e5b20.tar.bz2 | setools-3.3.8-f1e5b20.tar.bz2 | ||||||
| /4.1.0.tar.gz | /4.1.0.tar.gz | ||||||
| /4.1.1.tar.gz | /4.1.1.tar.gz | ||||||
|  | /4.2.0-beta.tar.gz | ||||||
|  | /4.2.0-rc.tar.gz | ||||||
|  | /4.2.0.tar.gz | ||||||
|  | /4.2.1.tar.gz | ||||||
|  | /4.2.2.tar.gz | ||||||
|  | |||||||
| @ -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 |  | ||||||
| 
 |  | ||||||
| @ -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 |  | ||||||
| 
 |  | ||||||
| @ -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> | From: rpm-build <rpm-build> | ||||||
| Date: Thu, 23 Feb 2017 08:17:07 +0100 | 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 | MIME-Version: 1.0 | ||||||
| Content-Type: text/plain; charset=UTF-8 | Content-Type: text/plain; charset=UTF-8 | ||||||
| Content-Transfer-Encoding: 8bit | Content-Transfer-Encoding: 8bit | ||||||
| @ -32,18 +32,18 @@ error: command 'gcc' failed with exit status 1 | |||||||
|  1 file changed, 1 insertion(+), 1 deletion(-) |  1 file changed, 1 insertion(+), 1 deletion(-) | ||||||
| 
 | 
 | ||||||
| diff --git a/setup.py b/setup.py
 | diff --git a/setup.py b/setup.py
 | ||||||
| index 2ca44c9..9319bf6 100644
 | index c94daf1..a7442ac 100644
 | ||||||
| --- a/setup.py
 | --- a/setup.py
 | ||||||
| +++ b/setup.py
 | +++ b/setup.py
 | ||||||
| @@ -146,7 +146,7 @@ ext_py_mods = [Extension('setools.policyrep._qpol',
 | @@ -105,7 +105,7 @@ ext_py_mods = [Extension('setools.policyrep', ['setools/policyrep.pyx'],
 | ||||||
|                            'libqpol/policy_scan.c', |                           libraries=['selinux', 'sepol'], | ||||||
|                            'libqpol/xen_query.c'], |                           library_dirs=lib_dirs, | ||||||
|                           include_dirs=include_dirs, |                           define_macros=macros, | ||||||
| -                         extra_compile_args=['-Werror', '-Wextra',
 | -                         extra_compile_args=['-Werror', '-Wextra',
 | ||||||
| +                         extra_compile_args=['-Wextra',
 | +                         extra_compile_args=['-Wextra',
 | ||||||
|                                               '-Waggregate-return', |                                               '-Waggregate-return', | ||||||
|                                               '-Wfloat-equal', |                                               '-Wfloat-equal', | ||||||
|                                               '-Wformat', '-Wformat=2', |                                               '-Wformat', '-Wformat=2', | ||||||
| -- 
 | -- 
 | ||||||
| 2.9.3 | 2.17.2 | ||||||
| 
 | 
 | ||||||
| @ -1,7 +1,7 @@ | |||||||
| From 2512c3ba608077db3a5e0286b976fadc8a04a5c4 Mon Sep 17 00:00:00 2001 | From b960869bcbcb58f2ce9af598484f209935c096b0 Mon Sep 17 00:00:00 2001 | ||||||
| From: rpm-build <rpm-build> | From: Vit Mojzis <vmojzis@redhat.com> | ||||||
| Date: Thu, 23 Feb 2017 08:17:07 +0100 | Date: Fri, 26 Apr 2019 15:27:25 +0200 | ||||||
| Subject: [PATCH 2/2] Do not export/use setools.InfoFlowAnalysis and | Subject: [PATCH 3/3] Do not export/use setools.InfoFlowAnalysis and | ||||||
|  setools.DomainTransitionAnalysis |  setools.DomainTransitionAnalysis | ||||||
| 
 | 
 | ||||||
| dta and infoflow modules require networkx which brings lot of dependencies. | 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 | setools.dta.DomainTransitionAnalysis and let the package containing | ||||||
| sedta and seinfoflow to require python3-networkx | sedta and seinfoflow to require python3-networkx | ||||||
| ---
 | ---
 | ||||||
|  sedta                       | 3 ++- |  sedta                       | 4 ++-- | ||||||
|  seinfoflow                  | 3 ++- |  seinfoflow                  | 4 ++-- | ||||||
|  setools/__init__.py         | 4 ++-- |  setools/__init__.py         | 4 ---- | ||||||
|  setoolsgui/apol/dta.py      | 2 +- |  setoolsgui/apol/dta.py      | 2 +- | ||||||
|  setoolsgui/apol/infoflow.py | 2 +- |  setoolsgui/apol/infoflow.py | 2 +- | ||||||
|  tests/dta.py                | 3 ++- |  tests/dta.py                | 2 +- | ||||||
|  tests/infoflow.py           | 3 ++- |  tests/infoflow.py           | 2 +- | ||||||
|  7 files changed, 12 insertions(+), 8 deletions(-) |  7 files changed, 8 insertions(+), 12 deletions(-) | ||||||
| 
 | 
 | ||||||
| diff --git a/sedta b/sedta
 | diff --git a/sedta b/sedta
 | ||||||
| index 1c76ebb..255ad49 100755
 | index 60861ca..41e38a2 100755
 | ||||||
| --- a/sedta
 | --- a/sedta
 | ||||||
| +++ b/sedta
 | +++ b/sedta
 | ||||||
| @@ -23,6 +23,7 @@ import argparse
 | @@ -22,7 +22,7 @@ import argparse
 | ||||||
|  import logging |  import logging | ||||||
|  |  import signal | ||||||
|   |   | ||||||
|  import setools | -import setools
 | ||||||
| +import setools.dta
 | +import setools.dta
 | ||||||
|   |   | ||||||
|   |   | ||||||
|  def print_transition(trans): |  def print_transition(trans): | ||||||
| @@ -111,7 +112,7 @@ else:
 | @@ -114,7 +114,7 @@ else:
 | ||||||
|   |   | ||||||
|  try: |  try: | ||||||
|      p = setools.SELinuxPolicy(args.policy) |      p = setools.SELinuxPolicy(args.policy) | ||||||
| @ -43,18 +44,19 @@ index 1c76ebb..255ad49 100755 | |||||||
|      if args.shortest_path or args.all_paths: |      if args.shortest_path or args.all_paths: | ||||||
|          if args.shortest_path: |          if args.shortest_path: | ||||||
| diff --git a/seinfoflow b/seinfoflow
 | diff --git a/seinfoflow b/seinfoflow
 | ||||||
| index b287921..d53bdef 100755
 | index 97b14ba..e7f965d 100755
 | ||||||
| --- a/seinfoflow
 | --- a/seinfoflow
 | ||||||
| +++ b/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 setools.infoflow
 | ||||||
|  import argparse |  import argparse | ||||||
|  import sys |  import sys | ||||||
|  import logging |  import logging | ||||||
| @@ -79,7 +80,7 @@ else:
 | @@ -81,7 +81,7 @@ else:
 | ||||||
|  try: |  try: | ||||||
|      p = setools.SELinuxPolicy(args.policy) |      p = setools.SELinuxPolicy(args.policy) | ||||||
|      m = setools.PermissionMap(args.map) |      m = setools.PermissionMap(args.map) | ||||||
| @ -64,25 +66,24 @@ index b287921..d53bdef 100755 | |||||||
|      if args.shortest_path or args.all_paths: |      if args.shortest_path or args.all_paths: | ||||||
|          if args.shortest_path: |          if args.shortest_path: | ||||||
| diff --git a/setools/__init__.py b/setools/__init__.py
 | diff --git a/setools/__init__.py b/setools/__init__.py
 | ||||||
| index a84c846..a53c5a7 100644
 | index 7b70f5e..5a5f7fe 100644
 | ||||||
| --- a/setools/__init__.py
 | --- a/setools/__init__.py
 | ||||||
| +++ b/setools/__init__.py
 | +++ b/setools/__init__.py
 | ||||||
| @@ -74,11 +74,11 @@ from .pcideviceconquery import PcideviceconQuery
 | @@ -73,12 +73,8 @@ from .pcideviceconquery import PcideviceconQuery
 | ||||||
|  from .devicetreeconquery import DevicetreeconQuery |  from .devicetreeconquery import DevicetreeconQuery | ||||||
|   |   | ||||||
|  # Information Flow Analysis |  # Information Flow Analysis | ||||||
| -from .infoflow import InfoFlowAnalysis
 | -from .infoflow import InfoFlowAnalysis
 | ||||||
| +# from .infoflow import InfoFlowAnalysis
 |  | ||||||
|  from .permmap import PermissionMap |  from .permmap import PermissionMap | ||||||
|   |   | ||||||
|  # Domain Transition Analysis | -# Domain Transition Analysis
 | ||||||
| -from .dta import DomainTransitionAnalysis
 | -from .dta import DomainTransitionAnalysis
 | ||||||
| +# from .dta import DomainTransitionAnalysis
 | -
 | ||||||
|   |  | ||||||
|  # Policy difference |  # Policy difference | ||||||
|  from .diff import PolicyDifference |  from .diff import PolicyDifference | ||||||
|  |   | ||||||
| diff --git a/setoolsgui/apol/dta.py b/setoolsgui/apol/dta.py
 | diff --git a/setoolsgui/apol/dta.py b/setoolsgui/apol/dta.py
 | ||||||
| index 0aaf13f..5b1ea20 100644
 | index 4608b9d..2cde44c 100644
 | ||||||
| --- a/setoolsgui/apol/dta.py
 | --- a/setoolsgui/apol/dta.py
 | ||||||
| +++ b/setoolsgui/apol/dta.py
 | +++ b/setoolsgui/apol/dta.py
 | ||||||
| @@ -23,7 +23,7 @@ from PyQt5.QtCore import pyqtSignal, Qt, QStringListModel, QThread
 | @@ -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 ..logtosignal import LogHandlerToSignal | ||||||
|  from .analysistab import AnalysisTab |  from .analysistab import AnalysisTab | ||||||
| diff --git a/setoolsgui/apol/infoflow.py b/setoolsgui/apol/infoflow.py
 | diff --git a/setoolsgui/apol/infoflow.py b/setoolsgui/apol/infoflow.py
 | ||||||
| index 1ae16de..fdf8f7b 100644
 | index 7bca299..7fee277 100644
 | ||||||
| --- a/setoolsgui/apol/infoflow.py
 | --- a/setoolsgui/apol/infoflow.py
 | ||||||
| +++ b/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.QtGui import QPalette, QTextCursor | ||||||
|  from PyQt5.QtWidgets import QCompleter, QHeaderView, QMessageBox, QProgressDialog, \ |  from PyQt5.QtWidgets import QCompleter, QHeaderView, QMessageBox, QProgressDialog, \ | ||||||
|      QTreeWidgetItem |      QTreeWidgetItem | ||||||
| @ -108,33 +109,31 @@ index 1ae16de..fdf8f7b 100644 | |||||||
|   |   | ||||||
|  from ..logtosignal import LogHandlerToSignal |  from ..logtosignal import LogHandlerToSignal | ||||||
| diff --git a/tests/dta.py b/tests/dta.py
 | diff --git a/tests/dta.py b/tests/dta.py
 | ||||||
| index 32b9271..2bdd052 100644
 | index a0cc938..177e6fb 100644
 | ||||||
| --- a/tests/dta.py
 | --- a/tests/dta.py
 | ||||||
| +++ b/tests/dta.py
 | +++ b/tests/dta.py
 | ||||||
| @@ -17,7 +17,8 @@
 | @@ -18,7 +18,7 @@
 | ||||||
|  # |  import os | ||||||
|  import unittest |  import unittest | ||||||
|   |   | ||||||
| -from setools import SELinuxPolicy, DomainTransitionAnalysis
 | -from setools import DomainTransitionAnalysis
 | ||||||
| +from setools import SELinuxPolicy
 |  | ||||||
| +from setools.dta import DomainTransitionAnalysis
 | +from setools.dta import DomainTransitionAnalysis
 | ||||||
|  from setools import TERuletype as TERT |  from setools import TERuletype as TERT | ||||||
|  from setools.policyrep.exception import InvalidType |  from setools.exception import InvalidType | ||||||
|  from setools.policyrep.typeattr import Type |  from setools.policyrep import Type | ||||||
| diff --git a/tests/infoflow.py b/tests/infoflow.py
 | diff --git a/tests/infoflow.py b/tests/infoflow.py
 | ||||||
| index 7751dda..a21c683 100644
 | index aa0e44a..fca2848 100644
 | ||||||
| --- a/tests/infoflow.py
 | --- a/tests/infoflow.py
 | ||||||
| +++ b/tests/infoflow.py
 | +++ b/tests/infoflow.py
 | ||||||
| @@ -17,7 +17,8 @@
 | @@ -18,7 +18,7 @@
 | ||||||
|  # |  import os | ||||||
|  import unittest |  import unittest | ||||||
|   |   | ||||||
| -from setools import SELinuxPolicy, InfoFlowAnalysis
 | -from setools import InfoFlowAnalysis
 | ||||||
| +from setools import SELinuxPolicy
 |  | ||||||
| +from setools.infoflow import InfoFlowAnalysis
 | +from setools.infoflow import InfoFlowAnalysis
 | ||||||
|  from setools import TERuletype as TERT |  from setools import TERuletype as TERT | ||||||
|  |  from setools.exception import InvalidType | ||||||
|  from setools.permmap import PermissionMap |  from setools.permmap import PermissionMap | ||||||
|  from setools.policyrep.exception import InvalidType |  | ||||||
| -- 
 | -- 
 | ||||||
| 2.9.3 | 2.17.2 | ||||||
| 
 | 
 | ||||||
							
								
								
									
										96
									
								
								setools.spec
									
									
									
									
									
								
							
							
						
						
									
										96
									
								
								setools.spec
									
									
									
									
									
								
							| @ -1,17 +1,13 @@ | |||||||
| # sitelib for noarch packages, sitearch for others (remove the unneeded one) | # % global setools_pre_ver rc | ||||||
| %{!?__python2: %global __python2 %__python} |  | ||||||
| %{!?python2_sitelib: %global python2_sitelib %(%{__python2} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")} |  | ||||||
| %{!?python2_sitearch: %global python2_sitearch %(%{__python2} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))")} |  | ||||||
| 
 |  | ||||||
| # % global setools_pre_ver beta.1.8e09d95 |  | ||||||
| # % global gitver f1e5b20 | # % global gitver f1e5b20 | ||||||
| 
 | 
 | ||||||
| %global sepol_ver 2.8-1 | %global sepol_ver 2.9-1 | ||||||
| %global selinux_ver 2.8-1 | %global selinux_ver 2.9-1 | ||||||
|  | 
 | ||||||
| 
 | 
 | ||||||
| Name:           setools | Name:           setools | ||||||
| Version:        4.1.1 | Version:        4.2.2 | ||||||
| Release:        15%{?setools_pre_ver:.%{setools_pre_ver}}%{?dist} | Release:        1%{?setools_pre_ver:.%{setools_pre_ver}}%{?dist} | ||||||
| Summary:        Policy analysis tools for SELinux | Summary:        Policy analysis tools for SELinux | ||||||
| 
 | 
 | ||||||
| License:        GPLv2 | License:        GPLv2 | ||||||
| @ -19,10 +15,8 @@ URL:            https://github.com/SELinuxProject/setools/wiki | |||||||
| Source0:        https://github.com/SELinuxProject/setools/archive/%{version}%{?setools_pre_ver:-%{setools_pre_ver}}.tar.gz | Source0:        https://github.com/SELinuxProject/setools/archive/%{version}%{?setools_pre_ver:-%{setools_pre_ver}}.tar.gz | ||||||
| Source1:        setools.pam | Source1:        setools.pam | ||||||
| Source2:        apol.desktop | Source2:        apol.desktop | ||||||
| Patch1:         0001-Do-not-use-Werror-during-build.patch | Patch1001:      1001-Do-not-use-Werror-during-build.patch | ||||||
| Patch2:         0002-Do-not-export-use-setools.InfoFlowAnalysis-and-setoo.patch | Patch1002:      1002-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 |  | ||||||
| 
 | 
 | ||||||
| Obsoletes:      setools < 4.0.0, setools-devel < 4.0.0 | Obsoletes:      setools < 4.0.0, setools-devel < 4.0.0 | ||||||
| BuildRequires:  flex,  bison | BuildRequires:  flex,  bison | ||||||
| @ -30,10 +24,10 @@ BuildRequires:  glibc-devel, gcc, git | |||||||
| BuildRequires:  libsepol-devel >= %{sepol_ver}, libsepol-static >= %{sepol_ver} | BuildRequires:  libsepol-devel >= %{sepol_ver}, libsepol-static >= %{sepol_ver} | ||||||
| BuildRequires:  qt5-qtbase-devel | BuildRequires:  qt5-qtbase-devel | ||||||
| BuildRequires:  swig | BuildRequires:  swig | ||||||
| BuildRequires:  python2-devel | BuildRequires:  python3-Cython | ||||||
| BuildRequires:  python2-setuptools |  | ||||||
| BuildRequires:  python3-devel | BuildRequires:  python3-devel | ||||||
| BuildRequires:  python3-setuptools | BuildRequires:  python3-setuptools | ||||||
|  | BuildRequires:  libselinux-devel | ||||||
| 
 | 
 | ||||||
| # BuildArch:       | # BuildArch:       | ||||||
| Requires:       python3-%{name} = %{version}-%{release} | Requires:       python3-%{name} = %{version}-%{release} | ||||||
| @ -76,30 +70,11 @@ This package includes the following console tools: | |||||||
|   seinfoflow   Perform information flow analyses. |   seinfoflow   Perform information flow analyses. | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| %package     -n python2-setools |  | ||||||
| Summary:     Policy analysis tools for SELinux   |  | ||||||
| Recommends:  python2-libselinux |  | ||||||
| %{?python_provide:%python_provide python2-setools} |  | ||||||
| # Remove before F30 |  | ||||||
| Provides: %{name}-python = %{version}-%{release} |  | ||||||
| Provides: %{name}-python%{?_isa} = %{version}-%{release} |  | ||||||
| Obsoletes: %{name}-python < %{version}-%{release} |  | ||||||
| Requires:    python2-enum34 |  | ||||||
| Requires:    python2-setuptools |  | ||||||
| 
 |  | ||||||
| %description -n python2-setools |  | ||||||
| SETools is a collection of graphical tools, command-line tools, and |  | ||||||
| Python 2 modules designed to facilitate SELinux policy analysis. |  | ||||||
| 
 |  | ||||||
| %package     -n python3-setools | %package     -n python3-setools | ||||||
| Summary:     Policy analysis tools for SELinux   | Summary:     Policy analysis tools for SELinux   | ||||||
| Obsoletes:   setools-libs < 4.0.0 | Obsoletes:   setools-libs < 4.0.0 | ||||||
| Recommends:  libselinux-python3 | Recommends:  libselinux-python3 | ||||||
| %{?python_provide:%python_provide python2-setools} | %{?python_provide:%python_provide python3-setools} | ||||||
| # Remove before F30 |  | ||||||
| Provides: %{name}-python3 = %{version}-%{release} |  | ||||||
| Provides: %{name}-python3%{?_isa} = %{version}-%{release} |  | ||||||
| Obsoletes: %{name}-python3 < %{version}-%{release} |  | ||||||
| Requires:    python3-setuptools | Requires:    python3-setuptools | ||||||
| 
 | 
 | ||||||
| %description -n python3-setools | %description -n python3-setools | ||||||
| @ -119,36 +94,19 @@ Python modules designed to facilitate SELinux policy analysis. | |||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| %prep | %prep | ||||||
| %autosetup -p 1 -S git | %autosetup -p 1 -S git -n setools-%{version}%{?setools_pre_ver:-%{setools_pre_ver}} | ||||||
| 
 |  | ||||||
| cp -a ../setools-%{version}%{?setools_pre_ver:-%{setools_pre_ver}} ../setools-%{version}%{?setools_pre_ver:-%{setools_pre_ver}}-python2 |  | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| %build | %build | ||||||
| %py3_build | %py3_build | ||||||
| 
 | 
 | ||||||
| pushd ../setools-%{version}%{?setools_pre_ver:-%{setools_pre_ver}}-python2 |  | ||||||
| # Remove CFLAGS=... for noarch packages (unneeded) |  | ||||||
| CFLAGS="%{optflags}" %{__python2} setup.py build |  | ||||||
| popd |  | ||||||
| 
 |  | ||||||
| 
 | 
 | ||||||
| %install | %install | ||||||
| rm -rf %{buildroot} |  | ||||||
| pushd ../setools-%{version}%{?setools_pre_ver:-%{setools_pre_ver}}-python2 |  | ||||||
| %{__python2} setup.py install --root %{buildroot} |  | ||||||
| popd |  | ||||||
| 
 |  | ||||||
| rm -rf %{buildroot}%{_bindir} |  | ||||||
| %py3_install | %py3_install | ||||||
| 
 | 
 | ||||||
| %check | %check | ||||||
| %if %{?_with_check:1}%{!?_with_check:0} | %if %{?_with_check:1}%{!?_with_check:0} | ||||||
| %{__python3} setup.py test | %{__python3} setup.py test | ||||||
| 
 |  | ||||||
| pushd ../setools-%{version}%{?setools_pre_ver:-%{setools_pre_ver}}-python2 |  | ||||||
| %{__python2} setup.py test |  | ||||||
| popd |  | ||||||
| %endif | %endif | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| @ -168,10 +126,6 @@ popd | |||||||
| %{_mandir}/man1/sedta* | %{_mandir}/man1/sedta* | ||||||
| %{_mandir}/man1/seinfoflow* | %{_mandir}/man1/seinfoflow* | ||||||
| 
 | 
 | ||||||
| %files -n python2-setools |  | ||||||
| %license COPYING COPYING.GPL COPYING.LGPL |  | ||||||
| %{python2_sitearch}/* |  | ||||||
| 
 |  | ||||||
| %files -n python3-setools | %files -n python3-setools | ||||||
| %license COPYING COPYING.GPL COPYING.LGPL | %license COPYING COPYING.GPL COPYING.LGPL | ||||||
| %{python3_sitearch}/setools | %{python3_sitearch}/setools | ||||||
| @ -183,11 +137,29 @@ popd | |||||||
| %{_mandir}/man1/apol* | %{_mandir}/man1/apol* | ||||||
| 
 | 
 | ||||||
| %changelog | %changelog | ||||||
| * Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 4.1.1-15 | * Mon Jul 08 2019 Vit Mojzis <vmojzis@redhat.com> - 4.2.2-1} | ||||||
| - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild | - SETools 4.2.2 release | ||||||
| 
 | 
 | ||||||
| * Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 4.1.1-14 | * Mon May 13 2019 Vit Mojzis <vmojzis@redhat.com> - 4.2.1-3 | ||||||
| - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild | - Use %set_build_flags instead of %optflags | ||||||
|  | 
 | ||||||
|  | * Mon May 06 2019 Vit Mojzis <vmojzis@redhat.com> - 4.2.1-2 | ||||||
|  | - SELinuxPolicy: Create a map of aliases on policy load (#1672631) | ||||||
|  | 
 | ||||||
|  | * Tue Mar 26 2019 Petr Lautrbach <plautrba@redhat.com> - 4.2.1-1 | ||||||
|  | - SETools 4.2.1 release (#1581761, #1595582) | ||||||
|  | 
 | ||||||
|  | * Wed Nov 14 2018 Vit Mojzis <vmojzis@redhat.com> - 4.2.0-1 | ||||||
|  | - Update source to SETools 4.2.0 release | ||||||
|  | 
 | ||||||
|  | * Mon Oct 01 2018 Vit Mojzis <vmojzis@redhat.com> - 4.2.0-0.3.rc | ||||||
|  | - Update upstream source to 4.2.0-rc | ||||||
|  | 
 | ||||||
|  | * Wed Sep 19 2018 Vit Mojzis <vmojzis@redhat.com> - 4.2.0-0.2.beta | ||||||
|  | - Require userspace release 2.8 | ||||||
|  | - setools-gui requires python3-setools | ||||||
|  | - Add Requires for python[23]-setuptools - no longer required (just recommended) by python[23] (#1623371) | ||||||
|  | - Drop python2 subpackage (4.2.0 no longer supports python2) | ||||||
| 
 | 
 | ||||||
| * Wed Aug 29 2018 Vit Mojzis <vmojzis@redhat.com> - 4.1.1-13 | * Wed Aug 29 2018 Vit Mojzis <vmojzis@redhat.com> - 4.1.1-13 | ||||||
| - Add Requires for python[23]-setuptools - no longer required (just recommended) | - Add Requires for python[23]-setuptools - no longer required (just recommended) | ||||||
|  | |||||||
							
								
								
									
										2
									
								
								sources
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								sources
									
									
									
									
									
								
							| @ -1 +1 @@ | |||||||
| SHA512 (4.1.1.tar.gz) = 2e55a3b07e2f94d7c84054f31d266567b9acc708fe2b0e16ac3ea24e8301c712bcf564ff915a6135a1a6ba6822682bb3a6530dae20161a832fb7048364acbd04 | SHA512 (4.2.2.tar.gz) = 5044b04d0895ffe31557b3b71bb277ab49710a6066485c8f204ce7858abab259f973000f1fcfde0149ed4e33a50103984939dcc68ce322d70e9e927e81d4f798 | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user