rpms/libselinux/F-10 libselinux-rhat.patch, 1.171, 1.172 libselinux.spec, 1.347, 1.348 sources, 1.179, 1.180

Daniel J Walsh dwalsh at fedoraproject.org
Mon Mar 2 18:25:27 UTC 2009


Author: dwalsh

Update of /cvs/extras/rpms/libselinux/F-10
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv9873

Modified Files:
	libselinux-rhat.patch libselinux.spec sources 
Log Message:
* Mon Mar 2 2009 Dan Walsh <dwalsh at redhat.com> - 2.0.78-1
- Update to upstream
	* Fix incorrect conversion in discover_class code.


libselinux-rhat.patch:

View full diff with command:
/usr/bin/cvs -f diff  -kk -u -N -r 1.171 -r 1.172 libselinux-rhat.patch
Index: libselinux-rhat.patch
===================================================================
RCS file: /cvs/extras/rpms/libselinux/F-10/libselinux-rhat.patch,v
retrieving revision 1.171
retrieving revision 1.172
diff -u -r1.171 -r1.172
--- libselinux-rhat.patch	16 Dec 2008 14:45:24 -0000	1.171
+++ libselinux-rhat.patch	2 Mar 2009 18:24:55 -0000	1.172
@@ -1,7 +1,16 @@
-diff --exclude-from=exclude -N -u -r nsalibselinux/include/selinux/selinux.h libselinux-2.0.76/include/selinux/selinux.h
---- nsalibselinux/include/selinux/selinux.h	2008-08-28 09:34:24.000000000 -0400
-+++ libselinux-2.0.76/include/selinux/selinux.h	2008-12-12 10:06:21.000000000 -0500
-@@ -511,6 +511,14 @@
+diff --exclude-from=exclude -N -u -r nsalibselinux/include/selinux/selinux.h libselinux-2.0.77/include/selinux/selinux.h
+--- nsalibselinux/include/selinux/selinux.h	2009-01-05 17:45:35.000000000 -0500
++++ libselinux-2.0.77/include/selinux/selinux.h	2009-02-18 14:18:54.000000000 -0500
+@@ -459,6 +459,8 @@
+ extern const char *selinux_file_context_local_path(void);
+ extern const char *selinux_homedir_context_path(void);
+ extern const char *selinux_media_context_path(void);
++extern const char *selinux_virtual_domain_context_path(void);
++extern const char *selinux_virtual_image_context_path(void);
+ extern const char *selinux_x_context_path(void);
+ extern const char *selinux_contexts_path(void);
+ extern const char *selinux_securetty_types_path(void);
+@@ -520,6 +522,14 @@
     Caller must free the returned strings via free. */
  extern int getseuserbyname(const char *linuxuser, char **seuser, char **level);
  
@@ -16,9 +25,9 @@
  /* Compare two file contexts, return 0 if equivalent. */
  int selinux_file_context_cmp(const security_context_t a,
  			     const security_context_t b);
-diff --exclude-from=exclude -N -u -r nsalibselinux/man/man8/selinuxconlist.8 libselinux-2.0.76/man/man8/selinuxconlist.8
+diff --exclude-from=exclude -N -u -r nsalibselinux/man/man8/selinuxconlist.8 libselinux-2.0.77/man/man8/selinuxconlist.8
 --- nsalibselinux/man/man8/selinuxconlist.8	1969-12-31 19:00:00.000000000 -0500
-+++ libselinux-2.0.76/man/man8/selinuxconlist.8	2008-12-02 09:14:48.000000000 -0500
++++ libselinux-2.0.77/man/man8/selinuxconlist.8	2009-02-18 14:18:54.000000000 -0500
 @@ -0,0 +1,18 @@
 +.TH "selinuxconlist" "1" "7 May 2008" "dwalsh at redhat.com" "SELinux Command Line documentation"
 +.SH "NAME"
@@ -38,9 +47,9 @@
 +
 +.SH "SEE ALSO"
 +secon(8), selinuxdefcon(8)
