From db71b70994e3c9d9ba58010b4020a4eb7ba1f62c Mon Sep 17 00:00:00 2001 From: Daniel J Walsh Date: Mon, 1 Feb 2010 14:40:42 +0000 Subject: [PATCH] * Fri Jan 29 2010 Dan Walsh 2.0.78-17 - Change seobject to use translations properly --- policycoreutils-rhat.patch | 220 ++++++++++++++++++++++++++++--------- policycoreutils.spec | 5 +- 2 files changed, 171 insertions(+), 54 deletions(-) diff --git a/policycoreutils-rhat.patch b/policycoreutils-rhat.patch index 30d0218..d69383d 100644 --- a/policycoreutils-rhat.patch +++ b/policycoreutils-rhat.patch @@ -1097,7 +1097,7 @@ diff --exclude-from=exclude --exclude=sepolgen-1.0.19 --exclude=gui --exclude=po + diff --exclude-from=exclude --exclude=sepolgen-1.0.19 --exclude=gui --exclude=po -N -u -r nsapolicycoreutils/restorecond/watch.c policycoreutils-2.0.78/restorecond/watch.c --- nsapolicycoreutils/restorecond/watch.c 1969-12-31 19:00:00.000000000 -0500 -+++ policycoreutils-2.0.78/restorecond/watch.c 2009-12-16 08:16:27.000000000 -0500 ++++ policycoreutils-2.0.78/restorecond/watch.c 2010-01-29 16:35:39.000000000 -0500 @@ -0,0 +1,260 @@ +#define _GNU_SOURCE +#include @@ -2780,6 +2780,48 @@ diff --exclude-from=exclude --exclude=sepolgen-1.0.19 --exclude=gui --exclude=po + return status; +} Binary files nsapolicycoreutils/sandbox/seunshare.o and policycoreutils-2.0.78/sandbox/seunshare.o differ +diff --exclude-from=exclude --exclude=sepolgen-1.0.19 --exclude=gui --exclude=po -N -u -r nsapolicycoreutils/scripts/fixfiles policycoreutils-2.0.78/scripts/fixfiles +--- nsapolicycoreutils/scripts/fixfiles 2009-12-01 15:46:50.000000000 -0500 ++++ policycoreutils-2.0.78/scripts/fixfiles 2010-01-29 14:02:43.000000000 -0500 +@@ -87,11 +87,9 @@ + esac; \ + fi; \ + done | \ +- while read pattern ; do sh -c "find $pattern \ +- ! \( -fstype ext2 -o -fstype ext3 -o -fstype ext4 -o -fstype ext4dev -o -fstype gfs2 -o -fstype jfs -o -fstype xfs -o -fstype btrfs \) -prune -o \ +- \( -wholename /home -o -wholename /root -o -wholename /tmp -wholename /dev \) -prune -o -print0"; \ +- done 2> /dev/null | \ +- ${RESTORECON} $* -0 -f - ++ while read pattern ; do \ ++ ${RESTORECON} -f -R -v $pattern -e /home -e /tmp -r /dev; \ ++ done + rm -f ${TEMPFILE} ${PREFCTEMPFILE} + fi + } +@@ -126,13 +124,7 @@ + exit $? + fi + if [ ! -z "$FILEPATH" ]; then +- if [ -x /usr/bin/find ]; then +- /usr/bin/find "$FILEPATH" \ +- ! \( -fstype ext2 -o -fstype ext3 -o -fstype ext4 -o -fstype ext4dev -o -fstype gfs2 -o -fstype jfs -o -fstype xfs -o -fstype btrfs \) -prune -o -print0 | \ +- ${RESTORECON} ${FORCEFLAG} $* -0 -f - 2>&1 >> $LOGFILE +- else +- ${RESTORECON} ${FORCEFLAG} -R $* $FILEPATH 2>&1 >> $LOGFILE +- fi ++ ${RESTORECON} ${FORCEFLAG} -R $* $FILEPATH 2>&1 >> $LOGFILE + return + fi + [ -x /usr/sbin/genhomedircon ] && /usr/sbin/genhomedircon +@@ -146,7 +138,7 @@ + + fullrelabel() { + logit "Cleaning out /tmp" +- find /tmp/ -mindepth 1 -print0 | xargs -0 /bin/rm -f ++ find /tmp/ -mindepth 1 -delete + LogReadOnly + restore + } diff --exclude-from=exclude --exclude=sepolgen-1.0.19 --exclude=gui --exclude=po -N -u -r nsapolicycoreutils/semanage/semanage policycoreutils-2.0.78/semanage/semanage --- nsapolicycoreutils/semanage/semanage 2009-11-18 17:06:03.000000000 -0500 +++ policycoreutils-2.0.78/semanage/semanage 2010-01-08 09:24:07.000000000 -0500 @@ -3150,10 +3192,18 @@ diff --exclude-from=exclude --exclude=sepolgen-1.0.19 --exclude=gui --exclude=po # Change apache to a permissive domain diff --exclude-from=exclude --exclude=sepolgen-1.0.19 --exclude=gui --exclude=po -N -u -r nsapolicycoreutils/semanage/seobject.py policycoreutils-2.0.78/semanage/seobject.py --- nsapolicycoreutils/semanage/seobject.py 2009-11-20 10:51:25.000000000 -0500 -+++ policycoreutils-2.0.78/semanage/seobject.py 2009-12-08 17:05:49.000000000 -0500 -@@ -37,40 +37,6 @@ - - import syslog ++++ policycoreutils-2.0.78/semanage/seobject.py 2010-01-29 13:44:51.000000000 -0500 +@@ -29,47 +29,12 @@ + import gettext + gettext.bindtextdomain(PROGNAME, "/usr/share/locale") + gettext.textdomain(PROGNAME) +-try: +- gettext.install(PROGNAME, localedir = "/usr/share/locale", unicode = 1) +-except IOError: +- import __builtin__ +- __builtin__.__dict__['_'] = unicode +- +-import syslog -handle = None - @@ -3186,13 +3236,16 @@ diff --exclude-from=exclude --exclude=sepolgen-1.0.19 --exclude=gui --exclude=po - if is_mls_enabled < 0: - semanage_handle_destroy(handle) - raise ValueError(_("Could not test MLS enabled status")) -- ++import gettext ++translation=gettext.translation(PROGNAME, localedir = "/usr/share/locale", unicode = 1) ++_=translation.ugettext + - return handle -- ++import syslog + file_types = {} file_types[""] = SEMANAGE_FCONTEXT_ALL; - file_types["all files"] = SEMANAGE_FCONTEXT_ALL; -@@ -194,44 +160,151 @@ +@@ -194,45 +159,152 @@ return trans else: return raw @@ -3283,8 +3336,8 @@ diff --exclude-from=exclude --exclude=sepolgen-1.0.19 --exclude=gui --exclude=po raise ValueError(_("Semanage transaction not in progress")) - self.transaction = False + semanageRecords.transaction = False -+ self.commit() -+ + self.commit() + +class moduleRecords(semanageRecords): + def __init__(self, store): + semanageRecords.__init__(self, store) @@ -3348,17 +3401,18 @@ diff --exclude-from=exclude --exclude=sepolgen-1.0.19 --exclude=gui --exclude=po + if rc < 0 and rc != -2: + raise ValueError(_("Could not remove module %s (remove failed)") % m) + - self.commit() ++ self.commit() + + def deleteall(self): + l = self.get_all() + if len(l) > 0: + all = " ".join(l[0]) + self.delete(all) - ++ class dontauditClass(semanageRecords): def __init__(self, store): -@@ -259,6 +332,7 @@ + semanageRecords.__init__(self, store) +@@ -259,6 +331,7 @@ name = semanage_module_get_name(mod) if name and name.startswith("permissive_"): l.append(name.split("permissive_")[1]) @@ -3366,7 +3420,7 @@ diff --exclude-from=exclude --exclude=sepolgen-1.0.19 --exclude=gui --exclude=po return l def list(self, heading = 1, locallist = 0): -@@ -343,7 +417,9 @@ +@@ -343,7 +416,9 @@ if rc < 0: raise ValueError(_("Could not check if login mapping for %s is defined") % name) if exists: @@ -3377,7 +3431,7 @@ diff --exclude-from=exclude --exclude=sepolgen-1.0.19 --exclude=gui --exclude=po if name[0] == '%': try: grp.getgrnam(name[1:]) -@@ -475,6 +551,16 @@ +@@ -475,6 +550,16 @@ mylog.log(1, "delete SELinux user mapping", name); @@ -3394,7 +3448,7 @@ diff --exclude-from=exclude --exclude=sepolgen-1.0.19 --exclude=gui --exclude=po def get_all(self, locallist = 0): ddict = {} if locallist: -@@ -489,6 +575,15 @@ +@@ -489,6 +574,15 @@ ddict[name] = (semanage_seuser_get_sename(u), semanage_seuser_get_mlsrange(u)) return ddict @@ -3410,7 +3464,7 @@ diff --exclude-from=exclude --exclude=sepolgen-1.0.19 --exclude=gui --exclude=po def list(self,heading = 1, locallist = 0): ddict = self.get_all(locallist) keys = ddict.keys() -@@ -531,7 +626,8 @@ +@@ -531,7 +625,8 @@ if rc < 0: raise ValueError(_("Could not check if SELinux user %s is defined") % name) if exists: @@ -3420,7 +3474,7 @@ diff --exclude-from=exclude --exclude=sepolgen-1.0.19 --exclude=gui --exclude=po (rc, u) = semanage_user_create(self.sh) if rc < 0: -@@ -682,6 +778,16 @@ +@@ -682,6 +777,16 @@ mylog.log(1,"delete SELinux user record", name) @@ -3437,7 +3491,7 @@ diff --exclude-from=exclude --exclude=sepolgen-1.0.19 --exclude=gui --exclude=po def get_all(self, locallist = 0): ddict = {} if locallist: -@@ -702,6 +808,15 @@ +@@ -702,6 +807,15 @@ return ddict @@ -3453,7 +3507,7 @@ diff --exclude-from=exclude --exclude=sepolgen-1.0.19 --exclude=gui --exclude=po def list(self, heading = 1, locallist = 0): ddict = self.get_all(locallist) keys = ddict.keys() -@@ -740,12 +855,16 @@ +@@ -740,12 +854,16 @@ low = int(ports[0]) high = int(ports[1]) @@ -3470,7 +3524,7 @@ diff --exclude-from=exclude --exclude=sepolgen-1.0.19 --exclude=gui --exclude=po if is_mls_enabled == 1: if serange == "": serange = "s0" -@@ -808,6 +927,7 @@ +@@ -808,6 +926,7 @@ self.commit() def __modify(self, port, proto, serange, setype): @@ -3478,7 +3532,7 @@ diff --exclude-from=exclude --exclude=sepolgen-1.0.19 --exclude=gui --exclude=po if serange == "" and setype == "": if is_mls_enabled == 1: raise ValueError(_("Requires setype or serange")) -@@ -942,6 +1062,18 @@ +@@ -942,6 +1061,18 @@ ddict[(ctype,proto_str)].append("%d-%d" % (low, high)) return ddict @@ -3497,7 +3551,7 @@ diff --exclude-from=exclude --exclude=sepolgen-1.0.19 --exclude=gui --exclude=po def list(self, heading = 1, locallist = 0): if heading: print "%-30s %-8s %s\n" % (_("SELinux Port Type"), _("Proto"), _("Port Number")) -@@ -958,7 +1090,8 @@ +@@ -958,7 +1089,8 @@ class nodeRecords(semanageRecords): def __init__(self, store = ""): semanageRecords.__init__(self,store) @@ -3507,7 +3561,7 @@ diff --exclude-from=exclude --exclude=sepolgen-1.0.19 --exclude=gui --exclude=po def __add(self, addr, mask, proto, serange, ctype): if addr == "": raise ValueError(_("Node Address is required")) -@@ -966,14 +1099,11 @@ +@@ -966,14 +1098,11 @@ if mask == "": raise ValueError(_("Node Netmask is required")) @@ -3525,7 +3579,7 @@ diff --exclude-from=exclude --exclude=sepolgen-1.0.19 --exclude=gui --exclude=po if is_mls_enabled == 1: if serange == "": serange = "s0" -@@ -991,7 +1121,8 @@ +@@ -991,7 +1120,8 @@ (rc, exists) = semanage_node_exists(self.sh, k) if exists: @@ -3535,7 +3589,7 @@ diff --exclude-from=exclude --exclude=sepolgen-1.0.19 --exclude=gui --exclude=po (rc, node) = semanage_node_create(self.sh) if rc < 0: -@@ -1047,13 +1178,10 @@ +@@ -1047,13 +1177,10 @@ if mask == "": raise ValueError(_("Node Netmask is required")) @@ -3553,7 +3607,7 @@ diff --exclude-from=exclude --exclude=sepolgen-1.0.19 --exclude=gui --exclude=po if serange == "" and setype == "": raise ValueError(_("Requires setype or serange")) -@@ -1098,11 +1226,9 @@ +@@ -1098,11 +1225,9 @@ if mask == "": raise ValueError(_("Node Netmask is required")) @@ -3568,7 +3622,7 @@ diff --exclude-from=exclude --exclude=sepolgen-1.0.19 --exclude=gui --exclude=po raise ValueError(_("Unknown or missing protocol")) (rc, k) = semanage_node_key_create(self.sh, addr, mask, proto) -@@ -1132,6 +1258,16 @@ +@@ -1132,6 +1257,16 @@ self.__delete(addr, mask, proto) self.commit() @@ -3585,7 +3639,7 @@ diff --exclude-from=exclude --exclude=sepolgen-1.0.19 --exclude=gui --exclude=po def get_all(self, locallist = 0): ddict = {} if locallist : -@@ -1145,15 +1281,20 @@ +@@ -1145,15 +1280,20 @@ con = semanage_node_get_con(node) addr = semanage_node_get_addr(self.sh, node) mask = semanage_node_get_mask(self.sh, node) @@ -3611,7 +3665,7 @@ diff --exclude-from=exclude --exclude=sepolgen-1.0.19 --exclude=gui --exclude=po def list(self, heading = 1, locallist = 0): if heading: print "%-18s %-18s %-5s %-5s\n" % ("IP Address", "Netmask", "Protocol", "Context") -@@ -1193,7 +1334,8 @@ +@@ -1193,7 +1333,8 @@ if rc < 0: raise ValueError(_("Could not check if interface %s is defined") % interface) if exists: @@ -3621,7 +3675,7 @@ diff --exclude-from=exclude --exclude=sepolgen-1.0.19 --exclude=gui --exclude=po (rc, iface) = semanage_iface_create(self.sh) if rc < 0: -@@ -1307,6 +1449,16 @@ +@@ -1307,6 +1448,16 @@ self.__delete(interface) self.commit() @@ -3638,7 +3692,7 @@ diff --exclude-from=exclude --exclude=sepolgen-1.0.19 --exclude=gui --exclude=po def get_all(self, locallist = 0): ddict = {} if locallist: -@@ -1322,6 +1474,15 @@ +@@ -1322,6 +1473,15 @@ return ddict @@ -3654,7 +3708,7 @@ diff --exclude-from=exclude --exclude=sepolgen-1.0.19 --exclude=gui --exclude=po def list(self, heading = 1, locallist = 0): if heading: print "%-30s %s\n" % (_("SELinux Interface"), _("Context")) -@@ -1338,6 +1499,48 @@ +@@ -1338,6 +1498,48 @@ class fcontextRecords(semanageRecords): def __init__(self, store = ""): semanageRecords.__init__(self, store) @@ -3703,7 +3757,7 @@ diff --exclude-from=exclude --exclude=sepolgen-1.0.19 --exclude=gui --exclude=po def createcon(self, target, seuser = "system_u"): (rc, con) = semanage_context_create(self.sh) -@@ -1364,6 +1567,8 @@ +@@ -1364,6 +1566,8 @@ def validate(self, target): if target == "" or target.find("\n") >= 0: raise ValueError(_("Invalid file specification")) @@ -3712,7 +3766,7 @@ diff --exclude-from=exclude --exclude=sepolgen-1.0.19 --exclude=gui --exclude=po def __add(self, target, type, ftype = "", serange = "", seuser = "system_u"): self.validate(target) -@@ -1388,7 +1593,8 @@ +@@ -1388,7 +1592,8 @@ raise ValueError(_("Could not check if file context for %s is defined") % target) if exists: @@ -3722,7 +3776,7 @@ diff --exclude-from=exclude --exclude=sepolgen-1.0.19 --exclude=gui --exclude=po (rc, fcontext) = semanage_fcontext_create(self.sh) if rc < 0: -@@ -1504,9 +1710,16 @@ +@@ -1504,9 +1709,16 @@ raise ValueError(_("Could not delete the file context %s") % target) semanage_fcontext_key_free(k) @@ -3739,7 +3793,7 @@ diff --exclude-from=exclude --exclude=sepolgen-1.0.19 --exclude=gui --exclude=po (rc,k) = semanage_fcontext_key_create(self.sh, target, file_types[ftype]) if rc < 0: raise ValueError(_("Could not create a key for %s") % target) -@@ -1561,12 +1774,22 @@ +@@ -1561,12 +1773,22 @@ return ddict @@ -3764,7 +3818,7 @@ diff --exclude-from=exclude --exclude=sepolgen-1.0.19 --exclude=gui --exclude=po for k in keys: if fcon_dict[k]: if is_mls_enabled: -@@ -1575,6 +1798,12 @@ +@@ -1575,6 +1797,12 @@ 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 <>" % (k[0], k[1]) @@ -3777,7 +3831,7 @@ diff --exclude-from=exclude --exclude=sepolgen-1.0.19 --exclude=gui --exclude=po class booleanRecords(semanageRecords): def __init__(self, store = ""): -@@ -1706,6 +1935,16 @@ +@@ -1706,6 +1934,16 @@ else: return _("unknown") @@ -3932,8 +3986,14 @@ diff --exclude-from=exclude --exclude=sepolgen-1.0.19 --exclude=gui --exclude=po } diff --exclude-from=exclude --exclude=sepolgen-1.0.19 --exclude=gui --exclude=po -N -u -r nsapolicycoreutils/setfiles/restore.c policycoreutils-2.0.78/setfiles/restore.c --- nsapolicycoreutils/setfiles/restore.c 2009-11-03 09:21:40.000000000 -0500 -+++ policycoreutils-2.0.78/setfiles/restore.c 2009-12-16 08:14:21.000000000 -0500 -@@ -31,7 +31,6 @@ ++++ policycoreutils-2.0.78/setfiles/restore.c 2010-01-29 16:37:02.000000000 -0500 +@@ -1,4 +1,5 @@ + #include "restore.h" ++#include + + #define SKIP -2 + #define ERR -1 +@@ -31,7 +32,6 @@ static file_spec_t *fl_head; @@ -3941,7 +4001,7 @@ diff --exclude-from=exclude --exclude=sepolgen-1.0.19 --exclude=gui --exclude=po static int filespec_add(ino_t ino, const security_context_t con, const char *file); static int only_changed_user(const char *a, const char *b); struct restore_opts *r_opts = NULL; -@@ -53,7 +52,6 @@ +@@ -53,7 +53,6 @@ } } return; @@ -3949,7 +4009,7 @@ diff --exclude-from=exclude --exclude=sepolgen-1.0.19 --exclude=gui --exclude=po } void restore_init(struct restore_opts *opts) -@@ -303,6 +301,12 @@ +@@ -303,6 +302,12 @@ FTS *fts_handle; FTSENT *ftsent; @@ -3962,7 +4022,37 @@ diff --exclude-from=exclude --exclude=sepolgen-1.0.19 --exclude=gui --exclude=po fts_handle = fts_open((char **)namelist, r_opts->fts_flags, NULL); if (fts_handle == NULL) { fprintf(stderr, -@@ -374,6 +378,7 @@ +@@ -357,6 +362,29 @@ + goto out; + } + ++int process_glob(char *name, int recurse) { ++ glob_t globbuf; ++ size_t i = 0; ++ int errors = 0; ++ memset(&globbuf, 0, sizeof(globbuf)); ++ globbuf.gl_offs = 0; ++ if (glob(name, ++ GLOB_TILDE | GLOB_PERIOD, ++ NULL, ++ &globbuf) >= 0) { ++ for (i = 0; i < globbuf.gl_pathc; i++) { ++ int len = strlen(globbuf.gl_pathv[i]) -2; ++ if (len > 0 && strcmp(&globbuf.gl_pathv[i][len--], "/.") == 0) continue; ++ if (len > 0 && strcmp(&globbuf.gl_pathv[i][len], "/..") == 0) continue; ++ errors |= process_one_realpath(globbuf.gl_pathv[i], recurse) < 0; ++ } ++ globfree(&globbuf); ++ } ++ else ++ errors |= process_one_realpath(name, recurse) < 0; ++ return errors; ++} ++ + int process_one_realpath(char *name, int recurse) + { + int rc = 0; +@@ -374,6 +402,7 @@ } else { rc = lstat(name, &sb); if (rc < 0) { @@ -3970,7 +4060,7 @@ diff --exclude-from=exclude --exclude=sepolgen-1.0.19 --exclude=gui --exclude=po fprintf(stderr, "%s: lstat(%s) failed: %s\n", r_opts->progname, name, strerror(errno)); return -1; -@@ -409,7 +414,7 @@ +@@ -409,7 +438,7 @@ } } @@ -3979,7 +4069,7 @@ diff --exclude-from=exclude --exclude=sepolgen-1.0.19 --exclude=gui --exclude=po { int i = 0; for (i = 0; i < excludeCtr; i++) { -@@ -602,5 +607,67 @@ +@@ -602,5 +631,67 @@ return -1; } @@ -4008,7 +4098,7 @@ diff --exclude-from=exclude --exclude=sepolgen-1.0.19 --exclude=gui --exclude=po + fp = fopen("/proc/mounts", "r"); + if (!fp) + return; - ++ + while ((num = getline(&buf, &len, fp)) != -1) { + found = 0; + index = 0; @@ -4026,7 +4116,7 @@ diff --exclude-from=exclude --exclude=sepolgen-1.0.19 --exclude=gui --exclude=po + buf); + continue; + } -+ + + /* remove pre-existing entry */ + remove_exclude(mount_info[1]); + @@ -4047,6 +4137,7 @@ diff --exclude-from=exclude --exclude=sepolgen-1.0.19 --exclude=gui --exclude=po + free(buf); +} +Binary files nsapolicycoreutils/setfiles/restorecon and policycoreutils-2.0.78/setfiles/restorecon differ diff --exclude-from=exclude --exclude=sepolgen-1.0.19 --exclude=gui --exclude=po -N -u -r nsapolicycoreutils/setfiles/restorecon.8 policycoreutils-2.0.78/setfiles/restorecon.8 --- nsapolicycoreutils/setfiles/restorecon.8 2008-08-28 09:34:24.000000000 -0400 +++ policycoreutils-2.0.78/setfiles/restorecon.8 2009-12-16 08:14:22.000000000 -0500 @@ -4075,7 +4166,7 @@ diff --exclude-from=exclude --exclude=sepolgen-1.0.19 --exclude=gui --exclude=po show changes in file labels. diff --exclude-from=exclude --exclude=sepolgen-1.0.19 --exclude=gui --exclude=po -N -u -r nsapolicycoreutils/setfiles/restore.h policycoreutils-2.0.78/setfiles/restore.h --- nsapolicycoreutils/setfiles/restore.h 2009-11-03 09:21:40.000000000 -0500 -+++ policycoreutils-2.0.78/setfiles/restore.h 2009-12-16 08:14:23.000000000 -0500 ++++ policycoreutils-2.0.78/setfiles/restore.h 2010-01-29 16:27:56.000000000 -0500 @@ -27,6 +27,7 @@ int hard_links; int verbose; @@ -4084,16 +4175,19 @@ diff --exclude-from=exclude --exclude=sepolgen-1.0.19 --exclude=gui --exclude=po char *rootpath; int rootpathlen; char *progname; -@@ -44,7 +45,9 @@ +@@ -44,7 +45,10 @@ void restore_init(struct restore_opts *opts); void restore_finish(); int add_exclude(const char *directory); +int exclude(const char *path); void remove_exclude(const char *directory); int process_one_realpath(char *name, int recurse); -+void exclude_non_seclabel_mounts(); ++int process_glob(char *name, int recurse); ++void exclude_non_seclabel_mounts(); #endif +Binary files nsapolicycoreutils/setfiles/restore.o and policycoreutils-2.0.78/setfiles/restore.o differ +Binary files nsapolicycoreutils/setfiles/setfiles and policycoreutils-2.0.78/setfiles/setfiles differ diff --exclude-from=exclude --exclude=sepolgen-1.0.19 --exclude=gui --exclude=po -N -u -r nsapolicycoreutils/setfiles/setfiles.8 policycoreutils-2.0.78/setfiles/setfiles.8 --- nsapolicycoreutils/setfiles/setfiles.8 2008-08-28 09:34:24.000000000 -0400 +++ policycoreutils-2.0.78/setfiles/setfiles.8 2009-12-16 08:14:25.000000000 -0500 @@ -4109,7 +4203,7 @@ diff --exclude-from=exclude --exclude=sepolgen-1.0.19 --exclude=gui --exclude=po suppress non-error output. diff --exclude-from=exclude --exclude=sepolgen-1.0.19 --exclude=gui --exclude=po -N -u -r nsapolicycoreutils/setfiles/setfiles.c policycoreutils-2.0.78/setfiles/setfiles.c --- nsapolicycoreutils/setfiles/setfiles.c 2009-11-03 09:21:40.000000000 -0500 -+++ policycoreutils-2.0.78/setfiles/setfiles.c 2009-12-16 08:14:26.000000000 -0500 ++++ policycoreutils-2.0.78/setfiles/setfiles.c 2010-01-29 16:31:10.000000000 -0500 @@ -5,7 +5,6 @@ #include #include @@ -4230,3 +4324,23 @@ diff --exclude-from=exclude --exclude=sepolgen-1.0.19 --exclude=gui --exclude=po argv[0]); exit(1); } +@@ -475,7 +410,7 @@ + buf[len - 1] = 0; + if (!strcmp(buf, "/")) + mass_relabel = 1; +- errors |= process_one_realpath(buf, recurse) < 0; ++ errors |= process_glob(buf, recurse) < 0; + } + if (strcmp(input_filename, "-") != 0) + fclose(f); +@@ -483,7 +418,8 @@ + for (i = optind; i < argc; i++) { + if (!strcmp(argv[i], "/")) + mass_relabel = 1; +- errors |= process_one_realpath(argv[i], recurse) < 0; ++ ++ errors |= process_glob(argv[i], recurse) < 0; + } + } + +Binary files nsapolicycoreutils/setfiles/setfiles.o and policycoreutils-2.0.78/setfiles/setfiles.o differ diff --git a/policycoreutils.spec b/policycoreutils.spec index 61c0d7f..c5c29e0 100644 --- a/policycoreutils.spec +++ b/policycoreutils.spec @@ -6,7 +6,7 @@ Summary: SELinux policy core utilities Name: policycoreutils Version: 2.0.78 -Release: 16%{?dist} +Release: 17%{?dist} License: GPLv2+ Group: System Environment/Base Source: http://www.nsa.gov/selinux/archives/policycoreutils-%{version}.tgz @@ -298,6 +298,9 @@ fi exit 0 %changelog +* Fri Jan 29 2010 Dan Walsh 2.0.78-17 +- Change seobject to use translations properly + * Thu Jan 28 2010 Dan Walsh 2.0.78-16 - Cleanup spec file Resolves: 555835