Go to file
2015-03-07 11:18:33 -05:00
data Initial public release. 2014-07-08 14:28:55 -04:00
libqpol Distinguish policy syntax errors from other OS errors, eg ENOENT. 2015-03-06 10:44:32 -05:00
patches Add patch to libsepol to fix semantic level issue. 2015-02-23 08:48:21 -05:00
setools Implement SensitivityQuery 2015-03-07 11:16:59 -05:00
tests Implement SensitivityQuery 2015-03-07 11:16:59 -05:00
.coveragerc Rename/move coveragerc. 2015-02-07 20:56:54 -05:00
.gitignore ignore coverage-generated files 2015-02-16 09:43:21 +01:00
.travis.yml Simplify travis-ci build handling of SELinux toolchain. 2015-03-05 15:03:31 -05:00
COPYING Initial public release. 2014-07-08 14:28:55 -04:00
COPYING.GPL Initial public release. 2014-07-08 14:28:55 -04:00
COPYING.LGPL Initial public release. 2014-07-08 14:28:55 -04:00
MANIFEST.in Add copyright files to source distribution. 2014-10-29 14:28:26 -04:00
README Add missing unit test dependency. 2015-03-07 11:18:33 -05:00
sedta Reflow lines with new max line length. 2015-02-14 10:40:38 -05:00
seinfo Implement SensitivityQuery 2015-03-07 11:16:59 -05:00
seinfoflow String changes to meet PEP8 standards. 2015-02-12 14:01:44 -05:00
sesearch Implement range matching in MLSRuleQuery. 2015-02-25 14:17:38 -05:00
setup.py Missed updating version for release. 2015-02-11 14:13:11 -05:00
tox.ini Drop recreate in tox.ini 2015-03-07 09:48:22 -05:00
UNSTABLE_API Rename libapol package to setools. 2014-10-24 21:23:13 -04:00

SETools - Policy analysis tools for SELinux
setools@tresys.com, https://github.com/TresysTechnology/setools3/wiki


TABLE OF CONTENTS
-----------------

1. Overview
2. Installation
  2.1. building SETools
  2.2. setup.py flags
3. Features
  3.1. graphical tools
  3.2. command-line tools
  3.3. analysis libraries
4. Obtaining SETools
5. Reporting bugs
6. Copyright license


1. Overview
-----------

This file describes SETools, developed by Tresys Technology.  SETools
is a collection of graphical tools, command-line tools, and libraries
designed to facilitate SELinux policy analysis.  Please consult the
KNOWN-BUGS file prior to reporting bugs.


2. Installation
---------------

SETools uses the Python setuptools build system to build, and install.
As such it contains a setup.py script that will install the tools.

SETools requires the following development packages for building:
  Python 2.7 or 3.3+
  setuptools
  gcc
  bison
  flex
  libselinux
  libsepol 2.4+
  libbz2
  SWIG 2.0.12+ or 3.0+

To build SETools' graphical tools, the following packages are required:
  TBD

To run SETools, the following packages are required:
  Python 2.7 or 3.3+
  NetworkX 1.8+
  setuptools
  libselinux
  libsepol 2.4+
  libbz2

To run SETools unit tests, the following packages are required:
  Python 2.7 or 3.3+
  setuptools
  gcc
  bison
  flex
  libselinux
  libsepol 2.4+
  checkpolicy 2.4+
  libbz2
  SWIG 2.0.12+ or 3.0+
  mock (on Python 2.7 only)
  tox (optional)

2.1. building SETools
---------------------

Unpack the official distribution or check out the git repository,
and perform the following:

  $ cd setools
  $ python setup.py build
  $ python setup.py install

This will put the applications in /usr/bin, data files in /usr/share/setools,
and libraries in /usr/lib/pythonX.Y/site-packages/setools.


2.2. setup.py flags
-------------------

Please see `python setup.py --help` or `python setup.py install --help`
for up-to-date information on build and install options, respectively.


2.3 unit tests
--------------

One goal for SETools is to provide confidence in the validity of the
output for the tools.  The unit tests for SETools can be run with
the following command

  $ python setup.py test


3. Features
-----------

SETools encompasses a number of tools, both graphical and command
line, and libraries.  Many of the programs have help files accessible
during runtime.


3.1. graphical tools
--------------------

TBD


3.2. command-line tools
-----------------------

Some tools in the SETools suite may be run in a terminal
environment.

  sedta:
      A tool to perform domain transition analyses on an SELinux policy.

  seinfo:
      A tool to quickly get a list of components from an SELinux policy.

  seinfoflow:
      A tool to perform information flow analyses on an SELinux policy.

  sesearch:
      A tool to search rules (allow, type_transition, etc.)
      within an SELinux policy.


3.3. analysis libraries
-----------------------

The SETools support libraries are available for use in third-party
applications.  Although they are not officially supported (and thus
subject to change between SETools releases), we will do our best to
maintain API stability.


4. Obtaining SETools
--------------------

Official releases of SETools may be freely downloaded from:

https://github.com/TresysTechnology/setools/releases

SETools source code is maintained within a GitHub repository.
From the command line do:

  $ git clone https://github.com/TresysTechnology/setools.git

You may also browse the GitHub repository at
https://github.com/TresysTechnology/setools.

SETools included in most Linux distributions which enable
SELinux usage, such as Fedora, Red Hat Enterprise Linux, Gentoo,
and Debian.


5. Reporting bugs
-----------------

Bugs can be reported in the SETools GitHub issues tracker:

https://github.com/TresysTechnology/setools/issues


6. Copyright license
--------------------

The intent is to allow free use of this source code.  All programs'
source files are copyright protected and freely distributed under the
GNU General Public License (see COPYING.GPL).  All library source
files are copyright under the GNU Lesser General Public License (see
COPYING.LGPL).  All files distributed with this package indicate the
appropriate license to use with that file.  Absolutely no warranty is
provided or implied.