*** empty log message ***

This commit is contained in:
Daniel J Walsh 2007-11-05 21:30:56 +00:00
parent f73ca01a5e
commit 7c2e75773b
2 changed files with 255 additions and 249 deletions

View File

@ -1,7 +1,7 @@
diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/booleansPage.py policycoreutils-2.0.31/gui/booleansPage.py diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/booleansPage.py policycoreutils-2.0.31/gui/booleansPage.py
--- nsapolicycoreutils/gui/booleansPage.py 1969-12-31 19:00:00.000000000 -0500 --- nsapolicycoreutils/gui/booleansPage.py 1969-12-31 19:00:00.000000000 -0500
+++ policycoreutils-2.0.31/gui/booleansPage.py 2007-10-15 16:55:03.000000000 -0400 +++ policycoreutils-2.0.31/gui/booleansPage.py 2007-11-05 15:47:36.000000000 -0500
@@ -0,0 +1,254 @@ @@ -0,0 +1,230 @@
+# +#
+# booleansPage.py - GUI for Booleans page in system-config-securitylevel +# booleansPage.py - GUI for Booleans page in system-config-securitylevel
+# +#
@ -30,6 +30,7 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/booleansPage.py poli
+import sys +import sys
+import tempfile +import tempfile
+import seobject +import seobject
+import semanagePage
+ +
+INSTALLPATH='/usr/share/system-config-selinux' +INSTALLPATH='/usr/share/system-config-selinux'
+sys.path.append(INSTALLPATH) +sys.path.append(INSTALLPATH)
@ -58,44 +59,6 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/booleansPage.py poli
+ +
+from glob import fnmatch +from glob import fnmatch
+ +
+class Translation:
+ def __init__(self):
+ self.translation={}
+ fd=open(INSTALLPATH + "/selinux.tbl","r")
+ lines=fd.readlines()
+ fd.close()
+ for i in lines:
+ try:
+ line=i.strip().split("_(\"")
+ key=line[0].strip()
+ category=line[1].split("\"")[0]
+ value=line[2].split("\"")[0]
+ self.translation[key]=(category,value)
+ except:
+ continue
+
+ def match(self,key, filter=""):
+ try:
+ f=filter.lower()
+ val=self.get_value(key).lower()
+ k=key.lower()
+ return val.find(f) >= 0 or k.find(f) >= 0
+ except:
+ return False
+
+ def get_category(self,key):
+ try:
+ return _(self.translation[key][0])
+ except:
+ #print key, "missing translation"
+ return _("Other")
+
+ def get_value(self,key):
+ try:
+ return _(self.translation[key][1])
+ except:
+ return key
+
+class Modifier: +class Modifier:
+ def __init__(self,name, on, save): + def __init__(self,name, on, save):
+ self.on=on + self.on=on
@ -113,56 +76,22 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/booleansPage.py poli
+ def __init__(self,name, val, save=False): + def __init__(self,name, val, save=False):
+ Modifier.__init__(self,name, val, save) + Modifier.__init__(self,name, val, save)
+ +
+class Modifiers: +ACTIVE = 0
+ def __init__(self,store): +MODULE = 1
+ self.modifiers={} +DESC = 2
+ self.translation=Translation() +BOOLEAN = 3
+ self.store=store
+ self.store.clear()
+
+ def add(self,name,val):
+ if name == "targeted_policy":
+ return
+ category=self.translation.get_category(name)
+ if not self.modifiers.has_key(category):
+ self.modifiers[category]={}
+ iter=self.store.append(None)
+ self.modifiers[category]["iter"] = iter
+ self.store.set_value(iter, 1, category)
+ self.store.set_value(iter, 3, False)
+
+ self.modifiers[category][name]=val;
+ iter=self.store.append(self.modifiers[category]["iter"])
+ self.store.set_value(iter, 0, val.isOn())
+ self.store.set_value(iter, 1, self.translation.get_value(name))
+ self.store.set_value(iter, 2, name)
+ self.store.set_value(iter, 3, True)
+
+ def set(self,name,val):
+ category=self.translation.get_category(name)
+ self.modifiers[category][name].set(val)
+
+ def isBoolean(self,name):
+ c=self.translation.get_category(name)
+ return isinstance(self.modifiers[c][name], Boolean)
+
+ def get_booleans(self):
+ booleans={}
+ for c in self.modifiers.keys():
+ for n in self.modifiers[c].keys():
+ if isinstance(self.modifiers[c][n], Boolean):
+ booleans[n]=self.modifiers[c][n]
+ return booleans
+ +
+class booleansPage: +class booleansPage:
+ def __init__(self, xml, doDebug=None): + def __init__(self, xml, doDebug=None):
+ self.xml = xml + self.xml = xml
+ self.window = self.xml.get_widget("mainWindow").get_root_window()
+ self.local = False + self.local = False
+ self.types=[] + self.types=[]
+ self.selinuxsupport = True + self.selinuxsupport = True
+ self.translation = Translation()
+ self.typechanged = False + self.typechanged = False
+ self.doDebug = doDebug + self.doDebug = doDebug
+ self.busy_cursor = gtk.gdk.Cursor(gtk.gdk.WATCH)
+ self.ready_cursor = gtk.gdk.Cursor(gtk.gdk.LEFT_PTR)
+ +
+ # Bring in widgets from glade file. + # Bring in widgets from glade file.
+ self.typeHBox = xml.get_widget("typeHBox") + self.typeHBox = xml.get_widget("typeHBox")
@ -180,30 +109,65 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/booleansPage.py poli
+ listStore = gtk.ListStore(gobject.TYPE_STRING) + listStore = gtk.ListStore(gobject.TYPE_STRING)
+ cell = gtk.CellRendererText() + cell = gtk.CellRendererText()
+ +
+ self.booleansStore = gtk.TreeStore(gobject.TYPE_BOOLEAN, gobject.TYPE_STRING, gobject.TYPE_PYOBJECT, gobject.TYPE_BOOLEAN) + self.store = gtk.ListStore(gobject.TYPE_BOOLEAN, gobject.TYPE_STRING, gobject.TYPE_STRING, gobject.TYPE_STRING)
+ self.booleansStore.set_sort_column_id(1, gtk.SORT_ASCENDING) + self.store.set_sort_column_id(1, gtk.SORT_ASCENDING)
+ self.booleansView.set_model(self.booleansStore) + self.booleansView.set_model(self.store)
+ +
+ checkbox = gtk.CellRendererToggle() + checkbox = gtk.CellRendererToggle()
+ checkbox.connect("toggled", self.boolean_toggled) + checkbox.connect("toggled", self.boolean_toggled)
+ col = gtk.TreeViewColumn('', checkbox, active = 0,visible=3) + col = gtk.TreeViewColumn('Active', checkbox, active = ACTIVE)
+ col.set_fixed_width(20)
+ col.set_clickable(True) + col.set_clickable(True)
+ col.set_sort_column_id(ACTIVE)
+ self.booleansView.append_column(col) + self.booleansView.append_column(col)
+ +
+ col = gtk.TreeViewColumn("", gtk.CellRendererText(), text=1) + col = gtk.TreeViewColumn("Module", gtk.CellRendererText(), text=MODULE)
+ col.set_sort_column_id(MODULE)
+ col.set_resizable(True)
+ self.booleansView.append_column(col)
+
+ col = gtk.TreeViewColumn("Description", gtk.CellRendererText(), text=DESC)
+ col.set_sizing(gtk.TREE_VIEW_COLUMN_FIXED)
+ col.set_fixed_width(400)
+ col.set_sort_column_id(DESC)
+ col.set_resizable(True)
+ self.booleansView.append_column(col)
+
+ col = gtk.TreeViewColumn("Name", gtk.CellRendererText(), text=BOOLEAN)
+ col.set_sort_column_id(BOOLEAN)
+ col.set_resizable(True)
+ self.booleansView.set_search_equal_func(self.__search)
+ self.booleansView.append_column(col) + self.booleansView.append_column(col)
+ self.filter="" + self.filter=""
+ self.load(self.filter) + self.load(self.filter)
+ +
+ def __search(self, model, col, key, i):
+ sort_col = self.store.get_sort_column_id()[0]
+ if sort_col > 0:
+ val = model.get_value(i, sort_col)
+ if val.lower().startswith(key.lower()):
+ return False
+ return True
+
+ def wait(self):
+ self.window.set_cursor(self.busy_cursor)
+ semanagePage.idle_func()
+
+ def ready(self):
+ self.window.set_cursor(self.ready_cursor)
+ semanagePage.idle_func()
+
+ def deleteDialog(self): + def deleteDialog(self):
+ store, iter = self.booleansView.get_selection().get_selected() + store, iter = self.booleansView.get_selection().get_selected()
+ boolean = store.get_value(iter, 2) + boolean = store.get_value(iter, BOOLEAN)
+ # change cursor
+ if boolean == None: + if boolean == None:
+ return + return
+ try: + try:
+ self.wait()
+ self.booleansView.get_root_window().set_cursor(cursor)
+ (rc, out) = commands.getstatusoutput("semanage boolean -d %s" % boolean) + (rc, out) = commands.getstatusoutput("semanage boolean -d %s" % boolean)
+ +
+ self.ready()
+ if rc != 0: + if rc != 0:
+ return self.error(out) + return self.error(out)
+ self.load(self.filter) + self.load(self.filter)
@ -222,27 +186,39 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/booleansPage.py poli
+ def get_description(self): + def get_description(self):
+ return _("Boolean") + return _("Boolean")
+ +
+ def match(self,key, filter=""):
+ try:
+ f=filter.lower()
+ cat=self.booleans.get_category(key).lower()
+ val=self.booleans.get_desc(key).lower()
+ k=key.lower()
+ return val.find(f) >= 0 or k.find(f) >= 0 or cat.find(f) >= 0
+ except:
+ return False
+
+
+ def load(self, filter=None): + def load(self, filter=None):
+ self.modifiers=Modifiers(self.booleansStore) + self.store.clear()
+ booleans=seobject.booleanRecords() + self.booleans = seobject.booleanRecords()
+ booleansList=booleans.get_all(self.local) + booleansList = self.booleans.get_all(self.local)
+# booleansList=commands.getoutput("/usr/sbin/getsebool -a").split("\n")
+ for name in booleansList: + for name in booleansList:
+ rec=booleansList[name] + rec = booleansList[name]
+ if self.translation.match(name, filter): + if self.match(name, filter):
+ self.modifiers.add(name,Boolean(name,rec[2] == 1)) + iter=self.store.append()
+ self.store.set_value(iter, ACTIVE, rec[2] == 1)
+ self.store.set_value(iter, MODULE, self.booleans.get_category(name))
+ self.store.set_value(iter, DESC, self.booleans.get_desc(name))
+ self.store.set_value(iter, BOOLEAN, name)
+ +
+ def boolean_toggled(self, widget, row): + def boolean_toggled(self, widget, row):
+ if len(row) == 1: + iter = self.store.get_iter(row)
+ return + val = self.store.get_value(iter, ACTIVE)
+ iter = self.booleansStore.get_iter(row) + key = self.store.get_value(iter, BOOLEAN)
+ val = self.booleansStore.get_value(iter, 0) + self.store.set_value(iter, ACTIVE , not val)
+ key = self.booleansStore.get_value(iter, 2) + self.wait()
+ self.booleansStore.set_value(iter, 0 , not val)
+ self.modifiers.set(key, not val)
+
+ setsebool="/usr/sbin/setsebool -P %s=%d" % (key, not val) + setsebool="/usr/sbin/setsebool -P %s=%d" % (key, not val)
+ commands.getstatusoutput(setsebool) + commands.getstatusoutput(setsebool)
+ self.ready()
+ +
+ def on_local_clicked(self, button): + def on_local_clicked(self, button):
+ self.local = not self.local + self.local = not self.local
@ -258,8 +234,8 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/booleansPage.py poli
+ +
diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/fcontextPage.py policycoreutils-2.0.31/gui/fcontextPage.py diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/fcontextPage.py policycoreutils-2.0.31/gui/fcontextPage.py
--- nsapolicycoreutils/gui/fcontextPage.py 1969-12-31 19:00:00.000000000 -0500 --- nsapolicycoreutils/gui/fcontextPage.py 1969-12-31 19:00:00.000000000 -0500
+++ policycoreutils-2.0.31/gui/fcontextPage.py 2007-10-15 16:55:03.000000000 -0400 +++ policycoreutils-2.0.31/gui/fcontextPage.py 2007-11-05 16:29:06.000000000 -0500
@@ -0,0 +1,209 @@ @@ -0,0 +1,217 @@
+## fcontextPage.py - show selinux mappings +## fcontextPage.py - show selinux mappings
+## Copyright (C) 2006 Red Hat, Inc. +## Copyright (C) 2006 Red Hat, Inc.
+ +
@ -294,11 +270,9 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/fcontextPage.py poli
+ def __init__(self, scontext): + def __init__(self, scontext):
+ self.scontext = scontext + self.scontext = scontext
+ con=scontext.split(":") + con=scontext.split(":")
+ self.user = con[0] + self.type = con[0]
+ self.role = con[1] + if len(con) > 1:
+ self.type = con[2] + self.mls = con[1]
+ if len(con) > 3:
+ self.mls = con[3]
+ else: + else:
+ self.mls = "s0" + self.mls = "s0"
+ +
@ -322,16 +296,18 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/fcontextPage.py poli
+ import __builtin__ + import __builtin__
+ __builtin__.__dict__['_'] = unicode + __builtin__.__dict__['_'] = unicode
+ +
+
+class fcontextPage(semanagePage): +class fcontextPage(semanagePage):
+ def __init__(self, xml): + def __init__(self, xml):
+ semanagePage.__init__(self, xml, "fcontext", _("File Labeling")) + semanagePage.__init__(self, xml, "fcontext", _("File Labeling"))
+ self.fcontextFilter = xml.get_widget("fcontextFilterEntry") + self.fcontextFilter = xml.get_widget("fcontextFilterEntry")
+ self.fcontextFilter.connect("focus_out_event", self.filter_changed) + self.fcontextFilter.connect("focus_out_event", self.filter_changed)
+ self.fcontextFilter.connect("activate", self.filter_changed) + self.fcontextFilter.connect("activate", self.filter_changed)
+ self.view = xml.get_widget("fcontextView") +
+ self.store = gtk.ListStore(gobject.TYPE_STRING, gobject.TYPE_STRING, gobject.TYPE_STRING) + self.store = gtk.ListStore(gobject.TYPE_STRING, gobject.TYPE_STRING, gobject.TYPE_STRING)
+ self.view = xml.get_widget("fcontextView")
+ self.view.set_model(self.store) + self.view.set_model(self.store)
+# self.store.set_sort_column_id(0, gtk.SORT_ASCENDING) + self.view.set_search_equal_func(self.search)
+ +
+ col = gtk.TreeViewColumn(_("File\nSpecification"), gtk.CellRendererText(), text=SPEC_COL) + col = gtk.TreeViewColumn(_("File\nSpecification"), gtk.CellRendererText(), text=SPEC_COL)
+ col.set_sizing(gtk.TREE_VIEW_COLUMN_FIXED) + col.set_sizing(gtk.TREE_VIEW_COLUMN_FIXED)
@ -340,7 +316,7 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/fcontextPage.py poli
+ col.set_sort_column_id(SPEC_COL) + col.set_sort_column_id(SPEC_COL)
+ col.set_resizable(True) + col.set_resizable(True)
+ self.view.append_column(col) + self.view.append_column(col)
+ col = gtk.TreeViewColumn(_("Selinux\nFile Context"), gtk.CellRendererText(), text=TYPE_COL) + col = gtk.TreeViewColumn(_("Selinux\nFile Type"), gtk.CellRendererText(), text=TYPE_COL)
+ +
+ col.set_sizing(gtk.TREE_VIEW_COLUMN_FIXED) + col.set_sizing(gtk.TREE_VIEW_COLUMN_FIXED)
+ col.set_fixed_width(250) + col.set_fixed_width(250)
@ -351,6 +327,8 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/fcontextPage.py poli
+ col.set_sort_column_id(FTYPE_COL) + col.set_sort_column_id(FTYPE_COL)
+ col.set_resizable(True) + col.set_resizable(True)
+ self.view.append_column(col) + self.view.append_column(col)
+
+ self.store.set_sort_column_id(SPEC_COL, gtk.SORT_ASCENDING)
+ self.load() + self.load()
+ self.fcontextEntry = xml.get_widget("fcontextEntry") + self.fcontextEntry = xml.get_widget("fcontextEntry")
+ self.fcontextFileTypeCombo = xml.get_widget("fcontextFileTypeCombo") + self.fcontextFileTypeCombo = xml.get_widget("fcontextFileTypeCombo")
@ -387,10 +365,10 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/fcontextPage.py poli
+ self.store.set_value(iter, SPEC_COL, fcon[0]) + self.store.set_value(iter, SPEC_COL, fcon[0])
+ self.store.set_value(iter, FTYPE_COL, fcon[1]) + self.store.set_value(iter, FTYPE_COL, fcon[1])
+ if len(fcon) > 3: + if len(fcon) > 3:
+ rec="%s:%s:%s:%s " % (fcon[2], fcon[3],fcon[4], seobject.translate(fcon[5],False)) + rec="%s:%s" % (fcon[4], seobject.translate(fcon[5],False))
+ else: + else:
+ rec="<<None>>" + rec="<<None>>"
+ self.store.set_value(iter, 1, rec) + self.store.set_value(iter, TYPE_COL, rec)
+ self.view.get_selection().select_path ((0,)) + self.view.get_selection().select_path ((0,))
+ +
+ def filter_changed(self, *arg): + def filter_changed(self, *arg):
@ -427,7 +405,9 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/fcontextPage.py poli
+ try: + try:
+ fspec=store.get_value(iter, SPEC_COL) + fspec=store.get_value(iter, SPEC_COL)
+ ftype=store.get_value(iter, FTYPE_COL) + ftype=store.get_value(iter, FTYPE_COL)
+ self.wait()
+ (rc, out) = commands.getstatusoutput("semanage fcontext -d -f '%s' %s" % (ftype, fspec)) + (rc, out) = commands.getstatusoutput("semanage fcontext -d -f '%s' %s" % (ftype, fspec))
+ self.ready()
+ +
+ if rc != 0: + if rc != 0:
+ return self.error(out) + return self.error(out)
@ -443,7 +423,9 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/fcontextPage.py poli
+ list_model=self.fcontextFileTypeCombo.get_model() + list_model=self.fcontextFileTypeCombo.get_model()
+ iter = self.fcontextFileTypeCombo.get_active_iter() + iter = self.fcontextFileTypeCombo.get_active_iter()
+ ftype=list_model.get_value(iter,0) + ftype=list_model.get_value(iter,0)
+ self.wait()
+ (rc, out) = commands.getstatusoutput("semanage fcontext -a -t %s -r %s -f '%s' %s" % (type, mls, ftype, fspec)) + (rc, out) = commands.getstatusoutput("semanage fcontext -a -t %s -r %s -f '%s' %s" % (type, mls, ftype, fspec))
+ self.ready()
+ if rc != 0: + if rc != 0:
+ self.error(out) + self.error(out)
+ return False + return False
@ -451,7 +433,7 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/fcontextPage.py poli
+ iter=self.store.append() + iter=self.store.append()
+ self.store.set_value(iter, SPEC_COL, fspec) + self.store.set_value(iter, SPEC_COL, fspec)
+ self.store.set_value(iter, FTYPE_COL, ftype) + self.store.set_value(iter, FTYPE_COL, ftype)
+ self.store.set_value(iter, TYPE_COL, "system_u:object_r:%s:%s" % (type, mls)) + self.store.set_value(iter, TYPE_COL, "%s:%s" % (type, mls))
+ +
+ def modify(self): + def modify(self):
+ fspec=self.fcontextEntry.get_text().strip() + fspec=self.fcontextEntry.get_text().strip()
@ -460,7 +442,9 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/fcontextPage.py poli
+ list_model=self.fcontextFileTypeCombo.get_model() + list_model=self.fcontextFileTypeCombo.get_model()
+ iter = self.fcontextFileTypeCombo.get_active_iter() + iter = self.fcontextFileTypeCombo.get_active_iter()
+ ftype=list_model.get_value(iter,0) + ftype=list_model.get_value(iter,0)
+ self.wait()
+ (rc, out) = commands.getstatusoutput("semanage fcontext -m -t %s -r %s -f '%s' %s" % (type, mls, ftype, fspec)) + (rc, out) = commands.getstatusoutput("semanage fcontext -m -t %s -r %s -f '%s' %s" % (type, mls, ftype, fspec))
+ self.ready()
+ if rc != 0: + if rc != 0:
+ self.error(out) + self.error(out)
+ return False + return False
@ -468,11 +452,11 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/fcontextPage.py poli
+ store, iter = self.view.get_selection().get_selected() + store, iter = self.view.get_selection().get_selected()
+ self.store.set_value(iter, SPEC_COL, fspec) + self.store.set_value(iter, SPEC_COL, fspec)
+ self.store.set_value(iter, FTYPE_COL, ftype) + self.store.set_value(iter, FTYPE_COL, ftype)
+ self.store.set_value(iter, TYPE_COL, "system_u:object_r:%s:%s" % (type, mls)) + self.store.set_value(iter, TYPE_COL, "%s:%s" % (type, mls))
diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/loginsPage.py policycoreutils-2.0.31/gui/loginsPage.py diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/loginsPage.py policycoreutils-2.0.31/gui/loginsPage.py
--- nsapolicycoreutils/gui/loginsPage.py 1969-12-31 19:00:00.000000000 -0500 --- nsapolicycoreutils/gui/loginsPage.py 1969-12-31 19:00:00.000000000 -0500
+++ policycoreutils-2.0.31/gui/loginsPage.py 2007-10-15 16:55:03.000000000 -0400 +++ policycoreutils-2.0.31/gui/loginsPage.py 2007-11-05 15:48:06.000000000 -0500
@@ -0,0 +1,179 @@ @@ -0,0 +1,185 @@
+## loginsPage.py - show selinux mappings +## loginsPage.py - show selinux mappings
+## Copyright (C) 2006 Red Hat, Inc. +## Copyright (C) 2006 Red Hat, Inc.
+ +
@ -607,7 +591,9 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/loginsPage.py policy
+ if login == "root" or login == "__default__": + if login == "root" or login == "__default__":
+ raise ValueError(_("Login '%s' is required") % login) + raise ValueError(_("Login '%s' is required") % login)
+ +
+ self.wait()
+ (rc, out) = commands.getstatusoutput("semanage login -d %s" % login) + (rc, out) = commands.getstatusoutput("semanage login -d %s" % login)
+ self.ready()
+ if rc != 0: + if rc != 0:
+ self.error(out) + self.error(out)
+ return False + return False
@ -624,7 +610,9 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/loginsPage.py policy
+ list_model=self.loginsSelinuxUserCombo.get_model() + list_model=self.loginsSelinuxUserCombo.get_model()
+ iter = self.loginsSelinuxUserCombo.get_active_iter() + iter = self.loginsSelinuxUserCombo.get_active_iter()
+ seuser = list_model.get_value(iter,0) + seuser = list_model.get_value(iter,0)
+ self.wait()
+ (rc, out) = commands.getstatusoutput("semanage login -a -s %s -r %s %s" % (seuser, serange, target)) + (rc, out) = commands.getstatusoutput("semanage login -a -s %s -r %s %s" % (seuser, serange, target))
+ self.ready()
+ if rc != 0: + if rc != 0:
+ self.error(out) + self.error(out)
+ return False + return False
@ -642,7 +630,9 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/loginsPage.py policy
+ list_model = self.loginsSelinuxUserCombo.get_model() + list_model = self.loginsSelinuxUserCombo.get_model()
+ iter = self.loginsSelinuxUserCombo.get_active_iter() + iter = self.loginsSelinuxUserCombo.get_active_iter()
+ seuser=list_model.get_value(iter,0) + seuser=list_model.get_value(iter,0)
+ self.wait()
+ (rc, out) = commands.getstatusoutput("semanage login -m -s %s -r %s %s" % (seuser, serange, target)) + (rc, out) = commands.getstatusoutput("semanage login -m -s %s -r %s %s" % (seuser, serange, target))
+ self.ready()
+ if rc != 0: + if rc != 0:
+ self.error(out) + self.error(out)
+ return False + return False
@ -654,7 +644,7 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/loginsPage.py policy
+ +
diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/Makefile policycoreutils-2.0.31/gui/Makefile diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/Makefile policycoreutils-2.0.31/gui/Makefile
--- nsapolicycoreutils/gui/Makefile 1969-12-31 19:00:00.000000000 -0500 --- nsapolicycoreutils/gui/Makefile 1969-12-31 19:00:00.000000000 -0500
+++ policycoreutils-2.0.31/gui/Makefile 2007-10-15 16:55:03.000000000 -0400 +++ policycoreutils-2.0.31/gui/Makefile 2007-11-02 15:54:42.000000000 -0400
@@ -0,0 +1,34 @@ @@ -0,0 +1,34 @@
+# Installation directories. +# Installation directories.
+PREFIX ?= ${DESTDIR}/usr +PREFIX ?= ${DESTDIR}/usr
@ -692,7 +682,7 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/Makefile policycoreu
+relabel: +relabel:
diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/mappingsPage.py policycoreutils-2.0.31/gui/mappingsPage.py diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/mappingsPage.py policycoreutils-2.0.31/gui/mappingsPage.py
--- nsapolicycoreutils/gui/mappingsPage.py 1969-12-31 19:00:00.000000000 -0500 --- nsapolicycoreutils/gui/mappingsPage.py 1969-12-31 19:00:00.000000000 -0500
+++ policycoreutils-2.0.31/gui/mappingsPage.py 2007-10-15 16:55:03.000000000 -0400 +++ policycoreutils-2.0.31/gui/mappingsPage.py 2007-11-02 15:54:42.000000000 -0400
@@ -0,0 +1,56 @@ @@ -0,0 +1,56 @@
+## mappingsPage.py - show selinux mappings +## mappingsPage.py - show selinux mappings
+## Copyright (C) 2006 Red Hat, Inc. +## Copyright (C) 2006 Red Hat, Inc.
@ -752,8 +742,8 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/mappingsPage.py poli
+ +
diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/modulesPage.py policycoreutils-2.0.31/gui/modulesPage.py diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/modulesPage.py policycoreutils-2.0.31/gui/modulesPage.py
--- nsapolicycoreutils/gui/modulesPage.py 1969-12-31 19:00:00.000000000 -0500 --- nsapolicycoreutils/gui/modulesPage.py 1969-12-31 19:00:00.000000000 -0500
+++ policycoreutils-2.0.31/gui/modulesPage.py 2007-10-16 23:32:51.000000000 -0400 +++ policycoreutils-2.0.31/gui/modulesPage.py 2007-11-05 15:48:46.000000000 -0500
@@ -0,0 +1,187 @@ @@ -0,0 +1,195 @@
+## modulesPage.py - show selinux mappings +## modulesPage.py - show selinux mappings
+## Copyright (C) 2006 Red Hat, Inc. +## Copyright (C) 2006 Red Hat, Inc.
+ +
@ -869,7 +859,9 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/modulesPage.py polic
+ store, iter = self.view.get_selection().get_selected() + store, iter = self.view.get_selection().get_selected()
+ module = store.get_value(iter, 0) + module = store.get_value(iter, 0)
+ try: + try:
+ self.wait()
+ status, output = commands.getstatusoutput("semodule -r %s" % module) + status, output = commands.getstatusoutput("semodule -r %s" % module)
+ self.ready()
+ if status != 0: + if status != 0:
+ self.error(output) + self.error(output)
+ else: + else:
@ -882,12 +874,14 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/modulesPage.py polic
+ def enable_audit(self, button): + def enable_audit(self, button):
+ self.audit_enabled = not self.audit_enabled + self.audit_enabled = not self.audit_enabled
+ try: + try:
+ self.wait()
+ if self.audit_enabled: + if self.audit_enabled:
+ status, output =commands.getstatusoutput("semodule -DB") + status, output =commands.getstatusoutput("semodule -DB")
+ button.set_label(_("Disable Audit")) + button.set_label(_("Disable Audit"))
+ else: + else:
+ status, output =commands.getstatusoutput("semodule -B") + status, output =commands.getstatusoutput("semodule -B")
+ button.set_label(_("Enable Audit")) + button.set_label(_("Enable Audit"))
+ self.ready()
+ +
+ if status != 0: + if status != 0:
+ self.error(output) + self.error(output)
@ -897,7 +891,9 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/modulesPage.py polic
+ +
+ def disable_audit(self, button): + def disable_audit(self, button):
+ try: + try:
+ self.wait()
+ status, output =commands.getstatusoutput("semodule -B") + status, output =commands.getstatusoutput("semodule -B")
+ self.ready()
+ if status != 0: + if status != 0:
+ self.error(output) + self.error(output)
+ +
@ -928,7 +924,9 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/modulesPage.py polic
+ +
+ def add(self, file): + def add(self, file):
+ try: + try:
+ self.wait()
+ status, output =commands.getstatusoutput("semodule -i %s" % file) + status, output =commands.getstatusoutput("semodule -i %s" % file)
+ self.ready()
+ if status != 0: + if status != 0:
+ self.error(output) + self.error(output)
+ else: + else:
@ -943,7 +941,7 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/modulesPage.py polic
+ +
diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/polgen.glade policycoreutils-2.0.31/gui/polgen.glade diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/polgen.glade policycoreutils-2.0.31/gui/polgen.glade
--- nsapolicycoreutils/gui/polgen.glade 1969-12-31 19:00:00.000000000 -0500 --- nsapolicycoreutils/gui/polgen.glade 1969-12-31 19:00:00.000000000 -0500
+++ policycoreutils-2.0.31/gui/polgen.glade 2007-10-16 21:32:19.000000000 -0400 +++ policycoreutils-2.0.31/gui/polgen.glade 2007-11-02 15:54:42.000000000 -0400
@@ -0,0 +1,3012 @@ @@ -0,0 +1,3012 @@
+<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*--> +<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
+<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd"> +<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd">
@ -3959,7 +3957,7 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/polgen.glade policyc
+</glade-interface> +</glade-interface>
diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/polgengui.py policycoreutils-2.0.31/gui/polgengui.py diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/polgengui.py policycoreutils-2.0.31/gui/polgengui.py
--- nsapolicycoreutils/gui/polgengui.py 1969-12-31 19:00:00.000000000 -0500 --- nsapolicycoreutils/gui/polgengui.py 1969-12-31 19:00:00.000000000 -0500
+++ policycoreutils-2.0.31/gui/polgengui.py 2007-10-16 21:32:31.000000000 -0400 +++ policycoreutils-2.0.31/gui/polgengui.py 2007-11-02 15:54:42.000000000 -0400
@@ -0,0 +1,590 @@ @@ -0,0 +1,590 @@
+#!/usr/bin/python -E +#!/usr/bin/python -E
+# +#
@ -4553,7 +4551,7 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/polgengui.py policyc
+ app.stand_alone() + app.stand_alone()
diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/polgen.py policycoreutils-2.0.31/gui/polgen.py diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/polgen.py policycoreutils-2.0.31/gui/polgen.py
--- nsapolicycoreutils/gui/polgen.py 1969-12-31 19:00:00.000000000 -0500 --- nsapolicycoreutils/gui/polgen.py 1969-12-31 19:00:00.000000000 -0500
+++ policycoreutils-2.0.31/gui/polgen.py 2007-10-18 17:47:11.000000000 -0400 +++ policycoreutils-2.0.31/gui/polgen.py 2007-11-02 15:54:42.000000000 -0400
@@ -0,0 +1,831 @@ @@ -0,0 +1,831 @@
+# Copyright (C) 2007 Red Hat +# Copyright (C) 2007 Red Hat
+# see file 'COPYING' for use and warranty information +# see file 'COPYING' for use and warranty information
@ -5388,8 +5386,8 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/polgen.py policycore
+ +
diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/portsPage.py policycoreutils-2.0.31/gui/portsPage.py diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/portsPage.py policycoreutils-2.0.31/gui/portsPage.py
--- nsapolicycoreutils/gui/portsPage.py 1969-12-31 19:00:00.000000000 -0500 --- nsapolicycoreutils/gui/portsPage.py 1969-12-31 19:00:00.000000000 -0500
+++ policycoreutils-2.0.31/gui/portsPage.py 2007-10-15 16:55:03.000000000 -0400 +++ policycoreutils-2.0.31/gui/portsPage.py 2007-11-05 15:47:42.000000000 -0500
@@ -0,0 +1,251 @@ @@ -0,0 +1,258 @@
+## portsPage.py - show selinux mappings +## portsPage.py - show selinux mappings
+## Copyright (C) 2006 Red Hat, Inc. +## Copyright (C) 2006 Red Hat, Inc.
+ +
@ -5473,6 +5471,7 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/portsPage.py policyc
+ self.view.set_model(self.store) + self.view.set_model(self.store)
+ self.store.set_sort_column_id(0, gtk.SORT_ASCENDING) + self.store.set_sort_column_id(0, gtk.SORT_ASCENDING)
+ +
+ self.view.set_search_equal_func(self.search)
+ col = gtk.TreeViewColumn(_("SELinux Port\nType"), gtk.CellRendererText(), text = TYPE_COL) + col = gtk.TreeViewColumn(_("SELinux Port\nType"), gtk.CellRendererText(), text = TYPE_COL)
+ col.set_sort_column_id(TYPE_COL) + col.set_sort_column_id(TYPE_COL)
+ col.set_resizable(True) + col.set_resizable(True)
@ -5497,8 +5496,8 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/portsPage.py policyc
+ +
+ def sort_int(self, treemodel, iter1, iter2, user_data): + def sort_int(self, treemodel, iter1, iter2, user_data):
+ try: + try:
+ p1 = int(treemodel.get_value(iter1,2)) + p1 = int(treemodel.get_value(iter1,PORT_COL))
+ p2 = int(treemodel.get_value(iter2,2)) + p2 = int(treemodel.get_value(iter2,PORT_COL))
+ if p1 > p2: + if p1 > p2:
+ return 1 + return 1
+ if p1 == p2: + if p1 == p2:
@ -5577,7 +5576,9 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/portsPage.py policyc
+ port = store.get_value(iter, PORT_COL) + port = store.get_value(iter, PORT_COL)
+ protocol = store.get_value(iter, 1) + protocol = store.get_value(iter, 1)
+ try: + try:
+ self.wait()
+ (rc, out) = commands.getstatusoutput("semanage port -d -p %s %s" % (protocol, port)) + (rc, out) = commands.getstatusoutput("semanage port -d -p %s %s" % (protocol, port))
+ self.ready()
+ if rc != 0: + if rc != 0:
+ return self.error(out) + return self.error(out)
+ store.remove(iter) + store.remove(iter)
@ -5597,7 +5598,9 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/portsPage.py policyc
+ list_model = self.ports_protocol_combo.get_model() + list_model = self.ports_protocol_combo.get_model()
+ iter = self.ports_protocol_combo.get_active_iter() + iter = self.ports_protocol_combo.get_active_iter()
+ protocol = list_model.get_value(iter,0) + protocol = list_model.get_value(iter,0)
+ self.wait()
+ (rc, out) = commands.getstatusoutput("semanage port -a -p %s -r %s -t %s %s" % (protocol, mls, target, port_number)) + (rc, out) = commands.getstatusoutput("semanage port -a -p %s -r %s -t %s %s" % (protocol, mls, target, port_number))
+ self.ready()
+ if rc != 0: + if rc != 0:
+ self.error(out) + self.error(out)
+ return False + return False
@ -5615,7 +5618,9 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/portsPage.py policyc
+ list_model = self.ports_protocol_combo.get_model() + list_model = self.ports_protocol_combo.get_model()
+ iter = self.ports_protocol_combo.get_active_iter() + iter = self.ports_protocol_combo.get_active_iter()
+ protocol = list_model.get_value(iter,0) + protocol = list_model.get_value(iter,0)
+ self.wait()
+ (rc, out) = commands.getstatusoutput("semanage port -m -p %s -r %s -t %s %s" % (protocol, mls, target, port_number)) + (rc, out) = commands.getstatusoutput("semanage port -m -p %s -r %s -t %s %s" % (protocol, mls, target, port_number))
+ self.ready()
+ if rc != 0: + if rc != 0:
+ self.error(out) + self.error(out)
+ return False + return False
@ -5643,7 +5648,7 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/portsPage.py policyc
+ +
diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/selinux.tbl policycoreutils-2.0.31/gui/selinux.tbl diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/selinux.tbl policycoreutils-2.0.31/gui/selinux.tbl
--- nsapolicycoreutils/gui/selinux.tbl 1969-12-31 19:00:00.000000000 -0500 --- nsapolicycoreutils/gui/selinux.tbl 1969-12-31 19:00:00.000000000 -0500
+++ policycoreutils-2.0.31/gui/selinux.tbl 2007-10-15 16:55:03.000000000 -0400 +++ policycoreutils-2.0.31/gui/selinux.tbl 2007-11-02 15:54:42.000000000 -0400
@@ -0,0 +1,295 @@ @@ -0,0 +1,295 @@
+! allow_console_login _("Login") _("Allow direct login to the console device. Required for System 390") +! allow_console_login _("Login") _("Allow direct login to the console device. Required for System 390")
+acct_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for acct daemon") +acct_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for acct daemon")
@ -5942,8 +5947,8 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/selinux.tbl policyco
+ +
diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/semanagePage.py policycoreutils-2.0.31/gui/semanagePage.py diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/semanagePage.py policycoreutils-2.0.31/gui/semanagePage.py
--- nsapolicycoreutils/gui/semanagePage.py 1969-12-31 19:00:00.000000000 -0500 --- nsapolicycoreutils/gui/semanagePage.py 1969-12-31 19:00:00.000000000 -0500
+++ policycoreutils-2.0.31/gui/semanagePage.py 2007-10-15 16:55:03.000000000 -0400 +++ policycoreutils-2.0.31/gui/semanagePage.py 2007-11-05 15:48:10.000000000 -0500
@@ -0,0 +1,147 @@ @@ -0,0 +1,170 @@
+## semanagePage.py - show selinux mappings +## semanagePage.py - show selinux mappings
+## Copyright (C) 2006 Red Hat, Inc. +## Copyright (C) 2006 Red Hat, Inc.
+ +
@ -5986,9 +5991,17 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/semanagePage.py poli
+ import __builtin__ + import __builtin__
+ __builtin__.__dict__['_'] = unicode + __builtin__.__dict__['_'] = unicode
+ +
+def idle_func():
+ while gtk.events_pending():
+ gtk.main_iteration()
+
+class semanagePage: +class semanagePage:
+ def __init__(self, xml, name, description): + def __init__(self, xml, name, description):
+ self.xml = xml + self.xml = xml
+ self.window = self.xml.get_widget("mainWindow").get_root_window()
+ self.busy_cursor = gtk.gdk.Cursor(gtk.gdk.WATCH)
+ self.ready_cursor = gtk.gdk.Cursor(gtk.gdk.LEFT_PTR)
+
+ self.local = False + self.local = False
+ self.view = xml.get_widget("%sView" % name) + self.view = xml.get_widget("%sView" % name)
+ self.dialog = xml.get_widget("%sDialog" % name) + self.dialog = xml.get_widget("%sDialog" % name)
@ -6000,6 +6013,14 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/semanagePage.py poli
+ self.view.get_selection().connect("changed", self.itemSelected) + self.view.get_selection().connect("changed", self.itemSelected)
+ self.description = description; + self.description = description;
+ +
+ def wait(self):
+ self.window.set_cursor(self.busy_cursor)
+ idle_func()
+
+ def ready(self):
+ self.window.set_cursor(self.ready_cursor)
+ idle_func()
+
+ def get_description(self): + def get_description(self):
+ return self.description + return self.description
+ +
@ -6011,6 +6032,13 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/semanagePage.py poli
+ if filter != self.filter: + if filter != self.filter:
+ self.load(filter) + self.load(filter)
+ +
+ def search(self, model, col, key, i):
+ sort_col = self.store.get_sort_column_id()[0]
+ val = model.get_value(i,sort_col)
+ if val.lower().startswith(key.lower()):
+ return False
+ return True
+
+ def match(self, target, filter): + def match(self, target, filter):
+ try: + try:
+ f=filter.lower() + f=filter.lower()
@ -6093,7 +6121,7 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/semanagePage.py poli
+ +
diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/statusPage.py policycoreutils-2.0.31/gui/statusPage.py diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/statusPage.py policycoreutils-2.0.31/gui/statusPage.py
--- nsapolicycoreutils/gui/statusPage.py 1969-12-31 19:00:00.000000000 -0500 --- nsapolicycoreutils/gui/statusPage.py 1969-12-31 19:00:00.000000000 -0500
+++ policycoreutils-2.0.31/gui/statusPage.py 2007-10-15 16:55:03.000000000 -0400 +++ policycoreutils-2.0.31/gui/statusPage.py 2007-11-02 15:54:42.000000000 -0400
@@ -0,0 +1,219 @@ @@ -0,0 +1,219 @@
+## statusPage.py - show selinux status +## statusPage.py - show selinux status
+## Copyright (C) 2006 Red Hat, Inc. +## Copyright (C) 2006 Red Hat, Inc.
@ -6316,8 +6344,8 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/statusPage.py policy
+ +
diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/system-config-selinux.glade policycoreutils-2.0.31/gui/system-config-selinux.glade diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/system-config-selinux.glade policycoreutils-2.0.31/gui/system-config-selinux.glade
--- nsapolicycoreutils/gui/system-config-selinux.glade 1969-12-31 19:00:00.000000000 -0500 --- nsapolicycoreutils/gui/system-config-selinux.glade 1969-12-31 19:00:00.000000000 -0500
+++ policycoreutils-2.0.31/gui/system-config-selinux.glade 2007-10-16 23:32:02.000000000 -0400 +++ policycoreutils-2.0.31/gui/system-config-selinux.glade 2007-11-05 16:28:49.000000000 -0500
@@ -0,0 +1,3321 @@ @@ -0,0 +1,3290 @@
+<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*--> +<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
+<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd"> +<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd">
+ +
@ -8315,7 +8343,7 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/system-config-selinu
+ <widget class="GtkTreeView" id="booleansView"> + <widget class="GtkTreeView" id="booleansView">
+ <property name="visible">True</property> + <property name="visible">True</property>
+ <property name="can_focus">True</property> + <property name="can_focus">True</property>
+ <property name="headers_visible">False</property> + <property name="headers_visible">True</property>
+ <property name="rules_hint">False</property> + <property name="rules_hint">False</property>
+ <property name="reorderable">False</property> + <property name="reorderable">False</property>
+ <property name="enable_search">True</property> + <property name="enable_search">True</property>
@ -8449,105 +8477,74 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/system-config-selinu
+ </child> + </child>
+ +
+ <child> + <child>
+ <widget class="GtkScrolledWindow" id="scrolledwindow17"> + <widget class="GtkHBox" id="hbox14">
+ <property name="visible">True</property> + <property name="visible">True</property>
+ <property name="can_focus">True</property> + <property name="homogeneous">False</property>
+ <property name="hscrollbar_policy">GTK_POLICY_ALWAYS</property> + <property name="spacing">0</property>
+ <property name="vscrollbar_policy">GTK_POLICY_ALWAYS</property>
+ <property name="shadow_type">GTK_SHADOW_NONE</property>
+ <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
+ +
+ <child> + <child>
+ <widget class="GtkViewport" id="viewport1"> + <widget class="GtkLabel" id="label58">
+ <property name="visible">True</property> + <property name="visible">True</property>
+ <property name="shadow_type">GTK_SHADOW_IN</property> + <property name="label" translatable="yes">Filter</property>
+ + <property name="use_underline">False</property>
+ <child> + <property name="use_markup">False</property>
+ <widget class="GtkVBox" id="vbox19"> + <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="visible">True</property> + <property name="wrap">False</property>
+ <property name="homogeneous">False</property> + <property name="selectable">False</property>
+ <property name="spacing">0</property> + <property name="xalign">0.5</property>
+ + <property name="yalign">0.5</property>
+ <child> + <property name="xpad">0</property>
+ <widget class="GtkHBox" id="hbox8"> + <property name="ypad">0</property>
+ <property name="visible">True</property> + <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+ <property name="homogeneous">False</property> + <property name="width_chars">-1</property>
+ <property name="spacing">0</property> + <property name="single_line_mode">False</property>
+ + <property name="angle">0</property>
+ <child>
+ <widget class="GtkLabel" id="label52">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Filter</property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+ <property name="width_chars">-1</property>
+ <property name="single_line_mode">False</property>
+ <property name="angle">0</property>
+ </widget>
+ <packing>
+ <property name="padding">10</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkEntry" id="fcontextFilterEntry">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="editable">True</property>
+ <property name="visibility">True</property>
+ <property name="max_length">0</property>
+ <property name="text" translatable="yes"></property>
+ <property name="has_frame">True</property>
+ <property name="invisible_char">•</property>
+ <property name="activates_default">False</property>
+ <signal name="changed" handler="on_booleansFilter_changed" last_modification_time="Fri, 06 Apr 2007 12:39:26 GMT"/>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">5</property>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkTreeView" id="fcontextView">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="headers_visible">True</property>
+ <property name="rules_hint">False</property>
+ <property name="reorderable">False</property>
+ <property name="enable_search">True</property>
+ <property name="fixed_height_mode">False</property>
+ <property name="hover_selection">False</property>
+ <property name="hover_expand">False</property>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+ </widget>
+ </child>
+ </widget> + </widget>
+ <packing>
+ <property name="padding">10</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child> + </child>
+
+ <child>
+ <widget class="GtkEntry" id="fcontextFilterEntry">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="editable">True</property>
+ <property name="visibility">True</property>
+ <property name="max_length">0</property>
+ <property name="text" translatable="yes"></property>
+ <property name="has_frame">True</property>
+ <property name="invisible_char">•</property>
+ <property name="activates_default">False</property>
+ <signal name="changed" handler="on_fcontextFilter_changed" last_modification_time="Mon, 05 Nov 2007 21:22:11 GMT"/>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkTreeView" id="fcontextView">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="headers_visible">True</property>
+ <property name="rules_hint">False</property>
+ <property name="reorderable">False</property>
+ <property name="enable_search">True</property>
+ <property name="fixed_height_mode">False</property>
+ <property name="hover_selection">False</property>
+ <property name="hover_expand">False</property>
+ </widget> + </widget>
+ <packing> + <packing>
+ <property name="padding">0</property> + <property name="padding">0</property>
@ -9641,7 +9638,7 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/system-config-selinu
+</glade-interface> +</glade-interface>
diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/system-config-selinux.py policycoreutils-2.0.31/gui/system-config-selinux.py diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/system-config-selinux.py policycoreutils-2.0.31/gui/system-config-selinux.py
--- nsapolicycoreutils/gui/system-config-selinux.py 1969-12-31 19:00:00.000000000 -0500 --- nsapolicycoreutils/gui/system-config-selinux.py 1969-12-31 19:00:00.000000000 -0500
+++ policycoreutils-2.0.31/gui/system-config-selinux.py 2007-10-15 16:55:03.000000000 -0400 +++ policycoreutils-2.0.31/gui/system-config-selinux.py 2007-11-02 15:54:42.000000000 -0400
@@ -0,0 +1,175 @@ @@ -0,0 +1,175 @@
+#!/usr/bin/python +#!/usr/bin/python
+# +#
@ -9820,7 +9817,7 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/system-config-selinu
+ app.stand_alone() + app.stand_alone()
diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/templates/boolean.py policycoreutils-2.0.31/gui/templates/boolean.py diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/templates/boolean.py policycoreutils-2.0.31/gui/templates/boolean.py
--- nsapolicycoreutils/gui/templates/boolean.py 1969-12-31 19:00:00.000000000 -0500 --- nsapolicycoreutils/gui/templates/boolean.py 1969-12-31 19:00:00.000000000 -0500
+++ policycoreutils-2.0.31/gui/templates/boolean.py 2007-10-18 17:46:44.000000000 -0400 +++ policycoreutils-2.0.31/gui/templates/boolean.py 2007-11-02 15:54:42.000000000 -0400
@@ -0,0 +1,40 @@ @@ -0,0 +1,40 @@
+# Copyright (C) 2007 Red Hat +# Copyright (C) 2007 Red Hat
+# see file 'COPYING' for use and warranty information +# see file 'COPYING' for use and warranty information
@ -9864,7 +9861,7 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/templates/boolean.py
+ +
diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/templates/etc_rw.py policycoreutils-2.0.31/gui/templates/etc_rw.py diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/templates/etc_rw.py policycoreutils-2.0.31/gui/templates/etc_rw.py
--- nsapolicycoreutils/gui/templates/etc_rw.py 1969-12-31 19:00:00.000000000 -0500 --- nsapolicycoreutils/gui/templates/etc_rw.py 1969-12-31 19:00:00.000000000 -0500
+++ policycoreutils-2.0.31/gui/templates/etc_rw.py 2007-10-18 17:46:44.000000000 -0400 +++ policycoreutils-2.0.31/gui/templates/etc_rw.py 2007-11-02 15:54:42.000000000 -0400
@@ -0,0 +1,129 @@ @@ -0,0 +1,129 @@
+# Copyright (C) 2007 Red Hat +# Copyright (C) 2007 Red Hat
+# see file 'COPYING' for use and warranty information +# see file 'COPYING' for use and warranty information
@ -9997,7 +9994,7 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/templates/etc_rw.py
+""" +"""
diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/templates/executable.py policycoreutils-2.0.31/gui/templates/executable.py diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/templates/executable.py policycoreutils-2.0.31/gui/templates/executable.py
--- nsapolicycoreutils/gui/templates/executable.py 1969-12-31 19:00:00.000000000 -0500 --- nsapolicycoreutils/gui/templates/executable.py 1969-12-31 19:00:00.000000000 -0500
+++ policycoreutils-2.0.31/gui/templates/executable.py 2007-10-18 17:46:44.000000000 -0400 +++ policycoreutils-2.0.31/gui/templates/executable.py 2007-11-02 15:54:42.000000000 -0400
@@ -0,0 +1,331 @@ @@ -0,0 +1,331 @@
+# Copyright (C) 2007 Red Hat +# Copyright (C) 2007 Red Hat
+# see file 'COPYING' for use and warranty information +# see file 'COPYING' for use and warranty information
@ -10332,7 +10329,7 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/templates/executable
+ +
diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/templates/__init__.py policycoreutils-2.0.31/gui/templates/__init__.py diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/templates/__init__.py policycoreutils-2.0.31/gui/templates/__init__.py
--- nsapolicycoreutils/gui/templates/__init__.py 1969-12-31 19:00:00.000000000 -0500 --- nsapolicycoreutils/gui/templates/__init__.py 1969-12-31 19:00:00.000000000 -0500
+++ policycoreutils-2.0.31/gui/templates/__init__.py 2007-10-18 17:46:44.000000000 -0400 +++ policycoreutils-2.0.31/gui/templates/__init__.py 2007-11-02 15:54:42.000000000 -0400
@@ -0,0 +1,18 @@ @@ -0,0 +1,18 @@
+# +#
+# Copyright (C) 2007 Red Hat, Inc. +# Copyright (C) 2007 Red Hat, Inc.
@ -10354,7 +10351,7 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/templates/__init__.p
+ +
diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/templates/network.py policycoreutils-2.0.31/gui/templates/network.py diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/templates/network.py policycoreutils-2.0.31/gui/templates/network.py
--- nsapolicycoreutils/gui/templates/network.py 1969-12-31 19:00:00.000000000 -0500 --- nsapolicycoreutils/gui/templates/network.py 1969-12-31 19:00:00.000000000 -0500
+++ policycoreutils-2.0.31/gui/templates/network.py 2007-10-18 17:46:44.000000000 -0400 +++ policycoreutils-2.0.31/gui/templates/network.py 2007-11-02 15:54:42.000000000 -0400
@@ -0,0 +1,80 @@ @@ -0,0 +1,80 @@
+te_port_types=""" +te_port_types="""
+type TEMPLATETYPE_port_t; +type TEMPLATETYPE_port_t;
@ -10438,7 +10435,7 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/templates/network.py
+ +
diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/templates/rw.py policycoreutils-2.0.31/gui/templates/rw.py diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/templates/rw.py policycoreutils-2.0.31/gui/templates/rw.py
--- nsapolicycoreutils/gui/templates/rw.py 1969-12-31 19:00:00.000000000 -0500 --- nsapolicycoreutils/gui/templates/rw.py 1969-12-31 19:00:00.000000000 -0500
+++ policycoreutils-2.0.31/gui/templates/rw.py 2007-10-18 17:46:44.000000000 -0400 +++ policycoreutils-2.0.31/gui/templates/rw.py 2007-11-02 15:54:42.000000000 -0400
@@ -0,0 +1,128 @@ @@ -0,0 +1,128 @@
+# Copyright (C) 2007 Red Hat +# Copyright (C) 2007 Red Hat
+# see file 'COPYING' for use and warranty information +# see file 'COPYING' for use and warranty information
@ -10570,7 +10567,7 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/templates/rw.py poli
+""" +"""
diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/templates/script.py policycoreutils-2.0.31/gui/templates/script.py diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/templates/script.py policycoreutils-2.0.31/gui/templates/script.py
--- nsapolicycoreutils/gui/templates/script.py 1969-12-31 19:00:00.000000000 -0500 --- nsapolicycoreutils/gui/templates/script.py 1969-12-31 19:00:00.000000000 -0500
+++ policycoreutils-2.0.31/gui/templates/script.py 2007-10-18 17:46:44.000000000 -0400 +++ policycoreutils-2.0.31/gui/templates/script.py 2007-11-02 15:54:42.000000000 -0400
@@ -0,0 +1,91 @@ @@ -0,0 +1,91 @@
+# Copyright (C) 2007 Red Hat +# Copyright (C) 2007 Red Hat
+# see file 'COPYING' for use and warranty information +# see file 'COPYING' for use and warranty information
@ -10665,7 +10662,7 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/templates/script.py
+""" +"""
diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/templates/semodule.py policycoreutils-2.0.31/gui/templates/semodule.py diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/templates/semodule.py policycoreutils-2.0.31/gui/templates/semodule.py
--- nsapolicycoreutils/gui/templates/semodule.py 1969-12-31 19:00:00.000000000 -0500 --- nsapolicycoreutils/gui/templates/semodule.py 1969-12-31 19:00:00.000000000 -0500
+++ policycoreutils-2.0.31/gui/templates/semodule.py 2007-10-18 17:46:44.000000000 -0400 +++ policycoreutils-2.0.31/gui/templates/semodule.py 2007-11-02 15:54:42.000000000 -0400
@@ -0,0 +1,41 @@ @@ -0,0 +1,41 @@
+# Copyright (C) 2007 Red Hat +# Copyright (C) 2007 Red Hat
+# see file 'COPYING' for use and warranty information +# see file 'COPYING' for use and warranty information
@ -10710,7 +10707,7 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/templates/semodule.p
+ +
diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/templates/tmp.py policycoreutils-2.0.31/gui/templates/tmp.py diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/templates/tmp.py policycoreutils-2.0.31/gui/templates/tmp.py
--- nsapolicycoreutils/gui/templates/tmp.py 1969-12-31 19:00:00.000000000 -0500 --- nsapolicycoreutils/gui/templates/tmp.py 1969-12-31 19:00:00.000000000 -0500
+++ policycoreutils-2.0.31/gui/templates/tmp.py 2007-10-18 17:46:44.000000000 -0400 +++ policycoreutils-2.0.31/gui/templates/tmp.py 2007-11-02 15:54:42.000000000 -0400
@@ -0,0 +1,97 @@ @@ -0,0 +1,97 @@
+# Copyright (C) 2007 Red Hat +# Copyright (C) 2007 Red Hat
+# see file 'COPYING' for use and warranty information +# see file 'COPYING' for use and warranty information
@ -10811,7 +10808,7 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/templates/tmp.py pol
+ +
diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/templates/user.py policycoreutils-2.0.31/gui/templates/user.py diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/templates/user.py policycoreutils-2.0.31/gui/templates/user.py
--- nsapolicycoreutils/gui/templates/user.py 1969-12-31 19:00:00.000000000 -0500 --- nsapolicycoreutils/gui/templates/user.py 1969-12-31 19:00:00.000000000 -0500
+++ policycoreutils-2.0.31/gui/templates/user.py 2007-10-18 17:46:44.000000000 -0400 +++ policycoreutils-2.0.31/gui/templates/user.py 2007-11-02 15:54:42.000000000 -0400
@@ -0,0 +1,137 @@ @@ -0,0 +1,137 @@
+# Copyright (C) 2007 Red Hat +# Copyright (C) 2007 Red Hat
+# see file 'COPYING' for use and warranty information +# see file 'COPYING' for use and warranty information
@ -10952,7 +10949,7 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/templates/user.py po
+""" +"""
diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/templates/var_lib.py policycoreutils-2.0.31/gui/templates/var_lib.py diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/templates/var_lib.py policycoreutils-2.0.31/gui/templates/var_lib.py
--- nsapolicycoreutils/gui/templates/var_lib.py 1969-12-31 19:00:00.000000000 -0500 --- nsapolicycoreutils/gui/templates/var_lib.py 1969-12-31 19:00:00.000000000 -0500
+++ policycoreutils-2.0.31/gui/templates/var_lib.py 2007-10-18 17:46:44.000000000 -0400 +++ policycoreutils-2.0.31/gui/templates/var_lib.py 2007-11-02 15:54:42.000000000 -0400
@@ -0,0 +1,162 @@ @@ -0,0 +1,162 @@
+# Copyright (C) 2007 Red Hat +# Copyright (C) 2007 Red Hat
+# see file 'COPYING' for use and warranty information +# see file 'COPYING' for use and warranty information
@ -11118,7 +11115,7 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/templates/var_lib.py
+""" +"""
diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/templates/var_log.py policycoreutils-2.0.31/gui/templates/var_log.py diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/templates/var_log.py policycoreutils-2.0.31/gui/templates/var_log.py
--- nsapolicycoreutils/gui/templates/var_log.py 1969-12-31 19:00:00.000000000 -0500 --- nsapolicycoreutils/gui/templates/var_log.py 1969-12-31 19:00:00.000000000 -0500
+++ policycoreutils-2.0.31/gui/templates/var_log.py 2007-10-25 16:52:06.000000000 -0400 +++ policycoreutils-2.0.31/gui/templates/var_log.py 2007-11-02 15:54:42.000000000 -0400
@@ -0,0 +1,110 @@ @@ -0,0 +1,110 @@
+# Copyright (C) 2007 Red Hat +# Copyright (C) 2007 Red Hat
+# see file 'COPYING' for use and warranty information +# see file 'COPYING' for use and warranty information
@ -11232,7 +11229,7 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/templates/var_log.py
+""" +"""
diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/templates/var_run.py policycoreutils-2.0.31/gui/templates/var_run.py diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/templates/var_run.py policycoreutils-2.0.31/gui/templates/var_run.py
--- nsapolicycoreutils/gui/templates/var_run.py 1969-12-31 19:00:00.000000000 -0500 --- nsapolicycoreutils/gui/templates/var_run.py 1969-12-31 19:00:00.000000000 -0500
+++ policycoreutils-2.0.31/gui/templates/var_run.py 2007-10-18 17:46:44.000000000 -0400 +++ policycoreutils-2.0.31/gui/templates/var_run.py 2007-11-02 15:54:42.000000000 -0400
@@ -0,0 +1,119 @@ @@ -0,0 +1,119 @@
+# Copyright (C) 2007 Red Hat +# Copyright (C) 2007 Red Hat
+# see file 'COPYING' for use and warranty information +# see file 'COPYING' for use and warranty information
@ -11355,7 +11352,7 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/templates/var_run.py
+ +
diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/templates/var_spool.py policycoreutils-2.0.31/gui/templates/var_spool.py diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/templates/var_spool.py policycoreutils-2.0.31/gui/templates/var_spool.py
--- nsapolicycoreutils/gui/templates/var_spool.py 1969-12-31 19:00:00.000000000 -0500 --- nsapolicycoreutils/gui/templates/var_spool.py 1969-12-31 19:00:00.000000000 -0500
+++ policycoreutils-2.0.31/gui/templates/var_spool.py 2007-10-18 17:46:44.000000000 -0400 +++ policycoreutils-2.0.31/gui/templates/var_spool.py 2007-11-02 15:54:42.000000000 -0400
@@ -0,0 +1,131 @@ @@ -0,0 +1,131 @@
+# Copyright (C) 2007 Red Hat +# Copyright (C) 2007 Red Hat
+# see file 'COPYING' for use and warranty information +# see file 'COPYING' for use and warranty information
@ -11490,7 +11487,7 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/templates/var_spool.
+""" +"""
diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/translationsPage.py policycoreutils-2.0.31/gui/translationsPage.py diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/translationsPage.py policycoreutils-2.0.31/gui/translationsPage.py
--- nsapolicycoreutils/gui/translationsPage.py 1969-12-31 19:00:00.000000000 -0500 --- nsapolicycoreutils/gui/translationsPage.py 1969-12-31 19:00:00.000000000 -0500
+++ policycoreutils-2.0.31/gui/translationsPage.py 2007-10-15 16:55:03.000000000 -0400 +++ policycoreutils-2.0.31/gui/translationsPage.py 2007-11-02 15:54:42.000000000 -0400
@@ -0,0 +1,118 @@ @@ -0,0 +1,118 @@
+## translationsPage.py - show selinux translations +## translationsPage.py - show selinux translations
+## Copyright (C) 2006 Red Hat, Inc. +## Copyright (C) 2006 Red Hat, Inc.
@ -11612,8 +11609,8 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/translationsPage.py
+ self.store.set_value(iter, 1, translation) + self.store.set_value(iter, 1, translation)
diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/usersPage.py policycoreutils-2.0.31/gui/usersPage.py diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/usersPage.py policycoreutils-2.0.31/gui/usersPage.py
--- nsapolicycoreutils/gui/usersPage.py 1969-12-31 19:00:00.000000000 -0500 --- nsapolicycoreutils/gui/usersPage.py 1969-12-31 19:00:00.000000000 -0500
+++ policycoreutils-2.0.31/gui/usersPage.py 2007-10-15 16:55:03.000000000 -0400 +++ policycoreutils-2.0.31/gui/usersPage.py 2007-11-05 15:47:58.000000000 -0500
@@ -0,0 +1,172 @@ @@ -0,0 +1,178 @@
+## usersPage.py - show selinux mappings +## usersPage.py - show selinux mappings
+## Copyright (C) 2006 Red Hat, Inc. +## Copyright (C) 2006 Red Hat, Inc.
+ +
@ -11739,7 +11736,9 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/usersPage.py policyc
+ range = self.mlsRangeEntry.get_text() + range = self.mlsRangeEntry.get_text()
+ roles = self.selinuxRolesEntry.get_text() + roles = self.selinuxRolesEntry.get_text()
+ +
+ self.wait()
+ (rc, out) = commands.getstatusoutput("semanage user -a -R '%s' -r %s-%s -P %s %s" % (roles, level, range, prefix, user)) + (rc, out) = commands.getstatusoutput("semanage user -a -R '%s' -r %s-%s -P %s %s" % (roles, level, range, prefix, user))
+ self.ready()
+ if rc != 0: + if rc != 0:
+ self.error(out) + self.error(out)
+ return False + return False
@ -11757,7 +11756,9 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/usersPage.py policyc
+ range = self.mlsRangeEntry.get_text() + range = self.mlsRangeEntry.get_text()
+ roles = self.selinuxRolesEntry.get_text() + roles = self.selinuxRolesEntry.get_text()
+ +
+ self.wait()
+ (rc, out) = commands.getstatusoutput("semanage user -m -R '%s' -r %s-%s -P %s %s" % (roles, level, range, prefix, user)) + (rc, out) = commands.getstatusoutput("semanage user -m -R '%s' -r %s-%s -P %s %s" % (roles, level, range, prefix, user))
+ self.ready()
+ +
+ if rc != 0: + if rc != 0:
+ self.error(out) + self.error(out)
@ -11777,7 +11778,9 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/usersPage.py policyc
+ if user == "root" or user == "user_u": + if user == "root" or user == "user_u":
+ raise ValueError(_("SELinux user '%s' is required") % user) + raise ValueError(_("SELinux user '%s' is required") % user)
+ +
+ self.wait()
+ (rc, out) = commands.getstatusoutput("semanage user -d %s" % user) + (rc, out) = commands.getstatusoutput("semanage user -d %s" % user)
+ self.ready()
+ if rc != 0: + if rc != 0:
+ self.error(out) + self.error(out)
+ return False + return False

View File

@ -6,7 +6,7 @@
Summary: SELinux policy core utilities Summary: SELinux policy core utilities
Name: policycoreutils Name: policycoreutils
Version: 2.0.31 Version: 2.0.31
Release: 11%{?dist} Release: 12%{?dist}
License: GPLv2+ License: GPLv2+
Group: System Environment/Base Group: System Environment/Base
Source: http://www.nsa.gov/selinux/archives/policycoreutils-%{version}.tgz Source: http://www.nsa.gov/selinux/archives/policycoreutils-%{version}.tgz
@ -208,6 +208,9 @@ fi
%changelog %changelog
* Mon Nov 5 2007 Dan Walsh <dwalsh@redhat.com> 2.0.31-12
- Fix filter and search capabilities, add wait cursor
* Fri Nov 2 2007 Dan Walsh <dwalsh@redhat.com> 2.0.31-11 * Fri Nov 2 2007 Dan Walsh <dwalsh@redhat.com> 2.0.31-11
- Translate booleans via policy.xml - Translate booleans via policy.xml
- Allow booleans to be set via semanage - Allow booleans to be set via semanage