diff --exclude-from=exclude --exclude=sepolgen-1.0.10 --exclude=gui --exclude=po -N -u -r nsapolicycoreutils/audit2allow/audit2allow policycoreutils-2.0.34/audit2allow/audit2allow --- nsapolicycoreutils/audit2allow/audit2allow 2007-07-16 14:20:41.000000000 -0400 +++ policycoreutils-2.0.34/audit2allow/audit2allow 2007-12-19 06:05:50.000000000 -0500 @@ -60,7 +60,9 @@ parser.add_option("-o", "--output", dest="output", help="append output to , conflicts with -M") parser.add_option("-R", "--reference", action="store_true", dest="refpolicy", - default=False, help="generate refpolicy style output") + default=True, help="generate refpolicy style output") + parser.add_option("-N", "--noreference", action="store_false", dest="refpolicy", + default=False, help="do not generate refpolicy style output") parser.add_option("-v", "--verbose", action="store_true", dest="verbose", default=False, help="explain generated output") parser.add_option("-e", "--explain", action="store_true", dest="explain_long", diff --exclude-from=exclude --exclude=sepolgen-1.0.10 --exclude=gui --exclude=po -N -u -r nsapolicycoreutils/audit2allow/audit2allow.1 policycoreutils-2.0.34/audit2allow/audit2allow.1 --- nsapolicycoreutils/audit2allow/audit2allow.1 2007-07-16 14:20:41.000000000 -0400 +++ policycoreutils-2.0.34/audit2allow/audit2allow.1 2007-12-19 06:05:50.000000000 -0500 @@ -65,8 +65,11 @@ .B "\-r" | "\-\-requires" Generate require output syntax for loadable modules. .TP +.B "\-N" | "\-\-noreference" +Do not generate reference policy, traditional style allow rules. +.TP .B "\-R" | "\-\-reference" -Generate reference policy using installed macros. Requires the selinux-policy-devel package. +Generate reference policy using installed macros.Default .TP .B "\-t " | "\-\-tefile" Indicates input file is a te (type enforcement) file. This can be used to translate old te format to new policy format. diff --exclude-from=exclude --exclude=sepolgen-1.0.10 --exclude=gui --exclude=po -N -u -r nsapolicycoreutils/audit2why/audit2why.c policycoreutils-2.0.34/audit2why/audit2why.c --- nsapolicycoreutils/audit2why/audit2why.c 2007-07-16 14:20:41.000000000 -0400 +++ policycoreutils-2.0.34/audit2why/audit2why.c 2007-12-19 06:05:50.000000000 -0500 @@ -137,6 +137,8 @@ /* Process the audit messages. */ while (getline(&buffer, &len, stdin) > 0) { size_t len2 = strlen(buffer); + char *begin, *end, *search_buf; + int slen = 0; if (buffer[len2 - 1] == '\n') buffer[len2 - 1] = 0; @@ -179,6 +181,7 @@ } *p++ = 0; + search_buf = p; /* Get scontext and convert to SID. */ while (*p && strncmp(p, SCONTEXT, sizeof(SCONTEXT) - 1)) p++; @@ -188,11 +191,14 @@ continue; } p += sizeof(SCONTEXT) - 1; - scon = p; + begin = p; while (*p && !isspace(*p)) p++; - if (*p) - *p++ = 0; + end = p; + slen=end - begin; + scon = calloc(slen+1, 1); + strncpy(scon, begin, slen); + rc = sepol_context_to_sid(scon, strlen(scon) + 1, &ssid); if (rc < 0) { fprintf(stderr, @@ -201,6 +207,10 @@ continue; } + free(scon); + /* start searching at the beginning again */ + p = search_buf; + /* Get tcontext and convert to SID. */ while (*p && strncmp(p, TCONTEXT, sizeof(TCONTEXT) - 1)) p++; @@ -210,11 +220,15 @@ continue; } p += sizeof(TCONTEXT) - 1; - tcon = p; + + begin = p; while (*p && !isspace(*p)) p++; - if (*p) - *p++ = 0; + end = p; + slen=end - begin; + tcon = calloc(slen+1, 1); + strncpy(tcon, begin, slen); + rc = sepol_context_to_sid(tcon, strlen(tcon) + 1, &tsid); if (rc < 0) { fprintf(stderr, @@ -222,6 +236,9 @@ TCONTEXT, tcon, lineno); continue; } + free(tcon); + /* start searching at the beginning again */ + p = search_buf; /* Get tclass= and convert to value. */ while (*p && strncmp(p, TCLASS, sizeof(TCLASS) - 1)) @@ -232,12 +249,17 @@ continue; } p += sizeof(TCLASS) - 1; - tclassstr = p; + begin = p; while (*p && !isspace(*p)) p++; - if (*p) - *p = 0; + + end = p; + slen=end - begin; + tclassstr = calloc(slen+1, 1); + strncpy(tclassstr, begin, slen); + tclass = string_to_security_class(tclassstr); + free(tclassstr); if (!tclass) { fprintf(stderr, "Invalid %s%s on line %u, skipping...\n", diff --exclude-from=exclude --exclude=sepolgen-1.0.10 --exclude=gui --exclude=po -N -u -r nsapolicycoreutils/Makefile policycoreutils-2.0.34/Makefile --- nsapolicycoreutils/Makefile 2007-12-19 06:02:52.000000000 -0500 +++ policycoreutils-2.0.34/Makefile 2007-12-19 06:06:04.000000000 -0500 @@ -1,4 +1,4 @@ -SUBDIRS = setfiles semanage load_policy newrole run_init secon audit2allow audit2why scripts sestatus semodule_package semodule semodule_link semodule_expand semodule_deps setsebool po +SUBDIRS = setfiles semanage load_policy newrole run_init secon audit2allow audit2why scripts sestatus semodule_package semodule semodule_link semodule_expand semodule_deps setsebool po gui INOTIFYH = $(shell ls /usr/include/sys/inotify.h 2>/dev/null) diff --exclude-from=exclude --exclude=sepolgen-1.0.10 --exclude=gui --exclude=po -N -u -r nsapolicycoreutils/restorecond/restorecond.c policycoreutils-2.0.34/restorecond/restorecond.c --- nsapolicycoreutils/restorecond/restorecond.c 2007-07-16 14:20:41.000000000 -0400 +++ policycoreutils-2.0.34/restorecond/restorecond.c 2007-12-19 06:05:50.000000000 -0500 @@ -210,9 +210,10 @@ } if (fsetfilecon(fd, scontext) < 0) { - syslog(LOG_ERR, - "set context %s->%s failed:'%s'\n", - filename, scontext, strerror(errno)); + if (errno != EOPNOTSUPP) + syslog(LOG_ERR, + "set context %s->%s failed:'%s'\n", + filename, scontext, strerror(errno)); if (retcontext >= 0) free(prev_context); free(scontext); @@ -225,8 +226,9 @@ if (retcontext >= 0) free(prev_context); } else { - syslog(LOG_ERR, "get context on %s failed: '%s'\n", - filename, strerror(errno)); + if (errno != EOPNOTSUPP) + syslog(LOG_ERR, "get context on %s failed: '%s'\n", + filename, strerror(errno)); } free(scontext); close(fd); diff --exclude-from=exclude --exclude=sepolgen-1.0.10 --exclude=gui --exclude=po -N -u -r nsapolicycoreutils/scripts/chcat policycoreutils-2.0.34/scripts/chcat --- nsapolicycoreutils/scripts/chcat 2007-08-23 16:52:26.000000000 -0400 +++ policycoreutils-2.0.34/scripts/chcat 2007-12-19 06:05:50.000000000 -0500 @@ -25,10 +25,6 @@ import commands, sys, os, pwd, string, getopt, selinux import seobject import gettext -import codecs -import locale -sys.stderr = codecs.getwriter(locale.getpreferredencoding())(sys.__stderr__, 'replace') -sys.stdout = codecs.getwriter(locale.getpreferredencoding())(sys.__stdout__, 'replace') try: gettext.install('policycoreutils') diff --exclude-from=exclude --exclude=sepolgen-1.0.10 --exclude=gui --exclude=po -N -u -r nsapolicycoreutils/semanage/semanage policycoreutils-2.0.34/semanage/semanage --- nsapolicycoreutils/semanage/semanage 2007-10-05 13:09:53.000000000 -0400 +++ policycoreutils-2.0.34/semanage/semanage 2007-12-19 06:05:50.000000000 -0500 @@ -1,5 +1,5 @@ #! /usr/bin/python -E -# Copyright (C) 2005 Red Hat +# Copyright (C) 2005, 2006, 2007 Red Hat # see file 'COPYING' for use and warranty information # # semanage is a tool for managing SELinux configuration files @@ -28,10 +28,6 @@ import gettext gettext.bindtextdomain(PROGNAME, "/usr/share/locale") gettext.textdomain(PROGNAME) -import codecs -import locale -sys.stderr = codecs.getwriter(locale.getpreferredencoding())(sys.__stderr__, 'replace') -sys.stdout = codecs.getwriter(locale.getpreferredencoding())(sys.__stdout__, 'replace') try: gettext.install(PROGNAME, @@ -115,7 +111,7 @@ valid_option["translation"] = [] valid_option["translation"] += valid_everyone + [ '-T', '--trans' ] valid_option["boolean"] = [] - valid_option["boolean"] += valid_everyone + valid_option["boolean"] += valid_everyone + [ '--on', "--off", "-1", "-0" ] return valid_option # @@ -135,7 +131,7 @@ seuser = "" prefix = "" heading=1 - + value=0 add = 0 modify = 0 delete = 0 @@ -154,7 +150,7 @@ args = sys.argv[2:] gopts, cmds = getopt.getopt(args, - 'adf:lhmnp:s:CDR:L:r:t:T:P:S:', + '01adf:lhmnp:s:CDR:L:r:t:T:P:S:', ['add', 'delete', 'deleteall', @@ -164,6 +160,8 @@ 'modify', 'noheading', 'localist', + 'off', + 'on', 'proto=', 'seuser=', 'store=', @@ -242,6 +240,11 @@ if o == "-T" or o == "--trans": setrans = a + if o == "--on" or o == "-1": + value = 1 + if o == "-off" or o == "-0": + value = 0 + if object == "login": OBJECT = seobject.loginRecords(store)