rpms/libselinux/devel libselinux-rhat.patch, 1.113, 1.114 libselinux.spec, 1.257, 1.258
fedora-cvs-commits at redhat.com
fedora-cvs-commits at redhat.com
Thu Apr 5 15:57:37 UTC 2007
Author: dwalsh
Update of /cvs/dist/rpms/libselinux/devel
In directory cvs.devel.redhat.com:/tmp/cvs-serv18936
Modified Files:
libselinux-rhat.patch libselinux.spec
Log Message:
* Thu Apr 5 2007 Dan Walsh <dwalsh at redhat.com> - 2.0.9-2
- Make rpm_exec swig work
libselinux-rhat.patch:
src/selinuxswig.i | 27 +++++++++++++++++++-
src/selinuxswig_wrap.c | 64 +++++++++++++++++++++++++++++++++++--------------
utils/getsebool.c | 22 ++++++++++------
3 files changed, 87 insertions(+), 26 deletions(-)
Index: libselinux-rhat.patch
===================================================================
RCS file: /cvs/dist/rpms/libselinux/devel/libselinux-rhat.patch,v
retrieving revision 1.113
retrieving revision 1.114
diff -u -r1.113 -r1.114
--- libselinux-rhat.patch 2 Apr 2007 19:14:28 -0000 1.113
+++ libselinux-rhat.patch 5 Apr 2007 15:57:35 -0000 1.114
@@ -1,6 +1,132 @@
-diff --exclude-from=exclude -N -u -r nsalibselinux/utils/getsebool.c libselinux-2.0.7/utils/getsebool.c
+diff --exclude-from=exclude -N -u -r nsalibselinux/src/selinuxswig.i libselinux-2.0.9/src/selinuxswig.i
+--- nsalibselinux/src/selinuxswig.i 2007-02-22 08:53:23.000000000 -0500
++++ libselinux-2.0.9/src/selinuxswig.i 2007-04-05 11:53:17.000000000 -0400
+@@ -115,9 +115,34 @@
+ extern const char *selinux_path(void);
+ extern int selinux_check_passwd_access(access_vector_t requested);
+ extern int checkPasswdAccess(access_vector_t requested);
++
++// This tells SWIG to treat char ** as a special case
++%typemap(in) char ** {
++ /* Check if is a list */
++ if (PyList_Check($input)) {
++ int size = PyList_Size($input);
++ int i = 0;
++ $1 = (char **) malloc((size+1)*sizeof(char *));
++ for (i = 0; i < size; i++) {
++ PyObject *o = PyList_GetItem($input,i);
++ if (PyString_Check(o))
++ $1[i] = PyString_AsString(PyList_GetItem($input,i));
++ else {
++ PyErr_SetString(PyExc_TypeError,"list must contain strings");
++ free($1);
++ return NULL;
++ }
++ }
++ $1[i] = 0;
++ } else {
++ PyErr_SetString(PyExc_TypeError,"not a list");
++ return NULL;
++ }
++}
++
+ extern int rpm_execcon(unsigned int verified,
+ const char *filename,
+- char *const argv[], char *const envp[]);
++ char **, char **);
+
+ extern int is_context_customizable (security_context_t scontext);
+
+diff --exclude-from=exclude -N -u -r nsalibselinux/src/selinuxswig_wrap.c libselinux-2.0.9/src/selinuxswig_wrap.c
+--- nsalibselinux/src/selinuxswig_wrap.c 2007-02-22 08:53:23.000000000 -0500
++++ libselinux-2.0.9/src/selinuxswig_wrap.c 2007-04-05 11:45:04.000000000 -0400
+@@ -4145,18 +4145,14 @@
+ PyObject *resultobj = 0;
+ unsigned int arg1 ;
+ char *arg2 = (char *) 0 ;
+- char **arg3 ;
+- char **arg4 ;
++ char **arg3 = (char **) 0 ;
++ char **arg4 = (char **) 0 ;
+ int result;
+ unsigned int val1 ;
+ int ecode1 = 0 ;
+ 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 ;
+@@ -4173,17 +4169,51 @@
+ SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "rpm_execcon" "', argument " "2"" of type '" "char const *""'");
+ }
+ arg2 = (char *)(buf2);
+- 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 *const []""'");
+- }
+- 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 *const []""'");
+- }
+- arg4 = (char **)(argp4);
+- result = (int)rpm_execcon(arg1,(char const *)arg2,(char *const (*))arg3,(char *const (*))arg4);
++ {
++ /* Check if is a list */
++ if (PyList_Check(obj2)) {
++ int size = PyList_Size(obj2);
++ int i = 0;
++ arg3 = (char **) malloc((size+1)*sizeof(char *));
++ 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 *));
++ 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;
++ }
++ }
++ result = (int)rpm_execcon(arg1,(char const *)arg2,arg3,arg4);
+ resultobj = SWIG_From_int((int)(result));
+ if (alloc2 == SWIG_NEWOBJ) free((char*)buf2);
+ return resultobj;
+diff --exclude-from=exclude -N -u -r nsalibselinux/utils/getsebool.c libselinux-2.0.9/utils/getsebool.c
--- nsalibselinux/utils/getsebool.c 2006-11-16 17:15:17.000000000 -0500
-+++ libselinux-2.0.7/utils/getsebool.c 2007-03-22 16:48:06.000000000 -0400
++++ libselinux-2.0.9/utils/getsebool.c 2007-04-05 10:53:29.000000000 -0400
@@ -72,17 +72,23 @@
for (i = 0; i < len; i++) {
active = security_get_boolean_active(names[i]);
Index: libselinux.spec
===================================================================
RCS file: /cvs/dist/rpms/libselinux/devel/libselinux.spec,v
retrieving revision 1.257
retrieving revision 1.258
diff -u -r1.257 -r1.258
--- libselinux.spec 2 Apr 2007 19:14:28 -0000 1.257
+++ libselinux.spec 5 Apr 2007 15:57:35 -0000 1.258
@@ -2,7 +2,7 @@
Summary: SELinux library and simple utilities
Name: libselinux
Version: 2.0.9
-Release: 1%{?dist}
+Release: 2%{?dist}
License: Public domain (uncopyrighted)
Group: System Environment/Libraries
Source: http://www.nsa.gov/selinux/archives/%{name}-%{version}.tgz
@@ -121,6 +121,9 @@
%{_libdir}/python*/site-packages/selinux.py*
%changelog
+* Thu Apr 5 2007 Dan Walsh <dwalsh at redhat.com> - 2.0.9-2
+- Make rpm_exec swig work
+
* Tue Mar 27 2007 Dan Walsh <dwalsh at redhat.com> - 2.0.9-1
- Upgrade to upstream
* Merged class/av string conversion and avc_compute_create patch from Eamon Walsh.
More information about the fedora-cvs-commits
mailing list