Fix semanage booleans -l, move more boolean_dict handling into sepolicy
- Update translations - Fixup sepolicy generate to discover /var/log, /var/run and /var/lib directories if they match the name - Fix kill function call should indicate signal_perms not kill capability - Error out cleanly in system-config-selinux, if it can not contact XServer
This commit is contained in:
parent
321b3f2caa
commit
16444033da
@ -335089,7 +335089,7 @@ index 63b11dd..28a9022 100644
|
|||||||
.TP
|
.TP
|
||||||
.I \-P, \-\-prefix
|
.I \-P, \-\-prefix
|
||||||
diff --git a/policycoreutils/semanage/seobject.py b/policycoreutils/semanage/seobject.py
|
diff --git a/policycoreutils/semanage/seobject.py b/policycoreutils/semanage/seobject.py
|
||||||
index ad7dc8c..0a1485e 100644
|
index ad7dc8c..f2b8721 100644
|
||||||
--- a/policycoreutils/semanage/seobject.py
|
--- a/policycoreutils/semanage/seobject.py
|
||||||
+++ b/policycoreutils/semanage/seobject.py
|
+++ b/policycoreutils/semanage/seobject.py
|
||||||
@@ -24,17 +24,18 @@
|
@@ -24,17 +24,18 @@
|
||||||
@ -335097,7 +335097,7 @@ index ad7dc8c..0a1485e 100644
|
|||||||
from semanage import *;
|
from semanage import *;
|
||||||
PROGNAME = "policycoreutils"
|
PROGNAME = "policycoreutils"
|
||||||
+import sepolicy
|
+import sepolicy
|
||||||
+from sepolicy import booleans_dict
|
+from sepolicy import boolean_desc, boolean_category
|
||||||
import sepolgen.module as module
|
import sepolgen.module as module
|
||||||
from IPy import IP
|
from IPy import IP
|
||||||
|
|
||||||
@ -335116,7 +335116,7 @@ index ad7dc8c..0a1485e 100644
|
|||||||
|
|
||||||
import syslog
|
import syslog
|
||||||
|
|
||||||
@@ -123,33 +124,6 @@ class nulllogger:
|
@@ -123,39 +124,6 @@ class nulllogger:
|
||||||
def commit(self,success):
|
def commit(self,success):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
@ -335147,10 +335147,16 @@ index ad7dc8c..0a1485e 100644
|
|||||||
- #print _("Failed to translate booleans.\n%s") % e
|
- #print _("Failed to translate booleans.\n%s") % e
|
||||||
- pass
|
- pass
|
||||||
-
|
-
|
||||||
def boolean_desc(boolean):
|
-def boolean_desc(boolean):
|
||||||
if boolean in booleans_dict:
|
- if boolean in booleans_dict:
|
||||||
return _(booleans_dict[boolean][2])
|
- return _(booleans_dict[boolean][2])
|
||||||
@@ -384,13 +358,7 @@ class permissiveRecords(semanageRecords):
|
- else:
|
||||||
|
- return boolean
|
||||||
|
-
|
||||||
|
def validate_level(raw):
|
||||||
|
sensitivity = "s[0-9]*"
|
||||||
|
category = "c[0-9]*"
|
||||||
|
@@ -384,13 +352,7 @@ class permissiveRecords(semanageRecords):
|
||||||
return l
|
return l
|
||||||
|
|
||||||
def list(self, heading = 1, locallist = 0):
|
def list(self, heading = 1, locallist = 0):
|
||||||
@ -335165,7 +335171,7 @@ index ad7dc8c..0a1485e 100644
|
|||||||
if len(all) == 0:
|
if len(all) == 0:
|
||||||
return
|
return
|
||||||
|
|
||||||
@@ -493,7 +461,9 @@ class loginRecords(semanageRecords):
|
@@ -493,7 +455,9 @@ class loginRecords(semanageRecords):
|
||||||
if rc < 0:
|
if rc < 0:
|
||||||
raise ValueError(_("Could not check if login mapping for %s is defined") % name)
|
raise ValueError(_("Could not check if login mapping for %s is defined") % name)
|
||||||
if exists:
|
if exists:
|
||||||
@ -335176,7 +335182,7 @@ index ad7dc8c..0a1485e 100644
|
|||||||
if name[0] == '%':
|
if name[0] == '%':
|
||||||
try:
|
try:
|
||||||
grp.getgrnam(name[1:])
|
grp.getgrnam(name[1:])
|
||||||
@@ -738,7 +708,8 @@ class seluserRecords(semanageRecords):
|
@@ -738,7 +702,8 @@ class seluserRecords(semanageRecords):
|
||||||
if rc < 0:
|
if rc < 0:
|
||||||
raise ValueError(_("Could not check if SELinux user %s is defined") % name)
|
raise ValueError(_("Could not check if SELinux user %s is defined") % name)
|
||||||
if exists:
|
if exists:
|
||||||
@ -335186,7 +335192,7 @@ index ad7dc8c..0a1485e 100644
|
|||||||
|
|
||||||
(rc, u) = semanage_user_create(self.sh)
|
(rc, u) = semanage_user_create(self.sh)
|
||||||
if rc < 0:
|
if rc < 0:
|
||||||
@@ -958,6 +929,8 @@ class seluserRecords(semanageRecords):
|
@@ -958,6 +923,8 @@ class seluserRecords(semanageRecords):
|
||||||
print "%-15s %s" % (k, ddict[k][3])
|
print "%-15s %s" % (k, ddict[k][3])
|
||||||
|
|
||||||
class portRecords(semanageRecords):
|
class portRecords(semanageRecords):
|
||||||
@ -335195,7 +335201,7 @@ index ad7dc8c..0a1485e 100644
|
|||||||
def __init__(self, store = ""):
|
def __init__(self, store = ""):
|
||||||
semanageRecords.__init__(self, store)
|
semanageRecords.__init__(self, store)
|
||||||
|
|
||||||
@@ -997,6 +970,9 @@ class portRecords(semanageRecords):
|
@@ -997,6 +964,9 @@ class portRecords(semanageRecords):
|
||||||
if type == "":
|
if type == "":
|
||||||
raise ValueError(_("Type is required"))
|
raise ValueError(_("Type is required"))
|
||||||
|
|
||||||
@ -335205,7 +335211,7 @@ index ad7dc8c..0a1485e 100644
|
|||||||
( k, proto_d, low, high ) = self.__genkey(port, proto)
|
( k, proto_d, low, high ) = self.__genkey(port, proto)
|
||||||
|
|
||||||
(rc, exists) = semanage_port_exists(self.sh, k)
|
(rc, exists) = semanage_port_exists(self.sh, k)
|
||||||
@@ -1056,6 +1032,9 @@ class portRecords(semanageRecords):
|
@@ -1056,6 +1026,9 @@ class portRecords(semanageRecords):
|
||||||
else:
|
else:
|
||||||
raise ValueError(_("Requires setype"))
|
raise ValueError(_("Requires setype"))
|
||||||
|
|
||||||
@ -335215,7 +335221,7 @@ index ad7dc8c..0a1485e 100644
|
|||||||
( k, proto_d, low, high ) = self.__genkey(port, proto)
|
( k, proto_d, low, high ) = self.__genkey(port, proto)
|
||||||
|
|
||||||
(rc, exists) = semanage_port_exists(self.sh, k)
|
(rc, exists) = semanage_port_exists(self.sh, k)
|
||||||
@@ -1213,6 +1192,8 @@ class portRecords(semanageRecords):
|
@@ -1213,6 +1186,8 @@ class portRecords(semanageRecords):
|
||||||
print rec
|
print rec
|
||||||
|
|
||||||
class nodeRecords(semanageRecords):
|
class nodeRecords(semanageRecords):
|
||||||
@ -335224,7 +335230,7 @@ index ad7dc8c..0a1485e 100644
|
|||||||
def __init__(self, store = ""):
|
def __init__(self, store = ""):
|
||||||
semanageRecords.__init__(self,store)
|
semanageRecords.__init__(self,store)
|
||||||
self.protocol = ["ipv4", "ipv6"]
|
self.protocol = ["ipv4", "ipv6"]
|
||||||
@@ -1252,7 +1233,10 @@ class nodeRecords(semanageRecords):
|
@@ -1252,7 +1227,10 @@ class nodeRecords(semanageRecords):
|
||||||
serange = untranslate(serange)
|
serange = untranslate(serange)
|
||||||
|
|
||||||
if ctype == "":
|
if ctype == "":
|
||||||
@ -335236,7 +335242,7 @@ index ad7dc8c..0a1485e 100644
|
|||||||
|
|
||||||
(rc, k) = semanage_node_key_create(self.sh, addr, mask, proto)
|
(rc, k) = semanage_node_key_create(self.sh, addr, mask, proto)
|
||||||
if rc < 0:
|
if rc < 0:
|
||||||
@@ -1262,7 +1246,8 @@ class nodeRecords(semanageRecords):
|
@@ -1262,7 +1240,8 @@ class nodeRecords(semanageRecords):
|
||||||
|
|
||||||
(rc, exists) = semanage_node_exists(self.sh, k)
|
(rc, exists) = semanage_node_exists(self.sh, k)
|
||||||
if exists:
|
if exists:
|
||||||
@ -335246,7 +335252,7 @@ index ad7dc8c..0a1485e 100644
|
|||||||
|
|
||||||
(rc, node) = semanage_node_create(self.sh)
|
(rc, node) = semanage_node_create(self.sh)
|
||||||
if rc < 0:
|
if rc < 0:
|
||||||
@@ -1318,6 +1303,9 @@ class nodeRecords(semanageRecords):
|
@@ -1318,6 +1297,9 @@ class nodeRecords(semanageRecords):
|
||||||
if serange == "" and setype == "":
|
if serange == "" and setype == "":
|
||||||
raise ValueError(_("Requires setype or serange"))
|
raise ValueError(_("Requires setype or serange"))
|
||||||
|
|
||||||
@ -335256,7 +335262,7 @@ index ad7dc8c..0a1485e 100644
|
|||||||
(rc, k) = semanage_node_key_create(self.sh, addr, mask, proto)
|
(rc, k) = semanage_node_key_create(self.sh, addr, mask, proto)
|
||||||
if rc < 0:
|
if rc < 0:
|
||||||
raise ValueError(_("Could not create key for %s") % addr)
|
raise ValueError(_("Could not create key for %s") % addr)
|
||||||
@@ -1460,7 +1448,8 @@ class interfaceRecords(semanageRecords):
|
@@ -1460,7 +1442,8 @@ class interfaceRecords(semanageRecords):
|
||||||
if rc < 0:
|
if rc < 0:
|
||||||
raise ValueError(_("Could not check if interface %s is defined") % interface)
|
raise ValueError(_("Could not check if interface %s is defined") % interface)
|
||||||
if exists:
|
if exists:
|
||||||
@ -335266,7 +335272,7 @@ index ad7dc8c..0a1485e 100644
|
|||||||
|
|
||||||
(rc, iface) = semanage_iface_create(self.sh)
|
(rc, iface) = semanage_iface_create(self.sh)
|
||||||
if rc < 0:
|
if rc < 0:
|
||||||
@@ -1625,6 +1614,9 @@ class interfaceRecords(semanageRecords):
|
@@ -1625,6 +1608,9 @@ class interfaceRecords(semanageRecords):
|
||||||
print "%-30s %s:%s:%s " % (k,ddict[k][0], ddict[k][1],ddict[k][2])
|
print "%-30s %s:%s:%s " % (k,ddict[k][0], ddict[k][1],ddict[k][2])
|
||||||
|
|
||||||
class fcontextRecords(semanageRecords):
|
class fcontextRecords(semanageRecords):
|
||||||
@ -335276,7 +335282,7 @@ index ad7dc8c..0a1485e 100644
|
|||||||
def __init__(self, store = ""):
|
def __init__(self, store = ""):
|
||||||
semanageRecords.__init__(self, store)
|
semanageRecords.__init__(self, store)
|
||||||
self.equiv = {}
|
self.equiv = {}
|
||||||
@@ -1739,6 +1731,9 @@ class fcontextRecords(semanageRecords):
|
@@ -1739,6 +1725,9 @@ class fcontextRecords(semanageRecords):
|
||||||
if type == "":
|
if type == "":
|
||||||
raise ValueError(_("SELinux Type is required"))
|
raise ValueError(_("SELinux Type is required"))
|
||||||
|
|
||||||
@ -335286,7 +335292,7 @@ index ad7dc8c..0a1485e 100644
|
|||||||
(rc, k) = semanage_fcontext_key_create(self.sh, target, file_types[ftype])
|
(rc, k) = semanage_fcontext_key_create(self.sh, target, file_types[ftype])
|
||||||
if rc < 0:
|
if rc < 0:
|
||||||
raise ValueError(_("Could not create key for %s") % target)
|
raise ValueError(_("Could not create key for %s") % target)
|
||||||
@@ -1753,7 +1748,8 @@ class fcontextRecords(semanageRecords):
|
@@ -1753,7 +1742,8 @@ class fcontextRecords(semanageRecords):
|
||||||
raise ValueError(_("Could not check if file context for %s is defined") % target)
|
raise ValueError(_("Could not check if file context for %s is defined") % target)
|
||||||
|
|
||||||
if exists:
|
if exists:
|
||||||
@ -335296,7 +335302,7 @@ index ad7dc8c..0a1485e 100644
|
|||||||
|
|
||||||
(rc, fcontext) = semanage_fcontext_create(self.sh)
|
(rc, fcontext) = semanage_fcontext_create(self.sh)
|
||||||
if rc < 0:
|
if rc < 0:
|
||||||
@@ -1794,6 +1790,9 @@ class fcontextRecords(semanageRecords):
|
@@ -1794,6 +1784,9 @@ class fcontextRecords(semanageRecords):
|
||||||
def __modify(self, target, setype, ftype, serange, seuser):
|
def __modify(self, target, setype, ftype, serange, seuser):
|
||||||
if serange == "" and setype == "" and seuser == "":
|
if serange == "" and setype == "" and seuser == "":
|
||||||
raise ValueError(_("Requires setype, serange or seuser"))
|
raise ValueError(_("Requires setype, serange or seuser"))
|
||||||
@ -335306,7 +335312,7 @@ index ad7dc8c..0a1485e 100644
|
|||||||
self.validate(target)
|
self.validate(target)
|
||||||
|
|
||||||
(rc, k) = semanage_fcontext_key_create(self.sh, target, file_types[ftype])
|
(rc, k) = semanage_fcontext_key_create(self.sh, target, file_types[ftype])
|
||||||
@@ -1999,6 +1998,8 @@ class booleanRecords(semanageRecords):
|
@@ -1999,6 +1992,8 @@ class booleanRecords(semanageRecords):
|
||||||
self.modify_local = False
|
self.modify_local = False
|
||||||
|
|
||||||
def __mod(self, name, value):
|
def __mod(self, name, value):
|
||||||
@ -335315,7 +335321,7 @@ index ad7dc8c..0a1485e 100644
|
|||||||
(rc, k) = semanage_bool_key_create(self.sh, name)
|
(rc, k) = semanage_bool_key_create(self.sh, name)
|
||||||
if rc < 0:
|
if rc < 0:
|
||||||
raise ValueError(_("Could not create a key for %s") % name)
|
raise ValueError(_("Could not create a key for %s") % name)
|
||||||
@@ -2028,8 +2029,6 @@ class booleanRecords(semanageRecords):
|
@@ -2028,8 +2023,6 @@ class booleanRecords(semanageRecords):
|
||||||
semanage_bool_free(b)
|
semanage_bool_free(b)
|
||||||
|
|
||||||
def modify(self, name, value = None, use_file = False):
|
def modify(self, name, value = None, use_file = False):
|
||||||
@ -335324,6 +335330,18 @@ index ad7dc8c..0a1485e 100644
|
|||||||
self.begin()
|
self.begin()
|
||||||
if use_file:
|
if use_file:
|
||||||
fd = open(name)
|
fd = open(name)
|
||||||
|
@@ -2120,10 +2113,7 @@ class booleanRecords(semanageRecords):
|
||||||
|
|
||||||
|
def get_category(self, name):
|
||||||
|
name = selinux.selinux_boolean_sub(name)
|
||||||
|
- if name in booleans_dict:
|
||||||
|
- return _(booleans_dict[name][0])
|
||||||
|
- else:
|
||||||
|
- return _("unknown")
|
||||||
|
+ return boolean_category(name)
|
||||||
|
|
||||||
|
def customized(self):
|
||||||
|
l = []
|
||||||
diff --git a/policycoreutils/sepolicy/.gitignore b/policycoreutils/sepolicy/.gitignore
|
diff --git a/policycoreutils/sepolicy/.gitignore b/policycoreutils/sepolicy/.gitignore
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 0000000..378eac2
|
index 0000000..378eac2
|
||||||
@ -338224,10 +338242,10 @@ index 0000000..eee20af
|
|||||||
+ sys.exit(0)
|
+ sys.exit(0)
|
||||||
diff --git a/policycoreutils/sepolicy/sepolicy/__init__.py b/policycoreutils/sepolicy/sepolicy/__init__.py
|
diff --git a/policycoreutils/sepolicy/sepolicy/__init__.py b/policycoreutils/sepolicy/sepolicy/__init__.py
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 0000000..5df16bb
|
index 0000000..247d0fb
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/policycoreutils/sepolicy/sepolicy/__init__.py
|
+++ b/policycoreutils/sepolicy/sepolicy/__init__.py
|
||||||
@@ -0,0 +1,110 @@
|
@@ -0,0 +1,123 @@
|
||||||
+#!/usr/bin/env python
|
+#!/usr/bin/env python
|
||||||
+
|
+
|
||||||
+# Author: Thomas Liu <tliu@redhat.com>
|
+# Author: Thomas Liu <tliu@redhat.com>
|
||||||
@ -338319,6 +338337,19 @@ index 0000000..5df16bb
|
|||||||
+ pass
|
+ pass
|
||||||
+ return booleans_dict
|
+ return booleans_dict
|
||||||
+
|
+
|
||||||
|
+def boolean_category(boolean):
|
||||||
|
+ if boolean in self.booleans_dict:
|
||||||
|
+ return _(self.booleans_dict[boolean][0])
|
||||||
|
+ else:
|
||||||
|
+ return _("unknown")
|
||||||
|
+
|
||||||
|
+def boolean_desc(boolean):
|
||||||
|
+ booleans_dict = gen_bool_dict()
|
||||||
|
+ if boolean in booleans_dict:
|
||||||
|
+ return _(booleans_dict[boolean][2])
|
||||||
|
+ else:
|
||||||
|
+ return boolean
|
||||||
|
+
|
||||||
+def get_os_version():
|
+def get_os_version():
|
||||||
+ os_version = ""
|
+ os_version = ""
|
||||||
+ pkg_name = "selinux-policy"
|
+ pkg_name = "selinux-policy"
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
Summary: SELinux policy core utilities
|
Summary: SELinux policy core utilities
|
||||||
Name: policycoreutils
|
Name: policycoreutils
|
||||||
Version: 2.1.13
|
Version: 2.1.13
|
||||||
Release: 25%{?dist}
|
Release: 26%{?dist}
|
||||||
License: GPLv2
|
License: GPLv2
|
||||||
Group: System Environment/Base
|
Group: System Environment/Base
|
||||||
# Based on git repository with tag 20101221
|
# Based on git repository with tag 20101221
|
||||||
@ -329,6 +329,7 @@ The policycoreutils-restorecond package contains the restorecond service.
|
|||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
* Mon Nov 5 2012 Dan Walsh <dwalsh@redhat.com> - 2.1.12-26
|
* Mon Nov 5 2012 Dan Walsh <dwalsh@redhat.com> - 2.1.12-26
|
||||||
|
- Fix semanage booleans -l, move more boolean_dict handling into sepolicy
|
||||||
- Update translations
|
- Update translations
|
||||||
- Fixup sepolicy generate to discover /var/log, /var/run and /var/lib directories if they match the name
|
- Fixup sepolicy generate to discover /var/log, /var/run and /var/lib directories if they match the name
|
||||||
- Fix kill function call should indicate signal_perms not kill capability
|
- Fix kill function call should indicate signal_perms not kill capability
|
||||||
|
Loading…
Reference in New Issue
Block a user