[policycoreutils/f16] Add listing of distribution equivalence class from semanage fcontext -l Add checking to semanage fco

Daniel J Walsh dwalsh at fedoraproject.org
Wed Nov 16 20:44:11 UTC 2011


commit d3b43fe3963492cf4e9ce8c50600771f37a05f1c
Author: Dan Walsh <dwalsh at redhat.com>
Date:   Wed Nov 16 15:44:06 2011 -0500

    Add listing of distribution equivalence class from semanage fcontext -l
    Add checking to semanage fcontext -a to guarantee a file specification will not be masked by an equivalence
    
    Update to latest sepolgen
    Allow ~ as a valid part of a filename in sepolgen

 policycoreutils-f17.patch |  144 +++++++++++++++++++++++++++++++++------------
 policycoreutils.spec      |    8 ++-
 2 files changed, 111 insertions(+), 41 deletions(-)
---
diff --git a/policycoreutils-f17.patch b/policycoreutils-f17.patch
index 85cd9ab..6e1fa7e 100644
--- a/policycoreutils-f17.patch
+++ b/policycoreutils-f17.patch
@@ -1,6 +1,6 @@
 diff -up policycoreutils-2.1.4/audit2allow/audit2allow.f17 policycoreutils-2.1.4/audit2allow/audit2allow
---- policycoreutils-2.1.4/audit2allow/audit2allow.f17	2011-10-31 11:12:36.857781128 -0400
-+++ policycoreutils-2.1.4/audit2allow/audit2allow	2011-10-31 11:12:37.170780967 -0400
+--- policycoreutils-2.1.4/audit2allow/audit2allow.f17	2011-11-16 11:31:29.915038771 -0500
++++ policycoreutils-2.1.4/audit2allow/audit2allow	2011-11-16 11:31:30.303038032 -0500
 @@ -104,7 +104,7 @@ class AuditToPolicy:
          if name:
              options.requires = True
@@ -12,7 +12,7 @@ diff -up policycoreutils-2.1.4/audit2allow/audit2allow.f17 policycoreutils-2.1.4
          # Make -M and -o conflict
 diff -up policycoreutils-2.1.4/.gitignore.f17 policycoreutils-2.1.4/.gitignore
 --- policycoreutils-2.1.4/.gitignore.f17	2011-08-18 06:52:31.000000000 -0400
-+++ policycoreutils-2.1.4/.gitignore	2011-10-31 11:12:37.170780967 -0400
++++ policycoreutils-2.1.4/.gitignore	2011-11-16 11:31:30.305038028 -0500
 @@ -9,6 +9,7 @@ semodule_deps/semodule_deps
  semodule_expand/semodule_expand
  semodule_link/semodule_link
@@ -23,7 +23,7 @@ diff -up policycoreutils-2.1.4/.gitignore.f17 policycoreutils-2.1.4/.gitignore
  setfiles/setfiles
 diff -up policycoreutils-2.1.4/mcstrans/man/Makefile.f17 policycoreutils-2.1.4/mcstrans/man/Makefile
 --- policycoreutils-2.1.4/mcstrans/man/Makefile.f17	2011-08-18 06:52:31.000000000 -0400
-+++ policycoreutils-2.1.4/mcstrans/man/Makefile	2011-10-31 11:12:37.170780967 -0400
++++ policycoreutils-2.1.4/mcstrans/man/Makefile	2011-11-16 11:31:30.306038026 -0500
 @@ -1,7 +1,9 @@
  # Installation directories.
  MAN8DIR ?= $(DESTDIR)/usr/share/man/man8
