diff --git a/.cvsignore b/.cvsignore index 618b7b4..ad8e2e0 100644 --- a/.cvsignore +++ b/.cvsignore @@ -138,3 +138,4 @@ libselinux-2.0.43.tgz libselinux-2.0.45.tgz libselinux-2.0.46.tgz libselinux-2.0.47.tgz +libselinux-2.0.48.tgz diff --git a/libselinux-rhat.patch b/libselinux-rhat.patch index 2be1b6e..f940e7b 100644 --- a/libselinux-rhat.patch +++ b/libselinux-rhat.patch @@ -12,7 +12,7 @@ diff --exclude-from=exclude -N -u -r nsalibselinux/include/selinux/av_permission #define KEY__WRITE 0x00000004UL diff --exclude-from=exclude -N -u -r nsalibselinux/src/audit2why.c libselinux-2.0.47/src/audit2why.c --- nsalibselinux/src/audit2why.c 1969-12-31 19:00:00.000000000 -0500 -+++ libselinux-2.0.47/src/audit2why.c 2008-01-11 10:55:14.000000000 -0500 ++++ libselinux-2.0.47/src/audit2why.c 2008-01-22 16:23:59.000000000 -0500 @@ -0,0 +1,460 @@ +#include +#include @@ -476,7 +476,7 @@ diff --exclude-from=exclude -N -u -r nsalibselinux/src/audit2why.c libselinux-2. +} diff --exclude-from=exclude -N -u -r nsalibselinux/src/Makefile libselinux-2.0.47/src/Makefile --- nsalibselinux/src/Makefile 2008-01-11 10:52:37.000000000 -0500 -+++ libselinux-2.0.47/src/Makefile 2008-01-15 08:46:34.000000000 -0500 ++++ libselinux-2.0.47/src/Makefile 2008-01-23 14:19:11.000000000 -0500 @@ -18,6 +18,7 @@ SWIGSO=_selinux.so SWIGFILES=$(SWIGSO) selinux.py @@ -522,7 +522,7 @@ diff --exclude-from=exclude -N -u -r nsalibselinux/src/Makefile libselinux-2.0.4 install-pywrap: pywrap - test -d $(PYTHONLIBDIR)/site-packages || install -m 755 -d $(PYTHONLIBDIR)/site-packages - install -m 755 $(SWIGFILES) $(PYTHONLIBDIR)/site-packages -+ test -d $(PYTHONLIBDIR)/site-packages || install -m 755 -d $(PYTHONLIBDIR)/site-packages/selinux ++ test -d $(PYTHONLIBDIR)/site-packages/selinux || install -m 755 -d $(PYTHONLIBDIR)/site-packages/selinux + install -m 755 $(SWIGSO) $(PYTHONLIBDIR)/site-packages/selinux + install -m 755 $(AUDIT2WHYSO) $(PYTHONLIBDIR)/site-packages/selinux + install -m 644 selinux.py $(PYTHONLIBDIR)/site-packages/selinux/__init__.py @@ -556,443 +556,14 @@ diff --exclude-from=exclude -N -u -r nsalibselinux/src/matchpathcon.c libselinux va_end(ap); } -diff --exclude-from=exclude -N -u -r nsalibselinux/src/selinux.py libselinux-2.0.47/src/selinux.py ---- nsalibselinux/src/selinux.py 2007-10-05 13:09:54.000000000 -0400 -+++ libselinux-2.0.47/src/selinux.py 2008-01-11 10:55:14.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. diff --exclude-from=exclude -N -u -r nsalibselinux/src/selinuxswig.i libselinux-2.0.47/src/selinuxswig.i ---- nsalibselinux/src/selinuxswig.i 2007-10-01 09:54:35.000000000 -0400 +--- nsalibselinux/src/selinuxswig.i 2008-01-23 14:36:29.000000000 -0500 +++ libselinux-2.0.47/src/selinuxswig.i 2008-01-11 10:55:14.000000000 -0500 -@@ -5,11 +5,16 @@ - %module selinux - %{ - #include "selinux/selinux.h" -+ #include "../include/selinux/selinux.h" -+ #include "../include/selinux/get_default_type.h" -+ #include "../include/selinux/get_context_list.h" - %} - %apply int *OUTPUT { int *enforce }; - %apply int *OUTPUT { size_t * }; +@@ -14,6 +14,7 @@ %typedef unsigned mode_t; -+%typedef unsigned pid_t; -+%typedef char * security_contextx_t; + %typedef unsigned pid_t; ++%typedef char * security_context_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.47/src/selinuxswig_wrap.c ---- nsalibselinux/src/selinuxswig_wrap.c 2007-10-05 13:09:54.000000000 -0400 -+++ libselinux-2.0.47/src/selinuxswig_wrap.c 2008-01-11 10:55:14.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 -@@ -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 - - -@@ -2496,6 +2503,9 @@ - - - #include "selinux/selinux.h" -+ #include "../include/selinux/selinux.h" -+ #include "../include/selinux/get_default_type.h" -+ #include "../include/selinux/get_context_list.h" - - - #define SWIG_From_long PyInt_FromLong -@@ -2577,14 +2587,12 @@ - - - #include --#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 +2677,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 +2699,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 +2709,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 +2721,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 +2737,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 +2754,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 +2764,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 +2776,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 +2994,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 +3027,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 +8145,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 +8154,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 +8171,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 +8188,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 +8205,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 --git a/libselinux.spec b/libselinux.spec index d1d3f42..78f44b2 100644 --- a/libselinux.spec +++ b/libselinux.spec @@ -3,8 +3,8 @@ Summary: SELinux library and simple utilities Name: libselinux -Version: 2.0.47 -Release: 4%{?dist} +Version: 2.0.48 +Release: 1%{?dist} License: Public Domain Group: System Environment/Libraries Source: http://www.nsa.gov/selinux/archives/%{name}-%{version}.tgz @@ -137,6 +137,9 @@ exit 0 %{python_sitearch}/selinux/* %changelog +* Wed Jan 23 2008 Dan Walsh - 2.0.48-1 +* Merged updated swig bindings from Dan Walsh, including typemap for pid_t. + * Mon Jan 21 2008 Dan Walsh - 2.0.47-4 - Update to use libsepol-static library diff --git a/sources b/sources index fb8a8d4..2058c93 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -c6ffa48a94478bfd77fcffe33b70b76b libselinux-2.0.47.tgz +d2909d07d752287a219155a604e2d175 libselinux-2.0.48.tgz