mirror of
https://github.com/SELinuxProject/selinux
synced 2025-04-09 19:22:43 +00:00
Refactor selinux_restorecon(3) to allow for distributing the relabeling to multiple threads and add a new function selinux_restorecon_parallel(3), which allows specifying the number of threads to use. The existing selinux_restorecon(3) function maintains the same interface and maintains the same behavior (i.e. relabeling is done on a single thread). The parallel implementation takes a simple approach of performing all the directory tree traversal in a critical section and only letting the relabeling of individual objects run in parallel. Thankfully, this approach turns out to be efficient enough in practice, as shown by restorecon benchmarks (detailed in a subsequent patch that switches setfiles & restorecon to use selinux_restorecon_parallel(3)). Note that to be able to use the parallelism, the calling application/ library must be explicitly linked to the libpthread library (statically or dynamically). This is necessary to mantain the requirement that libselinux shouldn't explicitly link with libpthread. (I don't know what exactly was the reason behind this requirement as the commit logs are fuzzy, but special care has been taken in the past to maintain it, so I didn't want to break it...) Signed-off-by: Ondrej Mosnacek <omosnace@redhat.com>
1209 lines
19 KiB
OpenEdge ABL
1209 lines
19 KiB
OpenEdge ABL
|
|
%exception is_selinux_enabled {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception is_selinux_mls_enabled {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception getcon {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception getcon_raw {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception setcon {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception setcon_raw {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception getpidcon {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception getpidcon_raw {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception getprevcon {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception getprevcon_raw {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception getexeccon {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception getexeccon_raw {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception setexeccon {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception setexeccon_raw {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception getfscreatecon {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception getfscreatecon_raw {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception setfscreatecon {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception setfscreatecon_raw {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception getkeycreatecon {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception getkeycreatecon_raw {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception setkeycreatecon {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception setkeycreatecon_raw {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception getsockcreatecon {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception getsockcreatecon_raw {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception setsockcreatecon {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception setsockcreatecon_raw {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception getfilecon {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception getfilecon_raw {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception lgetfilecon {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception lgetfilecon_raw {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception fgetfilecon {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception fgetfilecon_raw {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception setfilecon {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception setfilecon_raw {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception lsetfilecon {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception lsetfilecon_raw {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception fsetfilecon {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception fsetfilecon_raw {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception getpeercon {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception getpeercon_raw {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception security_compute_av {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception security_compute_av_raw {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception security_compute_av_flags {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception security_compute_av_flags_raw {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception security_compute_create {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception security_compute_create_raw {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception security_compute_create_name {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception security_compute_create_name_raw {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception security_compute_relabel {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception security_compute_relabel_raw {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception security_compute_member {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception security_compute_member_raw {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception security_compute_user {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception security_compute_user_raw {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception security_validatetrans {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception security_validatetrans_raw {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception security_load_policy {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception security_get_initial_context {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception security_get_initial_context_raw {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception selinux_mkload_policy {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception selinux_init_load_policy {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception security_set_boolean_list {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception security_load_booleans {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception security_check_context {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception security_check_context_raw {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception security_canonicalize_context {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception security_canonicalize_context_raw {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception security_getenforce {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception security_setenforce {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception security_reject_unknown {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception security_deny_unknown {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception security_get_checkreqprot {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception security_disable {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception security_policyvers {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception security_get_boolean_names {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception security_get_boolean_pending {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception security_get_boolean_active {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception security_set_boolean {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception security_commit_booleans {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception selinux_set_mapping {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception security_av_string {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception matchpathcon_init {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception matchpathcon_init_prefix {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception realpath_not_final {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception matchpathcon {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception matchpathcon_index {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception matchpathcon_filespec_add {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception matchmediacon {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception selinux_getenforcemode {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception selinux_getpolicytype {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception selinux_set_policy_root {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception selinux_check_access {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception selinux_check_passwd_access {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception checkPasswdAccess {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception selinux_check_securetty_context {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception selinuxfs_exists {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception setexecfilecon {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception rpm_execcon {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception is_context_customizable {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception selinux_trans_to_raw_context {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception selinux_raw_to_trans_context {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception selinux_raw_context_to_color {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception getseuserbyname {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception getseuser {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception selinux_file_context_verify {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception selinux_lsetfilecon_default {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception avc_sid_to_context {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception avc_sid_to_context_raw {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception avc_context_to_sid {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception avc_context_to_sid_raw {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception sidget {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception sidput {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception avc_get_initial_sid {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception avc_init {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception avc_open {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception avc_reset {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception avc_has_perm_noaudit {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception avc_has_perm {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception avc_compute_create {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception avc_compute_member {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception avc_add_callback {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception avc_netlink_open {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception avc_netlink_acquire_fd {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception avc_netlink_check_nb {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception selinux_status_open {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception selinux_status_updated {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception selinux_status_getenforce {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception selinux_status_policyload {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception selinux_status_deny_unknown {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception context_type_set {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception context_range_set {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception context_role_set {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception context_user_set {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception get_ordered_context_list {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception get_ordered_context_list_with_level {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception get_default_context {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception get_default_context_with_level {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception get_default_context_with_role {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception get_default_context_with_rolelevel {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception query_user_context {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception manual_user_enter_context {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception get_default_type {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception selabel_lookup {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception selabel_lookup_raw {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception selabel_lookup_best_match {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception selabel_lookup_best_match_raw {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception selabel_digest {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception selinux_restorecon {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception selinux_restorecon_parallel {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception selinux_restorecon_set_alt_rootpath {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|
|
|
|
%exception selinux_restorecon_xattr {
|
|
$action
|
|
if (result < 0) {
|
|
PyErr_SetFromErrno(PyExc_OSError);
|
|
SWIG_fail;
|
|
}
|
|
}
|