@@ -36,8 +36,8 @@ diff -up policycoreutils-2.1.4/mcstrans/man/Makefile.f17 policycoreutils-2.1.4/m
  	install -m 644 man8/*.8 $(MAN8DIR)
  
 diff -up policycoreutils-2.1.4/newrole/newrole.c.f17 policycoreutils-2.1.4/newrole/newrole.c
---- policycoreutils-2.1.4/newrole/newrole.c.f17	2011-10-31 11:12:36.858781127 -0400
-+++ policycoreutils-2.1.4/newrole/newrole.c	2011-10-31 11:12:37.171780966 -0400
+--- policycoreutils-2.1.4/newrole/newrole.c.f17	2011-11-16 11:31:29.918038765 -0500
++++ policycoreutils-2.1.4/newrole/newrole.c	2011-11-16 11:31:30.307038024 -0500
 @@ -543,13 +543,13 @@ static int restore_environment(int prese
  #if defined(AUDIT_LOG_PRIV) && !defined(NAMESPACE_PRIV)
  static int drop_capabilities(int full)
@@ -56,16 +56,16 @@ diff -up policycoreutils-2.1.4/newrole/newrole.c.f17 policycoreutils-2.1.4/newro
  	if (setresuid(uid, uid, uid)) {
  		fprintf(stderr, _("Error changing uid, aborting.\n"));
 diff -up policycoreutils-2.1.4/restorecond/restorecond_user.conf.f17 policycoreutils-2.1.4/restorecond/restorecond_user.conf
---- policycoreutils-2.1.4/restorecond/restorecond_user.conf.f17	2011-10-31 11:13:23.396756853 -0400
-+++ policycoreutils-2.1.4/restorecond/restorecond_user.conf	2011-10-31 11:13:31.549752558 -0400
+--- policycoreutils-2.1.4/restorecond/restorecond_user.conf.f17	2011-11-16 11:31:29.926038751 -0500
++++ policycoreutils-2.1.4/restorecond/restorecond_user.conf	2011-11-16 11:31:30.308038022 -0500
 @@ -5,3 +5,4 @@
  ~/.fonts/*
  ~/.cache/*
  ~/.config/*
 +~/.local/share/*
 diff -up policycoreutils-2.1.4/restorecond/user.c.f17 policycoreutils-2.1.4/restorecond/user.c
---- policycoreutils-2.1.4/restorecond/user.c.f17	2011-10-31 11:14:22.239725545 -0400
-+++ policycoreutils-2.1.4/restorecond/user.c	2011-10-31 11:14:33.495719482 -0400
+--- policycoreutils-2.1.4/restorecond/user.c.f17	2011-11-16 11:31:29.927038749 -0500
++++ policycoreutils-2.1.4/restorecond/user.c	2011-11-16 11:31:30.309038021 -0500
 @@ -123,6 +123,11 @@ io_channel_callback
         sizeof (buffer),
         &bytes_read);
@@ -110,8 +110,8 @@ diff -up policycoreutils-2.1.4/restorecond/user.c.f17 policycoreutils-2.1.4/rest
  
      read_config(master_fd, watch_file);
 diff -up policycoreutils-2.1.4/sandbox/sandbox.8.f17 policycoreutils-2.1.4/sandbox/sandbox.8
---- policycoreutils-2.1.4/sandbox/sandbox.8.f17	2011-11-11 15:27:33.999851089 -0500
-+++ policycoreutils-2.1.4/sandbox/sandbox.8	2011-11-11 15:27:39.190859121 -0500
+--- policycoreutils-2.1.4/sandbox/sandbox.8.f17	2011-11-16 11:31:29.932038739 -0500
++++ policycoreutils-2.1.4/sandbox/sandbox.8	2011-11-16 11:31:30.310038020 -0500
 @@ -3,11 +3,11 @@
  sandbox \- Run cmd under an SELinux sandbox
  .SH SYNOPSIS
@@ -137,8 +137,8 @@ diff -up policycoreutils-2.1.4/sandbox/sandbox.8.f17 policycoreutils-2.1.4/sandb
  Use control groups to control this copy of sandbox.  Specify parameters in /etc/sysconfig/sandbox.  Max memory usage and cpu usage are to be specified in percent.  You can specify which CPUs to use by numbering them 0,1,2... etc.
  .TP
 diff -up policycoreutils-2.1.4/sandbox/sandbox.f17 policycoreutils-2.1.4/sandbox/sandbox
---- policycoreutils-2.1.4/sandbox/sandbox.f17	2011-10-31 11:12:36.860781127 -0400
-+++ policycoreutils-2.1.4/sandbox/sandbox	2011-11-11 15:28:06.707901631 -0500
+--- policycoreutils-2.1.4/sandbox/sandbox.f17	2011-11-16 11:31:29.931038741 -0500
++++ policycoreutils-2.1.4/sandbox/sandbox	2011-11-16 11:31:30.311038018 -0500
 @@ -118,10 +118,30 @@ def reserve(level):
      sock.bind("\0%s" % level)
      fcntl.fcntl(sock.fileno(), fcntl.F_SETFD, fcntl.FD_CLOEXEC)
@@ -240,8 +240,8 @@ diff -up policycoreutils-2.1.4/sandbox/sandbox.f17 policycoreutils-2.1.4/sandbox
                                  cmds += [ "--" ] + self.__paths
                           return subprocess.Popen(cmds).wait()
 diff -up policycoreutils-2.1.4/sandbox/sandbox.init.f17 policycoreutils-2.1.4/sandbox/sandbox.init
---- policycoreutils-2.1.4/sandbox/sandbox.init.f17	2011-10-31 11:12:36.861781127 -0400
-+++ policycoreutils-2.1.4/sandbox/sandbox.init	2011-11-11 15:26:49.845782455 -0500
+--- policycoreutils-2.1.4/sandbox/sandbox.init.f17	2011-11-16 11:31:29.933038737 -0500
++++ policycoreutils-2.1.4/sandbox/sandbox.init	2011-11-16 11:31:30.312038016 -0500
 @@ -13,7 +13,7 @@
  # description: sandbox, xguest and other apps that want to use pam_namespace \
  #              require this script be run at boot.  This service script does \
@@ -272,8 +272,8 @@ diff -up policycoreutils-2.1.4/sandbox/sandbox.init.f17 policycoreutils-2.1.4/sa
  	touch $LOCKFILE
  	mount --make-rshared / || return $? 
 diff -up policycoreutils-2.1.4/sandbox/seunshare.c.f17 policycoreutils-2.1.4/sandbox/seunshare.c
---- policycoreutils-2.1.4/sandbox/seunshare.c.f17	2011-10-31 11:12:36.862781127 -0400
-+++ policycoreutils-2.1.4/sandbox/seunshare.c	2011-10-31 11:12:37.171780966 -0400
+--- policycoreutils-2.1.4/sandbox/seunshare.c.f17	2011-11-16 11:31:29.937038729 -0500
++++ policycoreutils-2.1.4/sandbox/seunshare.c	2011-11-16 11:31:30.313038014 -0500
 @@ -5,8 +5,9 @@
  
  #define _GNU_SOURCE
@@ -343,8 +343,8 @@ diff -up policycoreutils-2.1.4/sandbox/seunshare.c.f17 policycoreutils-2.1.4/san
  	}
  
 diff -up policycoreutils-2.1.4/semanage/default_encoding/default_encoding.c.f17 policycoreutils-2.1.4/semanage/default_encoding/default_encoding.c
---- policycoreutils-2.1.4/semanage/default_encoding/default_encoding.c.f17	2011-10-31 11:12:36.863781126 -0400
-+++ policycoreutils-2.1.4/semanage/default_encoding/default_encoding.c	2011-10-31 11:23:38.392773952 -0400
+--- policycoreutils-2.1.4/semanage/default_encoding/default_encoding.c.f17	2011-11-16 11:31:29.941038721 -0500
++++ policycoreutils-2.1.4/semanage/default_encoding/default_encoding.c	2011-11-16 11:31:30.314038012 -0500
 @@ -52,8 +52,6 @@ static PyMethodDef methods[] = {
  PyMODINIT_FUNC
  initdefault_encoding_utf8(void)
@@ -357,7 +357,7 @@ diff -up policycoreutils-2.1.4/semanage/default_encoding/default_encoding.c.f17
  }
 diff -up policycoreutils-2.1.4/semanage/semanage.8.f17 policycoreutils-2.1.4/semanage/semanage.8
 --- policycoreutils-2.1.4/semanage/semanage.8.f17	2011-08-18 06:52:31.000000000 -0400
-+++ policycoreutils-2.1.4/semanage/semanage.8	2011-10-31 11:12:37.171780966 -0400
++++ policycoreutils-2.1.4/semanage/semanage.8	2011-11-16 11:31:30.315038010 -0500
 @@ -163,6 +163,9 @@ SELinux Type for the object
  .I                \-i, \-\-input
  Take a set of commands from a specified file and load them in a single
@@ -369,8 +369,8 @@ diff -up policycoreutils-2.1.4/semanage/semanage.8.f17 policycoreutils-2.1.4/sem
  .SH EXAMPLE
  .nf
 diff -up policycoreutils-2.1.4/semanage/semanage.f17 policycoreutils-2.1.4/semanage/semanage
---- policycoreutils-2.1.4/semanage/semanage.f17	2011-10-31 11:12:36.863781126 -0400
-+++ policycoreutils-2.1.4/semanage/semanage	2011-10-31 11:12:37.171780966 -0400
+--- policycoreutils-2.1.4/semanage/semanage.f17	2011-11-16 11:31:29.944038715 -0500
++++ policycoreutils-2.1.4/semanage/semanage	2011-11-16 11:31:30.317038006 -0500
 @@ -575,3 +575,5 @@ Object-specific Options (see above):
  		errorExit(error.args[1])
  	except OSError, error:
@@ -378,8 +378,8 @@ diff -up policycoreutils-2.1.4/semanage/semanage.f17 policycoreutils-2.1.4/seman
 +	except RuntimeError, error:
 +		errorExit(error.args[0])
 diff -up policycoreutils-2.1.4/semanage/seobject.py.f17 policycoreutils-2.1.4/semanage/seobject.py
---- policycoreutils-2.1.4/semanage/seobject.py.f17	2011-10-31 11:12:36.864781125 -0400
-+++ policycoreutils-2.1.4/semanage/seobject.py	2011-10-31 11:12:37.172780966 -0400
+--- policycoreutils-2.1.4/semanage/seobject.py.f17	2011-11-16 11:31:29.947038710 -0500
++++ policycoreutils-2.1.4/semanage/seobject.py	2011-11-16 15:42:22.719523501 -0500
 @@ -1,5 +1,5 @@
  #! /usr/bin/python -E
 -# Copyright (C) 2005, 2006, 2007, 2008, 2009 Red Hat 
@@ -495,7 +495,53 @@ diff -up policycoreutils-2.1.4/semanage/seobject.py.f17 policycoreutils-2.1.4/se
  		if is_mls_enabled:
  			for k in keys:
  				print "%-30s %s:%s:%s:%s " % (k,ddict[k][0], ddict[k][1],ddict[k][2], translate(ddict[k][3], False))
-@@ -1793,8 +1818,11 @@ class fcontextRecords(semanageRecords):
+@@ -1506,6 +1531,7 @@ class fcontextRecords(semanageRecords):
+ 	def __init__(self, store = ""):
+ 		semanageRecords.__init__(self, store)
+                 self.equiv = {}
++                self.equiv_dist = {}
+                 self.equal_ind = False
+                 try:
+                        fd = open(selinux.selinux_file_context_subs_path(), "r")
+@@ -1515,6 +1541,14 @@ class fcontextRecords(semanageRecords):
+                        fd.close()
+                 except IOError:
+                        pass
++                try:
++                       fd = open(selinux.selinux_file_context_subs_dist_path(), "r")
++                       for i in fd.readlines():
++                              src, dst = i.split()
++                              self.equiv_dist[src] = dst
++                       fd.close()
++                except IOError:
++                       pass
+ 
+         def commit(self):
+                 if self.equal_ind:
+@@ -1570,12 +1604,21 @@ class fcontextRecords(semanageRecords):
+ 
+                 return con
+                
++        def check_equiv(self, target, fdict):
++		for i in fdict:
++			if target.startswith(i+"/"):
++				t = re.sub(i, fdict[i], target)
++				raise ValueError(_("File spec %s conflicts with equivalency rule '%s %s'; Try adding '%s' instead") % (target, i, fdict[i], t))
++
++			
+         def validate(self, target):
+                if target == "" or target.find("\n") >= 0:
+                       raise ValueError(_("Invalid file specification"))
+                if target.find(" ") != -1:
+                       raise ValueError(_("File specification can not include spaces"))
+-                      
++	       self.check_equiv(target, self.equiv)
++	       self.check_equiv(target, self.equiv_dist)
++			       
+ 	def __add(self, target, type, ftype = "", serange = "", seuser = "system_u"):
+                 self.validate(target)
+ 
+@@ -1793,8 +1836,11 @@ class fcontextRecords(semanageRecords):
  	def list(self, heading = 1, locallist = 0 ):
  		fcon_dict = self.get_all(locallist)
                  keys = fcon_dict.keys()
@@ -508,7 +554,27 @@ diff -up policycoreutils-2.1.4/semanage/seobject.py.f17 policycoreutils-2.1.4/se
  			print "%-50s %-18s %s\n" % (_("SELinux fcontext"), _("type"), _("Context"))
  		for k in keys:
  			if fcon_dict[k]:
-@@ -1977,11 +2005,13 @@ class booleanRecords(semanageRecords):
+@@ -1804,9 +1850,17 @@ class fcontextRecords(semanageRecords):
+ 					print "%-50s %-18s %s:%s:%s " % (k[0], k[1], fcon_dict[k][0], fcon_dict[k][1],fcon_dict[k][2])
+ 			else:
+ 				print "%-50s %-18s <<None>>" % (k[0], k[1])
+-                if len(self.equiv.keys()) > 0:
++
++
++		if len(self.equiv_dist):
++		       if not locallist:
++			       if heading:
++				       print _("\nSELinux Distribution fcontext Equivalence \n")
++			       for src in self.equiv_dist.keys():
++				       print "%s = %s" % (src, self.equiv_dist[src])
++		if len(self.equiv):
+                        if heading:
+-                              print _("\nSELinux fcontext Equivalence \n")
++                              print _("\nSELinux Local fcontext Equivalence \n")
+ 
+                        for src in self.equiv.keys():
+                               print "%s = %s" % (src, self.equiv[src])
+@@ -1977,11 +2031,13 @@ class booleanRecords(semanageRecords):
                                if ddict[k]:
                                       print "%s=%s" %  (k, ddict[k][2])
                         return
@@ -527,8 +593,8 @@ diff -up policycoreutils-2.1.4/semanage/seobject.py.f17 policycoreutils-2.1.4/se
 -
 +				print "%-30s (%-5s,%5s)  %s" %  (k, on_off[selinux.security_get_boolean_active(k)], on_off[ddict[k][2]], self.get_desc(k))
 diff -up policycoreutils-2.1.4/semodule_package/Makefile.f17 policycoreutils-2.1.4/semodule_package/Makefile
---- policycoreutils-2.1.4/semodule_package/Makefile.f17	2011-10-31 11:12:36.864781125 -0400
-+++ policycoreutils-2.1.4/semodule_package/Makefile	2011-10-31 11:12:37.172780966 -0400
+--- policycoreutils-2.1.4/semodule_package/Makefile.f17	2011-11-16 11:31:29.947038710 -0500
++++ policycoreutils-2.1.4/semodule_package/Makefile	2011-11-16 11:31:30.320038000 -0500
 @@ -24,7 +24,7 @@ install: all
  relabel:
  
@@ -539,8 +605,8 @@ diff -up policycoreutils-2.1.4/semodule_package/Makefile.f17 policycoreutils-2.1
  indent:
  	../../scripts/Lindent $(wildcard *.[ch])
 diff -up policycoreutils-2.1.4/semodule/semodule.8.f17 policycoreutils-2.1.4/semodule/semodule.8
---- policycoreutils-2.1.4/semodule/semodule.8.f17	2011-10-31 11:22:08.388701102 -0400
-+++ policycoreutils-2.1.4/semodule/semodule.8	2011-10-31 11:22:17.530705316 -0400
+--- policycoreutils-2.1.4/semodule/semodule.8.f17	2011-08-18 06:52:31.000000000 -0400
++++ policycoreutils-2.1.4/semodule/semodule.8	2011-11-16 11:31:30.321037998 -0500
 @@ -41,6 +41,9 @@ disable existing module
  .B  \-e,\-\-enable=MODULE_NAME
  enable existing module
@@ -552,8 +618,8 @@ diff -up policycoreutils-2.1.4/semodule/semodule.8.f17 policycoreutils-2.1.4/sem
  remove existing module
  .TP
 diff -up policycoreutils-2.1.4/setfiles/restore.c.f17 policycoreutils-2.1.4/setfiles/restore.c
---- policycoreutils-2.1.4/setfiles/restore.c.f17	2011-10-31 11:12:36.866781124 -0400
-+++ policycoreutils-2.1.4/setfiles/restore.c	2011-10-31 11:15:32.342687398 -0400
+--- policycoreutils-2.1.4/setfiles/restore.c.f17	2011-11-16 11:31:29.952038700 -0500
++++ policycoreutils-2.1.4/setfiles/restore.c	2011-11-16 11:31:30.322037996 -0500
 @@ -1,5 +1,6 @@
  #include "restore.h"
  #include <glob.h>
@@ -776,7 +842,7 @@ diff -up policycoreutils-2.1.4/setfiles/restore.c.f17 policycoreutils-2.1.4/setf
   */
 diff -up policycoreutils-2.1.4/setfiles/restorecon.8.f17 policycoreutils-2.1.4/setfiles/restorecon.8
 --- policycoreutils-2.1.4/setfiles/restorecon.8.f17	2011-08-18 06:52:32.000000000 -0400