-diff --exclude-from=exclude -N -u -r nsalibselinux/man/man8/selinuxdefcon.8 libselinux-2.0.76/man/man8/selinuxdefcon.8
+diff --exclude-from=exclude -N -u -r nsalibselinux/man/man8/selinuxdefcon.8 libselinux-2.0.77/man/man8/selinuxdefcon.8
 --- nsalibselinux/man/man8/selinuxdefcon.8	1969-12-31 19:00:00.000000000 -0500
-+++ libselinux-2.0.76/man/man8/selinuxdefcon.8	2008-12-02 09:14:48.000000000 -0500
++++ libselinux-2.0.77/man/man8/selinuxdefcon.8	2009-02-18 14:18:54.000000000 -0500
 @@ -0,0 +1,19 @@
 +.TH "selinuxdefcon" "1" "7 May 2008" "dwalsh at redhat.com" "SELinux Command Line documentation"
 +.SH "NAME"
@@ -61,9 +70,9 @@
 +
 +.SH "SEE ALSO"
 +secon(8), selinuxconlist(8)
-diff --exclude-from=exclude -N -u -r nsalibselinux/src/callbacks.c libselinux-2.0.76/src/callbacks.c
+diff --exclude-from=exclude -N -u -r nsalibselinux/src/callbacks.c libselinux-2.0.77/src/callbacks.c
 --- nsalibselinux/src/callbacks.c	2008-08-28 09:34:24.000000000 -0400
-+++ libselinux-2.0.76/src/callbacks.c	2008-12-02 09:14:48.000000000 -0500
++++ libselinux-2.0.77/src/callbacks.c	2009-02-18 14:18:54.000000000 -0500
 @@ -16,6 +16,7 @@
  {
  	int rc;
@@ -72,9 +81,18 @@
  	va_start(ap, fmt);
  	rc = vfprintf(stderr, fmt, ap);
  	va_end(ap);
-diff --exclude-from=exclude -N -u -r nsalibselinux/src/matchpathcon.c libselinux-2.0.76/src/matchpathcon.c
+diff --exclude-from=exclude -N -u -r nsalibselinux/src/file_path_suffixes.h libselinux-2.0.77/src/file_path_suffixes.h
+--- nsalibselinux/src/file_path_suffixes.h	2009-01-05 17:45:35.000000000 -0500
++++ libselinux-2.0.77/src/file_path_suffixes.h	2009-02-18 14:18:54.000000000 -0500
+@@ -20,3 +20,5 @@
+     S_(FILE_CONTEXTS_LOCAL, "/contexts/files/file_contexts.local")
+     S_(X_CONTEXTS, "/contexts/x_contexts")
+     S_(COLORS, "/secolor.conf")
++    S_(VIRTUAL_DOMAIN, "/contexts/virtual_domain_context")
++    S_(VIRTUAL_IMAGE, "/contexts/virtual_image_context")
+diff --exclude-from=exclude -N -u -r nsalibselinux/src/matchpathcon.c libselinux-2.0.77/src/matchpathcon.c
 --- nsalibselinux/src/matchpathcon.c	2008-08-28 09:34:24.000000000 -0400
-+++ libselinux-2.0.76/src/matchpathcon.c	2008-12-02 09:14:48.000000000 -0500
++++ libselinux-2.0.77/src/matchpathcon.c	2009-02-18 14:18:54.000000000 -0500
 @@ -2,6 +2,7 @@
  #include <string.h>
  #include <errno.h>
@@ -92,33 +110,64 @@
  	va_end(ap);
  }
  
