Fix selinux-polgengui, get_all_modules call
This commit is contained in:
parent
50cb89c077
commit
934834e6cb
@ -982,11 +982,105 @@ index 9ff0766..a52863e 100644
|
|||||||
+ except subprocess.CalledProcessError as e:
|
+ except subprocess.CalledProcessError as e:
|
||||||
+ self.error(e.output)
|
+ self.error(e.output)
|
||||||
+ self.ready()
|
+ self.ready()
|
||||||
|
diff --git a/policycoreutils/gui/polgen.glade b/policycoreutils/gui/polgen.glade
|
||||||
|
index 37c1472..9854fb2 100644
|
||||||
|
--- a/policycoreutils/gui/polgen.glade
|
||||||
|
+++ b/policycoreutils/gui/polgen.glade
|
||||||
|
@@ -758,7 +758,7 @@
|
||||||
|
<property name="can_focus">True</property>
|
||||||
|
<property name="receives_default">False</property>
|
||||||
|
<property name="use_underline">True</property>
|
||||||
|
- <signal name="clicked" handler="on_exec_select_clicked" swapped="no"/>
|
||||||
|
+ <signal name="clicked" handler="on_exec_select_clicked"/>
|
||||||
|
</widget>
|
||||||
|
<packing>
|
||||||
|
<property name="left_attach">2</property>
|
||||||
|
@@ -840,7 +840,7 @@
|
||||||
|
<property name="can_focus">True</property>
|
||||||
|
<property name="receives_default">False</property>
|
||||||
|
<property name="use_underline">True</property>
|
||||||
|
- <signal name="clicked" handler="on_init_script_select_clicked" swapped="no"/>
|
||||||
|
+ <signal name="clicked" handler="on_init_script_select_clicked" />
|
||||||
|
</widget>
|
||||||
|
<packing>
|
||||||
|
<property name="left_attach">2</property>
|
||||||
|
@@ -1983,7 +1983,7 @@ Tab</property>
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">True</property>
|
||||||
|
<property name="receives_default">False</property>
|
||||||
|
- <signal name="clicked" handler="on_add_clicked" swapped="no"/>
|
||||||
|
+ <signal name="clicked" handler="on_add_clicked" />
|
||||||
|
<child>
|
||||||
|
<widget class="GtkAlignment" id="alignment6">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
@@ -2036,7 +2036,7 @@ Tab</property>
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">True</property>
|
||||||
|
<property name="receives_default">False</property>
|
||||||
|
- <signal name="clicked" handler="on_add_dir_clicked" swapped="no"/>
|
||||||
|
+ <signal name="clicked" handler="on_add_dir_clicked" />
|
||||||
|
<child>
|
||||||
|
<widget class="GtkAlignment" id="alignment5">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
@@ -2091,7 +2091,7 @@ Tab</property>
|
||||||
|
<property name="can_focus">True</property>
|
||||||
|
<property name="receives_default">False</property>
|
||||||
|
<property name="use_stock">True</property>
|
||||||
|
- <signal name="clicked" handler="on_delete_clicked" swapped="no"/>
|
||||||
|
+ <signal name="clicked" handler="on_delete_clicked" />
|
||||||
|
<accelerator key="Delete" signal="clicked"/>
|
||||||
|
</widget>
|
||||||
|
<packing>
|
||||||
|
@@ -2188,7 +2188,7 @@ Tab</property>
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">True</property>
|
||||||
|
<property name="receives_default">False</property>
|
||||||
|
- <signal name="clicked" handler="on_add_boolean_clicked" swapped="no"/>
|
||||||
|
+ <signal name="clicked" handler="on_add_boolean_clicked" />
|
||||||
|
<child>
|
||||||
|
<widget class="GtkAlignment" id="alignment1">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
@@ -2243,7 +2243,7 @@ Tab</property>
|
||||||
|
<property name="can_focus">True</property>
|
||||||
|
<property name="receives_default">False</property>
|
||||||
|
<property name="use_stock">True</property>
|
||||||
|
- <signal name="clicked" handler="on_delete_boolean_clicked" swapped="no"/>
|
||||||
|
+ <signal name="clicked" handler="on_delete_boolean_clicked" />
|
||||||
|
<accelerator key="Delete" signal="clicked"/>
|
||||||
|
</widget>
|
||||||
|
<packing>
|
||||||
|
@@ -2414,7 +2414,7 @@ Tab</property>
|
||||||
|
<property name="can_default">True</property>
|
||||||
|
<property name="receives_default">False</property>
|
||||||
|
<property name="use_stock">True</property>
|
||||||
|
- <signal name="activate" handler="on_cancel_activate" swapped="no"/>
|
||||||
|
+ <signal name="activate" handler="on_cancel_activate" />
|
||||||
|
</widget>
|
||||||
|
<packing>
|
||||||
|
<property name="expand">False</property>
|
||||||
|
@@ -2430,7 +2430,7 @@ Tab</property>
|
||||||
|
<property name="can_default">True</property>
|
||||||
|
<property name="receives_default">False</property>
|
||||||
|
<property name="use_stock">True</property>
|
||||||
|
- <signal name="activate" handler="on_back_activate" swapped="no"/>
|
||||||
|
+ <signal name="activate" handler="on_back_activate" />
|
||||||
|
</widget>
|
||||||
|
<packing>
|
||||||
|
<property name="expand">False</property>
|
||||||
|
@@ -2446,7 +2446,7 @@ Tab</property>
|
||||||
|
<property name="can_default">True</property>
|
||||||
|
<property name="receives_default">False</property>
|
||||||
|
<property name="use_stock">True</property>
|
||||||
|
- <signal name="activate" handler="on_forward_activate" swapped="no"/>
|
||||||
|
+ <signal name="activate" handler="on_forward_activate" />
|
||||||
|
</widget>
|
||||||
|
<packing>
|
||||||
|
<property name="expand">False</property>
|
||||||
diff --git a/policycoreutils/gui/polgengui.py b/policycoreutils/gui/polgengui.py
|
diff --git a/policycoreutils/gui/polgengui.py b/policycoreutils/gui/polgengui.py
|
||||||
index 0f0e564..ab2b9c5 100644
|
index 0f0e564..1b88c47 100644
|
||||||
--- a/policycoreutils/gui/polgengui.py
|
--- a/policycoreutils/gui/polgengui.py
|
||||||
+++ b/policycoreutils/gui/polgengui.py
|
+++ b/policycoreutils/gui/polgengui.py
|
||||||
@@ -30,25 +30,29 @@ import gnome
|
@@ -30,29 +30,15 @@ import gnome
|
||||||
import sys
|
import sys
|
||||||
try:
|
try:
|
||||||
from sepolicy import generate
|
from sepolicy import generate
|
||||||
@ -1002,10 +1096,8 @@ index 0f0e564..ab2b9c5 100644
|
|||||||
|
|
||||||
import re
|
import re
|
||||||
|
|
||||||
def get_all_modules():
|
-def get_all_modules():
|
||||||
+ all_modules = []
|
- try:
|
||||||
+ cmd = "semodule -l 2>/dev/null"
|
|
||||||
try:
|
|
||||||
- all_modules = []
|
- all_modules = []
|
||||||
- rc, output=commands.getstatusoutput("semodule -l 2>/dev/null")
|
- rc, output=commands.getstatusoutput("semodule -l 2>/dev/null")
|
||||||
- if rc == 0:
|
- if rc == 0:
|
||||||
@ -1014,20 +1106,14 @@ index 0f0e564..ab2b9c5 100644
|
|||||||
- all_modules.append(i.split()[0])
|
- all_modules.append(i.split()[0])
|
||||||
- except:
|
- except:
|
||||||
- pass
|
- pass
|
||||||
+ output = subprocess.check_output(cmd,
|
-
|
||||||
+ stderr=subprocess.STDOUT,
|
- return all_modules
|
||||||
+ shell=True)
|
-
|
||||||
+ l = output.split("\n")
|
-
|
||||||
+ for i in l:
|
##
|
||||||
+ all_modules.append(i.split()[0])
|
## I18N
|
||||||
+
|
##
|
||||||
+ except subprocess.CalledProcessError as e:
|
@@ -67,8 +53,8 @@ try:
|
||||||
+ self.error(e.output)
|
|
||||||
+ self.ready()
|
|
||||||
|
|
||||||
return all_modules
|
|
||||||
|
|
||||||
@@ -67,8 +71,8 @@ try:
|
|
||||||
unicode=False,
|
unicode=False,
|
||||||
codeset = 'utf-8')
|
codeset = 'utf-8')
|
||||||
except IOError:
|
except IOError:
|
||||||
@ -1038,8 +1124,12 @@ index 0f0e564..ab2b9c5 100644
|
|||||||
|
|
||||||
gnome.program_init("SELinux Policy Generation Tool", "5")
|
gnome.program_init("SELinux Policy Generation Tool", "5")
|
||||||
|
|
||||||
@@ -194,7 +198,7 @@ class childWindow:
|
@@ -191,10 +177,10 @@ class childWindow:
|
||||||
self.all_modules = get_all_modules()
|
|
||||||
|
try:
|
||||||
|
self.all_types = generate.get_all_types()
|
||||||
|
- self.all_modules = get_all_modules()
|
||||||
|
+ self.all_modules = sepolicy.get_all_modules()
|
||||||
self.all_roles = generate.get_all_roles()
|
self.all_roles = generate.get_all_roles()
|
||||||
self.all_users = generate.get_all_users()
|
self.all_users = generate.get_all_users()
|
||||||
- except RuntimeError, e:
|
- except RuntimeError, e:
|
||||||
@ -1047,7 +1137,7 @@ index 0f0e564..ab2b9c5 100644
|
|||||||
self.all_types = []
|
self.all_types = []
|
||||||
self.all_modules = []
|
self.all_modules = []
|
||||||
self.all_roles = []
|
self.all_roles = []
|
||||||
@@ -262,7 +266,7 @@ class childWindow:
|
@@ -262,7 +248,7 @@ class childWindow:
|
||||||
self.out_udp_entry = self.xml.get_widget("out_udp_entry")
|
self.out_udp_entry = self.xml.get_widget("out_udp_entry")
|
||||||
self.network_buttons[self.out_udp_all_checkbutton] = [ self.out_udp_entry ]
|
self.network_buttons[self.out_udp_all_checkbutton] = [ self.out_udp_entry ]
|
||||||
|
|
||||||
@ -1056,7 +1146,7 @@ index 0f0e564..ab2b9c5 100644
|
|||||||
b.connect("clicked",self.network_all_clicked)
|
b.connect("clicked",self.network_all_clicked)
|
||||||
|
|
||||||
self.boolean_treeview = self.xml.get_widget("boolean_treeview")
|
self.boolean_treeview = self.xml.get_widget("boolean_treeview")
|
||||||
@@ -333,7 +337,7 @@ class childWindow:
|
@@ -333,7 +319,7 @@ class childWindow:
|
||||||
for a in sepolicy.interface.get_admin():
|
for a in sepolicy.interface.get_admin():
|
||||||
iter = self.admin_store.append()
|
iter = self.admin_store.append()
|
||||||
self.admin_store.set_value(iter, 0, a)
|
self.admin_store.set_value(iter, 0, a)
|
||||||
@ -1065,7 +1155,7 @@ index 0f0e564..ab2b9c5 100644
|
|||||||
self.error(e.message)
|
self.error(e.message)
|
||||||
|
|
||||||
def confine_application(self):
|
def confine_application(self):
|
||||||
@@ -519,7 +523,7 @@ class childWindow:
|
@@ -519,7 +505,7 @@ class childWindow:
|
||||||
|
|
||||||
self.info(my_policy.generate(outputdir))
|
self.info(my_policy.generate(outputdir))
|
||||||
return False
|
return False
|
||||||
@ -1074,7 +1164,7 @@ index 0f0e564..ab2b9c5 100644
|
|||||||
self.error(e.message)
|
self.error(e.message)
|
||||||
|
|
||||||
def delete(self, args):
|
def delete(self, args):
|
||||||
@@ -687,7 +691,7 @@ class childWindow:
|
@@ -687,7 +673,7 @@ class childWindow:
|
||||||
try:
|
try:
|
||||||
generate.verify_ports(self.in_tcp_entry.get_text())
|
generate.verify_ports(self.in_tcp_entry.get_text())
|
||||||
generate.verify_ports(self.in_udp_entry.get_text())
|
generate.verify_ports(self.in_udp_entry.get_text())
|
||||||
@ -1083,7 +1173,7 @@ index 0f0e564..ab2b9c5 100644
|
|||||||
self.error(e.message)
|
self.error(e.message)
|
||||||
return True
|
return True
|
||||||
|
|
||||||
@@ -695,7 +699,7 @@ class childWindow:
|
@@ -695,7 +681,7 @@ class childWindow:
|
||||||
try:
|
try:
|
||||||
generate.verify_ports(self.out_tcp_entry.get_text())
|
generate.verify_ports(self.out_tcp_entry.get_text())
|
||||||
generate.verify_ports(self.out_udp_entry.get_text())
|
generate.verify_ports(self.out_udp_entry.get_text())
|
||||||
@ -1092,7 +1182,7 @@ index 0f0e564..ab2b9c5 100644
|
|||||||
self.error(e.message)
|
self.error(e.message)
|
||||||
return True
|
return True
|
||||||
|
|
||||||
@@ -734,12 +738,12 @@ class childWindow:
|
@@ -734,12 +720,12 @@ class childWindow:
|
||||||
policy.set_program(exe)
|
policy.set_program(exe)
|
||||||
policy.gen_writeable()
|
policy.gen_writeable()
|
||||||
policy.gen_symbols()
|
policy.gen_symbols()
|
||||||
@ -259690,10 +259780,10 @@ index 74fb347..adb6ca5 100755
|
|||||||
+ print("Out")
|
+ print("Out")
|
||||||
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
|
||||||
index fd95c16..e7607fd 100644
|
index fd95c16..7ef8adf 100644
|
||||||
--- a/policycoreutils/sepolicy/sepolicy/__init__.py
|
--- a/policycoreutils/sepolicy/sepolicy/__init__.py
|
||||||
+++ b/policycoreutils/sepolicy/sepolicy/__init__.py
|
+++ b/policycoreutils/sepolicy/sepolicy/__init__.py
|
||||||
@@ -3,7 +3,7 @@
|
@@ -3,23 +3,27 @@
|
||||||
# Author: Dan Walsh <dwalsh@redhat.com>
|
# Author: Dan Walsh <dwalsh@redhat.com>
|
||||||
# Author: Ryan Hallisey <rhallise@redhat.com>
|
# Author: Ryan Hallisey <rhallise@redhat.com>
|
||||||
|
|
||||||
@ -259702,7 +259792,11 @@ index fd95c16..e7607fd 100644
|
|||||||
import selinux, glob
|
import selinux, glob
|
||||||
PROGNAME="policycoreutils"
|
PROGNAME="policycoreutils"
|
||||||
import gettext
|
import gettext
|
||||||
@@ -14,12 +14,15 @@ gettext.bindtextdomain(PROGNAME, "/usr/share/locale")
|
import sepolgen.defaults as defaults
|
||||||
|
import sepolgen.interfaces as interfaces
|
||||||
|
import sys
|
||||||
|
+import subprocess
|
||||||
|
gettext.bindtextdomain(PROGNAME, "/usr/share/locale")
|
||||||
gettext.textdomain(PROGNAME)
|
gettext.textdomain(PROGNAME)
|
||||||
try:
|
try:
|
||||||
gettext.install(PROGNAME,
|
gettext.install(PROGNAME,
|
||||||
@ -259722,7 +259816,7 @@ index fd95c16..e7607fd 100644
|
|||||||
|
|
||||||
TYPE = _policy.TYPE
|
TYPE = _policy.TYPE
|
||||||
ROLE = _policy.ROLE
|
ROLE = _policy.ROLE
|
||||||
@@ -28,6 +31,8 @@ PORT = _policy.PORT
|
@@ -28,6 +32,8 @@ PORT = _policy.PORT
|
||||||
USER = _policy.USER
|
USER = _policy.USER
|
||||||
BOOLEAN = _policy.BOOLEAN
|
BOOLEAN = _policy.BOOLEAN
|
||||||
TCLASS = _policy.CLASS
|
TCLASS = _policy.CLASS
|
||||||
@ -259731,7 +259825,7 @@ index fd95c16..e7607fd 100644
|
|||||||
|
|
||||||
ALLOW = 'allow'
|
ALLOW = 'allow'
|
||||||
AUDITALLOW = 'auditallow'
|
AUDITALLOW = 'auditallow'
|
||||||
@@ -59,7 +64,7 @@ def search(types, info = {}):
|
@@ -59,7 +65,7 @@ def search(types, info = {}):
|
||||||
|
|
||||||
dict_list = _policy.search(seinfo)
|
dict_list = _policy.search(seinfo)
|
||||||
if dict_list and len(perms) != 0:
|
if dict_list and len(perms) != 0:
|
||||||
@ -259740,7 +259834,7 @@ index fd95c16..e7607fd 100644
|
|||||||
return dict_list
|
return dict_list
|
||||||
|
|
||||||
def get_conditionals(src,dest,tclass,perm):
|
def get_conditionals(src,dest,tclass,perm):
|
||||||
@@ -75,7 +80,7 @@ def get_conditionals(src,dest,tclass,perm):
|
@@ -75,7 +81,7 @@ def get_conditionals(src,dest,tclass,perm):
|
||||||
allows=[]
|
allows=[]
|
||||||
allows.append(i)
|
allows.append(i)
|
||||||
try:
|
try:
|
||||||
@ -259749,7 +259843,7 @@ index fd95c16..e7607fd 100644
|
|||||||
tdict.update({'source':i['source'],'boolean':i['boolean']})
|
tdict.update({'source':i['source'],'boolean':i['boolean']})
|
||||||
if tdict not in tlist:
|
if tdict not in tlist:
|
||||||
tlist.append(tdict)
|
tlist.append(tdict)
|
||||||
@@ -86,8 +91,8 @@ def get_conditionals(src,dest,tclass,perm):
|
@@ -86,8 +92,8 @@ def get_conditionals(src,dest,tclass,perm):
|
||||||
return (tlist)
|
return (tlist)
|
||||||
|
|
||||||
def get_conditionals_format_text(cond):
|
def get_conditionals_format_text(cond):
|
||||||
@ -259760,7 +259854,33 @@ index fd95c16..e7607fd 100644
|
|||||||
|
|
||||||
def get_types_from_attribute(attribute):
|
def get_types_from_attribute(attribute):
|
||||||
return info(ATTRIBUTE,attribute)[0]["types"]
|
return info(ATTRIBUTE,attribute)[0]["types"]
|
||||||
@@ -141,6 +146,9 @@ def get_writable_files(setype):
|
@@ -112,6 +118,25 @@ trans_file_type_str["-s"] = "s"
|
||||||
|
trans_file_type_str["-l"] = "l"
|
||||||
|
trans_file_type_str["-p"] = "p"
|
||||||
|
|
||||||
|
+def get_all_modules():
|
||||||
|
+ all_modules = []
|
||||||
|
+ cmd = "semodule -l 2>/dev/null"
|
||||||
|
+ try:
|
||||||
|
+ output = subprocess.check_output(cmd,
|
||||||
|
+ stderr=subprocess.STDOUT,
|
||||||
|
+ shell=True)
|
||||||
|
+ l = output.split("\n")
|
||||||
|
+
|
||||||
|
+ except subprocess.CalledProcessError as e:
|
||||||
|
+ from .sedbus import SELinuxDBus
|
||||||
|
+ l = SELinuxDBus().semodule_list().split("\n")
|
||||||
|
+
|
||||||
|
+ for i in l:
|
||||||
|
+ if len(i):
|
||||||
|
+ all_modules.append(i.split()[0])
|
||||||
|
+
|
||||||
|
+ return all_modules
|
||||||
|
+
|
||||||
|
def get_file_types(setype):
|
||||||
|
flist=[]
|
||||||
|
mpaths={}
|
||||||
|
@@ -141,6 +166,9 @@ def get_writable_files(setype):
|
||||||
for i in permlist:
|
for i in permlist:
|
||||||
if i['target'] in attributes:
|
if i['target'] in attributes:
|
||||||
continue
|
continue
|
||||||
@ -259770,7 +259890,7 @@ index fd95c16..e7607fd 100644
|
|||||||
if i['target'].endswith("_t"):
|
if i['target'].endswith("_t"):
|
||||||
if i['target'] not in file_types:
|
if i['target'] not in file_types:
|
||||||
continue
|
continue
|
||||||
@@ -166,7 +174,7 @@ def find_file(reg):
|
@@ -166,7 +194,7 @@ def find_file(reg):
|
||||||
try:
|
try:
|
||||||
pat = re.compile(r"%s$" % reg)
|
pat = re.compile(r"%s$" % reg)
|
||||||
except:
|
except:
|
||||||
@ -259779,7 +259899,7 @@ index fd95c16..e7607fd 100644
|
|||||||
return []
|
return []
|
||||||
p = reg
|
p = reg
|
||||||
if p.endswith("(/.*)?"):
|
if p.endswith("(/.*)?"):
|
||||||
@@ -178,19 +186,19 @@ def find_file(reg):
|
@@ -178,19 +206,19 @@ def find_file(reg):
|
||||||
if path[-1] != "/": # is pass in it breaks without try block
|
if path[-1] != "/": # is pass in it breaks without try block
|
||||||
path += "/"
|
path += "/"
|
||||||
except IndexError:
|
except IndexError:
|
||||||
@ -259802,7 +259922,7 @@ index fd95c16..e7607fd 100644
|
|||||||
if exe.endswith("_exec_t") and exe not in exclude_list:
|
if exe.endswith("_exec_t") and exe not in exclude_list:
|
||||||
for path in executable_files[exe]:
|
for path in executable_files[exe]:
|
||||||
for f in find_file(path):
|
for f in find_file(path):
|
||||||
@@ -218,7 +226,7 @@ def read_file_equiv(edict, fc_path, modify):
|
@@ -218,7 +246,7 @@ def read_file_equiv(edict, fc_path, modify):
|
||||||
f = e.split()
|
f = e.split()
|
||||||
edict[f[0]] = { "equiv" : f[1], "modify" : modify }
|
edict[f[0]] = { "equiv" : f[1], "modify" : modify }
|
||||||
return edict
|
return edict
|
||||||
@ -259811,7 +259931,7 @@ index fd95c16..e7607fd 100644
|
|||||||
file_equiv_modified=None
|
file_equiv_modified=None
|
||||||
def get_file_equiv_modified(fc_path = selinux.selinux_file_context_path()):
|
def get_file_equiv_modified(fc_path = selinux.selinux_file_context_path()):
|
||||||
global file_equiv_modified
|
global file_equiv_modified
|
||||||
@@ -236,7 +244,7 @@ def get_file_equiv(fc_path = selinux.selinux_file_context_path()):
|
@@ -236,7 +264,7 @@ def get_file_equiv(fc_path = selinux.selinux_file_context_path()):
|
||||||
file_equiv = get_file_equiv_modified(fc_path)
|
file_equiv = get_file_equiv_modified(fc_path)
|
||||||
file_equiv = read_file_equiv(file_equiv, fc_path + ".subs_dist", modify = False)
|
file_equiv = read_file_equiv(file_equiv, fc_path + ".subs_dist", modify = False)
|
||||||
return file_equiv
|
return file_equiv
|
||||||
@ -259820,7 +259940,7 @@ index fd95c16..e7607fd 100644
|
|||||||
local_files=None
|
local_files=None
|
||||||
def get_local_file_paths(fc_path = selinux.selinux_file_context_path()):
|
def get_local_file_paths(fc_path = selinux.selinux_file_context_path()):
|
||||||
global local_files
|
global local_files
|
||||||
@@ -306,7 +314,7 @@ def get_fcdict(fc_path = selinux.selinux_file_context_path()):
|
@@ -306,7 +334,7 @@ def get_fcdict(fc_path = selinux.selinux_file_context_path()):
|
||||||
|
|
||||||
def get_transitions_into(setype):
|
def get_transitions_into(setype):
|
||||||
try:
|
try:
|
||||||
@ -259829,7 +259949,7 @@ index fd95c16..e7607fd 100644
|
|||||||
except TypeError:
|
except TypeError:
|
||||||
pass
|
pass
|
||||||
return None
|
return None
|
||||||
@@ -320,7 +328,7 @@ def get_transitions(setype):
|
@@ -320,7 +348,7 @@ def get_transitions(setype):
|
||||||
|
|
||||||
def get_file_transitions(setype):
|
def get_file_transitions(setype):
|
||||||
try:
|
try:
|
||||||
@ -259838,7 +259958,7 @@ index fd95c16..e7607fd 100644
|
|||||||
except TypeError:
|
except TypeError:
|
||||||
pass
|
pass
|
||||||
return None
|
return None
|
||||||
@@ -344,7 +352,7 @@ def get_all_entrypoints():
|
@@ -344,7 +372,7 @@ def get_all_entrypoints():
|
||||||
def get_entrypoint_types(setype):
|
def get_entrypoint_types(setype):
|
||||||
entrypoints = []
|
entrypoints = []
|
||||||
try:
|
try:
|
||||||
@ -259847,7 +259967,7 @@ index fd95c16..e7607fd 100644
|
|||||||
except TypeError:
|
except TypeError:
|
||||||
pass
|
pass
|
||||||
return entrypoints
|
return entrypoints
|
||||||
@@ -352,7 +360,7 @@ def get_entrypoint_types(setype):
|
@@ -352,7 +380,7 @@ def get_entrypoint_types(setype):
|
||||||
def get_init_transtype(path):
|
def get_init_transtype(path):
|
||||||
entrypoint = selinux.getfilecon(path)[1].split(":")[2]
|
entrypoint = selinux.getfilecon(path)[1].split(":")[2]
|
||||||
try:
|
try:
|
||||||
@ -259856,7 +259976,7 @@ index fd95c16..e7607fd 100644
|
|||||||
if len(entrypoints) == 0:
|
if len(entrypoints) == 0:
|
||||||
return None
|
return None
|
||||||
return entrypoints[0]["transtype"]
|
return entrypoints[0]["transtype"]
|
||||||
@@ -362,7 +370,7 @@ def get_init_transtype(path):
|
@@ -362,7 +390,7 @@ def get_init_transtype(path):
|
||||||
|
|
||||||
def get_init_entrypoint(transtype):
|
def get_init_entrypoint(transtype):
|
||||||
try:
|
try:
|
||||||
@ -259865,7 +259985,7 @@ index fd95c16..e7607fd 100644
|
|||||||
if len(entrypoints) == 0:
|
if len(entrypoints) == 0:
|
||||||
return None
|
return None
|
||||||
return entrypoints[0]["target"]
|
return entrypoints[0]["target"]
|
||||||
@@ -372,7 +380,7 @@ def get_init_entrypoint(transtype):
|
@@ -372,7 +400,7 @@ def get_init_entrypoint(transtype):
|
||||||
|
|
||||||
def get_init_entrypoint_target(entrypoint):
|
def get_init_entrypoint_target(entrypoint):
|
||||||
try:
|
try:
|
||||||
@ -259874,7 +259994,7 @@ index fd95c16..e7607fd 100644
|
|||||||
return entrypoints[0]
|
return entrypoints[0]
|
||||||
except TypeError:
|
except TypeError:
|
||||||
pass
|
pass
|
||||||
@@ -410,7 +418,7 @@ def get_methods():
|
@@ -410,7 +438,7 @@ def get_methods():
|
||||||
# List of per_role_template interfaces
|
# List of per_role_template interfaces
|
||||||
ifs = interfaces.InterfaceSet()
|
ifs = interfaces.InterfaceSet()
|
||||||
ifs.from_file(fd)
|
ifs.from_file(fd)
|
||||||
@ -259883,7 +260003,7 @@ index fd95c16..e7607fd 100644
|
|||||||
fd.close()
|
fd.close()
|
||||||
except:
|
except:
|
||||||
sys.stderr.write("could not open interface info [%s]\n" % fn)
|
sys.stderr.write("could not open interface info [%s]\n" % fn)
|
||||||
@@ -423,7 +431,7 @@ all_types = None
|
@@ -423,7 +451,7 @@ all_types = None
|
||||||
def get_all_types():
|
def get_all_types():
|
||||||
global all_types
|
global all_types
|
||||||
if all_types == None:
|
if all_types == None:
|
||||||
@ -259892,16 +260012,15 @@ index fd95c16..e7607fd 100644
|
|||||||
return all_types
|
return all_types
|
||||||
|
|
||||||
user_types = None
|
user_types = None
|
||||||
@@ -465,7 +473,7 @@ portrecs = None
|
@@ -465,7 +493,6 @@ portrecs = None
|
||||||
portrecsbynum = None
|
portrecsbynum = None
|
||||||
|
|
||||||
def gen_interfaces():
|
def gen_interfaces():
|
||||||
- import commands
|
- import commands
|
||||||
+ import subprocess
|
|
||||||
ifile = defaults.interface_info()
|
ifile = defaults.interface_info()
|
||||||
headers = defaults.headers()
|
headers = defaults.headers()
|
||||||
rebuild = False
|
rebuild = False
|
||||||
@@ -477,7 +485,9 @@ def gen_interfaces():
|
@@ -477,7 +504,9 @@ def gen_interfaces():
|
||||||
|
|
||||||
if os.getuid() != 0:
|
if os.getuid() != 0:
|
||||||
raise ValueError(_("You must regenerate interface info by running /usr/bin/sepolgen-ifgen"))
|
raise ValueError(_("You must regenerate interface info by running /usr/bin/sepolgen-ifgen"))
|
||||||
@ -259912,7 +260031,7 @@ index fd95c16..e7607fd 100644
|
|||||||
|
|
||||||
def gen_port_dict():
|
def gen_port_dict():
|
||||||
global portrecs
|
global portrecs
|
||||||
@@ -511,12 +521,26 @@ def get_all_domains():
|
@@ -511,12 +540,26 @@ def get_all_domains():
|
||||||
all_domains = info(ATTRIBUTE,"domain")[0]["types"]
|
all_domains = info(ATTRIBUTE,"domain")[0]["types"]
|
||||||
return all_domains
|
return all_domains
|
||||||
|
|
||||||
@ -259940,7 +260059,7 @@ index fd95c16..e7607fd 100644
|
|||||||
roles.remove("object_r")
|
roles.remove("object_r")
|
||||||
roles.sort()
|
roles.sort()
|
||||||
return roles
|
return roles
|
||||||
@@ -549,7 +573,7 @@ def get_login_mappings():
|
@@ -549,7 +592,7 @@ def get_login_mappings():
|
||||||
return login_mappings
|
return login_mappings
|
||||||
|
|
||||||
def get_all_users():
|
def get_all_users():
|
||||||
@ -259949,7 +260068,7 @@ index fd95c16..e7607fd 100644
|
|||||||
users.sort()
|
users.sort()
|
||||||
return users
|
return users
|
||||||
|
|
||||||
@@ -697,7 +721,7 @@ all_attributes = None
|
@@ -697,7 +740,7 @@ all_attributes = None
|
||||||
def get_all_attributes():
|
def get_all_attributes():
|
||||||
global all_attributes
|
global all_attributes
|
||||||
if not all_attributes:
|
if not all_attributes:
|
||||||
@ -259958,7 +260077,7 @@ index fd95c16..e7607fd 100644
|
|||||||
return all_attributes
|
return all_attributes
|
||||||
|
|
||||||
def policy(policy_file):
|
def policy(policy_file):
|
||||||
@@ -727,7 +751,7 @@ def policy(policy_file):
|
@@ -727,7 +770,7 @@ def policy(policy_file):
|
||||||
try:
|
try:
|
||||||
policy_file = get_installed_policy()
|
policy_file = get_installed_policy()
|
||||||
policy(policy_file)
|
policy(policy_file)
|
||||||
@ -259967,7 +260086,7 @@ index fd95c16..e7607fd 100644
|
|||||||
if selinux.is_selinux_enabled() == 1:
|
if selinux.is_selinux_enabled() == 1:
|
||||||
raise e
|
raise e
|
||||||
|
|
||||||
@@ -755,7 +779,7 @@ def get_bools(setype):
|
@@ -755,7 +798,7 @@ def get_bools(setype):
|
||||||
bools = []
|
bools = []
|
||||||
domainbools = []
|
domainbools = []
|
||||||
domainname, short_name = gen_short_name(setype)
|
domainname, short_name = gen_short_name(setype)
|
||||||
@ -259976,7 +260095,7 @@ index fd95c16..e7607fd 100644
|
|||||||
for b in i:
|
for b in i:
|
||||||
if not isinstance(b,tuple):
|
if not isinstance(b,tuple):
|
||||||
continue
|
continue
|
||||||
@@ -818,7 +842,7 @@ def gen_bool_dict(path="/usr/share/selinux/devel/policy.xml"):
|
@@ -818,7 +861,7 @@ def gen_bool_dict(path="/usr/share/selinux/devel/policy.xml"):
|
||||||
desc = i.find("desc").find("p").text.strip("\n")
|
desc = i.find("desc").find("p").text.strip("\n")
|
||||||
desc = re.sub("\n", " ", desc)
|
desc = re.sub("\n", " ", desc)
|
||||||
booleans_dict[i.get('name')] = ("global", i.get('dftval'), desc)
|
booleans_dict[i.get('name')] = ("global", i.get('dftval'), desc)
|
||||||
@ -259985,7 +260104,7 @@ index fd95c16..e7607fd 100644
|
|||||||
pass
|
pass
|
||||||
return booleans_dict
|
return booleans_dict
|
||||||
|
|
||||||
@@ -841,12 +865,13 @@ def get_os_version():
|
@@ -841,12 +884,13 @@ def get_os_version():
|
||||||
os_version = ""
|
os_version = ""
|
||||||
pkg_name = "selinux-policy"
|
pkg_name = "selinux-policy"
|
||||||
try:
|
try:
|
||||||
@ -260005,7 +260124,7 @@ index fd95c16..e7607fd 100644
|
|||||||
|
|
||||||
if os_version[0:2] == "fc":
|
if os_version[0:2] == "fc":
|
||||||
os_version = "Fedora"+os_version[2:]
|
os_version = "Fedora"+os_version[2:]
|
||||||
@@ -868,7 +893,7 @@ def reinit():
|
@@ -868,7 +912,7 @@ def reinit():
|
||||||
global file_types
|
global file_types
|
||||||
global local_files
|
global local_files
|
||||||
global methods
|
global methods
|
||||||
|
Loading…
Reference in New Issue
Block a user