1228 lines
42 KiB
Diff
1228 lines
42 KiB
Diff
diff --exclude-from=exclude -N -u -r nsalibselinux/src/selinux.py libselinux-2.0.13/src/selinux.py
|
|
--- nsalibselinux/src/selinux.py 2007-02-22 08:53:23.000000000 -0500
|
|
+++ libselinux-2.0.13/src/selinux.py 2007-04-23 10:26:41.000000000 -0400
|
|
@@ -48,8 +48,19 @@
|
|
del types
|
|
|
|
|
|
+SELINUX_DEFAULTUSER = _selinux.SELINUX_DEFAULTUSER
|
|
+get_ordered_context_list = _selinux.get_ordered_context_list
|
|
+get_ordered_context_list_with_level = _selinux.get_ordered_context_list_with_level
|
|
+get_default_context = _selinux.get_default_context
|
|
+get_default_context_with_level = _selinux.get_default_context_with_level
|
|
+get_default_context_with_role = _selinux.get_default_context_with_role
|
|
+get_default_context_with_rolelevel = _selinux.get_default_context_with_rolelevel
|
|
+query_user_context = _selinux.query_user_context
|
|
+manual_user_enter_context = _selinux.manual_user_enter_context
|
|
is_selinux_enabled = _selinux.is_selinux_enabled
|
|
is_selinux_mls_enabled = _selinux.is_selinux_mls_enabled
|
|
+freecon = _selinux.freecon
|
|
+freeconary = _selinux.freeconary
|
|
getcon = _selinux.getcon
|
|
setcon = _selinux.setcon
|
|
getpidcon = _selinux.getpidcon
|
|
@@ -88,6 +99,8 @@
|
|
set_matchpathcon_flags = _selinux.set_matchpathcon_flags
|
|
matchpathcon_init = _selinux.matchpathcon_init
|
|
matchpathcon = _selinux.matchpathcon
|
|
+matchpathcon_init_prefix = _selinux.matchpathcon_init_prefix
|
|
+matchpathcon_fini = _selinux.matchpathcon_fini
|
|
matchmediacon = _selinux.matchmediacon
|
|
selinux_getenforcemode = _selinux.selinux_getenforcemode
|
|
selinux_policy_root = _selinux.selinux_policy_root
|
|
@@ -102,6 +115,7 @@
|
|
selinux_homedir_context_path = _selinux.selinux_homedir_context_path
|
|
selinux_media_context_path = _selinux.selinux_media_context_path
|
|
selinux_contexts_path = _selinux.selinux_contexts_path
|
|
+selinux_securetty_types_path = _selinux.selinux_securetty_types_path
|
|
selinux_booleans_path = _selinux.selinux_booleans_path
|
|
selinux_customizable_types_path = _selinux.selinux_customizable_types_path
|
|
selinux_users_path = _selinux.selinux_users_path
|
|
@@ -109,13 +123,16 @@
|
|
selinux_translations_path = _selinux.selinux_translations_path
|
|
selinux_netfilter_context_path = _selinux.selinux_netfilter_context_path
|
|
selinux_path = _selinux.selinux_path
|
|
-selinux_check_passwd_access = _selinux.selinux_check_passwd_access
|
|
-checkPasswdAccess = _selinux.checkPasswdAccess
|
|
+selinux_check_securetty_context = _selinux.selinux_check_securetty_context
|
|
+set_selinuxmnt = _selinux.set_selinuxmnt
|
|
rpm_execcon = _selinux.rpm_execcon
|
|
is_context_customizable = _selinux.is_context_customizable
|
|
selinux_trans_to_raw_context = _selinux.selinux_trans_to_raw_context
|
|
selinux_raw_to_trans_context = _selinux.selinux_raw_to_trans_context
|
|
selinux_getpolicytype = _selinux.selinux_getpolicytype
|
|
getseuserbyname = _selinux.getseuserbyname
|
|
+selinux_file_context_cmp = _selinux.selinux_file_context_cmp
|
|
+selinux_file_context_verify = _selinux.selinux_file_context_verify
|
|
+selinux_lsetfilecon_default = _selinux.selinux_lsetfilecon_default
|
|
|
|
|
|
diff --exclude-from=exclude -N -u -r nsalibselinux/src/selinuxswig.i libselinux-2.0.13/src/selinuxswig.i
|
|
--- nsalibselinux/src/selinuxswig.i 2007-04-12 16:02:48.000000000 -0400
|
|
+++ libselinux-2.0.13/src/selinuxswig.i 2007-04-23 10:26:21.000000000 -0400
|
|
@@ -21,6 +21,7 @@
|
|
%module selinux
|
|
%{
|
|
#include "selinux/selinux.h"
|
|
+ #include "selinux/get_context_list.h"
|
|
%}
|
|
%apply int *OUTPUT { int * };
|
|
%apply int *OUTPUT { size_t * };
|
|
@@ -42,8 +43,12 @@
|
|
|
|
%typedef unsigned mode_t;
|
|
|
|
+%include "../include/selinux/get_context_list.h"
|
|
+
|
|
extern int is_selinux_enabled(void);
|
|
extern int is_selinux_mls_enabled(void);
|
|
+extern void freecon(security_context_t con);
|
|
+extern void freeconary(security_context_t * con);
|
|
extern int getcon(security_context_t *con);
|
|
extern int setcon(security_context_t con);
|
|
extern int getpidcon(int pid, security_context_t *con);
|
|
@@ -90,6 +95,11 @@
|
|
mode_t mode,
|
|
security_context_t *con);
|
|
|
|
+extern int matchpathcon_init_prefix(const char *path,
|
|
+ const char *prefix);
|
|
+extern void matchpathcon_fini(void);
|
|
+
|
|
+
|
|
extern int matchmediacon(const char *media,
|
|
security_context_t *con);
|
|
|
|
@@ -106,6 +116,7 @@
|
|
extern const char *selinux_homedir_context_path(void);
|
|
extern const char *selinux_media_context_path(void);
|
|
extern const char *selinux_contexts_path(void);
|
|
+extern const char *selinux_securetty_types_path(void);
|
|
extern const char *selinux_booleans_path(void);
|
|
extern const char *selinux_customizable_types_path(void);
|
|
extern const char *selinux_users_path(void);
|
|
@@ -113,11 +124,15 @@
|
|
extern const char *selinux_translations_path(void);
|
|
extern const char *selinux_netfilter_context_path(void);
|
|
extern const char *selinux_path(void);
|
|
-extern int selinux_check_passwd_access(access_vector_t requested);
|
|
-extern int checkPasswdAccess(access_vector_t requested);
|
|
+#extern int selinux_check_passwd_access(access_vector_t requested);
|
|
+#extern int checkPasswdAccess(access_vector_t requested);
|
|
|
|
+extern int selinux_check_securetty_context(security_context_t tty_context);
|
|
+void set_selinuxmnt(char *mnt);
|
|
+
|
|
+#ifdef SWIGpython
|
|
// This tells SWIG to treat char ** as a special case
|
|
-%typemap(python,in) char ** {
|
|
+%typemap(in) char ** {
|
|
/* Check if is a list */
|
|
if (PyList_Check($input)) {
|
|
int size = PyList_Size($input);
|
|
@@ -143,6 +158,7 @@
|
|
return NULL;
|
|
}
|
|
}
|
|
+#endif
|
|
|
|
extern int rpm_execcon(unsigned int verified,
|
|
const char *filename,
|
|
@@ -164,3 +180,7 @@
|
|
}
|
|
extern int selinux_getpolicytype(char **enforce);
|
|
extern int getseuserbyname(const char *linuxuser, char **seuser, char **level);
|
|
+
|
|
+int selinux_file_context_cmp(const security_context_t a, const security_context_t b);
|
|
+int selinux_file_context_verify(const char *path, mode_t mode);
|
|
+int selinux_lsetfilecon_default(const char *path);
|
|
diff --exclude-from=exclude -N -u -r nsalibselinux/src/selinuxswig_wrap.c libselinux-2.0.13/src/selinuxswig_wrap.c
|
|
--- nsalibselinux/src/selinuxswig_wrap.c 2007-04-12 16:02:48.000000000 -0400
|
|
+++ libselinux-2.0.13/src/selinuxswig_wrap.c 2007-04-23 10:26:41.000000000 -0400
|
|
@@ -2449,11 +2449,11 @@
|
|
/* -------- TYPES TABLE (BEGIN) -------- */
|
|
|
|
#define SWIGTYPE_p_SELboolean swig_types[0]
|
|
-#define SWIGTYPE_p_access_vector_t swig_types[1]
|
|
-#define SWIGTYPE_p_char swig_types[2]
|
|
-#define SWIGTYPE_p_int swig_types[3]
|
|
-#define SWIGTYPE_p_p_char swig_types[4]
|
|
-#define SWIGTYPE_p_p_p_char swig_types[5]
|
|
+#define SWIGTYPE_p_char swig_types[1]
|
|
+#define SWIGTYPE_p_int swig_types[2]
|
|
+#define SWIGTYPE_p_p_char swig_types[3]
|
|
+#define SWIGTYPE_p_p_p_char swig_types[4]
|
|
+#define SWIGTYPE_p_p_security_context_t swig_types[5]
|
|
#define SWIGTYPE_p_security_context_t swig_types[6]
|
|
#define SWIGTYPE_p_unsigned_int swig_types[7]
|
|
static swig_type_info *swig_types[9];
|
|
@@ -2485,6 +2485,99 @@
|
|
|
|
|
|
#include "selinux/selinux.h"
|
|
+ #include "selinux/get_context_list.h"
|
|
+
|
|
+
|
|
+SWIGINTERN swig_type_info*
|
|
+SWIG_pchar_descriptor(void)
|
|
+{
|
|
+ static int init = 0;
|
|
+ static swig_type_info* info = 0;
|
|
+ if (!init) {
|
|
+ info = SWIG_TypeQuery("_p_char");
|
|
+ init = 1;
|
|
+ }
|
|
+ return info;
|
|
+}
|
|
+
|
|
+
|
|
+SWIGINTERNINLINE PyObject *
|
|
+SWIG_FromCharPtrAndSize(const char* carray, size_t size)
|
|
+{
|
|
+ if (carray) {
|
|
+ if (size > INT_MAX) {
|
|
+ swig_type_info* pchar_descriptor = SWIG_pchar_descriptor();
|
|
+ return pchar_descriptor ?
|
|
+ SWIG_NewPointerObj((char *)(carray), pchar_descriptor, 0) : SWIG_Py_Void();
|
|
+ } else {
|
|
+ return PyString_FromStringAndSize(carray, (int)(size));
|
|
+ }
|
|
+ } else {
|
|
+ return SWIG_Py_Void();
|
|
+ }
|
|
+}
|
|
+
|
|
+
|
|
+SWIGINTERNINLINE PyObject *
|
|
+SWIG_FromCharPtr(const char *cptr)
|
|
+{
|
|
+ return SWIG_FromCharPtrAndSize(cptr, (cptr ? strlen(cptr) : 0));
|
|
+}
|
|
+
|
|
+
|
|
+SWIGINTERN int
|
|
+SWIG_AsCharPtrAndSize(PyObject *obj, char** cptr, size_t* psize, int *alloc)
|
|
+{
|
|
+ if (PyString_Check(obj)) {
|
|
+ char *cstr; Py_ssize_t len;
|
|
+ PyString_AsStringAndSize(obj, &cstr, &len);
|
|
+ if (cptr) {
|
|
+ if (alloc) {
|
|
+ /*
|
|
+ In python the user should not be able to modify the inner
|
|
+ string representation. To warranty that, if you define
|
|
+ SWIG_PYTHON_SAFE_CSTRINGS, a new/copy of the python string
|
|
+ buffer is always returned.
|
|
+
|
|
+ The default behavior is just to return the pointer value,
|
|
+ so, be careful.
|
|
+ */
|
|
+#if defined(SWIG_PYTHON_SAFE_CSTRINGS)
|
|
+ if (*alloc != SWIG_OLDOBJ)
|
|
+#else
|
|
+ if (*alloc == SWIG_NEWOBJ)
|
|
+#endif
|
|
+ {
|
|
+ *cptr = (char *)memcpy((char *)malloc((len + 1)*sizeof(char)), cstr, sizeof(char)*(len + 1));
|
|
+ *alloc = SWIG_NEWOBJ;
|
|
+ }
|
|
+ else {
|
|
+ *cptr = cstr;
|
|
+ *alloc = SWIG_OLDOBJ;
|
|
+ }
|
|
+ } else {
|
|
+ *cptr = PyString_AsString(obj);
|
|
+ }
|
|
+ }
|
|
+ if (psize) *psize = len + 1;
|
|
+ return SWIG_OK;
|
|
+ } else {
|
|
+ swig_type_info* pchar_descriptor = SWIG_pchar_descriptor();
|
|
+ if (pchar_descriptor) {
|
|
+ void* vptr = 0;
|
|
+ if (SWIG_ConvertPtr(obj, &vptr, pchar_descriptor, 0) == SWIG_OK) {
|
|
+ if (cptr) *cptr = (char *) vptr;
|
|
+ if (psize) *psize = vptr ? (strlen((char *)vptr) + 1) : 0;
|
|
+ if (alloc) *alloc = SWIG_OLDOBJ;
|
|
+ return SWIG_OK;
|
|
+ }
|
|
+ }
|
|
+ }
|
|
+ return SWIG_TypeError;
|
|
+}
|
|
+
|
|
+
|
|
+
|
|
|
|
|
|
#define SWIG_From_long PyInt_FromLong
|
|
@@ -2644,74 +2737,6 @@
|
|
}
|
|
|
|
|
|
-SWIGINTERN swig_type_info*
|
|
-SWIG_pchar_descriptor(void)
|
|
-{
|
|
- static int init = 0;
|
|
- static swig_type_info* info = 0;
|
|
- if (!init) {
|
|
- info = SWIG_TypeQuery("_p_char");
|
|
- init = 1;
|
|
- }
|
|
- return info;
|
|
-}
|
|
-
|
|
-
|
|
-SWIGINTERN int
|
|
-SWIG_AsCharPtrAndSize(PyObject *obj, char** cptr, size_t* psize, int *alloc)
|
|
-{
|
|
- if (PyString_Check(obj)) {
|
|
- char *cstr; Py_ssize_t len;
|
|
- PyString_AsStringAndSize(obj, &cstr, &len);
|
|
- if (cptr) {
|
|
- if (alloc) {
|
|
- /*
|
|
- In python the user should not be able to modify the inner
|
|
- string representation. To warranty that, if you define
|
|
- SWIG_PYTHON_SAFE_CSTRINGS, a new/copy of the python string
|
|
- buffer is always returned.
|
|
-
|
|
- The default behavior is just to return the pointer value,
|
|
- so, be careful.
|
|
- */
|
|
-#if defined(SWIG_PYTHON_SAFE_CSTRINGS)
|
|
- if (*alloc != SWIG_OLDOBJ)
|
|
-#else
|
|
- if (*alloc == SWIG_NEWOBJ)
|
|
-#endif
|
|
- {
|
|
- *cptr = (char *)memcpy((char *)malloc((len + 1)*sizeof(char)), cstr, sizeof(char)*(len + 1));
|
|
- *alloc = SWIG_NEWOBJ;
|
|
- }
|
|
- else {
|
|
- *cptr = cstr;
|
|
- *alloc = SWIG_OLDOBJ;
|
|
- }
|
|
- } else {
|
|
- *cptr = PyString_AsString(obj);
|
|
- }
|
|
- }
|
|
- if (psize) *psize = len + 1;
|
|
- return SWIG_OK;
|
|
- } else {
|
|
- swig_type_info* pchar_descriptor = SWIG_pchar_descriptor();
|
|
- if (pchar_descriptor) {
|
|
- void* vptr = 0;
|
|
- if (SWIG_ConvertPtr(obj, &vptr, pchar_descriptor, 0) == SWIG_OK) {
|
|
- if (cptr) *cptr = (char *) vptr;
|
|
- if (psize) *psize = vptr ? (strlen((char *)vptr) + 1) : 0;
|
|
- if (alloc) *alloc = SWIG_OLDOBJ;
|
|
- return SWIG_OK;
|
|
- }
|
|
- }
|
|
- }
|
|
- return SWIG_TypeError;
|
|
-}
|
|
-
|
|
-
|
|
-
|
|
-
|
|
-
|
|
SWIGINTERN int
|
|
SWIG_AsVal_unsigned_SS_long (PyObject *obj, unsigned long *val)
|
|
{
|
|
@@ -2781,33 +2806,396 @@
|
|
return res;
|
|
}
|
|
|
|
+#ifdef __cplusplus
|
|
+extern "C" {
|
|
+#endif
|
|
+SWIGINTERN PyObject *_wrap_get_ordered_context_list(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
|
|
+ PyObject *resultobj = 0;
|
|
+ char *arg1 = (char *) 0 ;
|
|
+ security_context_t arg2 ;
|
|
+ security_context_t **arg3 = (security_context_t **) 0 ;
|
|
+ int result;
|
|
+ int res1 ;
|
|
+ char *buf1 = 0 ;
|
|
+ int alloc1 = 0 ;
|
|
+ void *argp3 = 0 ;
|
|
+ int res3 = 0 ;
|
|
+ PyObject * obj0 = 0 ;
|
|
+ PyObject * obj1 = 0 ;
|
|
+ PyObject * obj2 = 0 ;
|
|
+
|
|
+ if (!PyArg_ParseTuple(args,(char *)"OOO:get_ordered_context_list",&obj0,&obj1,&obj2)) SWIG_fail;
|
|
+ res1 = SWIG_AsCharPtrAndSize(obj0, &buf1, NULL, &alloc1);
|
|
+ if (!SWIG_IsOK(res1)) {
|
|
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "get_ordered_context_list" "', argument " "1"" of type '" "char const *""'");
|
|
+ }
|
|
+ arg1 = (char *)(buf1);
|
|
+ {
|
|
+ arg2 = (security_context_t)PyString_AsString(obj1);
|
|
+ }
|
|
+ res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_p_p_security_context_t, 0 | 0 );
|
|
+ if (!SWIG_IsOK(res3)) {
|
|
+ SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "get_ordered_context_list" "', argument " "3"" of type '" "security_context_t **""'");
|
|
+ }
|
|
+ arg3 = (security_context_t **)(argp3);
|
|
+ result = (int)get_ordered_context_list((char const *)arg1,arg2,arg3);
|
|
+ resultobj = SWIG_From_int((int)(result));
|
|
+ if (alloc1 == SWIG_NEWOBJ) free((char*)buf1);
|
|
+ return resultobj;
|
|
+fail:
|
|
+ if (alloc1 == SWIG_NEWOBJ) free((char*)buf1);
|
|
+ return NULL;
|
|
+}
|
|
+
|
|
+
|
|
+SWIGINTERN PyObject *_wrap_get_ordered_context_list_with_level(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
|
|
+ PyObject *resultobj = 0;
|
|
+ char *arg1 = (char *) 0 ;
|
|
+ char *arg2 = (char *) 0 ;
|
|
+ security_context_t arg3 ;
|
|
+ security_context_t **arg4 = (security_context_t **) 0 ;
|
|
+ int result;
|
|
+ int res1 ;
|
|
+ char *buf1 = 0 ;
|
|
+ int alloc1 = 0 ;
|
|
+ int res2 ;
|
|
+ char *buf2 = 0 ;
|
|
+ int alloc2 = 0 ;
|
|
+ void *argp4 = 0 ;
|
|
+ int res4 = 0 ;
|
|
+ PyObject * obj0 = 0 ;
|
|
+ PyObject * obj1 = 0 ;
|
|
+ PyObject * obj2 = 0 ;
|
|
+ PyObject * obj3 = 0 ;
|
|
+
|
|
+ if (!PyArg_ParseTuple(args,(char *)"OOOO:get_ordered_context_list_with_level",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
|
|
+ res1 = SWIG_AsCharPtrAndSize(obj0, &buf1, NULL, &alloc1);
|
|
+ if (!SWIG_IsOK(res1)) {
|
|
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "get_ordered_context_list_with_level" "', argument " "1"" of type '" "char const *""'");
|
|
+ }
|
|
+ arg1 = (char *)(buf1);
|
|
+ res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
|
|
+ if (!SWIG_IsOK(res2)) {
|
|
+ SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "get_ordered_context_list_with_level" "', argument " "2"" of type '" "char const *""'");
|
|
+ }
|
|
+ arg2 = (char *)(buf2);
|
|
+ {
|
|
+ arg3 = (security_context_t)PyString_AsString(obj2);
|
|
+ }
|
|
+ res4 = SWIG_ConvertPtr(obj3, &argp4,SWIGTYPE_p_p_security_context_t, 0 | 0 );
|
|
+ if (!SWIG_IsOK(res4)) {
|
|
+ SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "get_ordered_context_list_with_level" "', argument " "4"" of type '" "security_context_t **""'");
|
|
+ }
|
|
+ arg4 = (security_context_t **)(argp4);
|
|
+ result = (int)get_ordered_context_list_with_level((char const *)arg1,(char const *)arg2,arg3,arg4);
|
|
+ resultobj = SWIG_From_int((int)(result));
|
|
+ if (alloc1 == SWIG_NEWOBJ) free((char*)buf1);
|
|
+ if (alloc2 == SWIG_NEWOBJ) free((char*)buf2);
|
|
+ return resultobj;
|
|
+fail:
|
|
+ if (alloc1 == SWIG_NEWOBJ) free((char*)buf1);
|
|
+ if (alloc2 == SWIG_NEWOBJ) free((char*)buf2);
|
|
+ return NULL;
|
|
+}
|
|
+
|
|
+
|
|
+SWIGINTERN PyObject *_wrap_get_default_context(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
|
|
+ PyObject *resultobj = 0;
|
|
+ char *arg1 = (char *) 0 ;
|
|
+ security_context_t arg2 ;
|
|
+ security_context_t *arg3 = (security_context_t *) 0 ;
|
|
+ int result;
|
|
+ int res1 ;
|
|
+ char *buf1 = 0 ;
|
|
+ int alloc1 = 0 ;
|
|
+ security_context_t temp3 = NULL ;
|
|
+ char *temp30 = NULL ;
|
|
+ PyObject * obj0 = 0 ;
|
|
+ PyObject * obj1 = 0 ;
|
|
+
|
|
+ {
|
|
+ arg3 = &temp3;
|
|
+ }
|
|
+ if (!PyArg_ParseTuple(args,(char *)"OO:get_default_context",&obj0,&obj1)) SWIG_fail;
|
|
+ res1 = SWIG_AsCharPtrAndSize(obj0, &buf1, NULL, &alloc1);
|
|
+ if (!SWIG_IsOK(res1)) {
|
|
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "get_default_context" "', argument " "1"" of type '" "char const *""'");
|
|
+ }
|
|
+ arg1 = (char *)(buf1);
|
|
+ {
|
|
+ arg2 = (security_context_t)PyString_AsString(obj1);
|
|
+ }
|
|
+ result = (int)get_default_context((char const *)arg1,arg2,arg3);
|
|
+ resultobj = SWIG_From_int((int)(result));
|
|
+ {
|
|
+ if (*arg3)
|
|
+ temp30 = *arg3;
|
|
+ else
|
|
+ temp30 = "";
|
|
+ resultobj = SWIG_Python_AppendOutput(resultobj, PyString_FromString(temp30));
|
|
+ }
|
|
+ if (alloc1 == SWIG_NEWOBJ) free((char*)buf1);
|
|
+ return resultobj;
|
|
+fail:
|
|
+ if (alloc1 == SWIG_NEWOBJ) free((char*)buf1);
|
|
+ return NULL;
|
|
+}
|
|
+
|
|
+
|
|
+SWIGINTERN PyObject *_wrap_get_default_context_with_level(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
|
|
+ PyObject *resultobj = 0;
|
|
+ char *arg1 = (char *) 0 ;
|
|
+ char *arg2 = (char *) 0 ;
|
|
+ security_context_t arg3 ;
|
|
+ security_context_t *arg4 = (security_context_t *) 0 ;
|
|
+ int result;
|
|
+ int res1 ;
|
|
+ char *buf1 = 0 ;
|
|
+ int alloc1 = 0 ;
|
|
+ int res2 ;
|
|
+ char *buf2 = 0 ;
|
|
+ int alloc2 = 0 ;
|
|
+ security_context_t temp4 = NULL ;
|
|
+ char *temp40 = NULL ;
|
|
+ PyObject * obj0 = 0 ;
|
|
+ PyObject * obj1 = 0 ;
|
|
+ PyObject * obj2 = 0 ;
|
|
+
|
|
+ {
|
|
+ arg4 = &temp4;
|
|
+ }
|
|
+ if (!PyArg_ParseTuple(args,(char *)"OOO:get_default_context_with_level",&obj0,&obj1,&obj2)) SWIG_fail;
|
|
+ res1 = SWIG_AsCharPtrAndSize(obj0, &buf1, NULL, &alloc1);
|
|
+ if (!SWIG_IsOK(res1)) {
|
|
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "get_default_context_with_level" "', argument " "1"" of type '" "char const *""'");
|
|
+ }
|
|
+ arg1 = (char *)(buf1);
|
|
+ res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
|
|
+ if (!SWIG_IsOK(res2)) {
|
|
+ SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "get_default_context_with_level" "', argument " "2"" of type '" "char const *""'");
|
|
+ }
|
|
+ arg2 = (char *)(buf2);
|
|
+ {
|
|
+ arg3 = (security_context_t)PyString_AsString(obj2);
|
|
+ }
|
|
+ result = (int)get_default_context_with_level((char const *)arg1,(char const *)arg2,arg3,arg4);
|
|
+ resultobj = SWIG_From_int((int)(result));
|
|
+ {
|
|
+ if (*arg4)
|
|
+ temp40 = *arg4;
|
|
+ else
|
|
+ temp40 = "";
|
|
+ resultobj = SWIG_Python_AppendOutput(resultobj, PyString_FromString(temp40));
|
|
+ }
|
|
+ if (alloc1 == SWIG_NEWOBJ) free((char*)buf1);
|
|
+ if (alloc2 == SWIG_NEWOBJ) free((char*)buf2);
|
|
+ return resultobj;
|
|
+fail:
|
|
+ if (alloc1 == SWIG_NEWOBJ) free((char*)buf1);
|
|
+ if (alloc2 == SWIG_NEWOBJ) free((char*)buf2);
|
|
+ return NULL;
|
|
+}
|
|
+
|
|
+
|
|
+SWIGINTERN PyObject *_wrap_get_default_context_with_role(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
|
|
+ PyObject *resultobj = 0;
|
|
+ char *arg1 = (char *) 0 ;
|
|
+ char *arg2 = (char *) 0 ;
|
|
+ security_context_t arg3 ;
|
|
+ security_context_t *arg4 = (security_context_t *) 0 ;
|
|
+ int result;
|
|
+ int res1 ;
|
|
+ char *buf1 = 0 ;
|
|
+ int alloc1 = 0 ;
|
|
+ int res2 ;
|
|
+ char *buf2 = 0 ;
|
|
+ int alloc2 = 0 ;
|
|
+ security_context_t temp4 = NULL ;
|
|
+ char *temp40 = NULL ;
|
|
+ PyObject * obj0 = 0 ;
|
|
+ PyObject * obj1 = 0 ;
|
|
+ PyObject * obj2 = 0 ;
|
|
+
|
|
+ {
|
|
+ arg4 = &temp4;
|
|
+ }
|
|
+ if (!PyArg_ParseTuple(args,(char *)"OOO:get_default_context_with_role",&obj0,&obj1,&obj2)) SWIG_fail;
|
|
+ res1 = SWIG_AsCharPtrAndSize(obj0, &buf1, NULL, &alloc1);
|
|
+ if (!SWIG_IsOK(res1)) {
|
|
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "get_default_context_with_role" "', argument " "1"" of type '" "char const *""'");
|
|
+ }
|
|
+ arg1 = (char *)(buf1);
|
|
+ res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
|
|
+ if (!SWIG_IsOK(res2)) {
|
|
+ SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "get_default_context_with_role" "', argument " "2"" of type '" "char const *""'");
|
|
+ }
|
|
+ arg2 = (char *)(buf2);
|
|
+ {
|
|
+ arg3 = (security_context_t)PyString_AsString(obj2);
|
|
+ }
|
|
+ result = (int)get_default_context_with_role((char const *)arg1,(char const *)arg2,arg3,arg4);
|
|
+ resultobj = SWIG_From_int((int)(result));
|
|
+ {
|
|
+ if (*arg4)
|
|
+ temp40 = *arg4;
|
|
+ else
|
|
+ temp40 = "";
|
|
+ resultobj = SWIG_Python_AppendOutput(resultobj, PyString_FromString(temp40));
|
|
+ }
|
|
+ if (alloc1 == SWIG_NEWOBJ) free((char*)buf1);
|
|
+ if (alloc2 == SWIG_NEWOBJ) free((char*)buf2);
|
|
+ return resultobj;
|
|
+fail:
|
|
+ if (alloc1 == SWIG_NEWOBJ) free((char*)buf1);
|
|
+ if (alloc2 == SWIG_NEWOBJ) free((char*)buf2);
|
|
+ return NULL;
|
|
+}
|
|
+
|
|
+
|
|
+SWIGINTERN PyObject *_wrap_get_default_context_with_rolelevel(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
|
|
+ PyObject *resultobj = 0;
|
|
+ char *arg1 = (char *) 0 ;
|
|
+ char *arg2 = (char *) 0 ;
|
|
+ char *arg3 = (char *) 0 ;
|
|
+ security_context_t arg4 ;
|
|
+ security_context_t *arg5 = (security_context_t *) 0 ;
|
|
+ int result;
|
|
+ int res1 ;
|
|
+ char *buf1 = 0 ;
|
|
+ int alloc1 = 0 ;
|
|
+ int res2 ;
|
|
+ char *buf2 = 0 ;
|
|
+ int alloc2 = 0 ;
|
|
+ int res3 ;
|
|
+ char *buf3 = 0 ;
|
|
+ int alloc3 = 0 ;
|
|
+ security_context_t temp5 = NULL ;
|
|
+ char *temp50 = NULL ;
|
|
+ PyObject * obj0 = 0 ;
|
|
+ PyObject * obj1 = 0 ;
|
|
+ PyObject * obj2 = 0 ;
|
|
+ PyObject * obj3 = 0 ;
|
|
+
|
|
+ {
|
|
+ arg5 = &temp5;
|
|
+ }
|
|
+ if (!PyArg_ParseTuple(args,(char *)"OOOO:get_default_context_with_rolelevel",&obj0,&obj1,&obj2,&obj3)) SWIG_fail;
|
|
+ res1 = SWIG_AsCharPtrAndSize(obj0, &buf1, NULL, &alloc1);
|
|
+ if (!SWIG_IsOK(res1)) {
|
|
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "get_default_context_with_rolelevel" "', argument " "1"" of type '" "char const *""'");
|
|
+ }
|
|
+ arg1 = (char *)(buf1);
|
|
+ res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
|
|
+ if (!SWIG_IsOK(res2)) {
|
|
+ SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "get_default_context_with_rolelevel" "', argument " "2"" of type '" "char const *""'");
|
|
+ }
|
|
+ arg2 = (char *)(buf2);
|
|
+ res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3);
|
|
+ if (!SWIG_IsOK(res3)) {
|
|
+ SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "get_default_context_with_rolelevel" "', argument " "3"" of type '" "char const *""'");
|
|
+ }
|
|
+ arg3 = (char *)(buf3);
|
|
+ {
|
|
+ arg4 = (security_context_t)PyString_AsString(obj3);
|
|
+ }
|
|
+ result = (int)get_default_context_with_rolelevel((char const *)arg1,(char const *)arg2,(char const *)arg3,arg4,arg5);
|
|
+ resultobj = SWIG_From_int((int)(result));
|
|
+ {
|
|
+ if (*arg5)
|
|
+ temp50 = *arg5;
|
|
+ else
|
|
+ temp50 = "";
|
|
+ resultobj = SWIG_Python_AppendOutput(resultobj, PyString_FromString(temp50));
|
|
+ }
|
|
+ if (alloc1 == SWIG_NEWOBJ) free((char*)buf1);
|
|
+ if (alloc2 == SWIG_NEWOBJ) free((char*)buf2);
|
|
+ if (alloc3 == SWIG_NEWOBJ) free((char*)buf3);
|
|
+ return resultobj;
|
|
+fail:
|
|
+ if (alloc1 == SWIG_NEWOBJ) free((char*)buf1);
|
|
+ if (alloc2 == SWIG_NEWOBJ) free((char*)buf2);
|
|
+ if (alloc3 == SWIG_NEWOBJ) free((char*)buf3);
|
|
+ return NULL;
|
|
+}
|
|
+
|
|
+
|
|
+SWIGINTERN PyObject *_wrap_query_user_context(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
|
|
+ PyObject *resultobj = 0;
|
|
+ security_context_t *arg1 = (security_context_t *) 0 ;
|
|
+ security_context_t *arg2 = (security_context_t *) 0 ;
|
|
+ int result;
|
|
+ security_context_t temp1 = NULL ;
|
|
+ security_context_t temp2 = NULL ;
|
|
+ char *temp10 = NULL ;
|
|
+ char *temp20 = NULL ;
|
|
+
|
|
+ {
|
|
+ arg1 = &temp1;
|
|
+ }
|
|
+ {
|
|
+ arg2 = &temp2;
|
|
+ }
|
|
+ if (!PyArg_ParseTuple(args,(char *)":query_user_context")) SWIG_fail;
|
|
+ result = (int)query_user_context(arg1,arg2);
|
|
+ resultobj = SWIG_From_int((int)(result));
|
|
+ {
|
|
+ if (*arg1)
|
|
+ temp10 = *arg1;
|
|
+ else
|
|
+ temp10 = "";
|
|
+ resultobj = SWIG_Python_AppendOutput(resultobj, PyString_FromString(temp10));
|
|
+ }
|
|
+ {
|
|
+ if (*arg2)
|
|
+ temp20 = *arg2;
|
|
+ else
|
|
+ temp20 = "";
|
|
+ resultobj = SWIG_Python_AppendOutput(resultobj, PyString_FromString(temp20));
|
|
+ }
|
|
+ return resultobj;
|
|
+fail:
|
|
+ return NULL;
|
|
+}
|
|
+
|
|
|
|
-SWIGINTERNINLINE PyObject *
|
|
-SWIG_FromCharPtrAndSize(const char* carray, size_t size)
|
|
-{
|
|
- if (carray) {
|
|
- if (size > INT_MAX) {
|
|
- swig_type_info* pchar_descriptor = SWIG_pchar_descriptor();
|
|
- return pchar_descriptor ?
|
|
- SWIG_NewPointerObj((char *)(carray), pchar_descriptor, 0) : SWIG_Py_Void();
|
|
- } else {
|
|
- return PyString_FromStringAndSize(carray, (int)(size));
|
|
- }
|
|
- } else {
|
|
- return SWIG_Py_Void();
|
|
+SWIGINTERN PyObject *_wrap_manual_user_enter_context(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
|
|
+ PyObject *resultobj = 0;
|
|
+ char *arg1 = (char *) 0 ;
|
|
+ security_context_t *arg2 = (security_context_t *) 0 ;
|
|
+ int result;
|
|
+ int res1 ;
|
|
+ char *buf1 = 0 ;
|
|
+ int alloc1 = 0 ;
|
|
+ security_context_t temp2 = NULL ;
|
|
+ char *temp20 = NULL ;
|
|
+ PyObject * obj0 = 0 ;
|
|
+
|
|
+ {
|
|
+ arg2 = &temp2;
|
|
+ }
|
|
+ if (!PyArg_ParseTuple(args,(char *)"O:manual_user_enter_context",&obj0)) SWIG_fail;
|
|
+ res1 = SWIG_AsCharPtrAndSize(obj0, &buf1, NULL, &alloc1);
|
|
+ if (!SWIG_IsOK(res1)) {
|
|
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "manual_user_enter_context" "', argument " "1"" of type '" "char const *""'");
|
|
+ }
|
|
+ arg1 = (char *)(buf1);
|
|
+ result = (int)manual_user_enter_context((char const *)arg1,arg2);
|
|
+ resultobj = SWIG_From_int((int)(result));
|
|
+ {
|
|
+ if (*arg2)
|
|
+ temp20 = *arg2;
|
|
+ else
|
|
+ temp20 = "";
|
|
+ resultobj = SWIG_Python_AppendOutput(resultobj, PyString_FromString(temp20));
|
|
}
|
|
+ if (alloc1 == SWIG_NEWOBJ) free((char*)buf1);
|
|
+ return resultobj;
|
|
+fail:
|
|
+ if (alloc1 == SWIG_NEWOBJ) free((char*)buf1);
|
|
+ return NULL;
|
|
}
|
|
|
|
|
|
-SWIGINTERNINLINE PyObject *
|
|
-SWIG_FromCharPtr(const char *cptr)
|
|
-{
|
|
- return SWIG_FromCharPtrAndSize(cptr, (cptr ? strlen(cptr) : 0));
|
|
-}
|
|
-
|
|
-#ifdef __cplusplus
|
|
-extern "C" {
|
|
-#endif
|
|
SWIGINTERN PyObject *_wrap_is_selinux_enabled(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
|
|
PyObject *resultobj = 0;
|
|
int result;
|
|
@@ -2834,6 +3222,48 @@
|
|
}
|
|
|
|
|
|
+SWIGINTERN PyObject *_wrap_freecon(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
|
|
+ PyObject *resultobj = 0;
|
|
+ security_context_t arg1 ;
|
|
+ PyObject * obj0 = 0 ;
|
|
+
|
|
+ if (!PyArg_ParseTuple(args,(char *)"O:freecon",&obj0)) SWIG_fail;
|
|
+ {
|
|
+ arg1 = (security_context_t)PyString_AsString(obj0);
|
|
+ }
|
|
+ freecon(arg1);
|
|
+ resultobj = SWIG_Py_Void();
|
|
+ return resultobj;
|
|
+fail:
|
|
+ return NULL;
|
|
+}
|
|
+
|
|
+
|
|
+SWIGINTERN PyObject *_wrap_freeconary(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
|
|
+ PyObject *resultobj = 0;
|
|
+ security_context_t *arg1 = (security_context_t *) 0 ;
|
|
+ security_context_t temp1 = NULL ;
|
|
+ char *temp10 = NULL ;
|
|
+
|
|
+ {
|
|
+ arg1 = &temp1;
|
|
+ }
|
|
+ if (!PyArg_ParseTuple(args,(char *)":freeconary")) SWIG_fail;
|
|
+ freeconary(arg1);
|
|
+ resultobj = SWIG_Py_Void();
|
|
+ {
|
|
+ if (*arg1)
|
|
+ temp10 = *arg1;
|
|
+ else
|
|
+ temp10 = "";
|
|
+ resultobj = SWIG_Python_AppendOutput(resultobj, PyString_FromString(temp10));
|
|
+ }
|
|
+ return resultobj;
|
|
+fail:
|
|
+ return NULL;
|
|
+}
|
|
+
|
|
+
|
|
SWIGINTERN PyObject *_wrap_getcon(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
|
|
PyObject *resultobj = 0;
|
|
security_context_t *arg1 = (security_context_t *) 0 ;
|
|
@@ -3777,6 +4207,55 @@
|
|
}
|
|
|
|
|
|
+SWIGINTERN PyObject *_wrap_matchpathcon_init_prefix(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
|
|
+ PyObject *resultobj = 0;
|
|
+ char *arg1 = (char *) 0 ;
|
|
+ char *arg2 = (char *) 0 ;
|
|
+ int result;
|
|
+ int res1 ;
|
|
+ char *buf1 = 0 ;
|
|
+ int alloc1 = 0 ;
|
|
+ int res2 ;
|
|
+ char *buf2 = 0 ;
|
|
+ int alloc2 = 0 ;
|
|
+ PyObject * obj0 = 0 ;
|
|
+ PyObject * obj1 = 0 ;
|
|
+
|
|
+ if (!PyArg_ParseTuple(args,(char *)"OO:matchpathcon_init_prefix",&obj0,&obj1)) SWIG_fail;
|
|
+ res1 = SWIG_AsCharPtrAndSize(obj0, &buf1, NULL, &alloc1);
|
|
+ if (!SWIG_IsOK(res1)) {
|
|
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "matchpathcon_init_prefix" "', argument " "1"" of type '" "char const *""'");
|
|
+ }
|
|
+ arg1 = (char *)(buf1);
|
|
+ res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2);
|
|
+ if (!SWIG_IsOK(res2)) {
|
|
+ SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "matchpathcon_init_prefix" "', argument " "2"" of type '" "char const *""'");
|
|
+ }
|
|
+ arg2 = (char *)(buf2);
|
|
+ result = (int)matchpathcon_init_prefix((char const *)arg1,(char const *)arg2);
|
|
+ resultobj = SWIG_From_int((int)(result));
|
|
+ if (alloc1 == SWIG_NEWOBJ) free((char*)buf1);
|
|
+ if (alloc2 == SWIG_NEWOBJ) free((char*)buf2);
|
|
+ return resultobj;
|
|
+fail:
|
|
+ if (alloc1 == SWIG_NEWOBJ) free((char*)buf1);
|
|
+ if (alloc2 == SWIG_NEWOBJ) free((char*)buf2);
|
|
+ return NULL;
|
|
+}
|
|
+
|
|
+
|
|
+SWIGINTERN PyObject *_wrap_matchpathcon_fini(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
|
|
+ PyObject *resultobj = 0;
|
|
+
|
|
+ if (!PyArg_ParseTuple(args,(char *)":matchpathcon_fini")) SWIG_fail;
|
|
+ matchpathcon_fini();
|
|
+ resultobj = SWIG_Py_Void();
|
|
+ return resultobj;
|
|
+fail:
|
|
+ return NULL;
|
|
+}
|
|
+
|
|
+
|
|
SWIGINTERN PyObject *_wrap_matchmediacon(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
|
|
PyObject *resultobj = 0;
|
|
char *arg1 = (char *) 0 ;
|
|
@@ -3994,6 +4473,19 @@
|
|
}
|
|
|
|
|
|
+SWIGINTERN PyObject *_wrap_selinux_securetty_types_path(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
|
|
+ PyObject *resultobj = 0;
|
|
+ char *result = 0 ;
|
|
+
|
|
+ if (!PyArg_ParseTuple(args,(char *)":selinux_securetty_types_path")) SWIG_fail;
|
|
+ result = (char *)selinux_securetty_types_path();
|
|
+ resultobj = SWIG_FromCharPtr((const char *)result);
|
|
+ return resultobj;
|
|
+fail:
|
|
+ return NULL;
|
|
+}
|
|
+
|
|
+
|
|
SWIGINTERN PyObject *_wrap_selinux_booleans_path(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
|
|
PyObject *resultobj = 0;
|
|
char *result = 0 ;
|
|
@@ -4085,27 +4577,17 @@
|
|
}
|
|
|
|
|
|
-SWIGINTERN PyObject *_wrap_selinux_check_passwd_access(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
|
|
+SWIGINTERN PyObject *_wrap_selinux_check_securetty_context(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
|
|
PyObject *resultobj = 0;
|
|
- access_vector_t arg1 ;
|
|
+ security_context_t arg1 ;
|
|
int result;
|
|
- void *argp1 ;
|
|
- int res1 = 0 ;
|
|
PyObject * obj0 = 0 ;
|
|
|
|
- if (!PyArg_ParseTuple(args,(char *)"O:selinux_check_passwd_access",&obj0)) SWIG_fail;
|
|
+ if (!PyArg_ParseTuple(args,(char *)"O:selinux_check_securetty_context",&obj0)) SWIG_fail;
|
|
{
|
|
- res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_access_vector_t, 0 );
|
|
- if (!SWIG_IsOK(res1)) {
|
|
- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "selinux_check_passwd_access" "', argument " "1"" of type '" "access_vector_t""'");
|
|
- }
|
|
- if (!argp1) {
|
|
- SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "selinux_check_passwd_access" "', argument " "1"" of type '" "access_vector_t""'");
|
|
- } else {
|
|
- arg1 = *((access_vector_t *)(argp1));
|
|
- }
|
|
+ arg1 = (security_context_t)PyString_AsString(obj0);
|
|
}
|
|
- result = (int)selinux_check_passwd_access(arg1);
|
|
+ result = (int)selinux_check_securetty_context(arg1);
|
|
resultobj = SWIG_From_int((int)(result));
|
|
return resultobj;
|
|
fail:
|
|
@@ -4113,30 +4595,26 @@
|
|
}
|
|
|
|
|
|
-SWIGINTERN PyObject *_wrap_checkPasswdAccess(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
|
|
+SWIGINTERN PyObject *_wrap_set_selinuxmnt(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
|
|
PyObject *resultobj = 0;
|
|
- access_vector_t arg1 ;
|
|
- int result;
|
|
- void *argp1 ;
|
|
- int res1 = 0 ;
|
|
+ char *arg1 = (char *) 0 ;
|
|
+ int res1 ;
|
|
+ char *buf1 = 0 ;
|
|
+ int alloc1 = 0 ;
|
|
PyObject * obj0 = 0 ;
|
|
|
|
- if (!PyArg_ParseTuple(args,(char *)"O:checkPasswdAccess",&obj0)) SWIG_fail;
|
|
- {
|
|
- res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_access_vector_t, 0 );
|
|
- if (!SWIG_IsOK(res1)) {
|
|
- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "checkPasswdAccess" "', argument " "1"" of type '" "access_vector_t""'");
|
|
- }
|
|
- if (!argp1) {
|
|
- SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "checkPasswdAccess" "', argument " "1"" of type '" "access_vector_t""'");
|
|
- } else {
|
|
- arg1 = *((access_vector_t *)(argp1));
|
|
- }
|
|
+ if (!PyArg_ParseTuple(args,(char *)"O:set_selinuxmnt",&obj0)) SWIG_fail;
|
|
+ res1 = SWIG_AsCharPtrAndSize(obj0, &buf1, NULL, &alloc1);
|
|
+ if (!SWIG_IsOK(res1)) {
|
|
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "set_selinuxmnt" "', argument " "1"" of type '" "char *""'");
|
|
}
|
|
- result = (int)checkPasswdAccess(arg1);
|
|
- resultobj = SWIG_From_int((int)(result));
|
|
+ arg1 = (char *)(buf1);
|
|
+ set_selinuxmnt(arg1);
|
|
+ resultobj = SWIG_Py_Void();
|
|
+ if (alloc1 == SWIG_NEWOBJ) free((char*)buf1);
|
|
return resultobj;
|
|
fail:
|
|
+ if (alloc1 == SWIG_NEWOBJ) free((char*)buf1);
|
|
return NULL;
|
|
}
|
|
|
|
@@ -4153,6 +4631,10 @@
|
|
int res2 ;
|
|
char *buf2 = 0 ;
|
|
int alloc2 = 0 ;
|
|
+ void *argp3 = 0 ;
|
|
+ int res3 = 0 ;
|
|
+ void *argp4 = 0 ;
|
|
+ int res4 = 0 ;
|
|
PyObject * obj0 = 0 ;
|
|
PyObject * obj1 = 0 ;
|
|
PyObject * obj2 = 0 ;
|
|
@@ -4169,58 +4651,16 @@
|
|
SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "rpm_execcon" "', argument " "2"" of type '" "char const *""'");
|
|
}
|
|
arg2 = (char *)(buf2);
|
|
- {
|
|
- /* Check if is a list */
|
|
- if (PyList_Check(obj2)) {
|
|
- int size = PyList_Size(obj2);
|
|
- int i = 0;
|
|
- arg3 = (char **) malloc((size+1)*sizeof(char *));
|
|
- if (arg3 == NULL) {
|
|
- PyErr_SetString(PyExc_MemoryError,"Out of memory");
|
|
- return NULL;
|
|
- }
|
|
- for (i = 0; i < size; i++) {
|
|
- PyObject *o = PyList_GetItem(obj2,i);
|
|
- if (PyString_Check(o))
|
|
- arg3[i] = PyString_AsString(PyList_GetItem(obj2,i));
|
|
- else {
|
|
- PyErr_SetString(PyExc_TypeError,"list must contain strings");
|
|
- free(arg3);
|
|
- return NULL;
|
|
- }
|
|
- }
|
|
- arg3[i] = 0;
|
|
- } else {
|
|
- PyErr_SetString(PyExc_TypeError,"not a list");
|
|
- return NULL;
|
|
- }
|
|
- }
|
|
- {
|
|
- /* Check if is a list */
|
|
- if (PyList_Check(obj3)) {
|
|
- int size = PyList_Size(obj3);
|
|
- int i = 0;
|
|
- arg4 = (char **) malloc((size+1)*sizeof(char *));
|
|
- if (arg4 == NULL) {
|
|
- PyErr_SetString(PyExc_MemoryError,"Out of memory");
|
|
- return NULL;
|
|
- }
|
|
- for (i = 0; i < size; i++) {
|
|
- PyObject *o = PyList_GetItem(obj3,i);
|
|
- if (PyString_Check(o))
|
|
- arg4[i] = PyString_AsString(PyList_GetItem(obj3,i));
|
|
- else {
|
|
- PyErr_SetString(PyExc_TypeError,"list must contain strings");
|
|
- free(arg4);
|
|
- return NULL;
|
|
- }
|
|
- }
|
|
- arg4[i] = 0;
|
|
- } else {
|
|
- PyErr_SetString(PyExc_TypeError,"not a list");
|
|
- return NULL;
|
|
- }
|
|
+ res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_p_p_char, 0 | 0 );
|
|
+ if (!SWIG_IsOK(res3)) {
|
|
+ SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "rpm_execcon" "', argument " "3"" of type '" "char **""'");
|
|
+ }
|
|
+ arg3 = (char **)(argp3);
|
|
+ res4 = SWIG_ConvertPtr(obj3, &argp4,SWIGTYPE_p_p_char, 0 | 0 );
|
|
+ if (!SWIG_IsOK(res4)) {
|
|
+ SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "rpm_execcon" "', argument " "4"" of type '" "char **""'");
|
|
}
|
|
+ arg4 = (char **)(argp4);
|
|
result = (int)rpm_execcon(arg1,(char const *)arg2,arg3,arg4);
|
|
resultobj = SWIG_From_int((int)(result));
|
|
if (alloc2 == SWIG_NEWOBJ) free((char*)buf2);
|
|
@@ -4387,9 +4827,101 @@
|
|
}
|
|
|
|
|
|
+SWIGINTERN PyObject *_wrap_selinux_file_context_cmp(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
|
|
+ PyObject *resultobj = 0;
|
|
+ security_context_t arg1 ;
|
|
+ security_context_t arg2 ;
|
|
+ int result;
|
|
+ PyObject * obj0 = 0 ;
|
|
+ PyObject * obj1 = 0 ;
|
|
+
|
|
+ if (!PyArg_ParseTuple(args,(char *)"OO:selinux_file_context_cmp",&obj0,&obj1)) SWIG_fail;
|
|
+ {
|
|
+ arg1 = (security_context_t)PyString_AsString(obj0);
|
|
+ }
|
|
+ {
|
|
+ arg2 = (security_context_t)PyString_AsString(obj1);
|
|
+ }
|
|
+ result = (int)selinux_file_context_cmp(arg1,arg2);
|
|
+ resultobj = SWIG_From_int((int)(result));
|
|
+ return resultobj;
|
|
+fail:
|
|
+ return NULL;
|
|
+}
|
|
+
|
|
+
|
|
+SWIGINTERN PyObject *_wrap_selinux_file_context_verify(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
|
|
+ PyObject *resultobj = 0;
|
|
+ char *arg1 = (char *) 0 ;
|
|
+ mode_t arg2 ;
|
|
+ int result;
|
|
+ int res1 ;
|
|
+ char *buf1 = 0 ;
|
|
+ int alloc1 = 0 ;
|
|
+ unsigned int val2 ;
|
|
+ int ecode2 = 0 ;
|
|
+ PyObject * obj0 = 0 ;
|
|
+ PyObject * obj1 = 0 ;
|
|
+
|
|
+ if (!PyArg_ParseTuple(args,(char *)"OO:selinux_file_context_verify",&obj0,&obj1)) SWIG_fail;
|
|
+ res1 = SWIG_AsCharPtrAndSize(obj0, &buf1, NULL, &alloc1);
|
|
+ if (!SWIG_IsOK(res1)) {
|
|
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "selinux_file_context_verify" "', argument " "1"" of type '" "char const *""'");
|
|
+ }
|
|
+ arg1 = (char *)(buf1);
|
|
+ ecode2 = SWIG_AsVal_unsigned_SS_int(obj1, &val2);
|
|
+ if (!SWIG_IsOK(ecode2)) {
|
|
+ SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "selinux_file_context_verify" "', argument " "2"" of type '" "mode_t""'");
|
|
+ }
|
|
+ arg2 = (mode_t)(val2);
|
|
+ result = (int)selinux_file_context_verify((char const *)arg1,arg2);
|
|
+ resultobj = SWIG_From_int((int)(result));
|
|
+ if (alloc1 == SWIG_NEWOBJ) free((char*)buf1);
|
|
+ return resultobj;
|
|
+fail:
|
|
+ if (alloc1 == SWIG_NEWOBJ) free((char*)buf1);
|
|
+ return NULL;
|
|
+}
|
|
+
|
|
+
|
|
+SWIGINTERN PyObject *_wrap_selinux_lsetfilecon_default(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
|
|
+ PyObject *resultobj = 0;
|
|
+ char *arg1 = (char *) 0 ;
|
|
+ int result;
|
|
+ int res1 ;
|
|
+ char *buf1 = 0 ;
|
|
+ int alloc1 = 0 ;
|
|
+ PyObject * obj0 = 0 ;
|
|
+
|
|
+ if (!PyArg_ParseTuple(args,(char *)"O:selinux_lsetfilecon_default",&obj0)) SWIG_fail;
|
|
+ res1 = SWIG_AsCharPtrAndSize(obj0, &buf1, NULL, &alloc1);
|
|
+ if (!SWIG_IsOK(res1)) {
|
|
+ SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "selinux_lsetfilecon_default" "', argument " "1"" of type '" "char const *""'");
|
|
+ }
|
|
+ arg1 = (char *)(buf1);
|
|
+ result = (int)selinux_lsetfilecon_default((char const *)arg1);
|
|
+ resultobj = SWIG_From_int((int)(result));
|
|
+ if (alloc1 == SWIG_NEWOBJ) free((char*)buf1);
|
|
+ return resultobj;
|
|
+fail:
|
|
+ if (alloc1 == SWIG_NEWOBJ) free((char*)buf1);
|
|
+ return NULL;
|
|
+}
|
|
+
|
|
+
|
|
static PyMethodDef SwigMethods[] = {
|
|
+ { (char *)"get_ordered_context_list", _wrap_get_ordered_context_list, METH_VARARGS, NULL},
|
|
+ { (char *)"get_ordered_context_list_with_level", _wrap_get_ordered_context_list_with_level, METH_VARARGS, NULL},
|
|
+ { (char *)"get_default_context", _wrap_get_default_context, METH_VARARGS, NULL},
|
|
+ { (char *)"get_default_context_with_level", _wrap_get_default_context_with_level, METH_VARARGS, NULL},
|
|
+ { (char *)"get_default_context_with_role", _wrap_get_default_context_with_role, METH_VARARGS, NULL},
|
|
+ { (char *)"get_default_context_with_rolelevel", _wrap_get_default_context_with_rolelevel, METH_VARARGS, NULL},
|
|
+ { (char *)"query_user_context", _wrap_query_user_context, METH_VARARGS, NULL},
|
|
+ { (char *)"manual_user_enter_context", _wrap_manual_user_enter_context, METH_VARARGS, NULL},
|
|
{ (char *)"is_selinux_enabled", _wrap_is_selinux_enabled, METH_VARARGS, NULL},
|
|
{ (char *)"is_selinux_mls_enabled", _wrap_is_selinux_mls_enabled, METH_VARARGS, NULL},
|
|
+ { (char *)"freecon", _wrap_freecon, METH_VARARGS, NULL},
|
|
+ { (char *)"freeconary", _wrap_freeconary, METH_VARARGS, NULL},
|
|
{ (char *)"getcon", _wrap_getcon, METH_VARARGS, NULL},
|
|
{ (char *)"setcon", _wrap_setcon, METH_VARARGS, NULL},
|
|
{ (char *)"getpidcon", _wrap_getpidcon, METH_VARARGS, NULL},
|
|
@@ -4426,6 +4958,8 @@
|
|
{ (char *)"set_matchpathcon_flags", _wrap_set_matchpathcon_flags, METH_VARARGS, NULL},
|
|
{ (char *)"matchpathcon_init", _wrap_matchpathcon_init, METH_VARARGS, NULL},
|
|
{ (char *)"matchpathcon", _wrap_matchpathcon, METH_VARARGS, NULL},
|
|
+ { (char *)"matchpathcon_init_prefix", _wrap_matchpathcon_init_prefix, METH_VARARGS, NULL},
|
|
+ { (char *)"matchpathcon_fini", _wrap_matchpathcon_fini, METH_VARARGS, NULL},
|
|
{ (char *)"matchmediacon", _wrap_matchmediacon, METH_VARARGS, NULL},
|
|
{ (char *)"selinux_getenforcemode", _wrap_selinux_getenforcemode, METH_VARARGS, NULL},
|
|
{ (char *)"selinux_policy_root", _wrap_selinux_policy_root, METH_VARARGS, NULL},
|
|
@@ -4440,6 +4974,7 @@
|
|
{ (char *)"selinux_homedir_context_path", _wrap_selinux_homedir_context_path, METH_VARARGS, NULL},
|
|
{ (char *)"selinux_media_context_path", _wrap_selinux_media_context_path, METH_VARARGS, NULL},
|
|
{ (char *)"selinux_contexts_path", _wrap_selinux_contexts_path, METH_VARARGS, NULL},
|
|
+ { (char *)"selinux_securetty_types_path", _wrap_selinux_securetty_types_path, METH_VARARGS, NULL},
|
|
{ (char *)"selinux_booleans_path", _wrap_selinux_booleans_path, METH_VARARGS, NULL},
|
|
{ (char *)"selinux_customizable_types_path", _wrap_selinux_customizable_types_path, METH_VARARGS, NULL},
|
|
{ (char *)"selinux_users_path", _wrap_selinux_users_path, METH_VARARGS, NULL},
|
|
@@ -4447,14 +4982,17 @@
|
|
{ (char *)"selinux_translations_path", _wrap_selinux_translations_path, METH_VARARGS, NULL},
|
|
{ (char *)"selinux_netfilter_context_path", _wrap_selinux_netfilter_context_path, METH_VARARGS, NULL},
|
|
{ (char *)"selinux_path", _wrap_selinux_path, METH_VARARGS, NULL},
|
|
- { (char *)"selinux_check_passwd_access", _wrap_selinux_check_passwd_access, METH_VARARGS, NULL},
|
|
- { (char *)"checkPasswdAccess", _wrap_checkPasswdAccess, METH_VARARGS, NULL},
|
|
+ { (char *)"selinux_check_securetty_context", _wrap_selinux_check_securetty_context, METH_VARARGS, NULL},
|
|
+ { (char *)"set_selinuxmnt", _wrap_set_selinuxmnt, METH_VARARGS, NULL},
|
|
{ (char *)"rpm_execcon", _wrap_rpm_execcon, METH_VARARGS, NULL},
|
|
{ (char *)"is_context_customizable", _wrap_is_context_customizable, METH_VARARGS, NULL},
|
|
{ (char *)"selinux_trans_to_raw_context", _wrap_selinux_trans_to_raw_context, METH_VARARGS, NULL},
|
|
{ (char *)"selinux_raw_to_trans_context", _wrap_selinux_raw_to_trans_context, METH_VARARGS, NULL},
|
|
{ (char *)"selinux_getpolicytype", _wrap_selinux_getpolicytype, METH_VARARGS, NULL},
|
|
{ (char *)"getseuserbyname", _wrap_getseuserbyname, METH_VARARGS, NULL},
|
|
+ { (char *)"selinux_file_context_cmp", _wrap_selinux_file_context_cmp, METH_VARARGS, NULL},
|
|
+ { (char *)"selinux_file_context_verify", _wrap_selinux_file_context_verify, METH_VARARGS, NULL},
|
|
+ { (char *)"selinux_lsetfilecon_default", _wrap_selinux_lsetfilecon_default, METH_VARARGS, NULL},
|
|
{ NULL, NULL, 0, NULL }
|
|
};
|
|
|
|
@@ -4462,41 +5000,41 @@
|
|
/* -------- TYPE CONVERSION AND EQUIVALENCE RULES (BEGIN) -------- */
|
|
|
|
static swig_type_info _swigt__p_SELboolean = {"_p_SELboolean", "SELboolean *", 0, 0, (void*)0, 0};
|
|
-static swig_type_info _swigt__p_access_vector_t = {"_p_access_vector_t", "access_vector_t *", 0, 0, (void*)0, 0};
|
|
static swig_type_info _swigt__p_char = {"_p_char", "char *", 0, 0, (void*)0, 0};
|
|
static swig_type_info _swigt__p_int = {"_p_int", "int *", 0, 0, (void*)0, 0};
|
|
static swig_type_info _swigt__p_p_char = {"_p_p_char", "char **", 0, 0, (void*)0, 0};
|
|
static swig_type_info _swigt__p_p_p_char = {"_p_p_p_char", "char ***", 0, 0, (void*)0, 0};
|
|
+static swig_type_info _swigt__p_p_security_context_t = {"_p_p_security_context_t", "security_context_t **", 0, 0, (void*)0, 0};
|
|
static swig_type_info _swigt__p_security_context_t = {"_p_security_context_t", "security_context_t *", 0, 0, (void*)0, 0};
|
|
static swig_type_info _swigt__p_unsigned_int = {"_p_unsigned_int", "unsigned int *|mode_t *", 0, 0, (void*)0, 0};
|
|
|
|
static swig_type_info *swig_type_initial[] = {
|
|
&_swigt__p_SELboolean,
|
|
- &_swigt__p_access_vector_t,
|
|
&_swigt__p_char,
|
|
&_swigt__p_int,
|
|
&_swigt__p_p_char,
|
|
&_swigt__p_p_p_char,
|
|
+ &_swigt__p_p_security_context_t,
|
|
&_swigt__p_security_context_t,
|
|
&_swigt__p_unsigned_int,
|
|
};
|
|
|
|
static swig_cast_info _swigc__p_SELboolean[] = { {&_swigt__p_SELboolean, 0, 0, 0},{0, 0, 0, 0}};
|
|
-static swig_cast_info _swigc__p_access_vector_t[] = { {&_swigt__p_access_vector_t, 0, 0, 0},{0, 0, 0, 0}};
|
|
static swig_cast_info _swigc__p_char[] = { {&_swigt__p_char, 0, 0, 0},{0, 0, 0, 0}};
|
|
static swig_cast_info _swigc__p_int[] = { {&_swigt__p_int, 0, 0, 0},{0, 0, 0, 0}};
|
|
static swig_cast_info _swigc__p_p_char[] = { {&_swigt__p_p_char, 0, 0, 0},{0, 0, 0, 0}};
|
|
static swig_cast_info _swigc__p_p_p_char[] = { {&_swigt__p_p_p_char, 0, 0, 0},{0, 0, 0, 0}};
|
|
+static swig_cast_info _swigc__p_p_security_context_t[] = { {&_swigt__p_p_security_context_t, 0, 0, 0},{0, 0, 0, 0}};
|
|
static swig_cast_info _swigc__p_security_context_t[] = { {&_swigt__p_security_context_t, 0, 0, 0},{0, 0, 0, 0}};
|
|
static swig_cast_info _swigc__p_unsigned_int[] = { {&_swigt__p_unsigned_int, 0, 0, 0},{0, 0, 0, 0}};
|
|
|
|
static swig_cast_info *swig_cast_initial[] = {
|
|
_swigc__p_SELboolean,
|
|
- _swigc__p_access_vector_t,
|
|
_swigc__p_char,
|
|
_swigc__p_int,
|
|
_swigc__p_p_char,
|
|
_swigc__p_p_p_char,
|
|
+ _swigc__p_p_security_context_t,
|
|
_swigc__p_security_context_t,
|
|
_swigc__p_unsigned_int,
|
|
};
|
|
@@ -5019,6 +5557,7 @@
|
|
SWIG_InstallConstants(d,swig_const_table);
|
|
|
|
|
|
+ SWIG_Python_SetConstant(d, "SELINUX_DEFAULTUSER",SWIG_FromCharPtr("user_u"));
|
|
SWIG_Python_SetConstant(d, "MATCHPATHCON_BASEONLY",SWIG_From_int((int)(1)));
|
|
SWIG_Python_SetConstant(d, "MATCHPATHCON_NOTRANS",SWIG_From_int((int)(2)));
|
|
}
|