-diff --exclude-from=exclude -N -u -r nsalibselinux/src/selinux.py libselinux-2.0.76/src/selinux.py
---- nsalibselinux/src/selinux.py	2008-08-28 09:34:24.000000000 -0400
-+++ libselinux-2.0.76/src/selinux.py	2008-12-12 10:08:01.000000000 -0500
+diff --exclude-from=exclude -N -u -r nsalibselinux/src/selinux_config.c libselinux-2.0.77/src/selinux_config.c
+--- nsalibselinux/src/selinux_config.c	2009-01-05 17:45:35.000000000 -0500
++++ libselinux-2.0.77/src/selinux_config.c	2009-02-18 14:18:54.000000000 -0500
+@@ -40,7 +40,9 @@
+ #define SECURETTY_TYPES   18
+ #define X_CONTEXTS        19
+ #define COLORS            20
+-#define NEL               21
++#define VIRTUAL_DOMAIN    21
++#define VIRTUAL_IMAGE     22
++#define NEL               23
+ 
+ /* New layout is relative to SELINUXDIR/policytype. */
+ static char *file_paths[NEL];
+@@ -391,3 +393,17 @@
+ }
+ 
+ hidden_def(selinux_x_context_path)
++
++const char *selinux_virtual_domain_context_path()
++{
++	return get_path(VIRTUAL_DOMAIN);
++}
++
++hidden_def(selinux_virtual_domain_context_path)
++
++const char *selinux_virtual_image_context_path()
++{
++	return get_path(VIRTUAL_IMAGE);
++}
++
++hidden_def(selinux_virtual_image_context_path)
+diff --exclude-from=exclude -N -u -r nsalibselinux/src/selinux_internal.h libselinux-2.0.77/src/selinux_internal.h
+--- nsalibselinux/src/selinux_internal.h	2009-01-05 17:45:35.000000000 -0500
++++ libselinux-2.0.77/src/selinux_internal.h	2009-02-18 14:18:54.000000000 -0500
+@@ -56,6 +56,8 @@
+     hidden_proto(selinux_securetty_types_path)
+     hidden_proto(selinux_failsafe_context_path)
+     hidden_proto(selinux_removable_context_path)
++    hidden_proto(selinux_virtual_domain_context_path)
++    hidden_proto(selinux_virtual_image_context_path)
+     hidden_proto(selinux_file_context_path)
+     hidden_proto(selinux_file_context_homedir_path)
+     hidden_proto(selinux_file_context_local_path)
+diff --exclude-from=exclude -N -u -r nsalibselinux/src/selinux.py libselinux-2.0.77/src/selinux.py
+--- nsalibselinux/src/selinux.py	2009-01-13 08:45:35.000000000 -0500
++++ libselinux-2.0.77/src/selinux.py	2009-02-18 14:18:54.000000000 -0500
 @@ -1,5 +1,5 @@
  # This file was automatically generated by SWIG (http://www.swig.org).
--# Version 1.3.33
+-# Version 1.3.35
 +# Version 1.3.36
  #
  # Don't modify this file, modify the SWIG interface instead.
  # This file is compatible with both classic and new-style classes.
-@@ -48,6 +48,29 @@
- del types
- 
+@@ -61,6 +61,15 @@
+                              map(restorecon, [os.path.join(dirname, fname)
+                                               for fname in fnames]), None)
  
-+import shutil, os, stat
-+
-+def restorecon(path, recursive=False):
-+    """ Restore SELinux context on a given path """
-+    mode = os.stat(path)[stat.ST_MODE]
-+    status, context = matchpathcon(path, mode)
-+    if status == 0:
-+        lsetfilecon(path, context)
-+        if recursive:
-+            os.path.walk(path, lambda arg, dirname, fnames:
-+                             map(restorecon, [os.path.join(dirname, fname)
-+                                              for fname in fnames]), None)
-+
 +def copytree(src, dest):
 +    """ An SELinux-friendly shutil.copytree method """
 +    shutil.copytree(src, dest)
@@ -128,40 +177,432 @@
 +    """ An SELinux-friendly shutil.move method """
 +    shutil.move(src, dest)
 +    restorecon(dest, recursive=True)
-+
+ 
  is_selinux_enabled = _selinux.is_selinux_enabled
  is_selinux_mls_enabled = _selinux.is_selinux_mls_enabled
