Go to file
Nicolas Iooss 0bcaba30d7 libselinux: add missing glue code to grab errno in Python bindings
The Python bindings for libselinux expose functions such as
avc_has_perm(), get_ordered_context_list(), etc. When these functions
encounter an error, they set errno accordingly and return a negative
value. In order to get the value of errno from Python code, it needs to
be "forwarded" in a way. This is achieved by glue code in
selinuxswig_python_exception.i, which implement raising an OSError
exception from the value of errno.

selinuxswig_python_exception.i was only generating glue code from
functions declared in selinux.h and not in other headers. Add other
headers.

selinuxswig_python_exception.i is generated by "bash exception.sh". Mark
the fact that exception.sh is a Bash script by adding a shebang. This
makes "shellcheck" not warn about the Bash array which is used to list
header files.

Signed-off-by: Nicolas Iooss <nicolas.iooss@m4x.org>
Acked-by: William Roberts <william.c.roberts@intel.com>
2020-04-17 15:49:37 -05:00
.circleci CircleCI: run scan-build and publish its results automatically 2019-09-26 09:45:47 -04:00
checkpolicy checkpolicy: add missing forward declaration 2020-03-25 09:54:21 -05:00
dbus Update VERSIONs to 3.0 for release. 2019-11-28 13:46:48 +01:00
gui Update VERSIONs to 3.0 for release. 2019-11-28 13:46:48 +01:00
libselinux libselinux: add missing glue code to grab errno in Python bindings 2020-04-17 15:49:37 -05:00
libsemanage tree-wide: use python module importlib instead of the deprecated imp 2020-04-16 18:50:43 +02:00
libsepol cil: re-enable DISABLE_SYMVER define 2020-03-27 09:27:04 -05:00
mcstrans tree-wide: replace last occurrences of security_context_t 2020-03-25 09:54:21 -05:00
policycoreutils setfiles: Add -E option to treat conflicting specifications as errors. 2020-04-14 18:22:25 +02:00
python python/semanage: check variable type of port before trying to split 2019-12-10 15:21:16 -05:00
restorecond Update VERSIONs to 3.0 for release. 2019-11-28 13:46:48 +01:00
sandbox tree-wide: replace last occurrences of security_context_t 2020-03-25 09:54:21 -05:00
scripts libsepol, libsemanage: add a macro to silence static analyzer warnings in tests 2019-09-30 08:43:41 -04:00
secilc secilc: add basic test for policy optimization 2020-03-18 13:56:34 -04:00
semodule-utils Update VERSIONs to 3.0 for release. 2019-11-28 13:46:48 +01:00
.gitignore restorecond: Add gitignore 2016-11-16 11:20:05 -05:00
.travis.yml Travis-CI: test that DEBUG build works 2020-02-07 16:29:04 -05:00
CleanSpec.mk Add empty top level Android.mk / CleanSpec.mk files 2015-04-16 07:54:09 -04:00
CONTRIBUTING.md Fix many misspellings 2019-09-18 22:47:35 +02:00
lgtm.yml Add configuration file for lgtm.com 2019-09-18 08:24:11 -04:00
Makefile Makefile: always build with -fno-common 2020-01-27 10:51:23 -05:00
README README: Update Fedora python 3 dependencies 2019-02-20 16:43:27 +01:00

Please submit all bug reports and patches to selinux@vger.kernel.org.
Subscribe by sending "subscribe selinux" in the body of an email
to majordomo@vger.kernel.org.

Build dependencies on Fedora:
yum install audit-libs-devel bison bzip2-devel dbus-devel dbus-glib-devel flex flex-devel flex-static glib2-devel libcap-devel libcap-ng-devel pam-devel pcre-devel python3-devel python3-setools swig xmlto redhat-rpm-config

To build and install everything under a private directory, run:
make DESTDIR=~/obj install install-pywrap

To install as the default system libraries and binaries
(overwriting any previously installed ones - dangerous!),
on x86_64, run:
make LIBDIR=/usr/lib64 SHLIBDIR=/lib64 install install-pywrap relabel
or on x86 (32-bit), run:
make install install-pywrap relabel

This may render your system unusable if the upstream SELinux userspace
lacks library functions or other dependencies relied upon by your
distribution.  If it breaks, you get to keep both pieces.

To install libsepol on macOS (mainly for policy analysis):
cd libsepol; make PREFIX=/usr/local install

This requires GNU coreutils (brew install coreutils).