504 lines
19 KiB
Diff
504 lines
19 KiB
Diff
diff --exclude-from=exclude -N -u -r nsalibselinux/include/selinux/av_permissions.h libselinux-2.0.46/include/selinux/av_permissions.h
|
|
--- nsalibselinux/include/selinux/av_permissions.h 2007-11-15 15:52:46.000000000 -0500
|
|
+++ libselinux-2.0.46/include/selinux/av_permissions.h 2008-01-03 15:23:31.000000000 -0500
|
|
@@ -900,6 +900,8 @@
|
|
#define PACKET__SEND 0x00000001UL
|
|
#define PACKET__RECV 0x00000002UL
|
|
#define PACKET__RELABELTO 0x00000004UL
|
|
+#define PACKET__FLOW_IN 0x00000008UL
|
|
+#define PACKET__FLOW_OUT 0x00000010UL
|
|
#define KEY__VIEW 0x00000001UL
|
|
#define KEY__READ 0x00000002UL
|
|
#define KEY__WRITE 0x00000004UL
|
|
diff --exclude-from=exclude -N -u -r nsalibselinux/src/Makefile libselinux-2.0.46/src/Makefile
|
|
--- nsalibselinux/src/Makefile 2007-09-26 19:37:45.000000000 -0400
|
|
+++ libselinux-2.0.46/src/Makefile 2008-01-05 08:19:27.000000000 -0500
|
|
@@ -77,14 +77,14 @@
|
|
|
|
install: all
|
|
test -d $(LIBDIR) || install -m 755 -d $(LIBDIR)
|
|
- install -m 644 $(LIBA) $(LIBDIR)
|
|
test -d $(SHLIBDIR) || install -m 755 -d $(SHLIBDIR)
|
|
install -m 755 $(LIBSO) $(SHLIBDIR)
|
|
cd $(LIBDIR) && ln -sf ../../`basename $(SHLIBDIR)`/$(LIBSO) $(TARGET)
|
|
|
|
install-pywrap: pywrap
|
|
test -d $(PYTHONLIBDIR)/site-packages || install -m 755 -d $(PYTHONLIBDIR)/site-packages
|
|
- install -m 755 $(SWIGFILES) $(PYTHONLIBDIR)/site-packages
|
|
+ install -m 755 $(SWIGSO) $(PYTHONLIBDIR)/site-packages
|
|
+ install -m 644 selinux.py $(PYTHONLIBDIR)/site-packages
|
|
|
|
relabel:
|
|
/sbin/restorecon $(SHLIBDIR)/$(LIBSO)
|
|
diff --exclude-from=exclude -N -u -r nsalibselinux/src/matchpathcon.c libselinux-2.0.46/src/matchpathcon.c
|
|
--- nsalibselinux/src/matchpathcon.c 2007-09-28 09:48:58.000000000 -0400
|
|
+++ libselinux-2.0.46/src/matchpathcon.c 2008-01-03 15:23:32.000000000 -0500
|
|
@@ -2,6 +2,7 @@
|
|
#include <string.h>
|
|
#include <errno.h>
|
|
#include <stdio.h>
|
|
+#include <syslog.h>
|
|
#include "selinux_internal.h"
|
|
#include "label_internal.h"
|
|
#include "callbacks.h"
|
|
@@ -57,7 +58,7 @@
|
|
{
|
|
va_list ap;
|
|
va_start(ap, fmt);
|
|
- vfprintf(stderr, fmt, ap);
|
|
+ vsyslog(LOG_ERR, fmt, ap);
|
|
va_end(ap);
|
|
}
|
|
|
|
diff --exclude-from=exclude -N -u -r nsalibselinux/src/selinux.py libselinux-2.0.46/src/selinux.py
|
|
--- nsalibselinux/src/selinux.py 2007-10-05 13:09:54.000000000 -0400
|
|
+++ libselinux-2.0.46/src/selinux.py 2008-01-08 05:00:39.000000000 -0500
|
|
@@ -1,5 +1,5 @@
|
|
# This file was automatically generated by SWIG (http://www.swig.org).
|
|
-# Version 1.3.31
|
|
+# Version 1.3.33
|
|
#
|
|
# Don't modify this file, modify the SWIG interface instead.
|
|
# This file is compatible with both classic and new-style classes.
|
|
Binary files nsalibselinux/src/selinux.pyc and libselinux-2.0.46/src/selinux.pyc differ
|
|
diff --exclude-from=exclude -N -u -r nsalibselinux/src/selinuxswig.i libselinux-2.0.46/src/selinuxswig.i
|
|
--- nsalibselinux/src/selinuxswig.i 2007-10-01 09:54:35.000000000 -0400
|
|
+++ libselinux-2.0.46/src/selinuxswig.i 2008-01-08 05:00:22.000000000 -0500
|
|
@@ -10,6 +10,7 @@
|
|
%apply int *OUTPUT { size_t * };
|
|
|
|
%typedef unsigned mode_t;
|
|
+%typedef unsigned pid_t;
|
|
|
|
%typemap(in, numinputs=0) (char ***names, int *len) (char **temp1, int temp2) {
|
|
$1 = &temp1;
|
|
diff --exclude-from=exclude -N -u -r nsalibselinux/src/selinuxswig_wrap.c libselinux-2.0.46/src/selinuxswig_wrap.c
|
|
--- nsalibselinux/src/selinuxswig_wrap.c 2007-10-05 13:09:54.000000000 -0400
|
|
+++ libselinux-2.0.46/src/selinuxswig_wrap.c 2008-01-08 05:00:39.000000000 -0500
|
|
@@ -1,6 +1,6 @@
|
|
/* ----------------------------------------------------------------------------
|
|
* This file was automatically generated by SWIG (http://www.swig.org).
|
|
- * Version 1.3.31
|
|
+ * Version 1.3.33
|
|
*
|
|
* This file is not intended to be easily readable and contains a number of
|
|
* coding conventions designed to improve portability and efficiency. Do not make
|
|
@@ -17,14 +17,14 @@
|
|
|
|
/* template workaround for compilers that cannot correctly implement the C++ standard */
|
|
#ifndef SWIGTEMPLATEDISAMBIGUATOR
|
|
-# if defined(__SUNPRO_CC)
|
|
-# if (__SUNPRO_CC <= 0x560)
|
|
-# define SWIGTEMPLATEDISAMBIGUATOR template
|
|
-# else
|
|
-# define SWIGTEMPLATEDISAMBIGUATOR
|
|
-# endif
|
|
+# if defined(__SUNPRO_CC) && (__SUNPRO_CC <= 0x560)
|
|
+# define SWIGTEMPLATEDISAMBIGUATOR template
|
|
+# elif defined(__HP_aCC)
|
|
+/* Needed even with `aCC -AA' when `aCC -V' reports HP ANSI C++ B3910B A.03.55 */
|
|
+/* If we find a maximum version that requires this, the test would be __HP_aCC <= 35500 for A.03.55 */
|
|
+# define SWIGTEMPLATEDISAMBIGUATOR template
|
|
# else
|
|
-# define SWIGTEMPLATEDISAMBIGUATOR
|
|
+# define SWIGTEMPLATEDISAMBIGUATOR
|
|
# endif
|
|
#endif
|
|
|
|
@@ -107,6 +107,12 @@
|
|
# define _CRT_SECURE_NO_DEPRECATE
|
|
#endif
|
|
|
|
+/* Deal with Microsoft's attempt at deprecating methods in the standard C++ library */
|
|
+#if !defined(SWIG_NO_SCL_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_SCL_SECURE_NO_DEPRECATE)
|
|
+# define _SCL_SECURE_NO_DEPRECATE
|
|
+#endif
|
|
+
|
|
+
|
|
|
|
/* Python.h has to appear first */
|
|
#include <Python.h>
|
|
@@ -343,7 +349,7 @@
|
|
while ((*f2 == ' ') && (f2 != l2)) ++f2;
|
|
if (*f1 != *f2) return (*f1 > *f2) ? 1 : -1;
|
|
}
|
|
- return (l1 - f1) - (l2 - f2);
|
|
+ return (int)((l1 - f1) - (l2 - f2));
|
|
}
|
|
|
|
/*
|
|
@@ -1090,14 +1096,14 @@
|
|
/* Unpack the argument tuple */
|
|
|
|
SWIGINTERN int
|
|
-SWIG_Python_UnpackTuple(PyObject *args, const char *name, int min, int max, PyObject **objs)
|
|
+SWIG_Python_UnpackTuple(PyObject *args, const char *name, Py_ssize_t min, Py_ssize_t max, PyObject **objs)
|
|
{
|
|
if (!args) {
|
|
if (!min && !max) {
|
|
return 1;
|
|
} else {
|
|
PyErr_Format(PyExc_TypeError, "%s expected %s%d arguments, got none",
|
|
- name, (min == max ? "" : "at least "), min);
|
|
+ name, (min == max ? "" : "at least "), (int)min);
|
|
return 0;
|
|
}
|
|
}
|
|
@@ -1105,14 +1111,14 @@
|
|
PyErr_SetString(PyExc_SystemError, "UnpackTuple() argument list is not a tuple");
|
|
return 0;
|
|
} else {
|
|
- register int l = PyTuple_GET_SIZE(args);
|
|
+ register Py_ssize_t l = PyTuple_GET_SIZE(args);
|
|
if (l < min) {
|
|
PyErr_Format(PyExc_TypeError, "%s expected %s%d arguments, got %d",
|
|
- name, (min == max ? "" : "at least "), min, l);
|
|
+ name, (min == max ? "" : "at least "), (int)min, (int)l);
|
|
return 0;
|
|
} else if (l > max) {
|
|
PyErr_Format(PyExc_TypeError, "%s expected %s%d arguments, got %d",
|
|
- name, (min == max ? "" : "at most "), max, l);
|
|
+ name, (min == max ? "" : "at most "), (int)max, (int)l);
|
|
return 0;
|
|
} else {
|
|
register int i;
|
|
@@ -1591,9 +1597,11 @@
|
|
(unaryfunc)0, /*nb_float*/
|
|
(unaryfunc)PySwigObject_oct, /*nb_oct*/
|
|
(unaryfunc)PySwigObject_hex, /*nb_hex*/
|
|
-#if PY_VERSION_HEX >= 0x02020000
|
|
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 /* nb_inplace_add -> nb_inplace_true_divide */
|
|
-#elif PY_VERSION_HEX >= 0x02000000
|
|
+#if PY_VERSION_HEX >= 0x02050000 /* 2.5.0 */
|
|
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 /* nb_inplace_add -> nb_index */
|
|
+#elif PY_VERSION_HEX >= 0x02020000 /* 2.2.0 */
|
|
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 /* nb_inplace_add -> nb_inplace_true_divide */
|
|
+#elif PY_VERSION_HEX >= 0x02000000 /* 2.0.0 */
|
|
0,0,0,0,0,0,0,0,0,0,0 /* nb_inplace_add -> nb_inplace_or */
|
|
#endif
|
|
};
|
|
@@ -2458,14 +2466,13 @@
|
|
#define SWIGTYPE_p_int swig_types[7]
|
|
#define SWIGTYPE_p_p_char swig_types[8]
|
|
#define SWIGTYPE_p_p_p_char swig_types[9]
|
|
-#define SWIGTYPE_p_pid_t swig_types[10]
|
|
-#define SWIGTYPE_p_security_class_mapping swig_types[11]
|
|
-#define SWIGTYPE_p_selinux_callback swig_types[12]
|
|
-#define SWIGTYPE_p_selinux_opt swig_types[13]
|
|
-#define SWIGTYPE_p_unsigned_int swig_types[14]
|
|
-#define SWIGTYPE_p_unsigned_short swig_types[15]
|
|
-static swig_type_info *swig_types[17];
|
|
-static swig_module_info swig_module = {swig_types, 16, 0, 0, 0, 0};
|
|
+#define SWIGTYPE_p_security_class_mapping swig_types[10]
|
|
+#define SWIGTYPE_p_selinux_callback swig_types[11]
|
|
+#define SWIGTYPE_p_selinux_opt swig_types[12]
|
|
+#define SWIGTYPE_p_unsigned_int swig_types[13]
|
|
+#define SWIGTYPE_p_unsigned_short swig_types[14]
|
|
+static swig_type_info *swig_types[16];
|
|
+static swig_module_info swig_module = {swig_types, 15, 0, 0, 0, 0};
|
|
#define SWIG_TypeQuery(name) SWIG_TypeQueryModule(&swig_module, &swig_module, name)
|
|
#define SWIG_MangledTypeQuery(name) SWIG_MangledTypeQueryModule(&swig_module, &swig_module, name)
|
|
|
|
@@ -2484,7 +2491,7 @@
|
|
|
|
#define SWIG_name "_selinux"
|
|
|
|
-#define SWIGVERSION 0x010331
|
|
+#define SWIGVERSION 0x010333
|
|
#define SWIG_VERSION SWIGVERSION
|
|
|
|
|
|
@@ -2577,14 +2584,12 @@
|
|
|
|
|
|
#include <limits.h>
|
|
-#ifndef LLONG_MIN
|
|
-# define LLONG_MIN LONG_LONG_MIN
|
|
-#endif
|
|
-#ifndef LLONG_MAX
|
|
-# define LLONG_MAX LONG_LONG_MAX
|
|
-#endif
|
|
-#ifndef ULLONG_MAX
|
|
-# define ULLONG_MAX ULONG_LONG_MAX
|
|
+#if !defined(SWIG_NO_LLONG_MAX)
|
|
+# if !defined(LLONG_MAX) && defined(__GNUC__) && defined (__LONG_LONG_MAX__)
|
|
+# define LLONG_MAX __LONG_LONG_MAX__
|
|
+# define LLONG_MIN (-LLONG_MAX - 1LL)
|
|
+# define ULLONG_MAX (LLONG_MAX * 2ULL + 1ULL)
|
|
+# endif
|
|
#endif
|
|
|
|
|
|
@@ -2669,13 +2674,18 @@
|
|
|
|
|
|
SWIGINTERN int
|
|
-SWIG_AsVal_long (PyObject *obj, long* val)
|
|
+SWIG_AsVal_unsigned_SS_long (PyObject *obj, unsigned long *val)
|
|
{
|
|
if (PyInt_Check(obj)) {
|
|
- if (val) *val = PyInt_AsLong(obj);
|
|
- return SWIG_OK;
|
|
+ long v = PyInt_AsLong(obj);
|
|
+ if (v >= 0) {
|
|
+ if (val) *val = v;
|
|
+ return SWIG_OK;
|
|
+ } else {
|
|
+ return SWIG_OverflowError;
|
|
+ }
|
|
} else if (PyLong_Check(obj)) {
|
|
- long v = PyLong_AsLong(obj);
|
|
+ unsigned long v = PyLong_AsUnsignedLong(obj);
|
|
if (!PyErr_Occurred()) {
|
|
if (val) *val = v;
|
|
return SWIG_OK;
|
|
@@ -2686,7 +2696,7 @@
|
|
#ifdef SWIG_PYTHON_CAST_MODE
|
|
{
|
|
int dispatch = 0;
|
|
- long v = PyInt_AsLong(obj);
|
|
+ unsigned long v = PyLong_AsUnsignedLong(obj);
|
|
if (!PyErr_Occurred()) {
|
|
if (val) *val = v;
|
|
return SWIG_AddCast(SWIG_OK);
|
|
@@ -2696,8 +2706,8 @@
|
|
if (!dispatch) {
|
|
double d;
|
|
int res = SWIG_AddCast(SWIG_AsVal_double (obj,&d));
|
|
- if (SWIG_IsOK(res) && SWIG_CanCastAsInteger(&d, LONG_MIN, LONG_MAX)) {
|
|
- if (val) *val = (long)(d);
|
|
+ if (SWIG_IsOK(res) && SWIG_CanCastAsInteger(&d, 0, ULONG_MAX)) {
|
|
+ if (val) *val = (unsigned long)(d);
|
|
return res;
|
|
}
|
|
}
|
|
@@ -2708,15 +2718,15 @@
|
|
|
|
|
|
SWIGINTERN int
|
|
-SWIG_AsVal_int (PyObject * obj, int *val)
|
|
+SWIG_AsVal_unsigned_SS_int (PyObject * obj, unsigned int *val)
|
|
{
|
|
- long v;
|
|
- int res = SWIG_AsVal_long (obj, &v);
|
|
+ unsigned long v;
|
|
+ int res = SWIG_AsVal_unsigned_SS_long (obj, &v);
|
|
if (SWIG_IsOK(res)) {
|
|
- if ((v < INT_MIN || v > INT_MAX)) {
|
|
+ if ((v > UINT_MAX)) {
|
|
return SWIG_OverflowError;
|
|
} else {
|
|
- if (val) *val = (int)(v);
|
|
+ if (val) *val = (unsigned int)(v);
|
|
}
|
|
}
|
|
return res;
|
|
@@ -2724,18 +2734,13 @@
|
|
|
|
|
|
SWIGINTERN int
|
|
-SWIG_AsVal_unsigned_SS_long (PyObject *obj, unsigned long *val)
|
|
+SWIG_AsVal_long (PyObject *obj, long* val)
|
|
{
|
|
if (PyInt_Check(obj)) {
|
|
- long v = PyInt_AsLong(obj);
|
|
- if (v >= 0) {
|
|
- if (val) *val = v;
|
|
- return SWIG_OK;
|
|
- } else {
|
|
- return SWIG_OverflowError;
|
|
- }
|
|
+ if (val) *val = PyInt_AsLong(obj);
|
|
+ return SWIG_OK;
|
|
} else if (PyLong_Check(obj)) {
|
|
- unsigned long v = PyLong_AsUnsignedLong(obj);
|
|
+ long v = PyLong_AsLong(obj);
|
|
if (!PyErr_Occurred()) {
|
|
if (val) *val = v;
|
|
return SWIG_OK;
|
|
@@ -2746,7 +2751,7 @@
|
|
#ifdef SWIG_PYTHON_CAST_MODE
|
|
{
|
|
int dispatch = 0;
|
|
- unsigned long v = PyLong_AsUnsignedLong(obj);
|
|
+ long v = PyInt_AsLong(obj);
|
|
if (!PyErr_Occurred()) {
|
|
if (val) *val = v;
|
|
return SWIG_AddCast(SWIG_OK);
|
|
@@ -2756,8 +2761,8 @@
|
|
if (!dispatch) {
|
|
double d;
|
|
int res = SWIG_AddCast(SWIG_AsVal_double (obj,&d));
|
|
- if (SWIG_IsOK(res) && SWIG_CanCastAsInteger(&d, 0, ULONG_MAX)) {
|
|
- if (val) *val = (unsigned long)(d);
|
|
+ if (SWIG_IsOK(res) && SWIG_CanCastAsInteger(&d, LONG_MIN, LONG_MAX)) {
|
|
+ if (val) *val = (long)(d);
|
|
return res;
|
|
}
|
|
}
|
|
@@ -2768,15 +2773,15 @@
|
|
|
|
|
|
SWIGINTERN int
|
|
-SWIG_AsVal_unsigned_SS_int (PyObject * obj, unsigned int *val)
|
|
+SWIG_AsVal_int (PyObject * obj, int *val)
|
|
{
|
|
- unsigned long v;
|
|
- int res = SWIG_AsVal_unsigned_SS_long (obj, &v);
|
|
+ long v;
|
|
+ int res = SWIG_AsVal_long (obj, &v);
|
|
if (SWIG_IsOK(res)) {
|
|
- if ((v > UINT_MAX)) {
|
|
+ if ((v < INT_MIN || v > INT_MAX)) {
|
|
return SWIG_OverflowError;
|
|
} else {
|
|
- if (val) *val = (unsigned int)(v);
|
|
+ if (val) *val = (int)(v);
|
|
}
|
|
}
|
|
return res;
|
|
@@ -2986,24 +2991,18 @@
|
|
pid_t arg1 ;
|
|
security_context_t *arg2 = (security_context_t *) 0 ;
|
|
int result;
|
|
- void *argp1 ;
|
|
- int res1 = 0 ;
|
|
+ unsigned int val1 ;
|
|
+ int ecode1 = 0 ;
|
|
security_context_t temp2 = 0 ;
|
|
PyObject * obj0 = 0 ;
|
|
|
|
arg2 = &temp2;
|
|
if (!PyArg_ParseTuple(args,(char *)"O:getpidcon",&obj0)) SWIG_fail;
|
|
- {
|
|
- res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_pid_t, 0 );
|
|
- if (!SWIG_IsOK(res1)) {
|
|
- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "getpidcon" "', argument " "1"" of type '" "pid_t""'");
|
|
- }
|
|
- if (!argp1) {
|
|
- SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "getpidcon" "', argument " "1"" of type '" "pid_t""'");
|
|
- } else {
|
|
- arg1 = *((pid_t *)(argp1));
|
|
- }
|
|
- }
|
|
+ ecode1 = SWIG_AsVal_unsigned_SS_int(obj0, &val1);
|
|
+ if (!SWIG_IsOK(ecode1)) {
|
|
+ SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "getpidcon" "', argument " "1"" of type '" "pid_t""'");
|
|
+ }
|
|
+ arg1 = (pid_t)(val1);
|
|
result = (int)getpidcon(arg1,arg2);
|
|
resultobj = SWIG_From_int((int)(result));
|
|
if (*arg2) {
|
|
@@ -3025,24 +3024,18 @@
|
|
pid_t arg1 ;
|
|
security_context_t *arg2 = (security_context_t *) 0 ;
|
|
int result;
|
|
- void *argp1 ;
|
|
- int res1 = 0 ;
|
|
+ unsigned int val1 ;
|
|
+ int ecode1 = 0 ;
|
|
security_context_t temp2 = 0 ;
|
|
PyObject * obj0 = 0 ;
|
|
|
|
arg2 = &temp2;
|
|
if (!PyArg_ParseTuple(args,(char *)"O:getpidcon_raw",&obj0)) SWIG_fail;
|
|
- {
|
|
- res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_pid_t, 0 );
|
|
- if (!SWIG_IsOK(res1)) {
|
|
- SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "getpidcon_raw" "', argument " "1"" of type '" "pid_t""'");
|
|
- }
|
|
- if (!argp1) {
|
|
- SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "getpidcon_raw" "', argument " "1"" of type '" "pid_t""'");
|
|
- } else {
|
|
- arg1 = *((pid_t *)(argp1));
|
|
- }
|
|
- }
|
|
+ ecode1 = SWIG_AsVal_unsigned_SS_int(obj0, &val1);
|
|
+ if (!SWIG_IsOK(ecode1)) {
|
|
+ SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "getpidcon_raw" "', argument " "1"" of type '" "pid_t""'");
|
|
+ }
|
|
+ arg1 = (pid_t)(val1);
|
|
result = (int)getpidcon_raw(arg1,arg2);
|
|
resultobj = SWIG_From_int((int)(result));
|
|
if (*arg2) {
|
|
@@ -8149,7 +8142,7 @@
|
|
/* -------- 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_av_decision = {"_p_av_decision", "struct av_decision *", 0, 0, (void*)0, 0};
|
|
+static swig_type_info _swigt__p_av_decision = {"_p_av_decision", "struct av_decision *|av_decision *", 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_f_int_p_q_const__char_v_______int = {"_p_f_int_p_q_const__char_v_______int", "int (*)(int,char const *,...)", 0, 0, (void*)0, 0};
|
|
static swig_type_info _swigt__p_f_p_p_char__int = {"_p_f_p_p_char__int", "int (*)(char **)|int (*)(security_context_t *)", 0, 0, (void*)0, 0};
|
|
@@ -8158,12 +8151,11 @@
|
|
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 **|security_context_t *", 0, 0, (void*)0, 0};
|
|
static swig_type_info _swigt__p_p_p_char = {"_p_p_p_char", "char ***|security_context_t **", 0, 0, (void*)0, 0};
|
|
-static swig_type_info _swigt__p_pid_t = {"_p_pid_t", "pid_t *", 0, 0, (void*)0, 0};
|
|
-static swig_type_info _swigt__p_security_class_mapping = {"_p_security_class_mapping", "struct security_class_mapping *", 0, 0, (void*)0, 0};
|
|
-static swig_type_info _swigt__p_selinux_callback = {"_p_selinux_callback", "union selinux_callback *", 0, 0, (void*)0, 0};
|
|
-static swig_type_info _swigt__p_selinux_opt = {"_p_selinux_opt", "selinux_opt *", 0, 0, (void*)0, 0};
|
|
-static swig_type_info _swigt__p_unsigned_int = {"_p_unsigned_int", "unsigned int *|access_vector_t *", 0, 0, (void*)0, 0};
|
|
-static swig_type_info _swigt__p_unsigned_short = {"_p_unsigned_short", "unsigned short *|security_class_t *", 0, 0, (void*)0, 0};
|
|
+static swig_type_info _swigt__p_security_class_mapping = {"_p_security_class_mapping", "struct security_class_mapping *|security_class_mapping *", 0, 0, (void*)0, 0};
|
|
+static swig_type_info _swigt__p_selinux_callback = {"_p_selinux_callback", "union selinux_callback *|selinux_callback *", 0, 0, (void*)0, 0};
|
|
+static swig_type_info _swigt__p_selinux_opt = {"_p_selinux_opt", "struct selinux_opt *|selinux_opt *", 0, 0, (void*)0, 0};
|
|
+static swig_type_info _swigt__p_unsigned_int = {"_p_unsigned_int", "unsigned int *|access_vector_t *|mode_t *|pid_t *", 0, 0, (void*)0, 0};
|
|
+static swig_type_info _swigt__p_unsigned_short = {"_p_unsigned_short", "security_class_t *|unsigned short *", 0, 0, (void*)0, 0};
|
|
|
|
static swig_type_info *swig_type_initial[] = {
|
|
&_swigt__p_SELboolean,
|
|
@@ -8176,7 +8168,6 @@
|
|
&_swigt__p_int,
|
|
&_swigt__p_p_char,
|
|
&_swigt__p_p_p_char,
|
|
- &_swigt__p_pid_t,
|
|
&_swigt__p_security_class_mapping,
|
|
&_swigt__p_selinux_callback,
|
|
&_swigt__p_selinux_opt,
|
|
@@ -8194,7 +8185,6 @@
|
|
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_pid_t[] = { {&_swigt__p_pid_t, 0, 0, 0},{0, 0, 0, 0}};
|
|
static swig_cast_info _swigc__p_security_class_mapping[] = { {&_swigt__p_security_class_mapping, 0, 0, 0},{0, 0, 0, 0}};
|
|
static swig_cast_info _swigc__p_selinux_callback[] = { {&_swigt__p_selinux_callback, 0, 0, 0},{0, 0, 0, 0}};
|
|
static swig_cast_info _swigc__p_selinux_opt[] = { {&_swigt__p_selinux_opt, 0, 0, 0},{0, 0, 0, 0}};
|
|
@@ -8212,7 +8202,6 @@
|
|
_swigc__p_int,
|
|
_swigc__p_p_char,
|
|
_swigc__p_p_p_char,
|
|
- _swigc__p_pid_t,
|
|
_swigc__p_security_class_mapping,
|
|
_swigc__p_selinux_callback,
|
|
_swigc__p_selinux_opt,
|
|
diff --exclude-from=exclude -N -u -r nsalibselinux/utils/matchpathcon.c libselinux-2.0.46/utils/matchpathcon.c
|
|
--- nsalibselinux/utils/matchpathcon.c 2007-07-16 14:20:45.000000000 -0400
|
|
+++ libselinux-2.0.46/utils/matchpathcon.c 2008-01-03 15:23:32.000000000 -0500
|
|
@@ -17,10 +17,24 @@
|
|
exit(1);
|
|
}
|
|
|
|
+static void
|
|
+#ifdef __GNUC__
|
|
+ __attribute__ ((format(printf, 1, 2)))
|
|
+#endif
|
|
+ myprintf(const char *fmt, ...)
|
|
+{
|
|
+ va_list ap;
|
|
+ va_start(ap, fmt);
|
|
+ vfprintf(stderr, fmt, ap);
|
|
+ va_end(ap);
|
|
+}
|
|
+
|
|
int printmatchpathcon(char *path, int header, int mode)
|
|
{
|
|
char *buf;
|
|
- int rc = matchpathcon(path, mode, &buf);
|
|
+ int rc;
|
|
+ set_matchpathcon_printf(myprintf);
|
|
+ rc = matchpathcon(path, mode, &buf);
|
|
if (rc < 0) {
|
|
fprintf(stderr, "matchpathcon(%s) failed: %s\n", path,
|
|
strerror(errno));
|