rpms/libselinux/devel .cvsignore, 1.139, 1.140 libselinux-rhat.patch, 1.118, 1.119 libselinux.spec, 1.264, 1.265 sources, 1.141, 1.142
Daniel J Walsh (dwalsh)
fedora-extras-commits at redhat.com
Fri May 18 14:52:38 UTC 2007
- Previous message (by thread): rpms/php-pear-Net-Ping/EL-5 PHP-LICENSE-3.01, NONE, 1.1 php-pear-Net-Ping.spec, NONE, 1.1 xml2changelog, NONE, 1.1 sources, 1.1, 1.2
- Next message (by thread): rpms/php-pear-Net-Traceroute/devel PHP-LICENSE-3.01, NONE, 1.1 php-pear-Net-Traceroute.spec, NONE, 1.1 xml2changelog, NONE, 1.1 .cvsignore, 1.1, 1.2 sources, 1.1, 1.2
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Author: dwalsh
Update of /cvs/extras/rpms/libselinux/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv29382
Modified Files:
.cvsignore libselinux-rhat.patch libselinux.spec sources
Log Message:
* Fri May 4 2007 Dan Walsh <dwalsh at redhat.com> - 2.0.16-1
- Upgrade to upstream
* Merged additional swig python bindings from Dan Walsh.
* Merged helpful message when selinuxfs mount fails patch from Dax Kelson.
Index: .cvsignore
===================================================================
RCS file: /cvs/extras/rpms/libselinux/devel/.cvsignore,v
retrieving revision 1.139
retrieving revision 1.140
diff -u -r1.139 -r1.140
--- .cvsignore 24 Apr 2007 14:48:35 -0000 1.139
+++ .cvsignore 18 May 2007 14:52:28 -0000 1.140
@@ -118,3 +118,4 @@
libselinux-2.0.12.tgz
libselinux-2.0.13.tgz
libselinux-2.0.14.tgz
+libselinux-2.0.16.tgz
libselinux-rhat.patch:
Index: libselinux-rhat.patch
===================================================================
RCS file: /cvs/extras/rpms/libselinux/devel/libselinux-rhat.patch,v
retrieving revision 1.118
retrieving revision 1.119
diff -u -r1.118 -r1.119
--- libselinux-rhat.patch 23 Apr 2007 14:38:02 -0000 1.118
+++ libselinux-rhat.patch 18 May 2007 14:52:28 -0000 1.119
@@ -1,1227 +1,40 @@
-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;
-+ }
+diff --exclude-from=exclude -N -u -r nsalibselinux/src/selinuxswig.i libselinux-2.0.15/src/selinuxswig.i
+--- nsalibselinux/src/selinuxswig.i 2007-05-18 09:58:34.000000000 -0400
++++ libselinux-2.0.15/src/selinuxswig.i 2007-05-15 15:07:02.000000000 -0400
+@@ -41,6 +40,36 @@
+ $1 = (security_context_t)PyString_AsString($input);
+ }
+
++%typemap(python,argout) security_context_t ** {
++ int i;
++ PyObject *security_context_string;
++
++ PyObject *list_security_context = PyList_New(0); // Create the list.
++ if (list_security_context) {
++ security_context_t *p_security_context_t = *arg3;
++ for (i=0; i < result; i++) {
++ security_context_string = PyString_FromString(strdup((char *)p_security_context_t[i]));
++ if (PyList_Append(list_security_context, security_context_string) < 0) {
++ PyErr_SetString(PyExc_MemoryError,"typemap(argout) security_context_t **: Fail to insert item in list.");
++ Py_DECREF(list_security_context);
++ $result = SWIG_From_int(STATUS_ERR);
++ break;
++ }
++ }
++ freeconary(p_security_context_t);
++ }
+ else {
-+ *cptr = cstr;
-+ *alloc = SWIG_OLDOBJ;
++ PyErr_SetString(PyExc_MemoryError,"typemap(argout) security_context_t **: Fail to create list.");
++ $result = SWIG_From_int(STATUS_ERR);
+ }
-+ } 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;
++ %append_output(list_security_context);
+}
+
-
--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;
++%typemap(in, numinputs=0) security_context_t **(security_context_t *temp=NULL) {
++ $1 = &temp;
+}
+
-+
- 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}};
+ %typedef unsigned mode_t;
- 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)));
- }
+ %include "../include/selinux/get_context_list.h"
Index: libselinux.spec
===================================================================
RCS file: /cvs/extras/rpms/libselinux/devel/libselinux.spec,v
retrieving revision 1.264
retrieving revision 1.265
diff -u -r1.264 -r1.265
--- libselinux.spec 24 Apr 2007 14:48:35 -0000 1.264
+++ libselinux.spec 18 May 2007 14:52:28 -0000 1.265
@@ -1,7 +1,7 @@
%define libsepolver 2.0.1-1
Summary: SELinux library and simple utilities
Name: libselinux
-Version: 2.0.14
+Version: 2.0.16
Release: 1%{?dist}
License: Public domain (uncopyrighted)
Group: System Environment/Libraries
@@ -121,6 +121,11 @@
%{_libdir}/python*/site-packages/selinux.py*
%changelog
+* Fri May 4 2007 Dan Walsh <dwalsh at redhat.com> - 2.0.16-1
+- Upgrade to upstream
+ * Merged additional swig python bindings from Dan Walsh.
+ * Merged helpful message when selinuxfs mount fails patch from Dax Kelson.
+
* Tue Apr 24 2007 Dan Walsh <dwalsh at redhat.com> - 2.0.14-1
- Upgrade to upstream
* Merged build fix for avc_internal.c from Joshua Brindle.
Index: sources
===================================================================
RCS file: /cvs/extras/rpms/libselinux/devel/sources,v
retrieving revision 1.141
retrieving revision 1.142
diff -u -r1.141 -r1.142
--- sources 24 Apr 2007 14:48:35 -0000 1.141
+++ sources 18 May 2007 14:52:28 -0000 1.142
@@ -1 +1 @@
-c7bcec2fc9766fd31a2468f08ac186ac libselinux-2.0.14.tgz
+6dd946578c8fd9bafca0274c0d5bbbdd libselinux-2.0.16.tgz
- Previous message (by thread): rpms/php-pear-Net-Ping/EL-5 PHP-LICENSE-3.01, NONE, 1.1 php-pear-Net-Ping.spec, NONE, 1.1 xml2changelog, NONE, 1.1 sources, 1.1, 1.2
- Next message (by thread): rpms/php-pear-Net-Traceroute/devel PHP-LICENSE-3.01, NONE, 1.1 php-pear-Net-Traceroute.spec, NONE, 1.1 xml2changelog, NONE, 1.1 .cvsignore, 1.1, 1.2 sources, 1.1, 1.2
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the fedora-extras-commits
mailing list