Go to file
Joshua Brindle 25ce102907 Add security_validatetrans support
It seems validatetrans support was never added to libselinux, despite being added to
selinuxfs in kernel version 4.5

There is a utility to test, however the targeted policy has no validatetrans rules so some must be added:

$ cat validatetrans.cil
(mlsvalidatetrans db_table (and (or (or (or (eq l1 l2) (and (eq t3 unconfined_t) (domby l1 l2))) (and (eq t3 unconfined_t) (dom l1 l2))) (and (eq t3 unconfined_t) (incomp l1 l2))) (or (or (or (eq l1 h2) (and (eq t3 unconfined_t) (domby h1 h2))) (and (eq t3 unconfined_t) (dom h1 h2))) (and (eq t3 unconfined_t) (incomp h1 h2)))))

$ sudo semodule -i validatetrans.cil

$ ./validatetrans system_u:system_r:kernel_t:s0 system_u:system_r:init_t:s0:c0 db_table system_u:system_r: # invalid context here
opening /sys/fs/selinux/validatetrans
security_validatetrans returned -1 errno: Invalid argument

$ ./validatetrans system_u:system_r:kernel_t:s0 system_u:system_r:init_t:s0:c0 db_table system_u:system_r:init_t:s0
opening /sys/fs/selinux/validatetrans
security_validatetrans returned -1 errno: Operation not permitted

$ ./validatetrans system_u:system_r:kernel_t:s0 system_u:system_r:init_t:s0:c0 db_table system_u:system_r:unconfined_t:s0
opening /sys/fs/selinux/validatetrans
security_validatetrans returned 0 errno: Success

Signed-off-by: Joshua Brindle <joshua.brindle@crunchydata.com>
2019-04-09 06:51:02 -07:00
checkpolicy Update VERSIONs to 2.9 for release. 2019-03-15 11:32:30 +01:00
dbus Update VERSIONs to 2.9 for release. 2019-03-15 11:32:30 +01:00
gui gui: Install .desktop files to /usr/share/applications by default 2019-03-18 22:06:40 +01:00
libselinux Add security_validatetrans support 2019-04-09 06:51:02 -07:00
libsemanage Update VERSIONs to 2.9 for release. 2019-03-15 11:32:30 +01:00
libsepol Update VERSIONs to 2.9 for release. 2019-03-15 11:32:30 +01:00
mcstrans Update VERSIONs to 2.9 for release. 2019-03-15 11:32:30 +01:00
policycoreutils Update VERSIONs to 2.9 for release. 2019-03-15 11:32:30 +01:00
python Update VERSIONs to 2.9 for release. 2019-03-15 11:32:30 +01:00
restorecond restorecond: Do not link against libpcre 2019-03-26 22:21:31 +01:00
sandbox Update VERSIONs to 2.9 for release. 2019-03-15 11:32:30 +01:00
scripts Switch to python3 by default 2019-02-20 16:43:27 +01:00
secilc Update VERSIONs to 2.9 for release. 2019-03-15 11:32:30 +01:00
semodule-utils Update VERSIONs to 2.9 for release. 2019-03-15 11:32:30 +01:00
.gitignore restorecond: Add gitignore 2016-11-16 11:20:05 -05:00
.travis.yml scripts: introduce env_use_destdir.sh helper 2019-01-21 12:13:41 +01:00
CleanSpec.mk Add empty top level Android.mk / CleanSpec.mk files 2015-04-16 07:54:09 -04:00
Makefile build: setup buildpaths if DESTDIR is specified 2018-02-14 20:02:03 +01:00
README README: Update Fedora python 3 dependencies 2019-02-20 16:43:27 +01:00

README

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).