-+++ policycoreutils-2.1.4/setfiles/restorecon.8	2011-10-31 11:12:37.172780966 -0400
++++ policycoreutils-2.1.4/setfiles/restorecon.8	2011-11-16 11:31:30.323037994 -0500
 @@ -4,22 +4,27 @@ restorecon \- restore file(s) default SE
  
  .SH "SYNOPSIS"
@@ -835,8 +901,8 @@ diff -up policycoreutils-2.1.4/setfiles/restorecon.8.f17 policycoreutils-2.1.4/s
  .SH "ARGUMENTS"
  .B pathname...
 diff -up policycoreutils-2.1.4/setfiles/restore.h.f17 policycoreutils-2.1.4/setfiles/restore.h
---- policycoreutils-2.1.4/setfiles/restore.h.f17	2011-10-31 11:12:36.866781124 -0400
-+++ policycoreutils-2.1.4/setfiles/restore.h	2011-10-31 11:12:37.172780966 -0400
+--- policycoreutils-2.1.4/setfiles/restore.h.f17	2011-11-16 11:31:29.953038698 -0500
++++ policycoreutils-2.1.4/setfiles/restore.h	2011-11-16 11:31:30.324037992 -0500
 @@ -40,6 +40,7 @@ struct restore_opts {
  	int fts_flags; /* Flags to fts, e.g. follow links, follow mounts */
  	const char *selabel_opt_validate;
@@ -847,7 +913,7 @@ diff -up policycoreutils-2.1.4/setfiles/restore.h.f17 policycoreutils-2.1.4/setf
  void restore_init(struct restore_opts *opts);
 diff -up policycoreutils-2.1.4/setfiles/setfiles.8.f17 policycoreutils-2.1.4/setfiles/setfiles.8
 --- policycoreutils-2.1.4/setfiles/setfiles.8.f17	2011-08-18 06:52:32.000000000 -0400
-+++ policycoreutils-2.1.4/setfiles/setfiles.8	2011-10-31 11:12:37.173780966 -0400
++++ policycoreutils-2.1.4/setfiles/setfiles.8	2011-11-16 11:31:30.325037990 -0500
 @@ -4,7 +4,7 @@ setfiles \- set file SELinux security co
  
  .SH "SYNOPSIS"
@@ -894,8 +960,8 @@ diff -up policycoreutils-2.1.4/setfiles/setfiles.8.f17 policycoreutils-2.1.4/set
  .B \-W
  display warnings about entries that had no matching files.
 diff -up policycoreutils-2.1.4/setfiles/setfiles.c.f17 policycoreutils-2.1.4/setfiles/setfiles.c
---- policycoreutils-2.1.4/setfiles/setfiles.c.f17	2011-10-31 11:12:36.866781124 -0400
-+++ policycoreutils-2.1.4/setfiles/setfiles.c	2011-10-31 11:12:37.173780966 -0400
+--- policycoreutils-2.1.4/setfiles/setfiles.c.f17	2011-11-16 11:31:29.954038696 -0500
++++ policycoreutils-2.1.4/setfiles/setfiles.c	2011-11-16 11:31:30.326037988 -0500
 @@ -39,7 +39,7 @@ void usage(const char *const name)
  {
  	if (iamrestorecon) {
diff --git a/policycoreutils.spec b/policycoreutils.spec
index b17eb61..9fcb86b 100644
--- a/policycoreutils.spec
+++ b/policycoreutils.spec
@@ -7,7 +7,7 @@
 Summary: SELinux policy core utilities
 Name:	 policycoreutils
 Version: 2.1.4
-Release: 9%{?dist}
+Release: 10%{?dist}
 License: GPLv2
 Group:	 System Environment/Base
 # Based on git repository with tag 20101221
@@ -354,7 +354,11 @@ fi
 /bin/systemctl try-restart restorecond.service >/dev/null 2>&1 || :
 
 %changelog
-* Wed Nov 16 2011 Dan Walsh <dwalsh at redhat.com> - 2.1.8-5
+* Wed Nov 16 2011 Dan Walsh <dwalsh at redhat.com> - 2.1.4-10
+- Add listing of distribution equivalence class from semanage fcontext -l
+- Add checking to semanage fcontext -a to guarantee a file specification will not be masked by an equivalence
+ 
+* Wed Nov 16 2011 Dan Walsh <dwalsh at redhat.com> - 2.1.4-9
 - Update to latest sepolgen
 - Allow ~ as a valid part of a filename in sepolgen
 


More information about the scm-commits mailing list