|
|
df5eceb |
diff --exclude-from=exclude --exclude=sepolgen-1.0.8 --exclude=gui --exclude=po -N -u -r nsapolicycoreutils/Makefile policycoreutils-2.0.22/Makefile
|
|
|
e0e7eda |
--- nsapolicycoreutils/Makefile 2007-07-16 14:20:43.000000000 -0400
|
|
|
85e2ce7 |
+++ policycoreutils-2.0.22/Makefile 2007-07-31 15:45:57.000000000 -0400
|
|
|
e568e7a |
@@ -1,4 +1,4 @@
|
|
|
6f8d769 |
-SUBDIRS=setfiles semanage load_policy newrole run_init restorecond secon audit2allow audit2why scripts sestatus semodule_package semodule semodule_link semodule_expand semodule_deps setsebool po
|
|
|
6f8d769 |
+SUBDIRS=setfiles semanage load_policy newrole run_init restorecond secon audit2allow audit2why scripts sestatus semodule_package semodule semodule_link semodule_expand semodule_deps setsebool po gui
|
|
|
e568e7a |
|
|
|
e568e7a |
all install relabel clean indent:
|
|
|
e568e7a |
@for subdir in $(SUBDIRS); do \
|
|
|
df5eceb |
diff --exclude-from=exclude --exclude=sepolgen-1.0.8 --exclude=gui --exclude=po -N -u -r nsapolicycoreutils/restorecond/restorecond.c policycoreutils-2.0.22/restorecond/restorecond.c
|
|
|
e0e7eda |
--- nsapolicycoreutils/restorecond/restorecond.c 2007-07-16 14:20:41.000000000 -0400
|
|
|
85e2ce7 |
+++ policycoreutils-2.0.22/restorecond/restorecond.c 2007-07-31 15:45:57.000000000 -0400
|
|
|
9ac2144 |
@@ -210,9 +210,10 @@
|
|
|
9ac2144 |
}
|
|
|
9ac2144 |
|
|
|
9ac2144 |
if (fsetfilecon(fd, scontext) < 0) {
|
|
|
9ac2144 |
- syslog(LOG_ERR,
|
|
|
9ac2144 |
- "set context %s->%s failed:'%s'\n",
|
|
|
9ac2144 |
- filename, scontext, strerror(errno));
|
|
|
9ac2144 |
+ if (errno != EOPNOTSUPP)
|
|
|
9ac2144 |
+ syslog(LOG_ERR,
|
|
|
9ac2144 |
+ "set context %s->%s failed:'%s'\n",
|
|
|
9ac2144 |
+ filename, scontext, strerror(errno));
|
|
|
9ac2144 |
if (retcontext >= 0)
|
|
|
9ac2144 |
free(prev_context);
|
|
|
9ac2144 |
free(scontext);
|
|
|
9ac2144 |
@@ -225,8 +226,9 @@
|
|
|
9ac2144 |
if (retcontext >= 0)
|
|
|
9ac2144 |
free(prev_context);
|
|
|
9ac2144 |
} else {
|
|
|
9ac2144 |
- syslog(LOG_ERR, "get context on %s failed: '%s'\n",
|
|
|
9ac2144 |
- filename, strerror(errno));
|
|
|
9ac2144 |
+ if (errno != EOPNOTSUPP)
|
|
|
9ac2144 |
+ syslog(LOG_ERR, "get context on %s failed: '%s'\n",
|
|
|
9ac2144 |
+ filename, strerror(errno));
|
|
|
9ac2144 |
}
|
|
|
9ac2144 |
free(scontext);
|
|
|
9ac2144 |
close(fd);
|
|
|
e0e7eda |
diff --exclude-from=exclude --exclude=sepolgen-1.0.8 --exclude=gui --exclude=po -N -u -r nsapolicycoreutils/run_init/Makefile policycoreutils-2.0.22/run_init/Makefile
|
|
|
e0e7eda |
--- nsapolicycoreutils/run_init/Makefile 2007-07-16 14:20:41.000000000 -0400
|
|
|
85e2ce7 |
+++ policycoreutils-2.0.22/run_init/Makefile 2007-07-31 15:45:57.000000000 -0400
|
|
|
e0e7eda |
@@ -34,8 +34,8 @@
|
|
|
e0e7eda |
install: all
|
|
|
e0e7eda |
test -d $(SBINDIR) || install -m 755 -d $(SBINDIR)
|
|
|
e0e7eda |
test -d $(MANDIR)/man1 || install -m 755 -d $(MANDIR)/man1
|
|
|
e0e7eda |
- install -m 555 run_init $(SBINDIR)
|
|
|
e0e7eda |
- install -m 555 open_init_pty $(SBINDIR)
|
|
|
e0e7eda |
+ install -m 755 run_init $(SBINDIR)
|
|
|
e0e7eda |
+ install -m 755 open_init_pty $(SBINDIR)
|
|
|
e0e7eda |
install -m 644 run_init.8 $(MANDIR)/man8/
|
|
|
e0e7eda |
install -m 644 open_init_pty.8 $(MANDIR)/man8/
|
|
|
e0e7eda |
ifeq (${PAMH}, /usr/include/security/pam_appl.h)
|
|
|
df5eceb |
diff --exclude-from=exclude --exclude=sepolgen-1.0.8 --exclude=gui --exclude=po -N -u -r nsapolicycoreutils/scripts/chcat policycoreutils-2.0.22/scripts/chcat
|
|
|
e0e7eda |
--- nsapolicycoreutils/scripts/chcat 2007-07-16 14:20:41.000000000 -0400
|
|
|
85e2ce7 |
+++ policycoreutils-2.0.22/scripts/chcat 2007-07-31 15:45:57.000000000 -0400
|
|
|
df5eceb |
@@ -77,7 +77,7 @@
|
|
|
df5eceb |
|
|
|
df5eceb |
if len(cats) > 0:
|
|
|
df5eceb |
new_serange = "%s-%s:%s" % (serange[0], top[0], ",".join(cats))
|
|
|
df5eceb |
- else
|
|
|
df5eceb |
+ else:
|
|
|
df5eceb |
new_serange = "%s-%s" % (serange[0], top[0])
|
|
|
df5eceb |
|
|
|
df5eceb |
if add_ind:
|
|
|
df5eceb |
@@ -155,7 +155,7 @@
|
|
|
df5eceb |
|
|
|
df5eceb |
if len(cats) > 0:
|
|
|
df5eceb |
new_serange = "%s-%s:%s" % (serange[0], top[0], ",".join(cats))
|
|
|
df5eceb |
- else
|
|
|
df5eceb |
+ else:
|
|
|
df5eceb |
new_serange = "%s-%s" % (serange[0], top[0])
|
|
|
df5eceb |
|
|
|
df5eceb |
if add_ind:
|
|
|
18e5e75 |
diff --exclude-from=exclude --exclude=sepolgen-1.0.8 --exclude=gui --exclude=po -N -u -r nsapolicycoreutils/scripts/fixfiles policycoreutils-2.0.22/scripts/fixfiles
|
|
|
18e5e75 |
--- nsapolicycoreutils/scripts/fixfiles 2007-07-16 14:20:41.000000000 -0400
|
|
|
85e2ce7 |
+++ policycoreutils-2.0.22/scripts/fixfiles 2007-07-31 15:45:57.000000000 -0400
|
|
|
2701345 |
@@ -88,7 +88,7 @@
|
|
|
2701345 |
esac; \
|
|
|
2701345 |
fi; \
|
|
|
2701345 |
done | \
|
|
|
2701345 |
- while read pattern ; do find $pattern \
|
|
|
2701345 |
+ while read pattern ; do sh -c "find $pattern" \
|
|
|
2701345 |
! \( -fstype ext2 -o -fstype ext3 -o -fstype jfs -o -fstype xfs \) -prune -o \
|
|
|
2701345 |
\( -wholename /home -o -wholename /root -o -wholename /tmp -wholename /dev \) -prune -o -print; \
|
|
|
2701345 |
done 2> /dev/null | \
|
|
|
18e5e75 |
@@ -108,6 +108,7 @@
|
|
|
18e5e75 |
|
|
|
18e5e75 |
rpmlist() {
|
|
|
18e5e75 |
rpm -q --qf '[%{FILESTATES} %{FILENAMES}\n]' "$1" | grep '^0 ' | cut -f2- -d ' '
|
|
|
18e5e75 |
+[ ${PIPESTATUS[0]} != 0 ] && echo "$1 not found" >/dev/stderr
|
|
|
18e5e75 |
}
|
|
|
18e5e75 |
|
|
|
18e5e75 |
#
|
|
|
9c2c4da |
diff --exclude-from=exclude --exclude=sepolgen-1.0.8 --exclude=gui --exclude=po -N -u -r nsapolicycoreutils/scripts/genhomedircon policycoreutils-2.0.22/scripts/genhomedircon
|
|
|
e0e7eda |
--- nsapolicycoreutils/scripts/genhomedircon 2007-07-16 14:20:41.000000000 -0400
|
|
|
4ecb32d |
+++ policycoreutils-2.0.22/scripts/genhomedircon 2007-08-01 16:03:41.000000000 -0400
|
|
|
4ecb32d |
@@ -139,7 +139,22 @@
|
|
|
4ecb32d |
self.default_user = "user_u"
|
|
|
4ecb32d |
self.default_prefix = "user"
|
|
|
4ecb32d |
self.users = self.getUsers()
|
|
|
4ecb32d |
+ fd = open(self.getFileContextFile())
|
|
|
4ecb32d |
+ self.fclines=[]
|
|
|
4ecb32d |
+ for i in fd.readlines():
|
|
|
4ecb32d |
+ try:
|
|
|
4ecb32d |
+ regex = i.split()[0]
|
|
|
4ecb32d |
+ #match a trailing .+
|
|
|
4ecb32d |
+ regex = re.sub("\.+$", "", regex)
|
|
|
4ecb32d |
+ regex = re.sub("\.\*$", "", regex)
|
|
|
4ecb32d |
+ regex = re.sub("\(\/\.\*\)\?", "", regex)
|
|
|
4ecb32d |
+ regex = regex + "/*$"
|
|
|
4ecb32d |
+ self.fclines.append(re.compile(regex))
|
|
|
4ecb32d |
+ except:
|
|
|
4ecb32d |
+ continue
|
|
|
4ecb32d |
|
|
|
4ecb32d |
+ fd.close()
|
|
|
4ecb32d |
+
|
|
|
4ecb32d |
def getFileContextDir(self):
|
|
|
4ecb32d |
return self.selinuxdir+self.type+self.filecontextdir
|
|
|
4ecb32d |
|
|
|
4ecb32d |
@@ -289,20 +304,9 @@
|
|
|
4ecb32d |
return ret+"\n"
|
|
|
4ecb32d |
|
|
|
4ecb32d |
def checkExists(self, home):
|
|
|
4ecb32d |
- fd = open(self.getFileContextFile())
|
|
|
4ecb32d |
- for i in fd.readlines():
|
|
|
4ecb32d |
- if len(i) == 0:
|
|
|
4ecb32d |
- continue
|
|
|
4ecb32d |
+ for i in self.fclines:
|
|
|
4ecb32d |
try:
|
|
|
4ecb32d |
- regex = i.split()[0]
|
|
|
4ecb32d |
- #match a trailing .+
|
|
|
4ecb32d |
- regex = re.sub("\.+$", "", regex)
|
|
|
4ecb32d |
- regex = re.sub("\.\*$", "", regex)
|
|
|
4ecb32d |
- #strip a (/.*)? which matches anything trailing to a /*$ which matches trailing /'s
|
|
|
4ecb32d |
-
|
|
|
4ecb32d |
- regex = re.sub("\(\/\.\*\)\?", "", regex)
|
|
|
4ecb32d |
- regex = regex + "/*$"
|
|
|
9c2c4da |
- if re.search(regex,home, 0):
|
|
|
4ecb32d |
+ if i.match(home):
|
|
|
9c2c4da |
return 1
|
|
|
9c2c4da |
except:
|
|
|
9c2c4da |
continue
|
|
|
df5eceb |
diff --exclude-from=exclude --exclude=sepolgen-1.0.8 --exclude=gui --exclude=po -N -u -r nsapolicycoreutils/semanage/semanage policycoreutils-2.0.22/semanage/semanage
|
|
|
e0e7eda |
--- nsapolicycoreutils/semanage/semanage 2007-07-16 14:20:41.000000000 -0400
|
|
|
85e2ce7 |
+++ policycoreutils-2.0.22/semanage/semanage 2007-07-31 15:45:57.000000000 -0400
|
|
|
4efe23c |
@@ -34,7 +34,10 @@
|
|
|
4efe23c |
sys.stdout = codecs.getwriter(locale.getpreferredencoding())(sys.__stdout__, 'replace')
|
|
|
4efe23c |
|
|
|
4efe23c |
try:
|
|
|
4efe23c |
- gettext.install(PROGNAME, localedir="/usr/share/locale", unicode=1)
|
|
|
4efe23c |
+ gettext.install(PROGNAME,
|
|
|
4efe23c |
+ localedir="/usr/share/locale",
|
|
|
4efe23c |
+ unicode=False,
|
|
|
4efe23c |
+ codeset = 'utf-8')
|
|
|
4efe23c |
except IOError:
|
|
|
4efe23c |
import __builtin__
|
|
|
4efe23c |
__builtin__.__dict__['_'] = unicode
|
|
|
df5eceb |
diff --exclude-from=exclude --exclude=sepolgen-1.0.8 --exclude=gui --exclude=po -N -u -r nsapolicycoreutils/semanage/seobject.py policycoreutils-2.0.22/semanage/seobject.py
|
|
|
e0e7eda |
--- nsapolicycoreutils/semanage/seobject.py 2007-07-16 14:20:41.000000000 -0400
|
|
|
b9cac61 |
+++ policycoreutils-2.0.22/semanage/seobject.py 2007-08-01 09:54:14.000000000 -0400
|
|
|
64fb16a |
@@ -210,6 +210,7 @@
|
|
|
73f3144 |
os.write(fd, self.out())
|
|
|
73f3144 |
os.close(fd)
|
|
|
73f3144 |
os.rename(newfilename, self.filename)
|
|
|
73f3144 |
+ os.system("/sbin/service mcstrans reload > /dev/null")
|
|
|
1e9f6c8 |
|
|
|
73f3144 |
class semanageRecords:
|
|
|
73f3144 |
def __init__(self):
|
|
|
b9cac61 |
@@ -1024,14 +1025,31 @@
|
|
|
85e2ce7 |
def __init__(self):
|
|
|
85e2ce7 |
semanageRecords.__init__(self)
|
|
|
85e2ce7 |
|
|
|
b9cac61 |
- def add(self, target, type, ftype = "", serange = "", seuser = "system_u"):
|
|
|
b9cac61 |
+ def createcon(self, target, seuser = "system_u"):
|
|
|
85e2ce7 |
+ (rc, con) = semanage_context_create(self.sh)
|
|
|
85e2ce7 |
+ if rc < 0:
|
|
|
85e2ce7 |
+ raise ValueError(_("Could not create context for %s") % target)
|
|
|
b9cac61 |
if seuser == "":
|
|
|
b9cac61 |
seuser = "system_u"
|
|
|
b9cac61 |
+
|
|
|
b9cac61 |
+ rc = semanage_context_set_user(self.sh, con, seuser)
|
|
|
85e2ce7 |
+ if rc < 0:
|
|
|
85e2ce7 |
+ raise ValueError(_("Could not set user in file context for %s") % target)
|
|
|
85e2ce7 |
+
|
|
|
85e2ce7 |
+ rc = semanage_context_set_role(self.sh, con, "object_r")
|
|
|
85e2ce7 |
+ if rc < 0:
|
|
|
85e2ce7 |
+ raise ValueError(_("Could not set role in file context for %s") % target)
|
|
|
85e2ce7 |
+
|
|
|
b9cac61 |
if is_mls_enabled == 1:
|
|
|
b9cac61 |
- if serange == "":
|
|
|
b9cac61 |
- serange = "s0"
|
|
|
b9cac61 |
- else:
|
|
|
b9cac61 |
- serange = untranslate(serange)
|
|
|
85e2ce7 |
+ rc = semanage_context_set_mls(self.sh, con, "s0")
|
|
|
85e2ce7 |
+ if rc < 0:
|
|
|
85e2ce7 |
+ raise ValueError(_("Could not set mls fields in file context for %s") % target)
|
|
|
85e2ce7 |
+
|
|
|
85e2ce7 |
+ return con
|
|
|
85e2ce7 |
+
|
|
|
b9cac61 |
+ def add(self, target, type, ftype = "", serange = "", seuser = "system_u"):
|
|
|
b9cac61 |
+ if is_mls_enabled == 1:
|
|
|
b9cac61 |
+ serange = untranslate(serange)
|
|
|
b9cac61 |
|
|
|
b9cac61 |
if type == "":
|
|
|
b9cac61 |
raise ValueError(_("SELinux Type is required"))
|
|
|
b9cac61 |
@@ -1051,33 +1069,23 @@
|
|
|
2701345 |
raise ValueError(_("Could not create file context for %s") % target)
|
|
|
2701345 |
|
|
|
2701345 |
rc = semanage_fcontext_set_expr(self.sh, fcontext, target)
|
|
|
2701345 |
- (rc, con) = semanage_context_create(self.sh)
|
|
|
2701345 |
- if rc < 0:
|
|
|
2701345 |
- raise ValueError(_("Could not create context for %s") % target)
|
|
|
2701345 |
-
|
|
|
2701345 |
- rc = semanage_context_set_user(self.sh, con, seuser)
|
|
|
2701345 |
- if rc < 0:
|
|
|
2701345 |
- raise ValueError(_("Could not set user in file context for %s") % target)
|
|
|
2701345 |
-
|
|
|
2701345 |
- rc = semanage_context_set_role(self.sh, con, "object_r")
|
|
|
2701345 |
- if rc < 0:
|
|
|
2701345 |
- raise ValueError(_("Could not set role in file context for %s") % target)
|
|
|
2701345 |
-
|
|
|
2701345 |
- rc = semanage_context_set_type(self.sh, con, type)
|
|
|
2701345 |
- if rc < 0:
|
|
|
2701345 |
- raise ValueError(_("Could not set type in file context for %s") % target)
|
|
|
b9cac61 |
+ if type != "<<none>>":
|
|
|
b9cac61 |
+ con = self.createcon(target, seuser)
|
|
|
b9cac61 |
|
|
|
2701345 |
- if serange != "":
|
|
|
2701345 |
- rc = semanage_context_set_mls(self.sh, con, serange)
|
|
|
2701345 |
- if rc < 0:
|
|
|
2701345 |
- raise ValueError(_("Could not set mls fields in file context for %s") % target)
|
|
|
2701345 |
+ rc = semanage_context_set_type(self.sh, con, type)
|
|
|
2701345 |
+ if rc < 0:
|
|
|
2701345 |
+ raise ValueError(_("Could not set type in file context for %s") % target)
|
|
|
2701345 |
+
|
|
|
2701345 |
+ if serange != "":
|
|
|
2701345 |
+ rc = semanage_context_set_mls(self.sh, con, serange)
|
|
|
2701345 |
+ if rc < 0:
|
|
|
2701345 |
+ raise ValueError(_("Could not set mls fields in file context for %s") % target)
|
|
|
85e2ce7 |
+ rc = semanage_fcontext_set_con(self.sh, fcontext, con)
|
|
|
85e2ce7 |
+ if rc < 0:
|
|
|
85e2ce7 |
+ raise ValueError(_("Could not set file context for %s") % target)
|
|
|
2701345 |
|
|
|
2701345 |
semanage_fcontext_set_type(fcontext, file_types[ftype])
|
|
|
2701345 |
|
|
|
85e2ce7 |
- rc = semanage_fcontext_set_con(self.sh, fcontext, con)
|
|
|
85e2ce7 |
- if rc < 0:
|
|
|
85e2ce7 |
- raise ValueError(_("Could not set file context for %s") % target)
|
|
|
85e2ce7 |
-
|
|
|
85e2ce7 |
rc = semanage_begin_transaction(self.sh)
|
|
|
85e2ce7 |
if rc < 0:
|
|
|
85e2ce7 |
raise ValueError(_("Could not start semanage transaction"))
|
|
|
b9cac61 |
@@ -1090,7 +1098,8 @@
|
|
|
85e2ce7 |
if rc < 0:
|
|
|
85e2ce7 |
raise ValueError(_("Could not add file context for %s") % target)
|
|
|
85e2ce7 |
|
|
|
85e2ce7 |
- semanage_context_free(con)
|
|
|
85e2ce7 |
+ if type != "<<none>>":
|
|
|
85e2ce7 |
+ semanage_context_free(con)
|
|
|
85e2ce7 |
semanage_fcontext_key_free(k)
|
|
|
85e2ce7 |
semanage_fcontext_free(fcontext)
|
|
|
85e2ce7 |
|
|
|
b9cac61 |
@@ -1112,16 +1121,29 @@
|
|
|
85e2ce7 |
if rc < 0:
|
|
|
85e2ce7 |
raise ValueError(_("Could not query file context for %s") % target)
|
|
|
85e2ce7 |
|
|
|
85e2ce7 |
- con = semanage_fcontext_get_con(fcontext)
|
|
|
85e2ce7 |
+ if setype != "<<none>>":
|
|
|
85e2ce7 |
+ con = semanage_fcontext_get_con(fcontext)
|
|
|
85e2ce7 |
|
|
|
85e2ce7 |
- if serange != "":
|
|
|
85e2ce7 |
- semanage_context_set_mls(self.sh, con, untranslate(serange))
|
|
|
85e2ce7 |
- if seuser != "":
|
|
|
85e2ce7 |
- semanage_context_set_user(self.sh, con, seuser)
|
|
|
85e2ce7 |
- if setype != "":
|
|
|
85e2ce7 |
- semanage_context_set_type(self.sh, con, setype)
|
|
|
85e2ce7 |
-
|
|
|
85e2ce7 |
- rc = semanage_begin_transaction(self.sh)
|
|
|
85e2ce7 |
+ if con == None:
|
|
|
b9cac61 |
+ con = self.createcon(target)
|
|
|
85e2ce7 |
+
|
|
|
85e2ce7 |
+ if serange != "":
|
|
|
85e2ce7 |
+ semanage_context_set_mls(self.sh, con, untranslate(serange))
|
|
|
85e2ce7 |
+ if seuser != "":
|
|
|
b9cac61 |
+ semanage_context_set_user(self.sh, con, seuser)
|
|
|
b9cac61 |
+
|
|
|
85e2ce7 |
+ if setype != "":
|
|
|
85e2ce7 |
+ semanage_context_set_type(self.sh, con, setype)
|
|
|
85e2ce7 |
+
|
|
|
85e2ce7 |
+ rc = semanage_fcontext_set_con(self.sh, fcontext, con)
|
|
|
85e2ce7 |
+ if rc < 0:
|
|
|
85e2ce7 |
+ raise ValueError(_("Could not set file context for %s") % target)
|
|
|
85e2ce7 |
+ else:
|
|
|
85e2ce7 |
+ rc = semanage_fcontext_set_con(self.sh, fcontext, None)
|
|
|
85e2ce7 |
+ if rc < 0:
|
|
|
85e2ce7 |
+ raise ValueError(_("Could not set file context for %s") % target)
|
|
|
85e2ce7 |
+
|
|
|
85e2ce7 |
+ rc = semanage_begin_transaction(self.sh)
|
|
|
85e2ce7 |
if rc < 0:
|
|
|
85e2ce7 |
raise ValueError(_("Could not start semanage transaction"))
|
|
|
85e2ce7 |
|
|
|
b9cac61 |
@@ -1283,9 +1305,12 @@
|
|
|
7e97034 |
raise ValueError(_("Could not list booleans"))
|
|
|
7e97034 |
|
|
|
7e97034 |
for boolean in self.blist:
|
|
|
7e97034 |
- name = semanage_bool_get_name(boolean)
|
|
|
7e97034 |
- value = semanage_bool_get_value(boolean)
|
|
|
7e97034 |
- ddict[name] = value
|
|
|
7e97034 |
+ value = []
|
|
|
7e97034 |
+ name = semanage_bool_get_name(boolean)
|
|
|
7e97034 |
+ value[0] = semanage_bool_get_value(boolean)
|
|
|
7e97034 |
+ value[1] = selinux.security_get_boolean_pending(boolean)
|
|
|
7e97034 |
+ value[2] = selinux.security_get_boolean_active(boolean)
|
|
|
7e97034 |
+ ddict[name] = value
|
|
|
7e97034 |
|
|
|
7e97034 |
return ddict
|
|
|
7e97034 |
|