- getcon = _selinux.getcon
-@@ -297,6 +320,7 @@
+@@ -102,86 +111,9 @@
+ fsetfilecon_raw = _selinux.fsetfilecon_raw
+ getpeercon = _selinux.getpeercon
+ getpeercon_raw = _selinux.getpeercon_raw
+-class av_decision(_object):
+-    __swig_setmethods__ = {}
+-    __setattr__ = lambda self, name, value: _swig_setattr(self, av_decision, name, value)
+-    __swig_getmethods__ = {}
+-    __getattr__ = lambda self, name: _swig_getattr(self, av_decision, name)
+-    __repr__ = _swig_repr
+-    __swig_setmethods__["allowed"] = _selinux.av_decision_allowed_set
+-    __swig_getmethods__["allowed"] = _selinux.av_decision_allowed_get
+-    if _newclass:allowed = _swig_property(_selinux.av_decision_allowed_get, _selinux.av_decision_allowed_set)
+-    __swig_setmethods__["decided"] = _selinux.av_decision_decided_set
+-    __swig_getmethods__["decided"] = _selinux.av_decision_decided_get
+-    if _newclass:decided = _swig_property(_selinux.av_decision_decided_get, _selinux.av_decision_decided_set)
+-    __swig_setmethods__["auditallow"] = _selinux.av_decision_auditallow_set
+-    __swig_getmethods__["auditallow"] = _selinux.av_decision_auditallow_get
+-    if _newclass:auditallow = _swig_property(_selinux.av_decision_auditallow_get, _selinux.av_decision_auditallow_set)
[...11618 lines suppressed...]
++static swig_type_info _swigt__p_avc_memory_callback = {"_p_avc_memory_callback", "struct avc_memory_callback *", 0, 0, (void*)0, 0};
++static swig_type_info _swigt__p_avc_thread_callback = {"_p_avc_thread_callback", "struct avc_thread_callback *", 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_f_void__void__p_void = {"_p_f_p_f_void__void__p_void", "void *(*)(void (*)(void))", 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};
+-static swig_type_info _swigt__p_f_p_q_const__char_v_______void = {"_p_f_p_q_const__char_v_______void", "void (*)(char const *,...)", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_f_p_void__void = {"_p_f_p_void__void", "void (*)(void *)", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_f_p_void_unsigned_short_p_char_size_t__int = {"_p_f_p_void_unsigned_short_p_char_size_t__int", "int (*)(void *,unsigned short,char *,size_t)|int (*)(void *,security_class_t,char *,size_t)", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_f_p_void_unsigned_short_p_char_size_t__void = {"_p_f_p_void_unsigned_short_p_char_size_t__void", "void (*)(void *,unsigned short,char *,size_t)|void (*)(void *,security_class_t,char *,size_t)", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_f_size_t__p_void = {"_p_f_size_t__p_void", "void *(*)(size_t)", 0, 0, (void*)0, 0};
+-static swig_type_info _swigt__p_f_void__p_void = {"_p_f_void__p_void", "void *(*)(void)", 0, 0, (void*)0, 0};
+ static swig_type_info _swigt__p_ino_t = {"_p_ino_t", "ino_t *", 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 **|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_p_security_id = {"_p_p_security_id", "struct security_id **|security_id_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_security_id = {"_p_security_id", "security_id_t|struct security_id *|security_id *", 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_security_id = {"_p_security_id", "security_id_t|struct security_id *", 0, 0, (void*)0, 0};
++static swig_type_info _swigt__p_selinux_opt = {"_p_selinux_opt", "struct 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,
+   &_swigt__p_av_decision,
+-  &_swigt__p_avc_cache_stats,
+-  &_swigt__p_avc_entry,
+   &_swigt__p_avc_entry_ref,
+   &_swigt__p_avc_lock_callback,
+   &_swigt__p_avc_log_callback,
+   &_swigt__p_avc_memory_callback,
+   &_swigt__p_avc_thread_callback,
+   &_swigt__p_char,
+-  &_swigt__p_f_int_p_q_const__char_v_______int,
+-  &_swigt__p_f_p_f_void__void__p_void,
+-  &_swigt__p_f_p_p_char__int,
+-  &_swigt__p_f_p_q_const__char_v_______void,
+-  &_swigt__p_f_p_void__void,
+-  &_swigt__p_f_p_void_unsigned_short_p_char_size_t__int,
+-  &_swigt__p_f_p_void_unsigned_short_p_char_size_t__void,
+-  &_swigt__p_f_size_t__p_void,
+-  &_swigt__p_f_void__p_void,
+   &_swigt__p_ino_t,
+   &_swigt__p_int,
+   &_swigt__p_p_char,
+   &_swigt__p_p_p_char,
+   &_swigt__p_p_security_id,
+-  &_swigt__p_security_class_mapping,
+   &_swigt__p_security_id,
+-  &_swigt__p_selinux_callback,
+   &_swigt__p_selinux_opt,
+   &_swigt__p_unsigned_int,
+   &_swigt__p_unsigned_short,
+@@ -10454,31 +8494,18 @@
+ 
+ static swig_cast_info _swigc__p_SELboolean[] = {  {&_swigt__p_SELboolean, 0, 0, 0},{0, 0, 0, 0}};
+ static swig_cast_info _swigc__p_av_decision[] = {  {&_swigt__p_av_decision, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_avc_cache_stats[] = {  {&_swigt__p_avc_cache_stats, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_avc_entry[] = {  {&_swigt__p_avc_entry, 0, 0, 0},{0, 0, 0, 0}};
+ static swig_cast_info _swigc__p_avc_entry_ref[] = {  {&_swigt__p_avc_entry_ref, 0, 0, 0},{0, 0, 0, 0}};
+ static swig_cast_info _swigc__p_avc_lock_callback[] = {  {&_swigt__p_avc_lock_callback, 0, 0, 0},{0, 0, 0, 0}};
+ static swig_cast_info _swigc__p_avc_log_callback[] = {  {&_swigt__p_avc_log_callback, 0, 0, 0},{0, 0, 0, 0}};
+ static swig_cast_info _swigc__p_avc_memory_callback[] = {  {&_swigt__p_avc_memory_callback, 0, 0, 0},{0, 0, 0, 0}};
+ static swig_cast_info _swigc__p_avc_thread_callback[] = {  {&_swigt__p_avc_thread_callback, 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_f_int_p_q_const__char_v_______int[] = {  {&_swigt__p_f_int_p_q_const__char_v_______int, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_f_p_f_void__void__p_void[] = {  {&_swigt__p_f_p_f_void__void__p_void, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_f_p_p_char__int[] = {  {&_swigt__p_f_p_p_char__int, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_f_p_q_const__char_v_______void[] = {  {&_swigt__p_f_p_q_const__char_v_______void, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_f_p_void__void[] = {  {&_swigt__p_f_p_void__void, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_f_p_void_unsigned_short_p_char_size_t__int[] = {  {&_swigt__p_f_p_void_unsigned_short_p_char_size_t__int, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_f_p_void_unsigned_short_p_char_size_t__void[] = {  {&_swigt__p_f_p_void_unsigned_short_p_char_size_t__void, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_f_size_t__p_void[] = {  {&_swigt__p_f_size_t__p_void, 0, 0, 0},{0, 0, 0, 0}};
+-static swig_cast_info _swigc__p_f_void__p_void[] = {  {&_swigt__p_f_void__p_void, 0, 0, 0},{0, 0, 0, 0}};
+ static swig_cast_info _swigc__p_ino_t[] = {  {&_swigt__p_ino_t, 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_id[] = {  {&_swigt__p_p_security_id, 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_security_id[] = {  {&_swigt__p_security_id, 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}};
+ static swig_cast_info _swigc__p_unsigned_int[] = {  {&_swigt__p_unsigned_int, 0, 0, 0},{0, 0, 0, 0}};
+ static swig_cast_info _swigc__p_unsigned_short[] = {  {&_swigt__p_unsigned_short, 0, 0, 0},{0, 0, 0, 0}};
+@@ -10486,31 +8513,18 @@
+ static swig_cast_info *swig_cast_initial[] = {
+   _swigc__p_SELboolean,
+   _swigc__p_av_decision,
+-  _swigc__p_avc_cache_stats,
+-  _swigc__p_avc_entry,
+   _swigc__p_avc_entry_ref,
+   _swigc__p_avc_lock_callback,
+   _swigc__p_avc_log_callback,
+   _swigc__p_avc_memory_callback,
+   _swigc__p_avc_thread_callback,
+   _swigc__p_char,
+-  _swigc__p_f_int_p_q_const__char_v_______int,
+-  _swigc__p_f_p_f_void__void__p_void,
+-  _swigc__p_f_p_p_char__int,
+-  _swigc__p_f_p_q_const__char_v_______void,
+-  _swigc__p_f_p_void__void,
+-  _swigc__p_f_p_void_unsigned_short_p_char_size_t__int,
+-  _swigc__p_f_p_void_unsigned_short_p_char_size_t__void,
+-  _swigc__p_f_size_t__p_void,
+-  _swigc__p_f_void__p_void,
+   _swigc__p_ino_t,
+   _swigc__p_int,
+   _swigc__p_p_char,
+   _swigc__p_p_p_char,
+   _swigc__p_p_security_id,
+-  _swigc__p_security_class_mapping,
+   _swigc__p_security_id,
+-  _swigc__p_selinux_callback,
+   _swigc__p_selinux_opt,
+   _swigc__p_unsigned_int,
+   _swigc__p_unsigned_short,
+diff --exclude-from=exclude -N -u -r nsalibselinux/src/seusers.c libselinux-2.0.77/src/seusers.c
 --- nsalibselinux/src/seusers.c	2008-08-28 09:34:24.000000000 -0400
-+++ libselinux-2.0.76/src/seusers.c	2008-12-16 09:36:39.000000000 -0500
++++ libselinux-2.0.77/src/seusers.c	2009-02-18 14:18:54.000000000 -0500
 @@ -243,3 +243,67 @@
  	*r_level = NULL;
  	return 0;
@@ -3030,9 +10362,9 @@
 +
 +	return (ret ? getseuserbyname(username, r_seuser, r_level) : ret);
 +}
-diff --exclude-from=exclude -N -u -r nsalibselinux/utils/getdefaultcon.c libselinux-2.0.76/utils/getdefaultcon.c
+diff --exclude-from=exclude -N -u -r nsalibselinux/utils/getdefaultcon.c libselinux-2.0.77/utils/getdefaultcon.c
 --- nsalibselinux/utils/getdefaultcon.c	2008-08-28 09:34:24.000000000 -0400
-+++ libselinux-2.0.76/utils/getdefaultcon.c	2008-12-02 09:33:14.000000000 -0500
++++ libselinux-2.0.77/utils/getdefaultcon.c	2009-02-18 14:18:54.000000000 -0500
 @@ -22,8 +22,9 @@
  	security_context_t usercon = NULL, cur_context = NULL;
  	char *user = NULL, *level = NULL, *role=NULL, *seuser=NULL, *dlevel=NULL;
@@ -3078,3 +10410,59 @@
 -	return 0;
 +	return ret >= 0;
  }
+diff --exclude-from=exclude -N -u -r nsalibselinux/utils/Makefile libselinux-2.0.77/utils/Makefile
+--- nsalibselinux/utils/Makefile	2008-08-28 09:34:24.000000000 -0400
++++ libselinux-2.0.77/utils/Makefile	2009-02-18 14:18:54.000000000 -0500
+@@ -2,28 +2,33 @@
+ PREFIX ?= $(DESTDIR)/usr
+ LIBDIR ?= $(PREFIX)/lib
+ BINDIR ?= $(PREFIX)/sbin
++_BINDIR ?= $(DESTDIR)/sbin
+ 
+ CFLAGS ?= -Wall
+ override CFLAGS += -I../include -D_GNU_SOURCE $(EMFLAGS)
+ LDLIBS += -L../src -lselinux -L$(LIBDIR)
+ 
+ TARGETS=$(patsubst %.c,%,$(wildcard *.c))
++
++
+ ifeq ($(DISABLE_AVC),y)
+ 	UNUSED_TARGETS+=compute_av compute_create compute_member compute_relabel
+ endif
+ ifeq ($(DISABLE_BOOL),y)
+ 	UNUSED_TARGETS+=getsebool togglesebool
+ endif
+-TARGETS:= $(filter-out $(UNUSED_TARGETS), $(TARGETS))
++TARGETS:= $(filter-out $(UNUSED_TARGETS) matchpathcon, $(TARGETS))
+ 
+-all: $(TARGETS)
++all: $(TARGETS) matchpathcon
+ 
+ install: all
+ 	-mkdir -p $(BINDIR)
+ 	install -m 755 $(TARGETS) $(BINDIR)
+-
++	-mkdir -p $(_BINDIR)
++	install -m 755 matchpathcon $(_BINDIR)
++	(cd $(BINDIR); 	ln -fs ../../sbin/matchpathcon)
+ clean:
+-	rm -f $(TARGETS) *.o 
++	rm -f $(TARGETS) *.o *~
+ 
+ indent:
+ 	../../scripts/Lindent $(wildcard *.[ch])
+diff --exclude-from=exclude -N -u -r nsalibselinux/utils/matchpathcon.c libselinux-2.0.77/utils/matchpathcon.c
+--- nsalibselinux/utils/matchpathcon.c	2008-10-28 10:06:51.000000000 -0400
++++ libselinux-2.0.77/utils/matchpathcon.c	2009-02-18 14:18:54.000000000 -0500
+@@ -101,6 +101,11 @@
+ 	for (i = optind; i < argc; i++) {
+ 		int mode = 0;
+ 		struct stat buf;
++		int len = strlen(argv[i]);
++		if (len > 1  && argv[i][len - 1 ] == '/') {
++			argv[i][len - 1 ] = '\0';
++		}
++
+ 		if (lstat(argv[i], &buf) == 0)
+ 			mode = buf.st_mode;
+ 


Index: libselinux.spec
===================================================================
RCS file: /cvs/extras/rpms/libselinux/F-10/libselinux.spec,v
retrieving revision 1.347
retrieving revision 1.348
diff -u -r1.347 -r1.348
--- libselinux.spec	16 Dec 2008 14:45:25 -0000	1.347
+++ libselinux.spec	2 Mar 2009 18:24:56 -0000	1.348
@@ -4,8 +4,8 @@
 
 Summary: SELinux library and simple utilities
 Name: libselinux
-Version: 2.0.76
-Release: 5%{?dist}
+Version: 2.0.78
+Release: 1%{?dist}
 License: Public Domain
 Group: System Environment/Libraries
 Source: http://www.nsa.gov/selinux/archives/%{name}-%{version}.tgz
@@ -127,6 +127,7 @@
 %defattr(-,root,root,-)
 /%{_lib}/libselinux.so.*
 /var/run/setrans
+/sbin/matchpathcon
 
 %files utils
 %defattr(-,root,root,-)
@@ -163,7 +164,31 @@
 %{ruby_sitearch}/selinux.so
 
 %changelog
-* Tue Dec 16 2008 Dan Walsh <dwalsh at redhat.com> - 2.0.76-5
+* Mon Mar 2 2009 Dan Walsh <dwalsh at redhat.com> - 2.0.78-1
+- Update to upstream
+	* Fix incorrect conversion in discover_class code.
+
+* Wed Feb 25 2009 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 2.0.77-6
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
+
+* Wed Feb 18 2009 Dan Walsh <dwalsh at redhat.com> - 2.0.77-5
+- Add 
+  - selinux_virtual_domain_context_path
+  - selinux_virtual_image_context_path
+
+* Tue Jan 6 2009 Dan Walsh <dwalsh at redhat.com> - 2.0.77-3
+- Throw exeptions in python swig bindings on failures
+
+* Tue Jan 6 2009 Dan Walsh <dwalsh at redhat.com> - 2.0.77-2
+- Fix restorecon python code
+
+* Tue Jan 6 2009 Dan Walsh <dwalsh at redhat.com> - 2.0.77-1
+- Update to upstream
+
+* Tue Dec 16 2008 Dan Walsh <dwalsh at redhat.com> - 2.0.76-6
+- Strip trailing / for matchpathcon
+
+* Tue Dec 16 2008 Dan Walsh <dwalsh at redhat.com>l - 2.0.76-5
 - Fix segfault if seusers file does not work
 
 * Fri Dec 12 2008 Dan Walsh <dwalsh at redhat.com> - 2.0.76-4


Index: sources
===================================================================
RCS file: /cvs/extras/rpms/libselinux/F-10/sources,v
retrieving revision 1.179
retrieving revision 1.180
diff -u -r1.179 -r1.180
--- sources	12 Dec 2008 15:30:56 -0000	1.179
+++ sources	2 Mar 2009 18:24:56 -0000	1.180
@@ -1 +1 @@
-6829e79d3103683961d82c419bdb4e86  libselinux-2.0.76.tgz
+c34327ec14643572f284589a2c72dcaa  libselinux-2.0.78.tgz




More information about the fedora-extras-commits mailing list