diff --git a/policycoreutils-gui.patch b/policycoreutils-gui.patch index a10d7eb..e35c89a 100644 --- a/policycoreutils-gui.patch +++ b/policycoreutils-gui.patch @@ -1,6 +1,6 @@ -diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/booleansPage.py policycoreutils-2.0.60/gui/booleansPage.py +diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/booleansPage.py policycoreutils-2.0.61/gui/booleansPage.py --- nsapolicycoreutils/gui/booleansPage.py 1969-12-31 19:00:00.000000000 -0500 -+++ policycoreutils-2.0.60/gui/booleansPage.py 2008-12-15 15:34:54.000000000 -0500 ++++ policycoreutils-2.0.61/gui/booleansPage.py 2009-01-14 10:05:38.000000000 -0500 @@ -0,0 +1,247 @@ +# +# booleansPage.py - GUI for Booleans page in system-config-securitylevel @@ -249,9 +249,167 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/booleansPage.py poli + self.load(self.filter) + return True + -diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/fcontextPage.py policycoreutils-2.0.60/gui/fcontextPage.py +diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/domainsPage.py policycoreutils-2.0.61/gui/domainsPage.py +--- nsapolicycoreutils/gui/domainsPage.py 1969-12-31 19:00:00.000000000 -0500 ++++ policycoreutils-2.0.61/gui/domainsPage.py 2009-01-20 09:47:52.000000000 -0500 +@@ -0,0 +1,154 @@ ++## domainsPage.py - show selinux domains ++## Copyright (C) 2009 Red Hat, Inc. ++ ++## This program is free software; you can redistribute it and/or modify ++## it under the terms of the GNU General Public License as published by ++## the Free Software Foundation; either version 2 of the License, or ++## (at your option) any later version. ++ ++## This program is distributed in the hope that it will be useful, ++## but WITHOUT ANY WARRANTY; without even the implied warranty of ++## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++## GNU General Public License for more details. ++ ++## You should have received a copy of the GNU General Public License ++## along with this program; if not, write to the Free Software ++## Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ++ ++## Author: Dan Walsh ++import string ++import gtk ++import gtk.glade ++import os ++import commands ++import gobject ++import sys ++import seobject ++import selinux ++from semanagePage import *; ++import polgen ++ ++## ++## I18N ++## ++PROGNAME="policycoreutils" ++import gettext ++gettext.bindtextdomain(PROGNAME, "/usr/share/locale") ++gettext.textdomain(PROGNAME) ++try: ++ gettext.install(PROGNAME, ++ localedir="/usr/share/locale", ++ unicode=False, ++ codeset = 'utf-8') ++except IOError: ++ import __builtin__ ++ __builtin__.__dict__['_'] = unicode ++ ++class domainsPage(semanagePage): ++ def __init__(self, xml): ++ semanagePage.__init__(self, xml, "domains", _("Process Domain")) ++ self.domain_filter = xml.get_widget("domainsFilterEntry") ++ self.domain_filter.connect("focus_out_event", self.filter_changed) ++ self.domain_filter.connect("activate", self.filter_changed) ++ ++ self.store = gtk.ListStore(gobject.TYPE_STRING, gobject.TYPE_STRING) ++ self.view.set_model(self.store) ++ self.store.set_sort_column_id(0, gtk.SORT_ASCENDING) ++ col = gtk.TreeViewColumn(_("Domain Name"), gtk.CellRendererText(), text = 0) ++ col.set_sort_column_id(0) ++ col.set_resizable(True) ++ self.view.append_column(col) ++ self.store.set_sort_column_id(0, gtk.SORT_ASCENDING) ++ col = gtk.TreeViewColumn(_("Mode"), gtk.CellRendererText(), text = 1) ++ col.set_sort_column_id(1) ++ col.set_resizable(True) ++ self.view.append_column(col) ++ self.view.get_selection().connect("changed", self.itemSelected) ++ ++ self.permissive_button = xml.get_widget("permissiveButton") ++ self.enforcing_button = xml.get_widget("enforcingButton") ++ ++ self.domains=polgen.get_all_domains() ++ self.load() ++ ++ def get_modules(self): ++ modules=[] ++ fd=os.popen("semodule -l") ++ mods = fd.readlines() ++ fd.close() ++ for l in mods: ++ modules.append(l.split()[0]) ++ return modules ++ ++ def load(self, filter=""): ++ self.filter=filter ++ self.store.clear() ++ try: ++ modules=self.get_modules() ++ for domain in self.domains: ++ if not self.match(domain, filter): ++ continue ++ iter = self.store.append() ++ self.store.set_value(iter, 0, domain) ++ t = "permissive_%s_t" % domain ++ if t in modules: ++ self.store.set_value(iter, 1, _("Permissive")) ++ else: ++ self.store.set_value(iter, 1, "") ++ except: ++ pass ++ self.view.get_selection().select_path ((0,)) ++ ++ def itemSelected(self, selection): ++ store, iter = selection.get_selected() ++ if iter == None: ++ return ++ p = store.get_value(iter, 1) == _("Permissive") ++ self.permissive_button.set_sensitive(not p) ++ self.enforcing_button.set_sensitive(p) ++ ++ def deleteDialog(self): ++ # Do nothing ++ return self.delete() ++ ++ def delete(self): ++ selection = self.view.get_selection() ++ store, iter = selection.get_selected() ++ domain = store.get_value(iter, 0) ++ try: ++ self.wait() ++ status, output = commands.getstatusoutput("semanage permissive -d %s_t" % domain) ++ self.ready() ++ if status != 0: ++ self.error(output) ++ else: ++ domain = store.set_value(iter, 1, "") ++ self.itemSelected(selection) ++ ++ except ValueError, e: ++ self.error(e.args[0]) ++ ++ def propertiesDialog(self): ++ # Do nothing ++ return ++ ++ def addDialog(self): ++ # Do nothing ++ return self.add() ++ ++ def add(self): ++ selection = self.view.get_selection() ++ store, iter = selection.get_selected() ++ domain = store.get_value(iter, 0) ++ try: ++ self.wait() ++ status, output = commands.getstatusoutput("semanage permissive -a %s_t" % domain) ++ self.ready() ++ if status != 0: ++ self.error(output) ++ else: ++ domain = store.set_value(iter, 1, _("Permissive")) ++ self.itemSelected(selection) ++ ++ except ValueError, e: ++ self.error(e.args[0]) +diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/fcontextPage.py policycoreutils-2.0.61/gui/fcontextPage.py --- nsapolicycoreutils/gui/fcontextPage.py 1969-12-31 19:00:00.000000000 -0500 -+++ policycoreutils-2.0.60/gui/fcontextPage.py 2008-12-15 15:34:54.000000000 -0500 ++++ policycoreutils-2.0.61/gui/fcontextPage.py 2009-01-14 10:05:38.000000000 -0500 @@ -0,0 +1,223 @@ +## fcontextPage.py - show selinux mappings +## Copyright (C) 2006 Red Hat, Inc. @@ -476,9 +634,9 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/fcontextPage.py poli + self.store.set_value(iter, SPEC_COL, fspec) + self.store.set_value(iter, FTYPE_COL, ftype) + self.store.set_value(iter, TYPE_COL, "%s:%s" % (type, mls)) -diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/html_util.py policycoreutils-2.0.60/gui/html_util.py +diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/html_util.py policycoreutils-2.0.61/gui/html_util.py --- nsapolicycoreutils/gui/html_util.py 1969-12-31 19:00:00.000000000 -0500 -+++ policycoreutils-2.0.60/gui/html_util.py 2008-12-15 15:34:54.000000000 -0500 ++++ policycoreutils-2.0.61/gui/html_util.py 2009-01-14 10:05:38.000000000 -0500 @@ -0,0 +1,164 @@ +# Authors: John Dennis +# @@ -644,9 +802,9 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/html_util.py policyc + doc += tail + return doc + -diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/lockdown.glade policycoreutils-2.0.60/gui/lockdown.glade +diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/lockdown.glade policycoreutils-2.0.61/gui/lockdown.glade --- nsapolicycoreutils/gui/lockdown.glade 1969-12-31 19:00:00.000000000 -0500 -+++ policycoreutils-2.0.60/gui/lockdown.glade 2008-12-15 15:34:54.000000000 -0500 ++++ policycoreutils-2.0.61/gui/lockdown.glade 2009-01-14 10:05:38.000000000 -0500 @@ -0,0 +1,771 @@ + + @@ -1419,9 +1577,9 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/lockdown.glade polic + + + -diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/lockdown.gladep policycoreutils-2.0.60/gui/lockdown.gladep +diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/lockdown.gladep policycoreutils-2.0.61/gui/lockdown.gladep --- nsapolicycoreutils/gui/lockdown.gladep 1969-12-31 19:00:00.000000000 -0500 -+++ policycoreutils-2.0.60/gui/lockdown.gladep 2008-12-15 15:34:54.000000000 -0500 ++++ policycoreutils-2.0.61/gui/lockdown.gladep 2009-01-14 10:05:38.000000000 -0500 @@ -0,0 +1,7 @@ + + @@ -1430,9 +1588,9 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/lockdown.gladep poli + + + -diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/lockdown.py policycoreutils-2.0.60/gui/lockdown.py +diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/lockdown.py policycoreutils-2.0.61/gui/lockdown.py --- nsapolicycoreutils/gui/lockdown.py 1969-12-31 19:00:00.000000000 -0500 -+++ policycoreutils-2.0.60/gui/lockdown.py 2008-12-15 15:34:55.000000000 -0500 ++++ policycoreutils-2.0.61/gui/lockdown.py 2009-01-14 10:05:38.000000000 -0500 @@ -0,0 +1,382 @@ +#!/usr/bin/python +# @@ -1816,9 +1974,9 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/lockdown.py policyco + + app = booleanWindow() + app.stand_alone() -diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/loginsPage.py policycoreutils-2.0.60/gui/loginsPage.py +diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/loginsPage.py policycoreutils-2.0.61/gui/loginsPage.py --- nsapolicycoreutils/gui/loginsPage.py 1969-12-31 19:00:00.000000000 -0500 -+++ policycoreutils-2.0.60/gui/loginsPage.py 2008-12-15 15:34:55.000000000 -0500 ++++ policycoreutils-2.0.61/gui/loginsPage.py 2009-01-14 10:05:38.000000000 -0500 @@ -0,0 +1,185 @@ +## loginsPage.py - show selinux mappings +## Copyright (C) 2006 Red Hat, Inc. @@ -2005,16 +2163,17 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/loginsPage.py policy + self.store.set_value(iter, 1, seuser) + self.store.set_value(iter, 2, seobject.translate(serange)) + -diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/Makefile policycoreutils-2.0.60/gui/Makefile +diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/Makefile policycoreutils-2.0.61/gui/Makefile --- nsapolicycoreutils/gui/Makefile 1969-12-31 19:00:00.000000000 -0500 -+++ policycoreutils-2.0.60/gui/Makefile 2008-12-15 15:34:54.000000000 -0500 -@@ -0,0 +1,37 @@ ++++ policycoreutils-2.0.61/gui/Makefile 2009-01-20 09:33:19.000000000 -0500 +@@ -0,0 +1,38 @@ +# Installation directories. +PREFIX ?= ${DESTDIR}/usr +SHAREDIR ?= $(PREFIX)/share/system-config-selinux + +TARGETS= \ +booleansPage.py \ ++domainsPage.py \ +fcontextPage.py \ +html_util.py \ +loginsPage.py \ @@ -2046,9 +2205,9 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/Makefile policycoreu +indent: + +relabel: -diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/mappingsPage.py policycoreutils-2.0.60/gui/mappingsPage.py +diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/mappingsPage.py policycoreutils-2.0.61/gui/mappingsPage.py --- nsapolicycoreutils/gui/mappingsPage.py 1969-12-31 19:00:00.000000000 -0500 -+++ policycoreutils-2.0.60/gui/mappingsPage.py 2008-12-15 15:34:55.000000000 -0500 ++++ policycoreutils-2.0.61/gui/mappingsPage.py 2009-01-14 10:05:38.000000000 -0500 @@ -0,0 +1,56 @@ +## mappingsPage.py - show selinux mappings +## Copyright (C) 2006 Red Hat, Inc. @@ -2106,12 +2265,12 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/mappingsPage.py poli + for k in keys: + print "%-25s %-25s %-25s" % (k, dict[k][0], translate(dict[k][1])) + -diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/modulesPage.py policycoreutils-2.0.60/gui/modulesPage.py +diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/modulesPage.py policycoreutils-2.0.61/gui/modulesPage.py --- nsapolicycoreutils/gui/modulesPage.py 1969-12-31 19:00:00.000000000 -0500 -+++ policycoreutils-2.0.60/gui/modulesPage.py 2008-12-15 15:34:55.000000000 -0500 -@@ -0,0 +1,195 @@ ++++ policycoreutils-2.0.61/gui/modulesPage.py 2009-01-20 09:29:24.000000000 -0500 +@@ -0,0 +1,190 @@ +## modulesPage.py - show selinux mappings -+## Copyright (C) 2006 Red Hat, Inc. ++## Copyright (C) 2006-2009 Red Hat, Inc. + +## This program is free software; you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by @@ -2300,15 +2459,10 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/modulesPage.py polic + + except ValueError, e: + self.error(e.args[0]) -+ -+ -+ -+ -+ -diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/polgen.glade policycoreutils-2.0.60/gui/polgen.glade +diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/polgen.glade policycoreutils-2.0.61/gui/polgen.glade --- nsapolicycoreutils/gui/polgen.glade 1969-12-31 19:00:00.000000000 -0500 -+++ policycoreutils-2.0.60/gui/polgen.glade 2008-12-15 15:34:55.000000000 -0500 -@@ -0,0 +1,3284 @@ ++++ policycoreutils-2.0.61/gui/polgen.glade 2009-01-19 14:29:36.000000000 -0500 +@@ -0,0 +1,3305 @@ + + + @@ -2584,6 +2738,27 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/polgen.glade policyc + + + ++ ++ True ++ Standard Init Daemon are daemons started on boot via init scripts. Usually requires a script in /etc/rc.d/init.d ++ True ++ DBUS System Daemon ++ True ++ GTK_RELIEF_NORMAL ++ True ++ False ++ False ++ True ++ init_radiobutton ++ ++ ++ 0 ++ False ++ False ++ ++ ++ ++ + + True + Internet Services Daemon are daemons started by xinetd @@ -5593,17 +5768,3348 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/polgen.glade policyc + + + -diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/polgengui.py policycoreutils-2.0.60/gui/polgengui.py +diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/polgen.glade.bak policycoreutils-2.0.61/gui/polgen.glade.bak +--- nsapolicycoreutils/gui/polgen.glade.bak 1969-12-31 19:00:00.000000000 -0500 ++++ policycoreutils-2.0.61/gui/polgen.glade.bak 2009-01-19 14:29:36.000000000 -0500 +@@ -0,0 +1,3305 @@ ++ ++ ++ ++ ++ ++ ++ ++ 5 ++ GTK_FILE_CHOOSER_ACTION_OPEN ++ True ++ True ++ True ++ False ++ GTK_WINDOW_TOPLEVEL ++ GTK_WIN_POS_MOUSE ++ False ++ True ++ False ++ True ++ False ++ False ++ GDK_WINDOW_TYPE_HINT_DIALOG ++ GDK_GRAVITY_NORTH_WEST ++ True ++ False ++ ++ ++ ++ True ++ False ++ 24 ++ ++ ++ ++ True ++ GTK_BUTTONBOX_END ++ ++ ++ ++ True ++ True ++ True ++ gtk-cancel ++ True ++ GTK_RELIEF_NORMAL ++ True ++ -6 ++ ++ ++ ++ ++ ++ True ++ True ++ True ++ True ++ gtk-add ++ True ++ GTK_RELIEF_NORMAL ++ True ++ -5 ++ ++ ++ ++ ++ 0 ++ False ++ True ++ GTK_PACK_END ++ ++ ++ ++ ++ ++ ++ ++ 5 ++ False ++ Polgen ++ Red Hat 2007 ++ GPL ++ False ++ www.redhat.com ++ Daniel Walsh <dwalsh@redhat.com> ++ translator-credits ++ ++ ++ ++ 12 ++ True ++ SELinux Policy Generation Tool ++ GTK_WINDOW_TOPLEVEL ++ GTK_WIN_POS_NONE ++ False ++ True ++ False ++ True ++ False ++ False ++ GDK_WINDOW_TYPE_HINT_NORMAL ++ GDK_GRAVITY_NORTH_WEST ++ True ++ False ++ ++ ++ ++ True ++ False ++ 18 ++ ++ ++ ++ True ++ False ++ False ++ GTK_POS_TOP ++ False ++ False ++ ++ ++ ++ True ++ GNOME_EDGE_START ++ SELinux Policy Generation Tool ++ This tool can be used to generate a policy framework, to confine applications or users using SELinux. ++ ++The tool generates: ++Type enforcement file (te) ++Interface file (if) ++File context file (fc) ++Shell script (sh) - used to compile and install the policy. ++ ++ ++ True ++ True ++ ++ ++ ++ ++ ++ True ++ label25 ++ False ++ False ++ GTK_JUSTIFY_LEFT ++ False ++ False ++ 0.5 ++ 0.5 ++ 0 ++ 0 ++ PANGO_ELLIPSIZE_NONE ++ -1 ++ False ++ 0 ++ ++ ++ tab ++ ++ ++ ++ ++ ++ True ++ Select type of the application/user role to be confined ++ ++ ++ ++ ++ 18 ++ True ++ False ++ 6 ++ ++ ++ ++ True ++ False ++ 0 ++ ++ ++ ++ True ++ False ++ 12 ++ ++ ++ ++ True ++ False ++ 6 ++ ++ ++ ++ True ++ <b>Applications</b> ++ False ++ True ++ GTK_JUSTIFY_LEFT ++ False ++ False ++ 0 ++ 0.5 ++ 0 ++ 0 ++ PANGO_ELLIPSIZE_NONE ++ -1 ++ False ++ 0 ++ ++ ++ 0 ++ False ++ False ++ ++ ++ ++ ++ ++ True ++ False ++ 0 ++ ++ ++ ++ True ++ ++ False ++ False ++ GTK_JUSTIFY_LEFT ++ False ++ False ++ 0.5 ++ 0.5 ++ 0 ++ 0 ++ PANGO_ELLIPSIZE_NONE ++ -1 ++ False ++ 0 ++ ++ ++ 0 ++ False ++ False ++ ++ ++ ++ ++ ++ True ++ False ++ 6 ++ ++ ++ ++ True ++ Standard Init Daemon are daemons started on boot via init scripts. Usually requires a script in /etc/rc.d/init.d ++ True ++ Standard Init Daemon ++ True ++ GTK_RELIEF_NORMAL ++ True ++ False ++ False ++ True ++ ++ ++ 0 ++ False ++ False ++ ++ ++ ++ ++ ++ True ++ Standard Init Daemon are daemons started on boot via init scripts. Usually requires a script in /etc/rc.d/init.d ++ True ++ DBUS System Daemon ++ True ++ GTK_RELIEF_NORMAL ++ True ++ False ++ False ++ True ++ init_radiobutton ++ ++ ++ 0 ++ False ++ False ++ ++ ++ ++ ++ ++ True ++ Internet Services Daemon are daemons started by xinetd ++ True ++ Internet Services Daemon (inetd) ++ True ++ GTK_RELIEF_NORMAL ++ True ++ False ++ False ++ True ++ init_radiobutton ++ ++ ++ 0 ++ False ++ False ++ ++ ++ ++ ++ ++ True ++ Web Applications/Script (CGI) CGI scripts started by the web server (apache) ++ True ++ Web Application/Script (CGI) ++ True ++ GTK_RELIEF_NORMAL ++ True ++ False ++ False ++ True ++ init_radiobutton ++ ++ ++ 0 ++ False ++ False ++ ++ ++ ++ ++ ++ True ++ User Application are any application that you would like to confine that is started by a user ++ True ++ User Application ++ True ++ GTK_RELIEF_NORMAL ++ True ++ False ++ False ++ True ++ init_radiobutton ++ ++ ++ 0 ++ False ++ False ++ ++ ++ ++ ++ 0 ++ True ++ True ++ ++ ++ ++ ++ 0 ++ True ++ True ++ ++ ++ ++ ++ 0 ++ True ++ True ++ ++ ++ ++ ++ ++ True ++ False ++ 6 ++ ++ ++ ++ True ++ <b>Login Users</b> ++ False ++ True ++ GTK_JUSTIFY_LEFT ++ False ++ False ++ 0 ++ 0.5 ++ 0 ++ 0 ++ PANGO_ELLIPSIZE_NONE ++ -1 ++ False ++ 0 ++ ++ ++ 0 ++ False ++ False ++ ++ ++ ++ ++ ++ True ++ False ++ 0 ++ ++ ++ ++ True ++ ++ False ++ False ++ GTK_JUSTIFY_LEFT ++ False ++ False ++ 0.5 ++ 0.5 ++ 0 ++ 0 ++ PANGO_ELLIPSIZE_NONE ++ -1 ++ False ++ 0 ++ ++ ++ 0 ++ False ++ False ++ ++ ++ ++ ++ ++ True ++ False ++ 6 ++ ++ ++ ++ True ++ Modify an existing login user record. ++ True ++ Existing User Roles ++ True ++ GTK_RELIEF_NORMAL ++ True ++ False ++ False ++ True ++ init_radiobutton ++ ++ ++ 0 ++ False ++ False ++ ++ ++ ++ ++ ++ True ++ This user will login to a machine only via a terminal or remote login. By default this user will have no setuid, no networking, no su, no sudo. ++ True ++ Minimal Terminal User Role ++ True ++ GTK_RELIEF_NORMAL ++ True ++ False ++ False ++ True ++ init_radiobutton ++ ++ ++ 0 ++ False ++ False ++ ++ ++ ++ ++ ++ True ++ This user can login to a machine via X or terminal. By default this user will have no setuid, no networking, no sudo, no su ++ True ++ Minimal X Windows User Role ++ True ++ GTK_RELIEF_NORMAL ++ True ++ False ++ False ++ True ++ init_radiobutton ++ ++ ++ 0 ++ False ++ False ++ ++ ++ ++ ++ ++ True ++ User with full networking, no setuid applications without transition, no sudo, no su. ++ True ++ User Role ++ True ++ GTK_RELIEF_NORMAL ++ True ++ False ++ False ++ True ++ init_radiobutton ++ ++ ++ 0 ++ False ++ False ++ ++ ++ ++ ++ ++ True ++ User with full networking, no setuid applications without transition, no su, can sudo to Root Administration Roles ++ True ++ Admin User Role ++ True ++ GTK_RELIEF_NORMAL ++ True ++ False ++ False ++ True ++ init_radiobutton ++ ++ ++ 0 ++ False ++ False ++ ++ ++ ++ ++ 0 ++ True ++ True ++ ++ ++ ++ ++ 0 ++ True ++ True ++ ++ ++ ++ ++ 0 ++ True ++ True ++ ++ ++ ++ ++ ++ True ++ False ++ 6 ++ ++ ++ ++ True ++ <b>Root Users</b> ++ False ++ True ++ GTK_JUSTIFY_LEFT ++ False ++ False ++ 0 ++ 0.5 ++ 0 ++ 0 ++ PANGO_ELLIPSIZE_NONE ++ -1 ++ False ++ 0 ++ ++ ++ 0 ++ False ++ False ++ ++ ++ ++ ++ ++ True ++ False ++ 0 ++ ++ ++ ++ True ++ ++ False ++ False ++ GTK_JUSTIFY_LEFT ++ False ++ False ++ 0.5 ++ 0.5 ++ 0 ++ 0 ++ PANGO_ELLIPSIZE_NONE ++ -1 ++ False ++ 0 ++ ++ ++ 0 ++ False ++ False ++ ++ ++ ++ ++ ++ True ++ False ++ 0 ++ ++ ++ ++ True ++ Select Root Administrator User Role, if this user will be used to administer the machine while running as root. This user will not be able to login to the system directly. ++ True ++ Root Admin User Role ++ True ++ GTK_RELIEF_NORMAL ++ True ++ False ++ False ++ True ++ init_radiobutton ++ ++ ++ 0 ++ False ++ False ++ ++ ++ ++ ++ 0 ++ True ++ True ++ ++ ++ ++ ++ 0 ++ True ++ True ++ ++ ++ ++ ++ 0 ++ True ++ True ++ ++ ++ ++ ++ 0 ++ True ++ True ++ ++ ++ ++ ++ 0 ++ True ++ True ++ ++ ++ ++ ++ ++ ++ False ++ True ++ ++ ++ ++ ++ ++ True ++ label26 ++ False ++ False ++ GTK_JUSTIFY_LEFT ++ False ++ False ++ 0.5 ++ 0.5 ++ 0 ++ 0 ++ PANGO_ELLIPSIZE_NONE ++ -1 ++ False ++ 0 ++ ++ ++ tab ++ ++ ++ ++ ++ ++ True ++ Enter name of application or user role to be confined ++ ++ ++ ++ 18 ++ True ++ False ++ 6 ++ ++ ++ ++ True ++ 3 ++ 3 ++ False ++ 6 ++ 12 ++ ++ ++ ++ True ++ Name ++ False ++ False ++ GTK_JUSTIFY_LEFT ++ False ++ False ++ 0 ++ 0.5 ++ 0 ++ 0 ++ PANGO_ELLIPSIZE_NONE ++ -1 ++ False ++ 0 ++ ++ ++ 0 ++ 1 ++ 0 ++ 1 ++ fill ++ ++ ++ ++ ++ ++ ++ True ++ Enter complete path for executable to be confined. ++ True ++ True ++ True ++ 0 ++ ++ True ++ ++ False ++ ++ ++ 1 ++ 2 ++ 1 ++ 2 ++ ++ ++ ++ ++ ++ ++ True ++ True ++ ... ++ True ++ GTK_RELIEF_NORMAL ++ True ++ ++ ++ ++ 2 ++ 3 ++ 1 ++ 2 ++ fill ++ ++ ++ ++ ++ ++ ++ True ++ Enter unique name for the confined application or user role. ++ True ++ True ++ True ++ 0 ++ ++ True ++ ++ False ++ ++ ++ 1 ++ 3 ++ 0 ++ 1 ++ ++ ++ ++ ++ ++ ++ True ++ Executable ++ False ++ False ++ GTK_JUSTIFY_LEFT ++ False ++ False ++ 0 ++ 0.5 ++ 0 ++ 0 ++ PANGO_ELLIPSIZE_NONE ++ -1 ++ False ++ 0 ++ ++ ++ 0 ++ 1 ++ 1 ++ 2 ++ fill ++ ++ ++ ++ ++ ++ ++ True ++ Init script ++ False ++ False ++ GTK_JUSTIFY_LEFT ++ False ++ False ++ 0 ++ 0.5 ++ 0 ++ 0 ++ PANGO_ELLIPSIZE_NONE ++ -1 ++ False ++ 0 ++ ++ ++ 0 ++ 1 ++ 2 ++ 3 ++ fill ++ ++ ++ ++ ++ ++ ++ True ++ Enter complete path to init script used to start the confined application. ++ True ++ True ++ True ++ 0 ++ ++ True ++ ++ False ++ ++ ++ 1 ++ 2 ++ 2 ++ 3 ++ ++ ++ ++ ++ ++ ++ True ++ True ++ ... ++ True ++ GTK_RELIEF_NORMAL ++ True ++ ++ ++ ++ 2 ++ 3 ++ 2 ++ 3 ++ fill ++ ++ ++ ++ ++ ++ 0 ++ True ++ True ++ ++ ++ ++ ++ ++ ++ False ++ True ++ ++ ++ ++ ++ ++ True ++ label28 ++ False ++ False ++ GTK_JUSTIFY_LEFT ++ False ++ False ++ 0.5 ++ 0.5 ++ 0 ++ 0 ++ PANGO_ELLIPSIZE_NONE ++ -1 ++ False ++ 0 ++ ++ ++ tab ++ ++ ++ ++ ++ ++ True ++ Select user roles that you want to customize ++ ++ ++ ++ 18 ++ True ++ False ++ 6 ++ ++ ++ ++ True ++ True ++ GTK_POLICY_AUTOMATIC ++ GTK_POLICY_AUTOMATIC ++ GTK_SHADOW_IN ++ GTK_CORNER_TOP_LEFT ++ ++ ++ ++ True ++ Select the user roles that will transiton to this applications domains. ++ True ++ False ++ False ++ False ++ True ++ False ++ False ++ False ++ ++ ++ ++ ++ 0 ++ True ++ True ++ ++ ++ ++ ++ ++ ++ False ++ True ++ ++ ++ ++ ++ ++ True ++ label28 ++ False ++ False ++ GTK_JUSTIFY_LEFT ++ False ++ False ++ 0.5 ++ 0.5 ++ 0 ++ 0 ++ PANGO_ELLIPSIZE_NONE ++ -1 ++ False ++ 0 ++ ++ ++ tab ++ ++ ++ ++ ++ ++ True ++ Select additional domains to which this user role will transition ++ ++ ++ ++ 18 ++ True ++ False ++ 6 ++ ++ ++ ++ True ++ True ++ GTK_POLICY_AUTOMATIC ++ GTK_POLICY_AUTOMATIC ++ GTK_SHADOW_IN ++ GTK_CORNER_TOP_LEFT ++ ++ ++ ++ True ++ Select the applications domains that you would like this user role to transition to. ++ True ++ False ++ False ++ False ++ True ++ False ++ False ++ False ++ ++ ++ ++ ++ 0 ++ True ++ True ++ ++ ++ ++ ++ ++ ++ False ++ True ++ ++ ++ ++ ++ ++ True ++ label30 ++ False ++ False ++ GTK_JUSTIFY_LEFT ++ False ++ False ++ 0.5 ++ 0.5 ++ 0 ++ 0 ++ PANGO_ELLIPSIZE_NONE ++ -1 ++ False ++ 0 ++ ++ ++ tab ++ ++ ++ ++ ++ ++ True ++ Select user roles that will transition to this domain ++ ++ ++ ++ 18 ++ True ++ False ++ 6 ++ ++ ++ ++ True ++ True ++ GTK_POLICY_AUTOMATIC ++ GTK_POLICY_AUTOMATIC ++ GTK_SHADOW_IN ++ GTK_CORNER_TOP_LEFT ++ ++ ++ ++ True ++ Select the user roles that will transiton to this applications domains. ++ True ++ False ++ False ++ False ++ True ++ False ++ False ++ False ++ ++ ++ ++ ++ 0 ++ True ++ True ++ ++ ++ ++ ++ ++ ++ False ++ True ++ ++ ++ ++ ++ ++ True ++ label31 ++ False ++ False ++ GTK_JUSTIFY_LEFT ++ False ++ False ++ 0.5 ++ 0.5 ++ 0 ++ 0 ++ PANGO_ELLIPSIZE_NONE ++ -1 ++ False ++ 0 ++ ++ ++ tab ++ ++ ++ ++ ++ ++ True ++ Select additional domains that this user role will administer ++ ++ ++ ++ 18 ++ True ++ False ++ 6 ++ ++ ++ ++ True ++ True ++ GTK_POLICY_AUTOMATIC ++ GTK_POLICY_AUTOMATIC ++ GTK_SHADOW_IN ++ GTK_CORNER_TOP_LEFT ++ ++ ++ ++ True ++ Select the domains that you would like this user administer. ++ True ++ False ++ False ++ False ++ True ++ False ++ False ++ False ++ ++ ++ ++ ++ 0 ++ True ++ True ++ ++ ++ ++ ++ ++ ++ False ++ True ++ ++ ++ ++ ++ ++ True ++ label32 ++ False ++ False ++ GTK_JUSTIFY_LEFT ++ False ++ False ++ 0.5 ++ 0.5 ++ 0 ++ 0 ++ PANGO_ELLIPSIZE_NONE ++ -1 ++ False ++ 0 ++ ++ ++ tab ++ ++ ++ ++ ++ ++ True ++ Select additional roles for this user ++ ++ ++ ++ 18 ++ True ++ False ++ 6 ++ ++ ++ ++ True ++ True ++ GTK_POLICY_AUTOMATIC ++ GTK_POLICY_AUTOMATIC ++ GTK_SHADOW_IN ++ GTK_CORNER_TOP_LEFT ++ ++ ++ ++ True ++ Select the domains that you would like this user administer. ++ True ++ False ++ False ++ False ++ True ++ False ++ False ++ False ++ ++ ++ ++ ++ 0 ++ True ++ True ++ ++ ++ ++ ++ ++ ++ False ++ True ++ ++ ++ ++ ++ ++ True ++ label33 ++ False ++ False ++ GTK_JUSTIFY_LEFT ++ False ++ False ++ 0.5 ++ 0.5 ++ 0 ++ 0 ++ PANGO_ELLIPSIZE_NONE ++ -1 ++ False ++ 0 ++ ++ ++ tab ++ ++ ++ ++ ++ ++ True ++ Enter network ports that application/user role listens to ++ ++ ++ ++ 18 ++ True ++ False ++ 18 ++ ++ ++ ++ True ++ False ++ 6 ++ ++ ++ ++ True ++ <b>TCP Ports</b> ++ False ++ True ++ GTK_JUSTIFY_LEFT ++ False ++ False ++ 0 ++ 0.5 ++ 0 ++ 0 ++ PANGO_ELLIPSIZE_NONE ++ -1 ++ False ++ 0 ++ ++ ++ 0 ++ False ++ False ++ ++ ++ ++ ++ ++ True ++ False ++ 0 ++ ++ ++ ++ True ++ ++ False ++ False ++ GTK_JUSTIFY_LEFT ++ False ++ False ++ 0.5 ++ 0.5 ++ 0 ++ 0 ++ PANGO_ELLIPSIZE_NONE ++ -1 ++ False ++ 0 ++ ++ ++ 0 ++ False ++ False ++ ++ ++ ++ ++ ++ True ++ False ++ 6 ++ ++ ++ ++ True ++ False ++ 12 ++ ++ ++ ++ True ++ Allows confined application/user role to bind to any udp port ++ True ++ All ++ True ++ GTK_RELIEF_NORMAL ++ True ++ False ++ False ++ True ++ ++ ++ 10 ++ False ++ False ++ ++ ++ ++ ++ ++ True ++ Allow application/user role to call bindresvport with 0. Binding to port 600-1024 ++ True ++ 600-1024 ++ True ++ GTK_RELIEF_NORMAL ++ True ++ False ++ False ++ True ++ ++ ++ 10 ++ False ++ False ++ ++ ++ ++ ++ ++ True ++ Enter a comma separated list of udp ports or ranges of ports that application/user role binds to. Example: 612, 650-660 ++ True ++ Unreserved Ports (>1024) ++ True ++ GTK_RELIEF_NORMAL ++ True ++ False ++ False ++ True ++ ++ ++ 10 ++ False ++ False ++ ++ ++ ++ ++ 0 ++ True ++ True ++ ++ ++ ++ ++ ++ True ++ False ++ 12 ++ ++ ++ ++ True ++ Select Ports ++ False ++ False ++ GTK_JUSTIFY_LEFT ++ False ++ False ++ 0 ++ 0.5 ++ 0 ++ 0 ++ PANGO_ELLIPSIZE_NONE ++ -1 ++ False ++ 0 ++ ++ ++ 5 ++ False ++ False ++ ++ ++ ++ ++ ++ True ++ Allows application/user role to bind to any udp ports > 1024 ++ True ++ True ++ True ++ 0 ++ ++ True ++ ++ False ++ ++ ++ 0 ++ True ++ True ++ ++ ++ ++ ++ 0 ++ True ++ True ++ ++ ++ ++ ++ 0 ++ True ++ True ++ ++ ++ ++ ++ 0 ++ True ++ True ++ ++ ++ ++ ++ 0 ++ False ++ True ++ ++ ++ ++ ++ ++ True ++ False ++ 6 ++ ++ ++ ++ True ++ <b>UDP Ports</b> ++ False ++ True ++ GTK_JUSTIFY_LEFT ++ False ++ False ++ 0 ++ 0.5 ++ 0 ++ 0 ++ PANGO_ELLIPSIZE_NONE ++ -1 ++ False ++ 0 ++ ++ ++ 0 ++ False ++ False ++ ++ ++ ++ ++ ++ True ++ False ++ 0 ++ ++ ++ ++ True ++ ++ False ++ False ++ GTK_JUSTIFY_LEFT ++ False ++ False ++ 0.5 ++ 0.5 ++ 0 ++ 0 ++ PANGO_ELLIPSIZE_NONE ++ -1 ++ False ++ 0 ++ ++ ++ 0 ++ False ++ False ++ ++ ++ ++ ++ ++ True ++ False ++ 6 ++ ++ ++ ++ True ++ False ++ 12 ++ ++ ++ ++ True ++ Allows confined application/user role to bind to any udp port ++ True ++ All ++ True ++ GTK_RELIEF_NORMAL ++ True ++ False ++ False ++ True ++ ++ ++ 10 ++ False ++ False ++ ++ ++ ++ ++ ++ True ++ Allow application/user role to call bindresvport with 0. Binding to port 600-1024 ++ True ++ 600-1024 ++ True ++ GTK_RELIEF_NORMAL ++ True ++ False ++ False ++ True ++ ++ ++ 10 ++ False ++ False ++ ++ ++ ++ ++ ++ True ++ Enter a comma separated list of udp ports or ranges of ports that application/user role binds to. Example: 612, 650-660 ++ True ++ Unreserved Ports (>1024) ++ True ++ GTK_RELIEF_NORMAL ++ True ++ False ++ False ++ True ++ ++ ++ 10 ++ False ++ False ++ ++ ++ ++ ++ 0 ++ True ++ True ++ ++ ++ ++ ++ ++ True ++ False ++ 12 ++ ++ ++ ++ True ++ Select Ports ++ False ++ False ++ GTK_JUSTIFY_LEFT ++ False ++ False ++ 0 ++ 0.5 ++ 0 ++ 0 ++ PANGO_ELLIPSIZE_NONE ++ -1 ++ False ++ 0 ++ ++ ++ 5 ++ False ++ False ++ ++ ++ ++ ++ ++ True ++ Allows application/user role to bind to any udp ports > 1024 ++ True ++ True ++ True ++ 0 ++ ++ True ++ ++ False ++ ++ ++ 0 ++ True ++ True ++ ++ ++ ++ ++ 0 ++ True ++ True ++ ++ ++ ++ ++ 0 ++ True ++ True ++ ++ ++ ++ ++ 0 ++ True ++ True ++ ++ ++ ++ ++ 0 ++ False ++ True ++ ++ ++ ++ ++ ++ ++ False ++ True ++ ++ ++ ++ ++ ++ True ++ label34 ++ False ++ False ++ GTK_JUSTIFY_LEFT ++ False ++ False ++ 0.5 ++ 0.5 ++ 0 ++ 0 ++ PANGO_ELLIPSIZE_NONE ++ -1 ++ False ++ 0 ++ ++ ++ tab ++ ++ ++ ++ ++ ++ True ++ Enter network ports that application/user role connects to ++ ++ ++ ++ 18 ++ True ++ False ++ 18 ++ ++ ++ ++ True ++ False ++ 6 ++ ++ ++ ++ True ++ <b>TCP Ports</b> ++ False ++ True ++ GTK_JUSTIFY_LEFT ++ False ++ False ++ 0 ++ 0.5 ++ 0 ++ 0 ++ PANGO_ELLIPSIZE_NONE ++ -1 ++ False ++ 0 ++ ++ ++ 0 ++ False ++ False ++ ++ ++ ++ ++ ++ True ++ False ++ 0 ++ ++ ++ ++ True ++ ++ False ++ False ++ GTK_JUSTIFY_LEFT ++ False ++ False ++ 0.5 ++ 0.5 ++ 0 ++ 0 ++ PANGO_ELLIPSIZE_NONE ++ -1 ++ False ++ 0 ++ ++ ++ 0 ++ False ++ False ++ ++ ++ ++ ++ ++ True ++ False ++ 12 ++ ++ ++ ++ True ++ True ++ All ++ True ++ GTK_RELIEF_NORMAL ++ True ++ False ++ False ++ True ++ ++ ++ 10 ++ False ++ False ++ ++ ++ ++ ++ ++ True ++ Select Ports ++ False ++ False ++ GTK_JUSTIFY_LEFT ++ False ++ False ++ 0 ++ 0.5 ++ 0 ++ 0 ++ PANGO_ELLIPSIZE_NONE ++ -1 ++ False ++ 0 ++ ++ ++ 5 ++ False ++ False ++ ++ ++ ++ ++ ++ True ++ Enter a comma separated list of tcp ports or ranges of ports that application/user role connects to. Example: 612, 650-660 ++ True ++ True ++ True ++ 0 ++ ++ True ++ ++ False ++ ++ ++ 0 ++ True ++ True ++ ++ ++ ++ ++ 0 ++ True ++ True ++ ++ ++ ++ ++ 0 ++ True ++ True ++ ++ ++ ++ ++ 0 ++ False ++ True ++ ++ ++ ++ ++ ++ True ++ False ++ 6 ++ ++ ++ ++ True ++ <b>UDP Ports</b> ++ False ++ True ++ GTK_JUSTIFY_LEFT ++ False ++ False ++ 0 ++ 0.5 ++ 0 ++ 0 ++ PANGO_ELLIPSIZE_NONE ++ -1 ++ False ++ 0 ++ ++ ++ 0 ++ False ++ False ++ ++ ++ ++ ++ ++ True ++ False ++ 0 ++ ++ ++ ++ True ++ ++ False ++ False ++ GTK_JUSTIFY_LEFT ++ False ++ False ++ 0.5 ++ 0.5 ++ 0 ++ 0 ++ PANGO_ELLIPSIZE_NONE ++ -1 ++ False ++ 0 ++ ++ ++ 0 ++ False ++ False ++ ++ ++ ++ ++ ++ True ++ False ++ 12 ++ ++ ++ ++ True ++ True ++ All ++ True ++ GTK_RELIEF_NORMAL ++ True ++ False ++ False ++ True ++ ++ ++ 10 ++ False ++ False ++ ++ ++ ++ ++ ++ True ++ Select Ports ++ False ++ False ++ GTK_JUSTIFY_LEFT ++ False ++ False ++ 0 ++ 0.5 ++ 0 ++ 0 ++ PANGO_ELLIPSIZE_NONE ++ -1 ++ False ++ 0 ++ ++ ++ 5 ++ False ++ False ++ ++ ++ ++ ++ ++ True ++ Enter a comma separated list of udp ports or ranges of ports that application/user role connects to. Example: 612, 650-660 ++ True ++ True ++ True ++ 0 ++ ++ True ++ ++ False ++ ++ ++ 0 ++ True ++ True ++ ++ ++ ++ ++ 0 ++ True ++ True ++ ++ ++ ++ ++ 0 ++ True ++ True ++ ++ ++ ++ ++ 0 ++ False ++ True ++ ++ ++ ++ ++ ++ ++ False ++ True ++ ++ ++ ++ ++ ++ True ++ label35 ++ False ++ False ++ GTK_JUSTIFY_LEFT ++ False ++ False ++ 0.5 ++ 0.5 ++ 0 ++ 0 ++ PANGO_ELLIPSIZE_NONE ++ -1 ++ False ++ 0 ++ ++ ++ tab ++ ++ ++ ++ ++ ++ True ++ Select common application traits ++ ++ ++ ++ 18 ++ True ++ False ++ 6 ++ ++ ++ ++ True ++ False ++ 6 ++ ++ ++ ++ True ++ True ++ Writes syslog messages ++ True ++ GTK_RELIEF_NORMAL ++ True ++ False ++ False ++ True ++ ++ ++ 0 ++ False ++ False ++ ++ ++ ++ ++ ++ True ++ True ++ Create/Manipulate temporary files in /tmp ++ True ++ GTK_RELIEF_NORMAL ++ True ++ False ++ False ++ True ++ ++ ++ 0 ++ False ++ False ++ ++ ++ ++ ++ ++ True ++ True ++ Uses Pam for authentication ++ True ++ GTK_RELIEF_NORMAL ++ True ++ False ++ False ++ True ++ ++ ++ 0 ++ False ++ False ++ ++ ++ ++ ++ ++ True ++ True ++ Uses nsswitch or getpw* calls ++ True ++ GTK_RELIEF_NORMAL ++ True ++ False ++ False ++ True ++ ++ ++ 0 ++ False ++ False ++ ++ ++ ++ ++ ++ True ++ True ++ Uses dbus ++ True ++ GTK_RELIEF_NORMAL ++ True ++ False ++ False ++ True ++ ++ ++ 0 ++ False ++ False ++ ++ ++ ++ ++ ++ True ++ True ++ Sends audit messages ++ True ++ GTK_RELIEF_NORMAL ++ True ++ False ++ False ++ True ++ ++ ++ 0 ++ False ++ False ++ ++ ++ ++ ++ ++ True ++ True ++ Interacts with the terminal ++ True ++ GTK_RELIEF_NORMAL ++ True ++ False ++ False ++ True ++ ++ ++ 0 ++ False ++ False ++ ++ ++ ++ ++ ++ True ++ True ++ Sends email ++ True ++ GTK_RELIEF_NORMAL ++ True ++ False ++ False ++ True ++ ++ ++ 0 ++ False ++ False ++ ++ ++ ++ ++ 0 ++ True ++ True ++ ++ ++ ++ ++ ++ ++ False ++ True ++ ++ ++ ++ ++ ++ True ++ label51 ++ False ++ False ++ GTK_JUSTIFY_LEFT ++ False ++ False ++ 0.5 ++ 0.5 ++ 0 ++ 0 ++ PANGO_ELLIPSIZE_NONE ++ -1 ++ False ++ 0 ++ ++ ++ tab ++ ++ ++ ++ ++ ++ True ++ Select files/directories that the application manages ++ ++ ++ ++ 18 ++ True ++ False ++ 6 ++ ++ ++ ++ True ++ False ++ 12 ++ ++ ++ ++ True ++ False ++ 6 ++ ++ ++ ++ True ++ True ++ GTK_RELIEF_NORMAL ++ True ++ ++ ++ ++ ++ True ++ 0.5 ++ 0.5 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ ++ ++ ++ True ++ False ++ 2 ++ ++ ++ ++ True ++ gtk-add ++ 4 ++ 0.5 ++ 0.5 ++ 0 ++ 0 ++ ++ ++ 0 ++ False ++ False ++ ++ ++ ++ ++ ++ True ++ Add File ++ True ++ False ++ GTK_JUSTIFY_LEFT ++ False ++ False ++ 0.5 ++ 0.5 ++ 0 ++ 0 ++ PANGO_ELLIPSIZE_NONE ++ -1 ++ False ++ 0 ++ ++ ++ 0 ++ False ++ False ++ ++ ++ ++ ++ ++ ++ ++ ++ 0 ++ False ++ False ++ ++ ++ ++ ++ ++ True ++ True ++ GTK_RELIEF_NORMAL ++ True ++ ++ ++ ++ ++ True ++ 0.5 ++ 0.5 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ ++ ++ ++ True ++ False ++ 2 ++ ++ ++ ++ True ++ gtk-add ++ 4 ++ 0.5 ++ 0.5 ++ 0 ++ 0 ++ ++ ++ 0 ++ False ++ False ++ ++ ++ ++ ++ ++ True ++ Add Directory ++ True ++ False ++ GTK_JUSTIFY_LEFT ++ False ++ False ++ 0.5 ++ 0.5 ++ 0 ++ 0 ++ PANGO_ELLIPSIZE_NONE ++ -1 ++ False ++ 0 ++ ++ ++ 0 ++ False ++ False ++ ++ ++ ++ ++ ++ ++ ++ ++ 0 ++ False ++ False ++ ++ ++ ++ ++ ++ True ++ True ++ gtk-delete ++ True ++ GTK_RELIEF_NORMAL ++ True ++ ++ ++ ++ ++ 0 ++ False ++ False ++ ++ ++ ++ ++ 4 ++ False ++ False ++ ++ ++ ++ ++ ++ True ++ True ++ GTK_POLICY_AUTOMATIC ++ GTK_POLICY_AUTOMATIC ++ GTK_SHADOW_IN ++ GTK_CORNER_TOP_LEFT ++ ++ ++ ++ True ++ Add Files/Directories that application will need to "Write" to. Pid Files, Log Files, /var/lib Files ... ++ True ++ False ++ False ++ False ++ True ++ False ++ False ++ False ++ ++ ++ ++ ++ 0 ++ True ++ True ++ ++ ++ ++ ++ 0 ++ True ++ True ++ ++ ++ ++ ++ ++ ++ False ++ True ++ ++ ++ ++ ++ ++ True ++ label43 ++ False ++ False ++ GTK_JUSTIFY_LEFT ++ False ++ False ++ 0.5 ++ 0.5 ++ 0 ++ 0 ++ PANGO_ELLIPSIZE_NONE ++ -1 ++ False ++ 0 ++ ++ ++ tab ++ ++ ++ ++ ++ ++ True ++ Select booleans that the application uses ++ ++ ++ ++ 18 ++ True ++ False ++ 6 ++ ++ ++ ++ True ++ False ++ 12 ++ ++ ++ ++ True ++ False ++ 6 ++ ++ ++ ++ True ++ True ++ GTK_RELIEF_NORMAL ++ True ++ ++ ++ ++ ++ True ++ 0.5 ++ 0.5 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ ++ ++ ++ True ++ False ++ 2 ++ ++ ++ ++ True ++ gtk-add ++ 4 ++ 0.5 ++ 0.5 ++ 0 ++ 0 ++ ++ ++ 0 ++ False ++ False ++ ++ ++ ++ ++ ++ True ++ Add Boolean ++ True ++ False ++ GTK_JUSTIFY_LEFT ++ False ++ False ++ 0.5 ++ 0.5 ++ 0 ++ 0 ++ PANGO_ELLIPSIZE_NONE ++ -1 ++ False ++ 0 ++ ++ ++ 0 ++ False ++ False ++ ++ ++ ++ ++ ++ ++ ++ ++ 0 ++ False ++ False ++ ++ ++ ++ ++ ++ True ++ True ++ gtk-delete ++ True ++ GTK_RELIEF_NORMAL ++ True ++ ++ ++ ++ ++ 0 ++ False ++ False ++ ++ ++ ++ ++ 4 ++ False ++ True ++ ++ ++ ++ ++ ++ True ++ True ++ GTK_POLICY_AUTOMATIC ++ GTK_POLICY_AUTOMATIC ++ GTK_SHADOW_IN ++ GTK_CORNER_TOP_LEFT ++ ++ ++ ++ True ++ Add/Remove booleans used for this confined application/user ++ True ++ True ++ False ++ False ++ True ++ False ++ False ++ False ++ ++ ++ ++ ++ 0 ++ True ++ True ++ ++ ++ ++ ++ 0 ++ True ++ True ++ ++ ++ ++ ++ ++ ++ False ++ True ++ ++ ++ ++ ++ ++ True ++ label44 ++ False ++ False ++ GTK_JUSTIFY_LEFT ++ False ++ False ++ 0.5 ++ 0.5 ++ 0 ++ 0 ++ PANGO_ELLIPSIZE_NONE ++ -1 ++ False ++ 0 ++ ++ ++ tab ++ ++ ++ ++ ++ ++ True ++ Select directory to generate policy in ++ ++ ++ ++ 18 ++ True ++ False ++ 5 ++ ++ ++ ++ True ++ False ++ 12 ++ ++ ++ ++ True ++ Policy Directory ++ False ++ False ++ GTK_JUSTIFY_LEFT ++ False ++ False ++ 0.5 ++ 0.5 ++ 0 ++ 0 ++ PANGO_ELLIPSIZE_NONE ++ -1 ++ False ++ 0 ++ ++ ++ 5 ++ False ++ False ++ ++ ++ ++ ++ ++ True ++ True ++ True ++ True ++ 0 ++ ++ True ++ ++ False ++ ++ ++ 0 ++ True ++ True ++ ++ ++ ++ ++ ++ True ++ True ++ ... ++ True ++ GTK_RELIEF_NORMAL ++ True ++ ++ ++ 0 ++ False ++ False ++ ++ ++ ++ ++ 0 ++ False ++ True ++ ++ ++ ++ ++ ++ ++ False ++ True ++ ++ ++ ++ ++ ++ True ++ label46 ++ False ++ False ++ GTK_JUSTIFY_LEFT ++ False ++ False ++ 0.5 ++ 0.5 ++ 0 ++ 0 ++ PANGO_ELLIPSIZE_NONE ++ -1 ++ False ++ 0 ++ ++ ++ tab ++ ++ ++ ++ ++ ++ True ++ GNOME_EDGE_FINISH ++ Generated Policy Files ++ This tool will generate the following: ++Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh) ++Execute shell script as root to compile/install and relabel files/directories. ++Use semanage or useradd to map Linux login users to user roles. ++Put the machine in permissive mode (setenforce 0). ++Login as the user and test this user role. ++Use audit2allow -R to generate additional rules for the te file. ++ ++ ++ ++ True ++ True ++ ++ ++ ++ ++ ++ True ++ label45 ++ False ++ False ++ GTK_JUSTIFY_LEFT ++ False ++ False ++ 0.5 ++ 0.5 ++ 0 ++ 0 ++ PANGO_ELLIPSIZE_NONE ++ -1 ++ False ++ 0 ++ ++ ++ tab ++ ++ ++ ++ ++ ++ True ++ GNOME_EDGE_FINISH ++ Generated Policy Files ++ This tool will generate the following: ++Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh) ++ ++Execute shell script to compile/install and relabel files/directories. ++Put the machine in permissive mode (setenforce 0). ++Run/restart the application to generate avc messages. ++Use audit2allow -R to generate additional rules for the te file. ++ ++ ++ ++ False ++ True ++ ++ ++ ++ ++ ++ True ++ label47 ++ False ++ False ++ GTK_JUSTIFY_LEFT ++ False ++ False ++ 0.5 ++ 0.5 ++ 0 ++ 0 ++ PANGO_ELLIPSIZE_NONE ++ -1 ++ False ++ 0 ++ ++ ++ tab ++ ++ ++ ++ ++ 0 ++ True ++ True ++ ++ ++ ++ ++ ++ True ++ GTK_BUTTONBOX_END ++ 6 ++ ++ ++ ++ True ++ True ++ True ++ gtk-cancel ++ True ++ GTK_RELIEF_NORMAL ++ True ++ ++ ++ ++ ++ ++ ++ True ++ True ++ True ++ gtk-go-back ++ True ++ GTK_RELIEF_NORMAL ++ True ++ ++ ++ ++ ++ ++ ++ True ++ True ++ True ++ gtk-go-forward ++ True ++ GTK_RELIEF_NORMAL ++ True ++ ++ ++ ++ ++ ++ 0 ++ False ++ True ++ ++ ++ ++ ++ ++ ++ ++ 12 ++ Add Booleans Dialog ++ GTK_WINDOW_TOPLEVEL ++ GTK_WIN_POS_MOUSE ++ False ++ 400 ++ True ++ False ++ True ++ False ++ False ++ GDK_WINDOW_TYPE_HINT_DIALOG ++ GDK_GRAVITY_NORTH_WEST ++ True ++ False ++ False ++ ++ ++ ++ True ++ False ++ 6 ++ ++ ++ ++ True ++ GTK_BUTTONBOX_END ++ ++ ++ ++ True ++ True ++ True ++ gtk-cancel ++ True ++ GTK_RELIEF_NORMAL ++ True ++ -6 ++ ++ ++ ++ ++ ++ True ++ True ++ True ++ gtk-add ++ True ++ GTK_RELIEF_NORMAL ++ True ++ -5 ++ ++ ++ ++ ++ 0 ++ False ++ True ++ GTK_PACK_END ++ ++ ++ ++ ++ ++ True ++ 2 ++ 2 ++ False ++ 6 ++ 12 ++ ++ ++ ++ True ++ Boolean Name ++ False ++ False ++ GTK_JUSTIFY_LEFT ++ False ++ False ++ 0 ++ 0.5 ++ 0 ++ 0 ++ PANGO_ELLIPSIZE_NONE ++ -1 ++ False ++ 0 ++ ++ ++ 0 ++ 1 ++ 0 ++ 1 ++ fill ++ ++ ++ ++ ++ ++ ++ True ++ Description ++ False ++ False ++ GTK_JUSTIFY_LEFT ++ False ++ False ++ 0 ++ 0.5 ++ 0 ++ 0 ++ PANGO_ELLIPSIZE_NONE ++ -1 ++ False ++ 0 ++ ++ ++ 0 ++ 1 ++ 1 ++ 2 ++ fill ++ ++ ++ ++ ++ ++ ++ True ++ True ++ True ++ True ++ 0 ++ ++ True ++ ++ False ++ ++ ++ 1 ++ 2 ++ 0 ++ 1 ++ ++ ++ ++ ++ ++ ++ True ++ True ++ True ++ True ++ 0 ++ ++ True ++ ++ False ++ ++ ++ 1 ++ 2 ++ 1 ++ 2 ++ ++ ++ ++ ++ ++ 0 ++ True ++ True ++ ++ ++ ++ ++ ++ ++ +diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/polgen.gladep policycoreutils-2.0.61/gui/polgen.gladep +--- nsapolicycoreutils/gui/polgen.gladep 1969-12-31 19:00:00.000000000 -0500 ++++ policycoreutils-2.0.61/gui/polgen.gladep 2009-01-19 14:29:36.000000000 -0500 +@@ -0,0 +1,7 @@ ++ ++ ++ ++ ++ ++ ++ +diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/polgen.gladep.bak policycoreutils-2.0.61/gui/polgen.gladep.bak +--- nsapolicycoreutils/gui/polgen.gladep.bak 1969-12-31 19:00:00.000000000 -0500 ++++ policycoreutils-2.0.61/gui/polgen.gladep.bak 2009-01-19 14:29:36.000000000 -0500 +@@ -0,0 +1,7 @@ ++ ++ ++ ++ ++ ++ ++ +diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/polgengui.py policycoreutils-2.0.61/gui/polgengui.py --- nsapolicycoreutils/gui/polgengui.py 1969-12-31 19:00:00.000000000 -0500 -+++ policycoreutils-2.0.60/gui/polgengui.py 2008-12-15 15:34:55.000000000 -0500 -@@ -0,0 +1,623 @@ ++++ policycoreutils-2.0.61/gui/polgengui.py 2009-01-20 09:28:47.000000000 -0500 +@@ -0,0 +1,626 @@ +#!/usr/bin/python -E +# +# polgengui.py - GUI for SELinux Config tool in system-config-selinux +# +# Dan Walsh +# -+# Copyright 2007, 2008 Red Hat, Inc. ++# Copyright 2007, 2008, 2009 Red Hat, Inc. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by @@ -5936,6 +9442,8 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/polgengui.py policyc + return polgen.USER + if self.init_radiobutton.get_active(): + return polgen.DAEMON ++ if self.dbus_radiobutton.get_active(): ++ return polgen.DBUS + if self.inetd_radiobutton.get_active(): + return polgen.INETD + if self.login_user_radiobutton.get_active(): @@ -6114,6 +9622,7 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/polgengui.py policyc + self.user_radiobutton = self.xml.get_widget("user_radiobutton") + self.init_radiobutton = self.xml.get_widget("init_radiobutton") + self.inetd_radiobutton = self.xml.get_widget("inetd_radiobutton") ++ self.dbus_radiobutton = self.xml.get_widget("dbus_radiobutton") + self.cgi_radiobutton = self.xml.get_widget("cgi_radiobutton") + self.tmp_checkbutton = self.xml.get_widget("tmp_checkbutton") + self.uid_checkbutton = self.xml.get_widget("uid_checkbutton") @@ -6220,13 +9729,14 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/polgengui.py policyc + + app = childWindow() + app.stand_alone() -diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/polgen.py policycoreutils-2.0.60/gui/polgen.py +Binary files nsapolicycoreutils/gui/polgengui.pyo and policycoreutils-2.0.61/gui/polgengui.pyo differ +diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/polgen.py policycoreutils-2.0.61/gui/polgen.py --- nsapolicycoreutils/gui/polgen.py 1969-12-31 19:00:00.000000000 -0500 -+++ policycoreutils-2.0.60/gui/polgen.py 2008-12-15 15:34:55.000000000 -0500 -@@ -0,0 +1,925 @@ ++++ policycoreutils-2.0.61/gui/polgen.py 2009-01-20 09:28:32.000000000 -0500 +@@ -0,0 +1,954 @@ +#!/usr/bin/python +# -+# Copyright (C) 2007, 2008 Red Hat ++# Copyright (C) 2007, 2008, 2009 Red Hat +# see file 'COPYING' for use and warranty information +# +# policygentool is a tool for the initial generation of SELinux policy @@ -6309,7 +9819,6 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/polgen.py policycore +def get_all_types(): + all_types = [] + try: -+ rc, output=commands.getstatusoutput("/usr/bin/seinfo --type") + output = commands.getoutput("/usr/bin/seinfo --type").split() + for t in output: + if t.endswith("_t"): @@ -6319,6 +9828,17 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/polgen.py policycore + + return all_types + ++def get_all_domains(): ++ all_domains = [] ++ types=get_all_types() ++ types.sort() ++ for i in types: ++ m = re.findall("(.*)%s" % "_exec$", i) ++ if len(m) > 0: ++ if len(re.findall("(.*)%s" % "_initrc$", m[0])) == 0: ++ all_domains.append(m[0]) ++ return all_domains ++ +def get_all_modules(): + try: + all_modules = [] @@ -6347,17 +9867,18 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/polgen.py policycore +USER_TRANSITION_INTERFACE = "_per_role_template$" + +DAEMON = 0 -+INETD = 1 -+USER = 2 -+CGI = 3 -+XUSER = 4 -+TUSER = 5 -+LUSER = 6 -+AUSER = 7 -+EUSER = 8 -+RUSER = 9 ++DBUS = 1 ++INETD = 2 ++USER = 3 ++CGI = 4 ++XUSER = 5 ++TUSER = 6 ++LUSER = 7 ++AUSER = 8 ++EUSER = 9 ++RUSER = 10 + -+APPLICATIONS = [ DAEMON, INETD, USER, CGI ] ++APPLICATIONS = [ DAEMON, DBUS, INETD, USER, CGI ] +USERS = [ XUSER, TUSER, LUSER, AUSER, EUSER, RUSER] + +def verify_ports(ports): @@ -6405,6 +9926,7 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/polgen.py policycore + + self.DEFAULT_TYPES = (\ +( self.generate_daemon_types, self.generate_daemon_rules), \ ++( self.generate_dbusd_types, self.generate_dbusd_rules), \ +( self.generate_inetd_types, self.generate_inetd_rules), \ +( self.generate_userapp_types, self.generate_userapp_rules), \ +( self.generate_cgi_types, self.generate_cgi_rules), \ @@ -6771,6 +10293,9 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/polgen.py policycore + def generate_inetd_types(self): + return re.sub("TEMPLATETYPE", self.name, executable.te_inetd_types) + ++ def generate_dbusd_types(self): ++ return re.sub("TEMPLATETYPE", self.name, executable.te_dbusd_types) ++ + def generate_min_login_user_types(self): + return re.sub("TEMPLATETYPE", self.name, user.te_min_login_user_types) + @@ -6841,6 +10366,9 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/polgen.py policycore + def generate_inetd_rules(self): + return re.sub("TEMPLATETYPE", self.name, executable.te_inetd_rules) + ++ def generate_dbusd_rules(self): ++ return re.sub("TEMPLATETYPE", self.name, executable.te_dbusd_rules) ++ + def generate_tmp_rules(self): + if self.use_tmp: + return re.sub("TEMPLATETYPE", self.name, tmp.te_rules) @@ -7130,6 +10658,17 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/polgen.py policycore + mypolicy.set_out_tcp(0,"8000") + print mypolicy.generate("/var/tmp") + ++ ++ mypolicy = policy("mydbus", DBUS) ++ mypolicy.set_program("/usr/libexec/mydbus") ++ mypolicy.set_in_tcp(1, 0, 0, "513") ++ mypolicy.set_in_udp(1, 0, 0, "1513") ++ mypolicy.set_use_uid(True) ++ mypolicy.set_use_tmp(True) ++ mypolicy.set_use_syslog(True) ++ mypolicy.set_use_pam(True) ++ print mypolicy.generate("/var/tmp") ++ + mypolicy = policy("mytuser", TUSER) + mypolicy.set_transition_domains(["sudo"]) + mypolicy.set_admin_roles(["mydbadm"]) @@ -7149,9 +10688,10 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/polgen.py policycore + sys.exit(0) + + -diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/portsPage.py policycoreutils-2.0.60/gui/portsPage.py +Binary files nsapolicycoreutils/gui/polgen.pyo and policycoreutils-2.0.61/gui/polgen.pyo differ +diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/portsPage.py policycoreutils-2.0.61/gui/portsPage.py --- nsapolicycoreutils/gui/portsPage.py 1969-12-31 19:00:00.000000000 -0500 -+++ policycoreutils-2.0.60/gui/portsPage.py 2008-12-15 15:49:14.000000000 -0500 ++++ policycoreutils-2.0.61/gui/portsPage.py 2009-01-14 10:05:39.000000000 -0500 @@ -0,0 +1,259 @@ +## portsPage.py - show selinux mappings +## Copyright (C) 2006 Red Hat, Inc. @@ -7412,9 +10952,9 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/portsPage.py policyc + + return True + -diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/selinux.tbl policycoreutils-2.0.60/gui/selinux.tbl +diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/selinux.tbl policycoreutils-2.0.61/gui/selinux.tbl --- nsapolicycoreutils/gui/selinux.tbl 1969-12-31 19:00:00.000000000 -0500 -+++ policycoreutils-2.0.60/gui/selinux.tbl 2008-12-15 15:34:55.000000000 -0500 ++++ policycoreutils-2.0.61/gui/selinux.tbl 2009-01-14 10:05:39.000000000 -0500 @@ -0,0 +1,234 @@ +acct_disable_trans _("SELinux Service Protection") _("Disable SELinux protection for acct daemon") +allow_daemons_dump_core _("Admin") _("Allow all daemons to write corefiles to /") @@ -7650,10 +11190,10 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/selinux.tbl policyco +webadm_manage_user_files _("HTTPD Service") _("Allow SELinux webadm user to manage unprivileged users home directories") +webadm_read_user_files _("HTTPD Service") _("Allow SELinux webadm user to read unprivileged users home directories") + -diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/semanagePage.py policycoreutils-2.0.60/gui/semanagePage.py +diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/semanagePage.py policycoreutils-2.0.61/gui/semanagePage.py --- nsapolicycoreutils/gui/semanagePage.py 1969-12-31 19:00:00.000000000 -0500 -+++ policycoreutils-2.0.60/gui/semanagePage.py 2008-12-15 15:34:55.000000000 -0500 -@@ -0,0 +1,169 @@ ++++ policycoreutils-2.0.61/gui/semanagePage.py 2009-01-20 09:25:54.000000000 -0500 +@@ -0,0 +1,168 @@ +## semanagePage.py - show selinux mappings +## Copyright (C) 2006 Red Hat, Inc. + @@ -7797,7 +11337,6 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/semanagePage.py poli + break; + except ValueError, e: + self.error(e.args[0]) -+ print + self.dialog.hide() + + def propertiesDialog(self): @@ -7823,12 +11362,12 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/semanagePage.py poli + self.load(self.filter) + return True + -diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/statusPage.py policycoreutils-2.0.60/gui/statusPage.py +diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/statusPage.py policycoreutils-2.0.61/gui/statusPage.py --- nsapolicycoreutils/gui/statusPage.py 1969-12-31 19:00:00.000000000 -0500 -+++ policycoreutils-2.0.60/gui/statusPage.py 2008-12-15 15:34:55.000000000 -0500 -@@ -0,0 +1,191 @@ ++++ policycoreutils-2.0.61/gui/statusPage.py 2009-01-20 09:29:07.000000000 -0500 +@@ -0,0 +1,190 @@ +# statusPage.py - show selinux status -+## Copyright (C) 2006 Red Hat, Inc. ++## Copyright (C) 2006-2009 Red Hat, Inc. + +## This program is free software; you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by @@ -7988,7 +11527,6 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/statusPage.py policy + + def write_selinux_config(self, enforcing, type): + import commands -+ print enforcing, type + commands.getstatusoutput("/usr/sbin/lokkit --selinuxtype=%s --selinux=%s" % (type, enforcing)) + + def read_selinux_config(self): @@ -8018,10 +11556,10 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/statusPage.py policy + return self.types[self.selinuxTypeOptionMenu.get_active()] + + -diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/system-config-selinux.glade policycoreutils-2.0.60/gui/system-config-selinux.glade +diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/system-config-selinux.glade policycoreutils-2.0.61/gui/system-config-selinux.glade --- nsapolicycoreutils/gui/system-config-selinux.glade 1969-12-31 19:00:00.000000000 -0500 -+++ policycoreutils-2.0.60/gui/system-config-selinux.glade 2009-01-04 14:12:28.000000000 -0500 -@@ -0,0 +1,3221 @@ ++++ policycoreutils-2.0.61/gui/system-config-selinux.glade 2009-01-20 09:47:14.000000000 -0500 +@@ -0,0 +1,3403 @@ + + + @@ -9938,6 +13476,7 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/system-config-selinu + + + True ++ Boolean + True + True + False @@ -10142,6 +13681,7 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/system-config-selinu + + + True ++ File Labeling + True + True + False @@ -10328,6 +13868,7 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/system-config-selinu + + + True ++ User Mapping + True + True + False @@ -10392,7 +13933,7 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/system-config-selinu + + + True -+ Add Translation ++ Add User + gtk-add + True + True @@ -10408,7 +13949,7 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/system-config-selinu + + + True -+ Modify Translation ++ Modify User + gtk-properties + True + True @@ -10424,7 +13965,7 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/system-config-selinu + + + True -+ Delete Translation ++ Delete User + gtk-delete + True + True @@ -10514,6 +14055,7 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/system-config-selinu + + + True ++ SELinux User + True + True + False @@ -10578,7 +14120,7 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/system-config-selinu + + + True -+ Add SELinux User ++ Add Translation + gtk-add + True + True @@ -10594,7 +14136,7 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/system-config-selinu + + + True -+ Modify SELinux User ++ Modify Translation + gtk-properties + True + True @@ -10610,7 +14152,7 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/system-config-selinu + + + True -+ Add SELinux User ++ Delete Translation + gtk-delete + True + True @@ -10700,6 +14242,7 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/system-config-selinu + + + True ++ Translation + True + True + False @@ -10942,6 +14485,7 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/system-config-selinu + + + True ++ Network Port + True + True + False @@ -11166,6 +14710,7 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/system-config-selinu + + + True ++ Policy Module + True + True + False @@ -11212,6 +14757,181 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/system-config-selinu + tab + + ++ ++ ++ ++ True ++ False ++ 0 ++ ++ ++ ++ True ++ GTK_ORIENTATION_HORIZONTAL ++ GTK_TOOLBAR_BOTH ++ True ++ True ++ ++ ++ ++ True ++ Change process mode to permissive. ++ Permissive ++ True ++ gtk-dialog-warning ++ True ++ True ++ False ++ ++ ++ ++ False ++ True ++ ++ ++ ++ ++ ++ True ++ Change process mode to enforcing ++ Enforcing ++ True ++ gtk-dialog-error ++ True ++ True ++ False ++ ++ ++ ++ False ++ True ++ ++ ++ ++ ++ 0 ++ False ++ False ++ ++ ++ ++ ++ ++ True ++ False ++ 0 ++ ++ ++ ++ True ++ Filter ++ False ++ False ++ GTK_JUSTIFY_LEFT ++ False ++ False ++ 0.5 ++ 0.5 ++ 0 ++ 0 ++ PANGO_ELLIPSIZE_NONE ++ -1 ++ False ++ 0 ++ ++ ++ 10 ++ False ++ False ++ ++ ++ ++ ++ ++ True ++ True ++ True ++ True ++ 0 ++ ++ True ++ ++ False ++ ++ ++ ++ 0 ++ True ++ True ++ ++ ++ ++ ++ 5 ++ False ++ True ++ ++ ++ ++ ++ ++ True ++ True ++ GTK_POLICY_ALWAYS ++ GTK_POLICY_ALWAYS ++ GTK_SHADOW_NONE ++ GTK_CORNER_TOP_LEFT ++ ++ ++ ++ True ++ Process Domain ++ True ++ True ++ False ++ False ++ True ++ False ++ False ++ False ++ ++ ++ ++ ++ 0 ++ True ++ True ++ ++ ++ ++ ++ False ++ True ++ ++ ++ ++ ++ ++ True ++ label59 ++ False ++ False ++ GTK_JUSTIFY_LEFT ++ False ++ False ++ 0.5 ++ 0.5 ++ 0 ++ 0 ++ PANGO_ELLIPSIZE_NONE ++ -1 ++ False ++ 0 ++ ++ ++ tab ++ ++ + + + True @@ -11243,17 +14963,17 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/system-config-selinu + + + -diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/system-config-selinux.py policycoreutils-2.0.60/gui/system-config-selinux.py +diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/system-config-selinux.py policycoreutils-2.0.61/gui/system-config-selinux.py --- nsapolicycoreutils/gui/system-config-selinux.py 1969-12-31 19:00:00.000000000 -0500 -+++ policycoreutils-2.0.60/gui/system-config-selinux.py 2008-12-15 15:34:55.000000000 -0500 -@@ -0,0 +1,187 @@ ++++ policycoreutils-2.0.61/gui/system-config-selinux.py 2009-01-20 09:22:25.000000000 -0500 +@@ -0,0 +1,189 @@ +#!/usr/bin/python +# +# system-config-selinux.py - GUI for SELinux Config tool in system-config-selinux +# +# Dan Walsh +# -+# Copyright 2006 Red Hat, Inc. ++# Copyright 2006-2009 Red Hat, Inc. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by @@ -11283,6 +15003,7 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/system-config-selinu +import usersPage +import portsPage +import modulesPage ++import domainsPage +import fcontextPage +import translationsPage +import selinux @@ -11338,6 +15059,7 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/system-config-selinu + self.add_page(translationsPage.translationsPage(xml)) + self.add_page(portsPage.portsPage(xml)) + self.add_page(modulesPage.modulesPage(xml)) # modules ++ self.add_page(domainsPage.domainsPage(xml)) # domains + except ValueError, e: + self.error(e.message) + @@ -11434,9 +15156,9 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/system-config-selinu + + app = childWindow() + app.stand_alone() -diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/templates/boolean.py policycoreutils-2.0.60/gui/templates/boolean.py +diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/templates/boolean.py policycoreutils-2.0.61/gui/templates/boolean.py --- nsapolicycoreutils/gui/templates/boolean.py 1969-12-31 19:00:00.000000000 -0500 -+++ policycoreutils-2.0.60/gui/templates/boolean.py 2008-12-15 15:34:55.000000000 -0500 ++++ policycoreutils-2.0.61/gui/templates/boolean.py 2009-01-14 10:05:39.000000000 -0500 @@ -0,0 +1,40 @@ +# Copyright (C) 2007 Red Hat +# see file 'COPYING' for use and warranty information @@ -11478,9 +15200,9 @@ 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.60/gui/templates/etc_rw.py +diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/templates/etc_rw.py policycoreutils-2.0.61/gui/templates/etc_rw.py --- nsapolicycoreutils/gui/templates/etc_rw.py 1969-12-31 19:00:00.000000000 -0500 -+++ policycoreutils-2.0.60/gui/templates/etc_rw.py 2008-12-15 15:34:55.000000000 -0500 ++++ policycoreutils-2.0.61/gui/templates/etc_rw.py 2009-01-14 10:05:39.000000000 -0500 @@ -0,0 +1,129 @@ +# Copyright (C) 2007 Red Hat +# see file 'COPYING' for use and warranty information @@ -11611,10 +15333,10 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/templates/etc_rw.py +fc_dir="""\ +FILENAME(/.*)? gen_context(system_u:object_r:TEMPLATETYPE_etc_rw_t,s0) +""" -diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/templates/executable.py policycoreutils-2.0.60/gui/templates/executable.py +diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/templates/executable.py policycoreutils-2.0.61/gui/templates/executable.py --- nsapolicycoreutils/gui/templates/executable.py 1969-12-31 19:00:00.000000000 -0500 -+++ policycoreutils-2.0.60/gui/templates/executable.py 2008-12-15 15:34:55.000000000 -0500 -@@ -0,0 +1,327 @@ ++++ policycoreutils-2.0.61/gui/templates/executable.py 2009-01-19 14:29:58.000000000 -0500 +@@ -0,0 +1,352 @@ +# Copyright (C) 2007 Red Hat +# see file 'COPYING' for use and warranty information +# @@ -11648,6 +15370,8 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/templates/executable +type TEMPLATETYPE_t; +type TEMPLATETYPE_exec_t; +init_daemon_domain(TEMPLATETYPE_t, TEMPLATETYPE_exec_t) ++ ++permissive TEMPLATETYPE_t; +""" + +te_initscript_types=""" @@ -11655,6 +15379,21 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/templates/executable +init_script_type(TEMPLATETYPE_script_exec_t) +""" + ++te_dbusd_types="""\ ++policy_module(TEMPLATETYPE,1.0.0) ++ ++######################################## ++# ++# Declarations ++# ++ ++type TEMPLATETYPE_t; ++type TEMPLATETYPE_exec_t; ++dbus_system_domain(TEMPLATETYPE_t, TEMPLATETYPE_exec_t) ++ ++permissive TEMPLATETYPE_t; ++""" ++ +te_inetd_types="""\ +policy_module(TEMPLATETYPE,1.0.0) + @@ -11666,6 +15405,8 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/templates/executable +type TEMPLATETYPE_t; +type TEMPLATETYPE_exec_t; +inetd_service_domain(TEMPLATETYPE_t, TEMPLATETYPE_exec_t) ++ ++permissive TEMPLATETYPE_t; +""" + +te_userapp_types="""\ @@ -11681,6 +15422,7 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/templates/executable +application_domain(TEMPLATETYPE_t, TEMPLATETYPE_exec_t) +role system_r types TEMPLATETYPE_t; + ++permissive TEMPLATETYPE_t; +""" + +te_cgi_types="""\ @@ -11692,6 +15434,8 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/templates/executable +# + +apache_content_template(TEMPLATETYPE) ++ ++permissive http_TEMPLATETYPE_script_t; +""" + +te_daemon_rules=""" @@ -11719,6 +15463,9 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/templates/executable +te_inetd_rules=""" +""" + ++te_dbusd_rules=""" ++""" ++ +te_userapp_rules=""" +######################################## +# @@ -11759,7 +15506,7 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/templates/executable + +te_dbus_rules=""" +optional_policy(` -+ dbus_system_bus_client_template(TEMPLATETYPE,TEMPLATETYPE_t) ++ dbus_system_bus_client(TEMPLATETYPE_t) + dbus_connect_system_bus(TEMPLATETYPE_t) +') +""" @@ -11942,9 +15689,9 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/templates/executable +EXECUTABLE -- gen_context(system_u:object_r:TEMPLATETYPE_script_exec_t,s0) +""" + -diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/templates/__init__.py policycoreutils-2.0.60/gui/templates/__init__.py +diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/templates/__init__.py policycoreutils-2.0.61/gui/templates/__init__.py --- nsapolicycoreutils/gui/templates/__init__.py 1969-12-31 19:00:00.000000000 -0500 -+++ policycoreutils-2.0.60/gui/templates/__init__.py 2008-12-15 15:34:55.000000000 -0500 ++++ policycoreutils-2.0.61/gui/templates/__init__.py 2009-01-14 10:05:39.000000000 -0500 @@ -0,0 +1,18 @@ +# +# Copyright (C) 2007 Red Hat, Inc. @@ -11964,9 +15711,9 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/templates/__init__.p +# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +# + -diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/templates/network.py policycoreutils-2.0.60/gui/templates/network.py +diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/templates/network.py policycoreutils-2.0.61/gui/templates/network.py --- nsapolicycoreutils/gui/templates/network.py 1969-12-31 19:00:00.000000000 -0500 -+++ policycoreutils-2.0.60/gui/templates/network.py 2008-12-15 15:34:55.000000000 -0500 ++++ policycoreutils-2.0.61/gui/templates/network.py 2009-01-14 10:05:39.000000000 -0500 @@ -0,0 +1,80 @@ +te_port_types=""" +type TEMPLATETYPE_port_t; @@ -12048,9 +15795,9 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/templates/network.py +corenet_udp_bind_all_unreserved_ports(TEMPLATETYPE_t) +""" + -diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/templates/rw.py policycoreutils-2.0.60/gui/templates/rw.py +diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/templates/rw.py policycoreutils-2.0.61/gui/templates/rw.py --- nsapolicycoreutils/gui/templates/rw.py 1969-12-31 19:00:00.000000000 -0500 -+++ policycoreutils-2.0.60/gui/templates/rw.py 2008-12-15 15:34:55.000000000 -0500 ++++ policycoreutils-2.0.61/gui/templates/rw.py 2009-01-14 10:05:39.000000000 -0500 @@ -0,0 +1,128 @@ +# Copyright (C) 2007 Red Hat +# see file 'COPYING' for use and warranty information @@ -12180,9 +15927,9 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/templates/rw.py poli +fc_dir=""" +FILENAME(/.*)? gen_context(system_u:object_r:TEMPLATETYPE_rw_t,s0) +""" -diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/templates/script.py policycoreutils-2.0.60/gui/templates/script.py +diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/templates/script.py policycoreutils-2.0.61/gui/templates/script.py --- nsapolicycoreutils/gui/templates/script.py 1969-12-31 19:00:00.000000000 -0500 -+++ policycoreutils-2.0.60/gui/templates/script.py 2008-12-15 15:34:55.000000000 -0500 ++++ policycoreutils-2.0.61/gui/templates/script.py 2009-01-14 10:05:39.000000000 -0500 @@ -0,0 +1,105 @@ +# Copyright (C) 2007 Red Hat +# see file 'COPYING' for use and warranty information @@ -12289,9 +16036,9 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/templates/script.py +# Adding roles to SELinux user USER +/usr/sbin/semanage user -m -R +TEMPLATETYPE_r USER +""" -diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/templates/semodule.py policycoreutils-2.0.60/gui/templates/semodule.py +diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/templates/semodule.py policycoreutils-2.0.61/gui/templates/semodule.py --- nsapolicycoreutils/gui/templates/semodule.py 1969-12-31 19:00:00.000000000 -0500 -+++ policycoreutils-2.0.60/gui/templates/semodule.py 2008-12-15 15:34:55.000000000 -0500 ++++ policycoreutils-2.0.61/gui/templates/semodule.py 2009-01-14 10:05:39.000000000 -0500 @@ -0,0 +1,41 @@ +# Copyright (C) 2007 Red Hat +# see file 'COPYING' for use and warranty information @@ -12334,9 +16081,9 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/templates/semodule.p +semanage ports -a -t TEMPLATETYPE_port_t -p udp PORTNUM +""" + -diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/templates/tmp.py policycoreutils-2.0.60/gui/templates/tmp.py +diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/templates/tmp.py policycoreutils-2.0.61/gui/templates/tmp.py --- nsapolicycoreutils/gui/templates/tmp.py 1969-12-31 19:00:00.000000000 -0500 -+++ policycoreutils-2.0.60/gui/templates/tmp.py 2008-12-15 15:34:55.000000000 -0500 ++++ policycoreutils-2.0.61/gui/templates/tmp.py 2009-01-14 10:05:39.000000000 -0500 @@ -0,0 +1,97 @@ +# Copyright (C) 2007 Red Hat +# see file 'COPYING' for use and warranty information @@ -12435,9 +16182,9 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/templates/tmp.py pol + TEMPLATETYPE_manage_tmp($1) +""" + -diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/templates/user.py policycoreutils-2.0.60/gui/templates/user.py +diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/templates/user.py policycoreutils-2.0.61/gui/templates/user.py --- nsapolicycoreutils/gui/templates/user.py 1969-12-31 19:00:00.000000000 -0500 -+++ policycoreutils-2.0.60/gui/templates/user.py 2008-12-15 15:34:55.000000000 -0500 ++++ policycoreutils-2.0.61/gui/templates/user.py 2009-01-14 10:05:39.000000000 -0500 @@ -0,0 +1,182 @@ +# Copyright (C) 2007 Red Hat +# see file 'COPYING' for use and warranty information @@ -12621,9 +16368,9 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/templates/user.py po +te_newrole_rules=""" +seutil_run_newrole(TEMPLATETYPE_t,TEMPLATETYPE_r,{ TEMPLATETYPE_devpts_t TEMPLATETYPE_tty_device_t }) +""" -diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/templates/var_lib.py policycoreutils-2.0.60/gui/templates/var_lib.py +diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/templates/var_lib.py policycoreutils-2.0.61/gui/templates/var_lib.py --- nsapolicycoreutils/gui/templates/var_lib.py 1969-12-31 19:00:00.000000000 -0500 -+++ policycoreutils-2.0.60/gui/templates/var_lib.py 2008-12-15 15:34:55.000000000 -0500 ++++ policycoreutils-2.0.61/gui/templates/var_lib.py 2009-01-14 10:05:39.000000000 -0500 @@ -0,0 +1,158 @@ +# Copyright (C) 2007 Red Hat +# see file 'COPYING' for use and warranty information @@ -12783,9 +16530,9 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/templates/var_lib.py +fc_dir="""\ +FILENAME(/.*)? gen_context(system_u:object_r:TEMPLATETYPE_var_lib_t,s0) +""" -diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/templates/var_log.py policycoreutils-2.0.60/gui/templates/var_log.py +diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/templates/var_log.py policycoreutils-2.0.61/gui/templates/var_log.py --- nsapolicycoreutils/gui/templates/var_log.py 1969-12-31 19:00:00.000000000 -0500 -+++ policycoreutils-2.0.60/gui/templates/var_log.py 2008-12-15 15:34:55.000000000 -0500 ++++ policycoreutils-2.0.61/gui/templates/var_log.py 2009-01-14 10:05:39.000000000 -0500 @@ -0,0 +1,110 @@ +# Copyright (C) 2007 Red Hat +# see file 'COPYING' for use and warranty information @@ -12897,9 +16644,9 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/templates/var_log.py +fc_dir="""\ +FILENAME(/.*)? gen_context(system_u:object_r:TEMPLATETYPE_log_t,s0) +""" -diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/templates/var_run.py policycoreutils-2.0.60/gui/templates/var_run.py +diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/templates/var_run.py policycoreutils-2.0.61/gui/templates/var_run.py --- nsapolicycoreutils/gui/templates/var_run.py 1969-12-31 19:00:00.000000000 -0500 -+++ policycoreutils-2.0.60/gui/templates/var_run.py 2008-12-15 15:34:55.000000000 -0500 ++++ policycoreutils-2.0.61/gui/templates/var_run.py 2009-01-14 10:05:39.000000000 -0500 @@ -0,0 +1,118 @@ +# Copyright (C) 2007 Red Hat +# see file 'COPYING' for use and warranty information @@ -13019,9 +16766,9 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/templates/var_run.py +FILENAME(/.*)? gen_context(system_u:object_r:TEMPLATETYPE_var_run_t,s0) +""" + -diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/templates/var_spool.py policycoreutils-2.0.60/gui/templates/var_spool.py +diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/templates/var_spool.py policycoreutils-2.0.61/gui/templates/var_spool.py --- nsapolicycoreutils/gui/templates/var_spool.py 1969-12-31 19:00:00.000000000 -0500 -+++ policycoreutils-2.0.60/gui/templates/var_spool.py 2008-12-15 15:34:55.000000000 -0500 ++++ policycoreutils-2.0.61/gui/templates/var_spool.py 2009-01-14 10:05:39.000000000 -0500 @@ -0,0 +1,129 @@ +# Copyright (C) 2007 Red Hat +# see file 'COPYING' for use and warranty information @@ -13152,9 +16899,9 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/templates/var_spool. +fc_dir="""\ +FILENAME(/.*)? gen_context(system_u:object_r:TEMPLATETYPE_spool_t,s0) +""" -diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/translationsPage.py policycoreutils-2.0.60/gui/translationsPage.py +diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/translationsPage.py policycoreutils-2.0.61/gui/translationsPage.py --- nsapolicycoreutils/gui/translationsPage.py 1969-12-31 19:00:00.000000000 -0500 -+++ policycoreutils-2.0.60/gui/translationsPage.py 2008-12-15 15:34:55.000000000 -0500 ++++ policycoreutils-2.0.61/gui/translationsPage.py 2009-01-14 10:05:39.000000000 -0500 @@ -0,0 +1,118 @@ +## translationsPage.py - show selinux translations +## Copyright (C) 2006 Red Hat, Inc. @@ -13274,9 +17021,9 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/translationsPage.py + store, iter = self.view.get_selection().get_selected() + self.store.set_value(iter, 0, level) + self.store.set_value(iter, 1, translation) -diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/usersPage.py policycoreutils-2.0.60/gui/usersPage.py +diff --exclude-from=exclude -N -u -r nsapolicycoreutils/gui/usersPage.py policycoreutils-2.0.61/gui/usersPage.py --- nsapolicycoreutils/gui/usersPage.py 1969-12-31 19:00:00.000000000 -0500 -+++ policycoreutils-2.0.60/gui/usersPage.py 2008-12-15 15:34:55.000000000 -0500 ++++ policycoreutils-2.0.61/gui/usersPage.py 2009-01-14 10:05:39.000000000 -0500 @@ -0,0 +1,150 @@ +## usersPage.py - show selinux mappings +## Copyright (C) 2006,2007,2008 Red Hat, Inc. diff --git a/policycoreutils-po.patch b/policycoreutils-po.patch index d22dd1b..3419b57 100644 --- a/policycoreutils-po.patch +++ b/policycoreutils-po.patch @@ -1,6 +1,5181 @@ -diff --exclude-from=exclude -N -u -r nsapolicycoreutils/po/as.po policycoreutils-2.0.60/po/as.po +diff --exclude-from=exclude -N -u -r nsapolicycoreutils/po/af.po policycoreutils-2.0.61/po/af.po +--- nsapolicycoreutils/po/af.po 2008-09-22 13:25:06.000000000 -0400 ++++ policycoreutils-2.0.61/po/af.po 2009-01-20 09:33:29.000000000 -0500 +@@ -8,7 +8,7 @@ + msgstr "" + "Project-Id-Version: PACKAGE VERSION\n" + "Report-Msgid-Bugs-To: \n" +-"POT-Creation-Date: 2008-09-09 13:24-0400\n" ++"POT-Creation-Date: 2009-01-20 09:33-0500\n" + "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" + "Last-Translator: FULL NAME \n" + "Language-Team: LANGUAGE \n" +@@ -85,818 +85,819 @@ + msgid "To make this policy package active, execute:" + msgstr "" + +-#: ../semanage/seobject.py:49 ++#: ../semanage/seobject.py:48 + msgid "Could not create semanage handle" + msgstr "" + +-#: ../semanage/seobject.py:56 ++#: ../semanage/seobject.py:55 + msgid "SELinux policy is not managed or store cannot be accessed." + msgstr "" + +-#: ../semanage/seobject.py:61 ++#: ../semanage/seobject.py:60 + msgid "Cannot read policy store." + msgstr "" + +-#: ../semanage/seobject.py:66 ++#: ../semanage/seobject.py:65 + msgid "Could not establish semanage connection" + msgstr "" + +-#: ../semanage/seobject.py:137 ../semanage/seobject.py:141 +-msgid "global" ++#: ../semanage/seobject.py:70 ++msgid "Could not test MLS enabled status" + msgstr "" + +-#: ../semanage/seobject.py:196 +-msgid "translations not supported on non-MLS machines" ++#: ../semanage/seobject.py:142 ../semanage/seobject.py:146 ++msgid "global" + msgstr "" + +-#: ../semanage/seobject.py:203 ++#: ../semanage/seobject.py:206 + #, python-format + msgid "Unable to open %s: translations not supported on non-MLS machines: %s" + msgstr "" + +-#: ../semanage/seobject.py:236 ++#: ../semanage/seobject.py:239 + msgid "Level" + msgstr "" + +-#: ../semanage/seobject.py:236 ../gui/system-config-selinux.glade:651 ++#: ../semanage/seobject.py:239 ../gui/system-config-selinux.glade:651 + #: ../gui/translationsPage.py:43 ../gui/translationsPage.py:59 + msgid "Translation" + msgstr "" + +-#: ../semanage/seobject.py:244 ../semanage/seobject.py:258 ++#: ../semanage/seobject.py:247 ../semanage/seobject.py:261 + #, python-format + msgid "Translations can not contain spaces '%s' " + msgstr "" + +-#: ../semanage/seobject.py:247 ++#: ../semanage/seobject.py:250 + #, python-format + msgid "Invalid Level '%s' " + msgstr "" + +-#: ../semanage/seobject.py:250 ++#: ../semanage/seobject.py:253 + #, python-format + msgid "%s already defined in translations" + msgstr "" + +-#: ../semanage/seobject.py:262 ++#: ../semanage/seobject.py:265 + #, python-format + msgid "%s not defined in translations" + msgstr "" + +-#: ../semanage/seobject.py:288 ++#: ../semanage/seobject.py:291 + msgid "Not yet implemented" + msgstr "" + +-#: ../semanage/seobject.py:295 ++#: ../semanage/seobject.py:298 + msgid "Could not start semanage transaction" + msgstr "" + +-#: ../semanage/seobject.py:301 ++#: ../semanage/seobject.py:304 + msgid "Could not commit semanage transaction" + msgstr "" + +-#: ../semanage/seobject.py:311 ++#: ../semanage/seobject.py:314 + msgid "Could not list SELinux modules" + msgstr "" + +-#: ../semanage/seobject.py:322 ++#: ../semanage/seobject.py:325 + msgid "Permissive Types" + msgstr "" + +-#: ../semanage/seobject.py:352 ++#: ../semanage/seobject.py:355 + #, python-format + msgid "Could not set permissive domain %s (module installation failed)" + msgstr "" + +-#: ../semanage/seobject.py:366 ++#: ../semanage/seobject.py:369 + #, python-format + msgid "Could not remove permissive domain %s (remove failed)" + msgstr "" + +-#: ../semanage/seobject.py:392 ../semanage/seobject.py:452 +-#: ../semanage/seobject.py:498 ../semanage/seobject.py:580 +-#: ../semanage/seobject.py:647 ../semanage/seobject.py:705 +-#: ../semanage/seobject.py:915 ../semanage/seobject.py:1482 +-#: ../semanage/seobject.py:1542 ../semanage/seobject.py:1554 +-#: ../semanage/seobject.py:1633 ../semanage/seobject.py:1684 ++#: ../semanage/seobject.py:395 ../semanage/seobject.py:455 ++#: ../semanage/seobject.py:501 ../semanage/seobject.py:583 ++#: ../semanage/seobject.py:650 ../semanage/seobject.py:708 ++#: ../semanage/seobject.py:918 ../semanage/seobject.py:1491 ++#: ../semanage/seobject.py:1555 ../semanage/seobject.py:1567 ++#: ../semanage/seobject.py:1648 ../semanage/seobject.py:1699 + #, python-format + msgid "Could not create a key for %s" + msgstr "" + +-#: ../semanage/seobject.py:396 ../semanage/seobject.py:456 +-#: ../semanage/seobject.py:502 ../semanage/seobject.py:508 ++#: ../semanage/seobject.py:399 ../semanage/seobject.py:459 ++#: ../semanage/seobject.py:505 ../semanage/seobject.py:511 + #, python-format + msgid "Could not check if login mapping for %s is defined" + msgstr "" + +-#: ../semanage/seobject.py:398 ++#: ../semanage/seobject.py:401 + #, python-format + msgid "Login mapping for %s is already defined" + msgstr "" + +-#: ../semanage/seobject.py:403 ++#: ../semanage/seobject.py:406 + #, python-format + msgid "Linux Group %s does not exist" + msgstr "" + +-#: ../semanage/seobject.py:408 ++#: ../semanage/seobject.py:411 + #, python-format + msgid "Linux User %s does not exist" + msgstr "" + +-#: ../semanage/seobject.py:412 ++#: ../semanage/seobject.py:415 + #, python-format + msgid "Could not create login mapping for %s" + msgstr "" + +-#: ../semanage/seobject.py:416 ../semanage/seobject.py:594 ++#: ../semanage/seobject.py:419 ../semanage/seobject.py:597 + #, python-format + msgid "Could not set name for %s" + msgstr "" + +-#: ../semanage/seobject.py:421 ../semanage/seobject.py:604 ++#: ../semanage/seobject.py:424 ../semanage/seobject.py:607 + #, python-format + msgid "Could not set MLS range for %s" + msgstr "" + +-#: ../semanage/seobject.py:425 ++#: ../semanage/seobject.py:428 + #, python-format + msgid "Could not set SELinux user for %s" + msgstr "" + +-#: ../semanage/seobject.py:429 ++#: ../semanage/seobject.py:432 + #, python-format + msgid "Could not add login mapping for %s" + msgstr "" + +-#: ../semanage/seobject.py:441 ../semanage/seobject.py:444 ++#: ../semanage/seobject.py:444 ../semanage/seobject.py:447 + msgid "add SELinux user mapping" + msgstr "" + +-#: ../semanage/seobject.py:448 ++#: ../semanage/seobject.py:451 + msgid "Requires seuser or serange" + msgstr "" + +-#: ../semanage/seobject.py:458 ../semanage/seobject.py:504 ++#: ../semanage/seobject.py:461 ../semanage/seobject.py:507 + #, python-format + msgid "Login mapping for %s is not defined" + msgstr "" + +-#: ../semanage/seobject.py:462 ++#: ../semanage/seobject.py:465 + #, python-format + msgid "Could not query seuser for %s" + msgstr "" + +-#: ../semanage/seobject.py:478 ++#: ../semanage/seobject.py:481 + #, python-format + msgid "Could not modify login mapping for %s" + msgstr "" + +-#: ../semanage/seobject.py:510 ++#: ../semanage/seobject.py:513 + #, python-format + msgid "Login mapping for %s is defined in policy, cannot be deleted" + msgstr "" + +-#: ../semanage/seobject.py:514 ++#: ../semanage/seobject.py:517 + #, python-format + msgid "Could not delete login mapping for %s" + msgstr "" + +-#: ../semanage/seobject.py:537 ++#: ../semanage/seobject.py:540 + msgid "Could not list login mappings" + msgstr "" + +-#: ../semanage/seobject.py:550 ../semanage/seobject.py:555 ++#: ../semanage/seobject.py:553 ../semanage/seobject.py:558 + #: ../gui/system-config-selinux.glade:100 + msgid "Login Name" + msgstr "" + +-#: ../semanage/seobject.py:550 ../semanage/seobject.py:555 +-#: ../semanage/seobject.py:764 ../semanage/seobject.py:769 ++#: ../semanage/seobject.py:553 ../semanage/seobject.py:558 ++#: ../semanage/seobject.py:767 ../semanage/seobject.py:772 + #: ../gui/system-config-selinux.glade:128 + #: ../gui/system-config-selinux.glade:1107 + msgid "SELinux User" + msgstr "" + +-#: ../semanage/seobject.py:550 ../gui/system-config-selinux.glade:156 ++#: ../semanage/seobject.py:553 ../gui/system-config-selinux.glade:156 + #: ../gui/system-config-selinux.glade:1135 + msgid "MLS/MCS Range" + msgstr "" + +-#: ../semanage/seobject.py:576 ++#: ../semanage/seobject.py:579 + #, python-format + msgid "You must add at least one role for %s" + msgstr "" + +-#: ../semanage/seobject.py:584 ../semanage/seobject.py:651 +-#: ../semanage/seobject.py:709 ../semanage/seobject.py:715 ++#: ../semanage/seobject.py:587 ../semanage/seobject.py:654 ++#: ../semanage/seobject.py:712 ../semanage/seobject.py:718 + #, python-format + msgid "Could not check if SELinux user %s is defined" + msgstr "" + +-#: ../semanage/seobject.py:586 ++#: ../semanage/seobject.py:589 + #, python-format + msgid "SELinux user %s is already defined" + msgstr "" + +-#: ../semanage/seobject.py:590 ++#: ../semanage/seobject.py:593 + #, python-format + msgid "Could not create SELinux user for %s" + msgstr "" + +-#: ../semanage/seobject.py:599 ++#: ../semanage/seobject.py:602 + #, python-format + msgid "Could not add role %s for %s" + msgstr "" + +-#: ../semanage/seobject.py:608 ++#: ../semanage/seobject.py:611 + #, python-format + msgid "Could not set MLS level for %s" + msgstr "" + +-#: ../semanage/seobject.py:611 ++#: ../semanage/seobject.py:614 + #, python-format + msgid "Could not add prefix %s for %s" + msgstr "" + +-#: ../semanage/seobject.py:614 ++#: ../semanage/seobject.py:617 + #, python-format + msgid "Could not extract key for %s" + msgstr "" + +-#: ../semanage/seobject.py:618 ++#: ../semanage/seobject.py:621 + #, python-format + msgid "Could not add SELinux user %s" + msgstr "" + +-#: ../semanage/seobject.py:641 ++#: ../semanage/seobject.py:644 + msgid "Requires prefix, roles, level or range" + msgstr "" + +-#: ../semanage/seobject.py:643 ++#: ../semanage/seobject.py:646 + msgid "Requires prefix or roles" + msgstr "" + +-#: ../semanage/seobject.py:653 ../semanage/seobject.py:711 ++#: ../semanage/seobject.py:656 ../semanage/seobject.py:714 + #, python-format + msgid "SELinux user %s is not defined" + msgstr "" + +-#: ../semanage/seobject.py:657 ++#: ../semanage/seobject.py:660 + #, python-format + msgid "Could not query user for %s" + msgstr "" + +-#: ../semanage/seobject.py:684 ++#: ../semanage/seobject.py:687 + #, python-format + msgid "Could not modify SELinux user %s" + msgstr "" + +-#: ../semanage/seobject.py:717 ++#: ../semanage/seobject.py:720 + #, python-format + msgid "SELinux user %s is defined in policy, cannot be deleted" + msgstr "" + +-#: ../semanage/seobject.py:721 ++#: ../semanage/seobject.py:724 + #, python-format + msgid "Could not delete SELinux user %s" + msgstr "" + +-#: ../semanage/seobject.py:744 ++#: ../semanage/seobject.py:747 + msgid "Could not list SELinux users" + msgstr "" + +-#: ../semanage/seobject.py:750 ++#: ../semanage/seobject.py:753 + #, python-format + msgid "Could not list roles for user %s" + msgstr "" + +-#: ../semanage/seobject.py:763 ++#: ../semanage/seobject.py:766 + msgid "Labeling" + msgstr "" + +-#: ../semanage/seobject.py:763 ++#: ../semanage/seobject.py:766 + msgid "MLS/" + msgstr "" + +-#: ../semanage/seobject.py:764 ++#: ../semanage/seobject.py:767 + msgid "Prefix" + msgstr "" + +-#: ../semanage/seobject.py:764 ++#: ../semanage/seobject.py:767 + msgid "MCS Level" + msgstr "" + +-#: ../semanage/seobject.py:764 ++#: ../semanage/seobject.py:767 + msgid "MCS Range" + msgstr "" + +-#: ../semanage/seobject.py:764 ../semanage/seobject.py:769 ++#: ../semanage/seobject.py:767 ../semanage/seobject.py:772 + #: ../gui/system-config-selinux.glade:1184 ../gui/usersPage.py:59 + msgid "SELinux Roles" + msgstr "" + +-#: ../semanage/seobject.py:784 ++#: ../semanage/seobject.py:787 + msgid "Protocol udp or tcp is required" + msgstr "" + +-#: ../semanage/seobject.py:786 ++#: ../semanage/seobject.py:789 + msgid "Port is required" + msgstr "" + +-#: ../semanage/seobject.py:797 ++#: ../semanage/seobject.py:800 + #, python-format + msgid "Could not create a key for %s/%s" + msgstr "" + +-#: ../semanage/seobject.py:808 ++#: ../semanage/seobject.py:811 + msgid "Type is required" + msgstr "" + +-#: ../semanage/seobject.py:814 ../semanage/seobject.py:873 +-#: ../semanage/seobject.py:928 ../semanage/seobject.py:934 ++#: ../semanage/seobject.py:817 ../semanage/seobject.py:876 ++#: ../semanage/seobject.py:931 ../semanage/seobject.py:937 + #, python-format + msgid "Could not check if port %s/%s is defined" + msgstr "" + +-#: ../semanage/seobject.py:816 ++#: ../semanage/seobject.py:819 + #, python-format + msgid "Port %s/%s already defined" + msgstr "" + +-#: ../semanage/seobject.py:820 ++#: ../semanage/seobject.py:823 + #, python-format + msgid "Could not create port for %s/%s" + msgstr "" + +-#: ../semanage/seobject.py:826 ++#: ../semanage/seobject.py:829 + #, python-format + msgid "Could not create context for %s/%s" + msgstr "" + +-#: ../semanage/seobject.py:830 ++#: ../semanage/seobject.py:833 + #, python-format + msgid "Could not set user in port context for %s/%s" + msgstr "" + +-#: ../semanage/seobject.py:834 ++#: ../semanage/seobject.py:837 + #, python-format + msgid "Could not set role in port context for %s/%s" + msgstr "" + +-#: ../semanage/seobject.py:838 ++#: ../semanage/seobject.py:841 + #, python-format + msgid "Could not set type in port context for %s/%s" + msgstr "" + +-#: ../semanage/seobject.py:843 ++#: ../semanage/seobject.py:846 + #, python-format + msgid "Could not set mls fields in port context for %s/%s" + msgstr "" + +-#: ../semanage/seobject.py:847 ++#: ../semanage/seobject.py:850 + #, python-format + msgid "Could not set port context for %s/%s" + msgstr "" + +-#: ../semanage/seobject.py:851 ++#: ../semanage/seobject.py:854 + #, python-format + msgid "Could not add port %s/%s" + msgstr "" + +-#: ../semanage/seobject.py:865 ../semanage/seobject.py:1111 +-#: ../semanage/seobject.py:1299 ++#: ../semanage/seobject.py:868 ../semanage/seobject.py:1114 ++#: ../semanage/seobject.py:1302 + msgid "Requires setype or serange" + msgstr "" + +-#: ../semanage/seobject.py:867 ++#: ../semanage/seobject.py:870 + msgid "Requires setype" + msgstr "" + +-#: ../semanage/seobject.py:875 ../semanage/seobject.py:930 ++#: ../semanage/seobject.py:878 ../semanage/seobject.py:933 + #, python-format + msgid "Port %s/%s is not defined" + msgstr "" + +-#: ../semanage/seobject.py:879 ++#: ../semanage/seobject.py:882 + #, python-format + msgid "Could not query port %s/%s" + msgstr "" + +-#: ../semanage/seobject.py:890 ++#: ../semanage/seobject.py:893 + #, python-format + msgid "Could not modify port %s/%s" + msgstr "" + +-#: ../semanage/seobject.py:903 ++#: ../semanage/seobject.py:906 + msgid "Could not list the ports" + msgstr "" + +-#: ../semanage/seobject.py:919 ++#: ../semanage/seobject.py:922 + #, python-format + msgid "Could not delete the port %s" + msgstr "" + +-#: ../semanage/seobject.py:936 ++#: ../semanage/seobject.py:939 + #, python-format + msgid "Port %s/%s is defined in policy, cannot be deleted" + msgstr "" + +-#: ../semanage/seobject.py:940 ++#: ../semanage/seobject.py:943 + #, python-format + msgid "Could not delete port %s/%s" + msgstr "" + +-#: ../semanage/seobject.py:956 ../semanage/seobject.py:978 ++#: ../semanage/seobject.py:959 ../semanage/seobject.py:981 + msgid "Could not list ports" + msgstr "" + +-#: ../semanage/seobject.py:999 ++#: ../semanage/seobject.py:1002 + msgid "SELinux Port Type" + msgstr "" + +-#: ../semanage/seobject.py:999 ++#: ../semanage/seobject.py:1002 + msgid "Proto" + msgstr "" + +-#: ../semanage/seobject.py:999 ../gui/system-config-selinux.glade:335 ++#: ../semanage/seobject.py:1002 ../gui/system-config-selinux.glade:335 + msgid "Port Number" + msgstr "" + +-#: ../semanage/seobject.py:1016 ../semanage/seobject.py:1098 +-#: ../semanage/seobject.py:1148 ++#: ../semanage/seobject.py:1019 ../semanage/seobject.py:1101 ++#: ../semanage/seobject.py:1151 + msgid "Node Address is required" + msgstr "" + +-#: ../semanage/seobject.py:1019 ../semanage/seobject.py:1101 +-#: ../semanage/seobject.py:1151 ++#: ../semanage/seobject.py:1022 ../semanage/seobject.py:1104 ++#: ../semanage/seobject.py:1154 + msgid "Node Netmask is required" + msgstr "" + +-#: ../semanage/seobject.py:1026 ../semanage/seobject.py:1107 +-#: ../semanage/seobject.py:1158 ++#: ../semanage/seobject.py:1029 ../semanage/seobject.py:1110 ++#: ../semanage/seobject.py:1161 + msgid "Unknown or missing protocol" + msgstr "" + +-#: ../semanage/seobject.py:1036 ../semanage/seobject.py:1238 +-#: ../semanage/seobject.py:1427 ++#: ../semanage/seobject.py:1039 ../semanage/seobject.py:1241 ++#: ../semanage/seobject.py:1430 + msgid "SELinux Type is required" + msgstr "" + +-#: ../semanage/seobject.py:1040 ../semanage/seobject.py:1115 +-#: ../semanage/seobject.py:1162 ../semanage/seobject.py:1242 +-#: ../semanage/seobject.py:1303 ../semanage/seobject.py:1337 +-#: ../semanage/seobject.py:1431 ++#: ../semanage/seobject.py:1043 ../semanage/seobject.py:1118 ++#: ../semanage/seobject.py:1165 ../semanage/seobject.py:1245 ++#: ../semanage/seobject.py:1306 ../semanage/seobject.py:1340 ++#: ../semanage/seobject.py:1434 + #, python-format + msgid "Could not create key for %s" + msgstr "" + +-#: ../semanage/seobject.py:1042 ../semanage/seobject.py:1119 +-#: ../semanage/seobject.py:1166 ../semanage/seobject.py:1172 ++#: ../semanage/seobject.py:1045 ../semanage/seobject.py:1122 ++#: ../semanage/seobject.py:1169 ../semanage/seobject.py:1175 + #, python-format + msgid "Could not check if addr %s is defined" + msgstr "" + +-#: ../semanage/seobject.py:1046 ++#: ../semanage/seobject.py:1049 + #, python-format + msgid "Addr %s already defined" + msgstr "" + +-#: ../semanage/seobject.py:1050 ++#: ../semanage/seobject.py:1053 + #, python-format + msgid "Could not create addr for %s" + msgstr "" + +-#: ../semanage/seobject.py:1055 ../semanage/seobject.py:1257 +-#: ../semanage/seobject.py:1397 ++#: ../semanage/seobject.py:1058 ../semanage/seobject.py:1260 ++#: ../semanage/seobject.py:1400 + #, python-format + msgid "Could not create context for %s" + msgstr "" + +-#: ../semanage/seobject.py:1059 ++#: ../semanage/seobject.py:1062 + #, python-format + msgid "Could not set mask for %s" + msgstr "" + +-#: ../semanage/seobject.py:1064 ++#: ../semanage/seobject.py:1067 + #, python-format + msgid "Could not set user in addr context for %s" + msgstr "" + +-#: ../semanage/seobject.py:1068 ++#: ../semanage/seobject.py:1071 + #, python-format + msgid "Could not set role in addr context for %s" + msgstr "" + +-#: ../semanage/seobject.py:1072 ++#: ../semanage/seobject.py:1075 + #, python-format + msgid "Could not set type in addr context for %s" + msgstr "" + +-#: ../semanage/seobject.py:1077 ++#: ../semanage/seobject.py:1080 + #, python-format + msgid "Could not set mls fields in addr context for %s" + msgstr "" + +-#: ../semanage/seobject.py:1081 ++#: ../semanage/seobject.py:1084 + #, python-format + msgid "Could not set addr context for %s" + msgstr "" + +-#: ../semanage/seobject.py:1085 ++#: ../semanage/seobject.py:1088 + #, python-format + msgid "Could not add addr %s" + msgstr "" + +-#: ../semanage/seobject.py:1121 ../semanage/seobject.py:1168 ++#: ../semanage/seobject.py:1124 ../semanage/seobject.py:1171 + #, python-format + msgid "Addr %s is not defined" + msgstr "" + +-#: ../semanage/seobject.py:1125 ++#: ../semanage/seobject.py:1128 + #, python-format + msgid "Could not query addr %s" + msgstr "" + +-#: ../semanage/seobject.py:1136 ++#: ../semanage/seobject.py:1139 + #, python-format + msgid "Could not modify addr %s" + msgstr "" + +-#: ../semanage/seobject.py:1174 ++#: ../semanage/seobject.py:1177 + #, python-format + msgid "Addr %s is defined in policy, cannot be deleted" + msgstr "" + +-#: ../semanage/seobject.py:1178 ++#: ../semanage/seobject.py:1181 + #, python-format + msgid "Could not delete addr %s" + msgstr "" + +-#: ../semanage/seobject.py:1194 ++#: ../semanage/seobject.py:1197 + msgid "Could not list addrs" + msgstr "" + +-#: ../semanage/seobject.py:1246 ../semanage/seobject.py:1307 +-#: ../semanage/seobject.py:1341 ../semanage/seobject.py:1347 ++#: ../semanage/seobject.py:1249 ../semanage/seobject.py:1310 ++#: ../semanage/seobject.py:1344 ../semanage/seobject.py:1350 + #, python-format + msgid "Could not check if interface %s is defined" + msgstr "" + +-#: ../semanage/seobject.py:1248 ++#: ../semanage/seobject.py:1251 + #, python-format + msgid "Interface %s already defined" + msgstr "" + +-#: ../semanage/seobject.py:1252 ++#: ../semanage/seobject.py:1255 + #, python-format + msgid "Could not create interface for %s" + msgstr "" + +-#: ../semanage/seobject.py:1261 ++#: ../semanage/seobject.py:1264 + #, python-format + msgid "Could not set user in interface context for %s" + msgstr "" + +-#: ../semanage/seobject.py:1265 ++#: ../semanage/seobject.py:1268 + #, python-format + msgid "Could not set role in interface context for %s" + msgstr "" + +-#: ../semanage/seobject.py:1269 ++#: ../semanage/seobject.py:1272 + #, python-format + msgid "Could not set type in interface context for %s" + msgstr "" + +-#: ../semanage/seobject.py:1274 ++#: ../semanage/seobject.py:1277 + #, python-format + msgid "Could not set mls fields in interface context for %s" + msgstr "" + +-#: ../semanage/seobject.py:1278 ++#: ../semanage/seobject.py:1281 + #, python-format + msgid "Could not set interface context for %s" + msgstr "" + +-#: ../semanage/seobject.py:1282 ++#: ../semanage/seobject.py:1285 + #, python-format + msgid "Could not set message context for %s" + msgstr "" + +-#: ../semanage/seobject.py:1286 ++#: ../semanage/seobject.py:1289 + #, python-format + msgid "Could not add interface %s" + msgstr "" + +-#: ../semanage/seobject.py:1309 ../semanage/seobject.py:1343 ++#: ../semanage/seobject.py:1312 ../semanage/seobject.py:1346 + #, python-format + msgid "Interface %s is not defined" + msgstr "" + +-#: ../semanage/seobject.py:1313 ++#: ../semanage/seobject.py:1316 + #, python-format + msgid "Could not query interface %s" + msgstr "" + +-#: ../semanage/seobject.py:1324 ++#: ../semanage/seobject.py:1327 + #, python-format + msgid "Could not modify interface %s" + msgstr "" + +-#: ../semanage/seobject.py:1349 ++#: ../semanage/seobject.py:1352 + #, python-format + msgid "Interface %s is defined in policy, cannot be deleted" + msgstr "" + +-#: ../semanage/seobject.py:1353 ++#: ../semanage/seobject.py:1356 + #, python-format + msgid "Could not delete interface %s" + msgstr "" + +-#: ../semanage/seobject.py:1369 ++#: ../semanage/seobject.py:1372 + msgid "Could not list interfaces" + msgstr "" + +-#: ../semanage/seobject.py:1379 ++#: ../semanage/seobject.py:1382 + msgid "SELinux Interface" + msgstr "" + +-#: ../semanage/seobject.py:1379 ../semanage/seobject.py:1608 ++#: ../semanage/seobject.py:1382 ../semanage/seobject.py:1621 + msgid "Context" + msgstr "" + +-#: ../semanage/seobject.py:1403 ++#: ../semanage/seobject.py:1406 + #, python-format + msgid "Could not set user in file context for %s" + msgstr "" + +-#: ../semanage/seobject.py:1407 ++#: ../semanage/seobject.py:1410 + #, python-format + msgid "Could not set role in file context for %s" + msgstr "" + +-#: ../semanage/seobject.py:1412 ../semanage/seobject.py:1454 ++#: ../semanage/seobject.py:1415 ../semanage/seobject.py:1463 + #, python-format + msgid "Could not set mls fields in file context for %s" + msgstr "" + +-#: ../semanage/seobject.py:1418 ++#: ../semanage/seobject.py:1421 + msgid "Invalid file specification" + msgstr "" + +-#: ../semanage/seobject.py:1435 ../semanage/seobject.py:1486 +-#: ../semanage/seobject.py:1558 ../semanage/seobject.py:1562 ++#: ../semanage/seobject.py:1438 ../semanage/seobject.py:1443 ++#: ../semanage/seobject.py:1495 ../semanage/seobject.py:1571 ++#: ../semanage/seobject.py:1575 + #, python-format + msgid "Could not check if file context for %s is defined" + msgstr "" + +-#: ../semanage/seobject.py:1437 ++#: ../semanage/seobject.py:1446 + #, python-format + msgid "File context for %s already defined" + msgstr "" + +-#: ../semanage/seobject.py:1441 ++#: ../semanage/seobject.py:1450 + #, python-format + msgid "Could not create file context for %s" + msgstr "" + +-#: ../semanage/seobject.py:1449 ++#: ../semanage/seobject.py:1458 + #, python-format + msgid "Could not set type in file context for %s" + msgstr "" + +-#: ../semanage/seobject.py:1457 ../semanage/seobject.py:1510 +-#: ../semanage/seobject.py:1514 ++#: ../semanage/seobject.py:1466 ../semanage/seobject.py:1523 ++#: ../semanage/seobject.py:1527 + #, python-format + msgid "Could not set file context for %s" + msgstr "" + +-#: ../semanage/seobject.py:1463 ++#: ../semanage/seobject.py:1472 + #, python-format + msgid "Could not add file context for %s" + msgstr "" + +-#: ../semanage/seobject.py:1477 ++#: ../semanage/seobject.py:1486 + msgid "Requires setype, serange or seuser" + msgstr "" + +-#: ../semanage/seobject.py:1488 ../semanage/seobject.py:1566 ++#: ../semanage/seobject.py:1499 ../semanage/seobject.py:1579 + #, python-format + msgid "File context for %s is not defined" + msgstr "" + +-#: ../semanage/seobject.py:1492 ++#: ../semanage/seobject.py:1505 + #, python-format + msgid "Could not query file context for %s" + msgstr "" + +-#: ../semanage/seobject.py:1518 ++#: ../semanage/seobject.py:1531 + #, python-format + msgid "Could not modify file context for %s" + msgstr "" + +-#: ../semanage/seobject.py:1532 ++#: ../semanage/seobject.py:1545 + msgid "Could not list the file contexts" + msgstr "" + +-#: ../semanage/seobject.py:1546 ++#: ../semanage/seobject.py:1559 + #, python-format + msgid "Could not delete the file context %s" + msgstr "" + +-#: ../semanage/seobject.py:1564 ++#: ../semanage/seobject.py:1577 + #, python-format + msgid "File context for %s is defined in policy, cannot be deleted" + msgstr "" + +-#: ../semanage/seobject.py:1570 ++#: ../semanage/seobject.py:1583 + #, python-format + msgid "Could not delete file context for %s" + msgstr "" + +-#: ../semanage/seobject.py:1586 ++#: ../semanage/seobject.py:1598 + msgid "Could not list file contexts" + msgstr "" + +-#: ../semanage/seobject.py:1590 ++#: ../semanage/seobject.py:1602 + msgid "Could not list local file contexts" + msgstr "" + +-#: ../semanage/seobject.py:1608 ++#: ../semanage/seobject.py:1621 + msgid "SELinux fcontext" + msgstr "" + +-#: ../semanage/seobject.py:1608 ++#: ../semanage/seobject.py:1621 + msgid "type" + msgstr "" + +-#: ../semanage/seobject.py:1636 ../semanage/seobject.py:1687 +-#: ../semanage/seobject.py:1693 ++#: ../semanage/seobject.py:1651 ../semanage/seobject.py:1702 ++#: ../semanage/seobject.py:1708 + #, python-format + msgid "Could not check if boolean %s is defined" + msgstr "" + +-#: ../semanage/seobject.py:1638 ../semanage/seobject.py:1689 ++#: ../semanage/seobject.py:1653 ../semanage/seobject.py:1704 + #, python-format + msgid "Boolean %s is not defined" + msgstr "" + +-#: ../semanage/seobject.py:1642 ++#: ../semanage/seobject.py:1657 + #, python-format + msgid "Could not query file context %s" + msgstr "" + +-#: ../semanage/seobject.py:1647 ++#: ../semanage/seobject.py:1662 + #, python-format + msgid "You must specify one of the following values: %s" + msgstr "" + +-#: ../semanage/seobject.py:1651 ++#: ../semanage/seobject.py:1666 + #, python-format + msgid "Could not set active value of boolean %s" + msgstr "" + +-#: ../semanage/seobject.py:1654 ++#: ../semanage/seobject.py:1669 + #, python-format + msgid "Could not modify boolean %s" + msgstr "" + +-#: ../semanage/seobject.py:1672 ++#: ../semanage/seobject.py:1687 + #, python-format + msgid "Bad format %s: Record %s" + msgstr "" + +-#: ../semanage/seobject.py:1695 ++#: ../semanage/seobject.py:1710 + #, python-format + msgid "Boolean %s is defined in policy, cannot be deleted" + msgstr "" + +-#: ../semanage/seobject.py:1699 ++#: ../semanage/seobject.py:1714 + #, python-format + msgid "Could not delete boolean %s" + msgstr "" + +-#: ../semanage/seobject.py:1711 ../semanage/seobject.py:1728 ++#: ../semanage/seobject.py:1726 ../semanage/seobject.py:1743 + msgid "Could not list booleans" + msgstr "" + +-#: ../semanage/seobject.py:1747 ++#: ../semanage/seobject.py:1762 + msgid "unknown" + msgstr "" + +-#: ../semanage/seobject.py:1750 ++#: ../semanage/seobject.py:1765 + msgid "off" + msgstr "" + +-#: ../semanage/seobject.py:1750 ++#: ../semanage/seobject.py:1765 + msgid "on" + msgstr "" + +-#: ../semanage/seobject.py:1759 ++#: ../semanage/seobject.py:1774 + msgid "SELinux boolean" + msgstr "" + +-#: ../semanage/seobject.py:1759 ../gui/polgen.glade:3207 ++#: ../semanage/seobject.py:1774 ../gui/polgen.glade:3228 + #: ../gui/polgengui.py:169 + msgid "Description" + msgstr "" +@@ -938,7 +939,7 @@ + + #: ../newrole/newrole.c:556 ../newrole/newrole.c:634 + #, c-format +-msgid "Error initing capabilities, aborting.\n" ++msgid "Error initializing capabilities, aborting.\n" + msgstr "" + + #: ../newrole/newrole.c:564 ../newrole/newrole.c:640 +@@ -1208,76 +1209,76 @@ + msgid "Can not combine +/- with other types of categories" + msgstr "" + +-#: ../scripts/chcat:317 ++#: ../scripts/chcat:319 + msgid "Can not have multiple sensitivities" + msgstr "" + +-#: ../scripts/chcat:323 ++#: ../scripts/chcat:325 + #, c-format + msgid "Usage %s CATEGORY File ..." + msgstr "" + +-#: ../scripts/chcat:324 ++#: ../scripts/chcat:326 + #, c-format + msgid "Usage %s -l CATEGORY user ..." + msgstr "" + +-#: ../scripts/chcat:325 ++#: ../scripts/chcat:327 + #, c-format + msgid "Usage %s [[+|-]CATEGORY],...]q File ..." + msgstr "" + +-#: ../scripts/chcat:326 ++#: ../scripts/chcat:328 + #, c-format + msgid "Usage %s -l [[+|-]CATEGORY],...]q user ..." + msgstr "" + +-#: ../scripts/chcat:327 ++#: ../scripts/chcat:329 + #, c-format + msgid "Usage %s -d File ..." + msgstr "" + +-#: ../scripts/chcat:328 ++#: ../scripts/chcat:330 + #, c-format + msgid "Usage %s -l -d user ..." + msgstr "" + +-#: ../scripts/chcat:329 ++#: ../scripts/chcat:331 + #, c-format + msgid "Usage %s -L" + msgstr "" + +-#: ../scripts/chcat:330 ++#: ../scripts/chcat:332 + #, c-format + msgid "Usage %s -L -l user" + msgstr "" + +-#: ../scripts/chcat:331 ++#: ../scripts/chcat:333 + msgid "Use -- to end option list. For example" + msgstr "" + +-#: ../scripts/chcat:332 ++#: ../scripts/chcat:334 + msgid "chcat -- -CompanyConfidential /docs/businessplan.odt" + msgstr "" + +-#: ../scripts/chcat:333 ++#: ../scripts/chcat:335 + msgid "chcat -l +CompanyConfidential juser" + msgstr "" + +-#: ../scripts/chcat:397 ++#: ../scripts/chcat:399 + #, c-format + msgid "Options Error %s " + msgstr "" + +-#: ../gui/booleansPage.py:184 ++#: ../gui/booleansPage.py:186 + msgid "Boolean" + msgstr "" + +-#: ../gui/booleansPage.py:231 ../gui/semanagePage.py:163 ++#: ../gui/booleansPage.py:241 ../gui/semanagePage.py:162 + msgid "all" + msgstr "" + +-#: ../gui/booleansPage.py:233 ../gui/semanagePage.py:165 ++#: ../gui/booleansPage.py:243 ../gui/semanagePage.py:164 + #: ../gui/system-config-selinux.glade:1808 + #: ../gui/system-config-selinux.glade:2030 + #: ../gui/system-config-selinux.glade:2830 +@@ -1397,7 +1398,7 @@ + msgid "Applications" + msgstr "" + +-#: ../gui/polgen.glade:258 ++#: ../gui/polgen.glade:258 ../gui/polgen.glade:278 + msgid "" + "Standard Init Daemon are daemons started on boot via init scripts. Usually " + "requires a script in /etc/rc.d/init.d" +@@ -1407,300 +1408,304 @@ + msgid "Standard Init Daemon" + msgstr "" + +-#: ../gui/polgen.glade:278 ++#: ../gui/polgen.glade:280 ++msgid "DBUS System Daemon" ++msgstr "" ++ ++#: ../gui/polgen.glade:299 + msgid "Internet Services Daemon are daemons started by xinetd" + msgstr "" + +-#: ../gui/polgen.glade:280 ++#: ../gui/polgen.glade:301 + msgid "Internet Services Daemon (inetd)" + msgstr "" + +-#: ../gui/polgen.glade:299 ++#: ../gui/polgen.glade:320 + msgid "" + "Web Applications/Script (CGI) CGI scripts started by the web server (apache)" + msgstr "" + +-#: ../gui/polgen.glade:301 ++#: ../gui/polgen.glade:322 + msgid "Web Application/Script (CGI)" + msgstr "" + +-#: ../gui/polgen.glade:320 ++#: ../gui/polgen.glade:341 + msgid "" + "User Application are any application that you would like to confine that is " + "started by a user" + msgstr "" + +-#: ../gui/polgen.glade:322 ++#: ../gui/polgen.glade:343 + msgid "User Application" + msgstr "" + +-#: ../gui/polgen.glade:368 ++#: ../gui/polgen.glade:389 + msgid "Login Users" + msgstr "" + +-#: ../gui/polgen.glade:430 ++#: ../gui/polgen.glade:451 + msgid "Modify an existing login user record." + msgstr "" + +-#: ../gui/polgen.glade:432 ++#: ../gui/polgen.glade:453 + msgid "Existing User Roles" + msgstr "" + +-#: ../gui/polgen.glade:451 ++#: ../gui/polgen.glade:472 + msgid "" + "This user will login to a machine only via a terminal or remote login. By " + "default this user will have no setuid, no networking, no su, no sudo." + msgstr "" + +-#: ../gui/polgen.glade:453 ++#: ../gui/polgen.glade:474 + msgid "Minimal Terminal User Role" + msgstr "" + +-#: ../gui/polgen.glade:472 ++#: ../gui/polgen.glade:493 + msgid "" + "This user can login to a machine via X or terminal. By default this user " + "will have no setuid, no networking, no sudo, no su" + msgstr "" + +-#: ../gui/polgen.glade:474 ++#: ../gui/polgen.glade:495 + msgid "Minimal X Windows User Role" + msgstr "" + +-#: ../gui/polgen.glade:493 ++#: ../gui/polgen.glade:514 + msgid "" + "User with full networking, no setuid applications without transition, no " + "sudo, no su." + msgstr "" + +-#: ../gui/polgen.glade:495 ++#: ../gui/polgen.glade:516 + msgid "User Role" + msgstr "" + +-#: ../gui/polgen.glade:514 ++#: ../gui/polgen.glade:535 + msgid "" + "User with full networking, no setuid applications without transition, no su, " + "can sudo to Root Administration Roles" + msgstr "" + +-#: ../gui/polgen.glade:516 ++#: ../gui/polgen.glade:537 + msgid "Admin User Role" + msgstr "" + +-#: ../gui/polgen.glade:562 ++#: ../gui/polgen.glade:583 + msgid "Root Users" + msgstr "" + +-#: ../gui/polgen.glade:624 ++#: ../gui/polgen.glade:645 + msgid "" + "Select Root Administrator User Role, if this user will be used to administer " + "the machine while running as root. This user will not be able to login to " + "the system directly." + msgstr "" + +-#: ../gui/polgen.glade:626 ++#: ../gui/polgen.glade:647 + msgid "Root Admin User Role" + msgstr "" + +-#: ../gui/polgen.glade:711 ++#: ../gui/polgen.glade:732 + msgid "Enter name of application or user role to be confined" + msgstr "" + +-#: ../gui/polgen.glade:732 ../gui/polgengui.py:167 ++#: ../gui/polgen.glade:753 ../gui/polgengui.py:167 + msgid "Name" + msgstr "" + +-#: ../gui/polgen.glade:760 ++#: ../gui/polgen.glade:781 + msgid "Enter complete path for executable to be confined." + msgstr "" + +-#: ../gui/polgen.glade:783 ../gui/polgen.glade:903 ../gui/polgen.glade:2906 ++#: ../gui/polgen.glade:804 ../gui/polgen.glade:924 ../gui/polgen.glade:2927 + msgid "..." + msgstr "" + +-#: ../gui/polgen.glade:802 ++#: ../gui/polgen.glade:823 + msgid "Enter unique name for the confined application or user role." + msgstr "" + +-#: ../gui/polgen.glade:824 ++#: ../gui/polgen.glade:845 + msgid "Executable" + msgstr "" + +-#: ../gui/polgen.glade:852 ++#: ../gui/polgen.glade:873 + msgid "Init script" + msgstr "" + +-#: ../gui/polgen.glade:880 ++#: ../gui/polgen.glade:901 + msgid "" + "Enter complete path to init script used to start the confined application." + msgstr "" + +-#: ../gui/polgen.glade:960 ++#: ../gui/polgen.glade:981 + msgid "Select user roles that you want to customize" + msgstr "" + +-#: ../gui/polgen.glade:981 ../gui/polgen.glade:1129 ++#: ../gui/polgen.glade:1002 ../gui/polgen.glade:1150 + msgid "Select the user roles that will transiton to this applications domains." + msgstr "" + +-#: ../gui/polgen.glade:1034 ++#: ../gui/polgen.glade:1055 + msgid "Select additional domains to which this user role will transition" + msgstr "" + +-#: ../gui/polgen.glade:1055 ++#: ../gui/polgen.glade:1076 + msgid "" + "Select the applications domains that you would like this user role to " + "transition to." + msgstr "" + +-#: ../gui/polgen.glade:1108 ++#: ../gui/polgen.glade:1129 + msgid "Select user roles that will transition to this domain" + msgstr "" + +-#: ../gui/polgen.glade:1182 ++#: ../gui/polgen.glade:1203 + msgid "Select additional domains that this user role will administer" + msgstr "" + +-#: ../gui/polgen.glade:1203 ../gui/polgen.glade:1277 ++#: ../gui/polgen.glade:1224 ../gui/polgen.glade:1298 + msgid "Select the domains that you would like this user administer." + msgstr "" + +-#: ../gui/polgen.glade:1256 ++#: ../gui/polgen.glade:1277 + msgid "Select additional roles for this user" + msgstr "" + +-#: ../gui/polgen.glade:1330 ++#: ../gui/polgen.glade:1351 + msgid "Enter network ports that application/user role listens to" + msgstr "" + +-#: ../gui/polgen.glade:1348 ../gui/polgen.glade:1831 ++#: ../gui/polgen.glade:1369 ../gui/polgen.glade:1852 + msgid "TCP Ports" + msgstr "" + +-#: ../gui/polgen.glade:1416 ../gui/polgen.glade:1636 ++#: ../gui/polgen.glade:1437 ../gui/polgen.glade:1657 + msgid "Allows confined application/user role to bind to any udp port" + msgstr "" + +-#: ../gui/polgen.glade:1418 ../gui/polgen.glade:1638 ../gui/polgen.glade:1894 +-#: ../gui/polgen.glade:2047 ++#: ../gui/polgen.glade:1439 ../gui/polgen.glade:1659 ../gui/polgen.glade:1915 ++#: ../gui/polgen.glade:2068 + msgid "All" + msgstr "" + +-#: ../gui/polgen.glade:1436 ../gui/polgen.glade:1656 ++#: ../gui/polgen.glade:1457 ../gui/polgen.glade:1677 + msgid "" + "Allow application/user role to call bindresvport with 0. Binding to port 600-" + "1024" + msgstr "" + +-#: ../gui/polgen.glade:1438 ../gui/polgen.glade:1658 ++#: ../gui/polgen.glade:1459 ../gui/polgen.glade:1679 + msgid "600-1024" + msgstr "" + +-#: ../gui/polgen.glade:1456 ../gui/polgen.glade:1676 ++#: ../gui/polgen.glade:1477 ../gui/polgen.glade:1697 + msgid "" + "Enter a comma separated list of udp ports or ranges of ports that " + "application/user role binds to. Example: 612, 650-660" + msgstr "" + +-#: ../gui/polgen.glade:1458 ../gui/polgen.glade:1678 ++#: ../gui/polgen.glade:1479 ../gui/polgen.glade:1699 + msgid "Unreserved Ports (>1024)" + msgstr "" + +-#: ../gui/polgen.glade:1489 ../gui/polgen.glade:1709 ../gui/polgen.glade:1912 +-#: ../gui/polgen.glade:2065 ++#: ../gui/polgen.glade:1510 ../gui/polgen.glade:1730 ../gui/polgen.glade:1933 ++#: ../gui/polgen.glade:2086 + msgid "Select Ports" + msgstr "" + +-#: ../gui/polgen.glade:1514 ../gui/polgen.glade:1734 ++#: ../gui/polgen.glade:1535 ../gui/polgen.glade:1755 + msgid "Allows application/user role to bind to any udp ports > 1024" + msgstr "" + +-#: ../gui/polgen.glade:1568 ../gui/polgen.glade:1984 ++#: ../gui/polgen.glade:1589 ../gui/polgen.glade:2005 + msgid "UDP Ports" + msgstr "" + +-#: ../gui/polgen.glade:1813 ++#: ../gui/polgen.glade:1834 + msgid "Enter network ports that application/user role connects to" + msgstr "" + +-#: ../gui/polgen.glade:1937 ++#: ../gui/polgen.glade:1958 + msgid "" + "Enter a comma separated list of tcp ports or ranges of ports that " + "application/user role connects to. Example: 612, 650-660" + msgstr "" + +-#: ../gui/polgen.glade:2090 ++#: ../gui/polgen.glade:2111 + msgid "" + "Enter a comma separated list of udp ports or ranges of ports that " + "application/user role connects to. Example: 612, 650-660" + msgstr "" + +-#: ../gui/polgen.glade:2162 ++#: ../gui/polgen.glade:2183 + msgid "Select common application traits" + msgstr "" + +-#: ../gui/polgen.glade:2181 ++#: ../gui/polgen.glade:2202 + msgid "Writes syslog messages\t" + msgstr "" + +-#: ../gui/polgen.glade:2200 ++#: ../gui/polgen.glade:2221 + msgid "Create/Manipulate temporary files in /tmp" + msgstr "" + +-#: ../gui/polgen.glade:2219 ++#: ../gui/polgen.glade:2240 + msgid "Uses Pam for authentication" + msgstr "" + +-#: ../gui/polgen.glade:2238 ++#: ../gui/polgen.glade:2259 + msgid "Uses nsswitch or getpw* calls" + msgstr "" + +-#: ../gui/polgen.glade:2257 ++#: ../gui/polgen.glade:2278 + msgid "Uses dbus" + msgstr "" + +-#: ../gui/polgen.glade:2276 ++#: ../gui/polgen.glade:2297 + msgid "Sends audit messages" + msgstr "" + +-#: ../gui/polgen.glade:2295 ++#: ../gui/polgen.glade:2316 + msgid "Interacts with the terminal" + msgstr "" + +-#: ../gui/polgen.glade:2314 ++#: ../gui/polgen.glade:2335 + msgid "Sends email" + msgstr "" + +-#: ../gui/polgen.glade:2370 ++#: ../gui/polgen.glade:2391 + msgid "Select files/directories that the application manages" + msgstr "" + +-#: ../gui/polgen.glade:2586 ++#: ../gui/polgen.glade:2607 + msgid "" + "Add Files/Directories that application will need to \"Write\" to. Pid Files, " + "Log Files, /var/lib Files ..." + msgstr "" + +-#: ../gui/polgen.glade:2646 ++#: ../gui/polgen.glade:2667 + msgid "Select booleans that the application uses" + msgstr "" + +-#: ../gui/polgen.glade:2783 ++#: ../gui/polgen.glade:2804 + msgid "Add/Remove booleans used for this confined application/user" + msgstr "" + +-#: ../gui/polgen.glade:2843 ++#: ../gui/polgen.glade:2864 + msgid "Select directory to generate policy in" + msgstr "" + +-#: ../gui/polgen.glade:2861 ++#: ../gui/polgen.glade:2882 + msgid "Policy Directory" + msgstr "" + +-#: ../gui/polgen.glade:2960 ../gui/polgen.glade:3003 ++#: ../gui/polgen.glade:2981 ../gui/polgen.glade:3024 + msgid "Generated Policy Files" + msgstr "" + +-#: ../gui/polgen.glade:2961 ++#: ../gui/polgen.glade:2982 + msgid "" + "This tool will generate the following: \n" + "Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n" +@@ -1712,7 +1717,7 @@ + "Use audit2allow -R to generate additional rules for the te file.\n" + msgstr "" + +-#: ../gui/polgen.glade:3004 ++#: ../gui/polgen.glade:3025 + msgid "" + "This tool will generate the following: \n" + "Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n" +@@ -1723,11 +1728,11 @@ + "Use audit2allow -R to generate additional rules for the te file.\n" + msgstr "" + +-#: ../gui/polgen.glade:3106 ++#: ../gui/polgen.glade:3127 + msgid "Add Booleans Dialog" + msgstr "" + +-#: ../gui/polgen.glade:3179 ++#: ../gui/polgen.glade:3200 + msgid "Boolean Name" + msgstr "" + +@@ -1748,102 +1753,102 @@ + msgid "%s must be a directory" + msgstr "" + +-#: ../gui/polgengui.py:328 ../gui/polgengui.py:595 ++#: ../gui/polgengui.py:328 ../gui/polgengui.py:598 + msgid "You must select a user" + msgstr "" + +-#: ../gui/polgengui.py:451 ++#: ../gui/polgengui.py:453 + msgid "Select executable file to be confined." + msgstr "" + +-#: ../gui/polgengui.py:462 ++#: ../gui/polgengui.py:464 + msgid "Select init script file to be confined." + msgstr "" + +-#: ../gui/polgengui.py:472 ++#: ../gui/polgengui.py:474 + msgid "Select file(s) that confined application creates or writes" + msgstr "" + +-#: ../gui/polgengui.py:479 ++#: ../gui/polgengui.py:481 + msgid "Select directory(s) that the confined application owns and writes into" + msgstr "" + +-#: ../gui/polgengui.py:538 ++#: ../gui/polgengui.py:541 + msgid "Select directory to generate policy files in" + msgstr "" + +-#: ../gui/polgengui.py:551 ++#: ../gui/polgengui.py:554 + #, python-format + msgid "" + "Type %s_t already defined in current policy.\n" + "Do you want to continue?" + msgstr "" + +-#: ../gui/polgengui.py:551 ../gui/polgengui.py:555 ++#: ../gui/polgengui.py:554 ../gui/polgengui.py:558 + msgid "Verify Name" + msgstr "" + +-#: ../gui/polgengui.py:555 ++#: ../gui/polgengui.py:558 + #, python-format + msgid "" + "Module %s.pp already loaded in current policy.\n" + "Do you want to continue?" + msgstr "" + +-#: ../gui/polgengui.py:601 ++#: ../gui/polgengui.py:604 + msgid "You must enter a name" + msgstr "" + +-#: ../gui/polgengui.py:607 ++#: ../gui/polgengui.py:610 + msgid "You must enter a executable" + msgstr "" + +-#: ../gui/polgengui.py:611 ../gui/system-config-selinux.py:174 ++#: ../gui/polgengui.py:614 ../gui/system-config-selinux.py:176 + msgid "Configue SELinux" + msgstr "" + +-#: ../gui/polgen.py:163 ++#: ../gui/polgen.py:174 + #, python-format + msgid "Ports must be numbers or ranges of numbers from 1 to %d " + msgstr "" + +-#: ../gui/polgen.py:192 ++#: ../gui/polgen.py:204 + msgid "You must enter a name for your confined process/user" + msgstr "" + +-#: ../gui/polgen.py:270 ++#: ../gui/polgen.py:282 + msgid "USER Types are not allowed executables" + msgstr "" + +-#: ../gui/polgen.py:276 ++#: ../gui/polgen.py:288 + msgid "Only DAEMON apps can use an init script" + msgstr "" + +-#: ../gui/polgen.py:294 ++#: ../gui/polgen.py:306 + msgid "use_syslog must be a boolean value " + msgstr "" + +-#: ../gui/polgen.py:315 ++#: ../gui/polgen.py:327 + msgid "USER Types automatically get a tmp type" + msgstr "" + +-#: ../gui/polgen.py:711 ++#: ../gui/polgen.py:729 + msgid "You must enter the executable path for your confined process" + msgstr "" + +-#: ../gui/polgen.py:830 ++#: ../gui/polgen.py:848 + msgid "Type Enforcement file" + msgstr "" + +-#: ../gui/polgen.py:831 ++#: ../gui/polgen.py:849 + msgid "Interface file" + msgstr "" + +-#: ../gui/polgen.py:832 ++#: ../gui/polgen.py:850 + msgid "File Contexts file" + msgstr "" + +-#: ../gui/polgen.py:833 ++#: ../gui/polgen.py:851 + msgid "Setup Script" + msgstr "" + +@@ -2999,16 +3004,16 @@ + msgid "Add %s" + msgstr "" + +-#: ../gui/semanagePage.py:149 ++#: ../gui/semanagePage.py:148 + #, python-format + msgid "Modify %s" + msgstr "" + +-#: ../gui/statusPage.py:69 ++#: ../gui/statusPage.py:69 ../gui/system-config-selinux.glade:3210 + msgid "Permissive" + msgstr "" + +-#: ../gui/statusPage.py:70 ++#: ../gui/statusPage.py:70 ../gui/system-config-selinux.glade:3228 + msgid "Enforcing" + msgstr "" + +@@ -3069,12 +3074,6 @@ + msgid "SELinux Type" + msgstr "" + +-#: ../gui/system-config-selinux.glade:440 +-msgid "" +-"tcp\n" +-"udp" +-msgstr "" +- + #: ../gui/system-config-selinux.glade:622 + msgid "" + "SELinux MLS/MCS\n" +@@ -3193,6 +3192,7 @@ + #: ../gui/system-config-selinux.glade:2618 + #: ../gui/system-config-selinux.glade:2860 + #: ../gui/system-config-selinux.glade:3084 ++#: ../gui/system-config-selinux.glade:3258 + msgid "Filter" + msgstr "" + +@@ -3286,10 +3286,12 @@ + msgstr "" + + #: ../gui/system-config-selinux.glade:3001 ++#: ../gui/system-config-selinux.glade:3209 + msgid "Load policy module" + msgstr "" + + #: ../gui/system-config-selinux.glade:3017 ++#: ../gui/system-config-selinux.glade:3227 + msgid "Remove loadable policy module" + msgstr "" + +@@ -3303,6 +3305,10 @@ + msgid "label44" + msgstr "" + ++#: ../gui/system-config-selinux.glade:3346 ++msgid "label59" ++msgstr "" ++ + #: ../gui/translationsPage.py:53 + msgid "Sensitvity Level" + msgstr "" +diff --exclude-from=exclude -N -u -r nsapolicycoreutils/po/am.po policycoreutils-2.0.61/po/am.po +--- nsapolicycoreutils/po/am.po 2008-09-22 13:25:06.000000000 -0400 ++++ policycoreutils-2.0.61/po/am.po 2009-01-20 09:33:29.000000000 -0500 +@@ -8,7 +8,7 @@ + msgstr "" + "Project-Id-Version: PACKAGE VERSION\n" + "Report-Msgid-Bugs-To: \n" +-"POT-Creation-Date: 2008-09-09 13:24-0400\n" ++"POT-Creation-Date: 2009-01-20 09:33-0500\n" + "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" + "Last-Translator: FULL NAME \n" + "Language-Team: LANGUAGE \n" +@@ -85,818 +85,819 @@ + msgid "To make this policy package active, execute:" + msgstr "" + +-#: ../semanage/seobject.py:49 ++#: ../semanage/seobject.py:48 + msgid "Could not create semanage handle" + msgstr "" + +-#: ../semanage/seobject.py:56 ++#: ../semanage/seobject.py:55 + msgid "SELinux policy is not managed or store cannot be accessed." + msgstr "" + +-#: ../semanage/seobject.py:61 ++#: ../semanage/seobject.py:60 + msgid "Cannot read policy store." + msgstr "" + +-#: ../semanage/seobject.py:66 ++#: ../semanage/seobject.py:65 + msgid "Could not establish semanage connection" + msgstr "" + +-#: ../semanage/seobject.py:137 ../semanage/seobject.py:141 +-msgid "global" ++#: ../semanage/seobject.py:70 ++msgid "Could not test MLS enabled status" + msgstr "" + +-#: ../semanage/seobject.py:196 +-msgid "translations not supported on non-MLS machines" ++#: ../semanage/seobject.py:142 ../semanage/seobject.py:146 ++msgid "global" + msgstr "" + +-#: ../semanage/seobject.py:203 ++#: ../semanage/seobject.py:206 + #, python-format + msgid "Unable to open %s: translations not supported on non-MLS machines: %s" + msgstr "" + +-#: ../semanage/seobject.py:236 ++#: ../semanage/seobject.py:239 + msgid "Level" + msgstr "" + +-#: ../semanage/seobject.py:236 ../gui/system-config-selinux.glade:651 ++#: ../semanage/seobject.py:239 ../gui/system-config-selinux.glade:651 + #: ../gui/translationsPage.py:43 ../gui/translationsPage.py:59 + msgid "Translation" + msgstr "" + +-#: ../semanage/seobject.py:244 ../semanage/seobject.py:258 ++#: ../semanage/seobject.py:247 ../semanage/seobject.py:261 + #, python-format + msgid "Translations can not contain spaces '%s' " + msgstr "" + +-#: ../semanage/seobject.py:247 ++#: ../semanage/seobject.py:250 + #, python-format + msgid "Invalid Level '%s' " + msgstr "" + +-#: ../semanage/seobject.py:250 ++#: ../semanage/seobject.py:253 + #, python-format + msgid "%s already defined in translations" + msgstr "" + +-#: ../semanage/seobject.py:262 ++#: ../semanage/seobject.py:265 + #, python-format + msgid "%s not defined in translations" + msgstr "" + +-#: ../semanage/seobject.py:288 ++#: ../semanage/seobject.py:291 + msgid "Not yet implemented" + msgstr "" + +-#: ../semanage/seobject.py:295 ++#: ../semanage/seobject.py:298 + msgid "Could not start semanage transaction" + msgstr "" + +-#: ../semanage/seobject.py:301 ++#: ../semanage/seobject.py:304 + msgid "Could not commit semanage transaction" + msgstr "" + +-#: ../semanage/seobject.py:311 ++#: ../semanage/seobject.py:314 + msgid "Could not list SELinux modules" + msgstr "" + +-#: ../semanage/seobject.py:322 ++#: ../semanage/seobject.py:325 + msgid "Permissive Types" + msgstr "" + +-#: ../semanage/seobject.py:352 ++#: ../semanage/seobject.py:355 + #, python-format + msgid "Could not set permissive domain %s (module installation failed)" + msgstr "" + +-#: ../semanage/seobject.py:366 ++#: ../semanage/seobject.py:369 + #, python-format + msgid "Could not remove permissive domain %s (remove failed)" + msgstr "" + +-#: ../semanage/seobject.py:392 ../semanage/seobject.py:452 +-#: ../semanage/seobject.py:498 ../semanage/seobject.py:580 +-#: ../semanage/seobject.py:647 ../semanage/seobject.py:705 +-#: ../semanage/seobject.py:915 ../semanage/seobject.py:1482 +-#: ../semanage/seobject.py:1542 ../semanage/seobject.py:1554 +-#: ../semanage/seobject.py:1633 ../semanage/seobject.py:1684 ++#: ../semanage/seobject.py:395 ../semanage/seobject.py:455 ++#: ../semanage/seobject.py:501 ../semanage/seobject.py:583 ++#: ../semanage/seobject.py:650 ../semanage/seobject.py:708 ++#: ../semanage/seobject.py:918 ../semanage/seobject.py:1491 ++#: ../semanage/seobject.py:1555 ../semanage/seobject.py:1567 ++#: ../semanage/seobject.py:1648 ../semanage/seobject.py:1699 + #, python-format + msgid "Could not create a key for %s" + msgstr "" + +-#: ../semanage/seobject.py:396 ../semanage/seobject.py:456 +-#: ../semanage/seobject.py:502 ../semanage/seobject.py:508 ++#: ../semanage/seobject.py:399 ../semanage/seobject.py:459 ++#: ../semanage/seobject.py:505 ../semanage/seobject.py:511 + #, python-format + msgid "Could not check if login mapping for %s is defined" + msgstr "" + +-#: ../semanage/seobject.py:398 ++#: ../semanage/seobject.py:401 + #, python-format + msgid "Login mapping for %s is already defined" + msgstr "" + +-#: ../semanage/seobject.py:403 ++#: ../semanage/seobject.py:406 + #, python-format + msgid "Linux Group %s does not exist" + msgstr "" + +-#: ../semanage/seobject.py:408 ++#: ../semanage/seobject.py:411 + #, python-format + msgid "Linux User %s does not exist" + msgstr "" + +-#: ../semanage/seobject.py:412 ++#: ../semanage/seobject.py:415 + #, python-format + msgid "Could not create login mapping for %s" + msgstr "" + +-#: ../semanage/seobject.py:416 ../semanage/seobject.py:594 ++#: ../semanage/seobject.py:419 ../semanage/seobject.py:597 + #, python-format + msgid "Could not set name for %s" + msgstr "" + +-#: ../semanage/seobject.py:421 ../semanage/seobject.py:604 ++#: ../semanage/seobject.py:424 ../semanage/seobject.py:607 + #, python-format + msgid "Could not set MLS range for %s" + msgstr "" + +-#: ../semanage/seobject.py:425 ++#: ../semanage/seobject.py:428 + #, python-format + msgid "Could not set SELinux user for %s" + msgstr "" + +-#: ../semanage/seobject.py:429 ++#: ../semanage/seobject.py:432 + #, python-format + msgid "Could not add login mapping for %s" + msgstr "" + +-#: ../semanage/seobject.py:441 ../semanage/seobject.py:444 ++#: ../semanage/seobject.py:444 ../semanage/seobject.py:447 + msgid "add SELinux user mapping" + msgstr "" + +-#: ../semanage/seobject.py:448 ++#: ../semanage/seobject.py:451 + msgid "Requires seuser or serange" + msgstr "" + +-#: ../semanage/seobject.py:458 ../semanage/seobject.py:504 ++#: ../semanage/seobject.py:461 ../semanage/seobject.py:507 + #, python-format + msgid "Login mapping for %s is not defined" + msgstr "" + +-#: ../semanage/seobject.py:462 ++#: ../semanage/seobject.py:465 + #, python-format + msgid "Could not query seuser for %s" + msgstr "" + +-#: ../semanage/seobject.py:478 ++#: ../semanage/seobject.py:481 + #, python-format + msgid "Could not modify login mapping for %s" + msgstr "" + +-#: ../semanage/seobject.py:510 ++#: ../semanage/seobject.py:513 + #, python-format + msgid "Login mapping for %s is defined in policy, cannot be deleted" + msgstr "" + +-#: ../semanage/seobject.py:514 ++#: ../semanage/seobject.py:517 + #, python-format + msgid "Could not delete login mapping for %s" + msgstr "" + +-#: ../semanage/seobject.py:537 ++#: ../semanage/seobject.py:540 + msgid "Could not list login mappings" + msgstr "" + +-#: ../semanage/seobject.py:550 ../semanage/seobject.py:555 ++#: ../semanage/seobject.py:553 ../semanage/seobject.py:558 + #: ../gui/system-config-selinux.glade:100 + msgid "Login Name" + msgstr "" + +-#: ../semanage/seobject.py:550 ../semanage/seobject.py:555 +-#: ../semanage/seobject.py:764 ../semanage/seobject.py:769 ++#: ../semanage/seobject.py:553 ../semanage/seobject.py:558 ++#: ../semanage/seobject.py:767 ../semanage/seobject.py:772 + #: ../gui/system-config-selinux.glade:128 + #: ../gui/system-config-selinux.glade:1107 + msgid "SELinux User" + msgstr "" + +-#: ../semanage/seobject.py:550 ../gui/system-config-selinux.glade:156 ++#: ../semanage/seobject.py:553 ../gui/system-config-selinux.glade:156 + #: ../gui/system-config-selinux.glade:1135 + msgid "MLS/MCS Range" + msgstr "" + +-#: ../semanage/seobject.py:576 ++#: ../semanage/seobject.py:579 + #, python-format + msgid "You must add at least one role for %s" + msgstr "" + +-#: ../semanage/seobject.py:584 ../semanage/seobject.py:651 +-#: ../semanage/seobject.py:709 ../semanage/seobject.py:715 ++#: ../semanage/seobject.py:587 ../semanage/seobject.py:654 ++#: ../semanage/seobject.py:712 ../semanage/seobject.py:718 + #, python-format + msgid "Could not check if SELinux user %s is defined" + msgstr "" + +-#: ../semanage/seobject.py:586 ++#: ../semanage/seobject.py:589 + #, python-format + msgid "SELinux user %s is already defined" + msgstr "" + +-#: ../semanage/seobject.py:590 ++#: ../semanage/seobject.py:593 + #, python-format + msgid "Could not create SELinux user for %s" + msgstr "" + +-#: ../semanage/seobject.py:599 ++#: ../semanage/seobject.py:602 + #, python-format + msgid "Could not add role %s for %s" + msgstr "" + +-#: ../semanage/seobject.py:608 ++#: ../semanage/seobject.py:611 + #, python-format + msgid "Could not set MLS level for %s" + msgstr "" + +-#: ../semanage/seobject.py:611 ++#: ../semanage/seobject.py:614 + #, python-format + msgid "Could not add prefix %s for %s" + msgstr "" + +-#: ../semanage/seobject.py:614 ++#: ../semanage/seobject.py:617 + #, python-format + msgid "Could not extract key for %s" + msgstr "" + +-#: ../semanage/seobject.py:618 ++#: ../semanage/seobject.py:621 + #, python-format + msgid "Could not add SELinux user %s" + msgstr "" + +-#: ../semanage/seobject.py:641 ++#: ../semanage/seobject.py:644 + msgid "Requires prefix, roles, level or range" + msgstr "" + +-#: ../semanage/seobject.py:643 ++#: ../semanage/seobject.py:646 + msgid "Requires prefix or roles" + msgstr "" + +-#: ../semanage/seobject.py:653 ../semanage/seobject.py:711 ++#: ../semanage/seobject.py:656 ../semanage/seobject.py:714 + #, python-format + msgid "SELinux user %s is not defined" + msgstr "" + +-#: ../semanage/seobject.py:657 ++#: ../semanage/seobject.py:660 + #, python-format + msgid "Could not query user for %s" + msgstr "" + +-#: ../semanage/seobject.py:684 ++#: ../semanage/seobject.py:687 + #, python-format + msgid "Could not modify SELinux user %s" + msgstr "" + +-#: ../semanage/seobject.py:717 ++#: ../semanage/seobject.py:720 + #, python-format + msgid "SELinux user %s is defined in policy, cannot be deleted" + msgstr "" + +-#: ../semanage/seobject.py:721 ++#: ../semanage/seobject.py:724 + #, python-format + msgid "Could not delete SELinux user %s" + msgstr "" + +-#: ../semanage/seobject.py:744 ++#: ../semanage/seobject.py:747 + msgid "Could not list SELinux users" + msgstr "" + +-#: ../semanage/seobject.py:750 ++#: ../semanage/seobject.py:753 + #, python-format + msgid "Could not list roles for user %s" + msgstr "" + +-#: ../semanage/seobject.py:763 ++#: ../semanage/seobject.py:766 + msgid "Labeling" + msgstr "" + +-#: ../semanage/seobject.py:763 ++#: ../semanage/seobject.py:766 + msgid "MLS/" + msgstr "" + +-#: ../semanage/seobject.py:764 ++#: ../semanage/seobject.py:767 + msgid "Prefix" + msgstr "" + +-#: ../semanage/seobject.py:764 ++#: ../semanage/seobject.py:767 + msgid "MCS Level" + msgstr "" + +-#: ../semanage/seobject.py:764 ++#: ../semanage/seobject.py:767 + msgid "MCS Range" + msgstr "" + +-#: ../semanage/seobject.py:764 ../semanage/seobject.py:769 ++#: ../semanage/seobject.py:767 ../semanage/seobject.py:772 + #: ../gui/system-config-selinux.glade:1184 ../gui/usersPage.py:59 + msgid "SELinux Roles" + msgstr "" + +-#: ../semanage/seobject.py:784 ++#: ../semanage/seobject.py:787 + msgid "Protocol udp or tcp is required" + msgstr "" + +-#: ../semanage/seobject.py:786 ++#: ../semanage/seobject.py:789 + msgid "Port is required" + msgstr "" + +-#: ../semanage/seobject.py:797 ++#: ../semanage/seobject.py:800 + #, python-format + msgid "Could not create a key for %s/%s" + msgstr "" + +-#: ../semanage/seobject.py:808 ++#: ../semanage/seobject.py:811 + msgid "Type is required" + msgstr "" + +-#: ../semanage/seobject.py:814 ../semanage/seobject.py:873 +-#: ../semanage/seobject.py:928 ../semanage/seobject.py:934 ++#: ../semanage/seobject.py:817 ../semanage/seobject.py:876 ++#: ../semanage/seobject.py:931 ../semanage/seobject.py:937 + #, python-format + msgid "Could not check if port %s/%s is defined" + msgstr "" + +-#: ../semanage/seobject.py:816 ++#: ../semanage/seobject.py:819 + #, python-format + msgid "Port %s/%s already defined" + msgstr "" + +-#: ../semanage/seobject.py:820 ++#: ../semanage/seobject.py:823 + #, python-format + msgid "Could not create port for %s/%s" + msgstr "" + +-#: ../semanage/seobject.py:826 ++#: ../semanage/seobject.py:829 + #, python-format + msgid "Could not create context for %s/%s" + msgstr "" + +-#: ../semanage/seobject.py:830 ++#: ../semanage/seobject.py:833 + #, python-format + msgid "Could not set user in port context for %s/%s" + msgstr "" + +-#: ../semanage/seobject.py:834 ++#: ../semanage/seobject.py:837 + #, python-format + msgid "Could not set role in port context for %s/%s" + msgstr "" + +-#: ../semanage/seobject.py:838 ++#: ../semanage/seobject.py:841 + #, python-format + msgid "Could not set type in port context for %s/%s" + msgstr "" + +-#: ../semanage/seobject.py:843 ++#: ../semanage/seobject.py:846 + #, python-format + msgid "Could not set mls fields in port context for %s/%s" + msgstr "" + +-#: ../semanage/seobject.py:847 ++#: ../semanage/seobject.py:850 + #, python-format + msgid "Could not set port context for %s/%s" + msgstr "" + +-#: ../semanage/seobject.py:851 ++#: ../semanage/seobject.py:854 + #, python-format + msgid "Could not add port %s/%s" + msgstr "" + +-#: ../semanage/seobject.py:865 ../semanage/seobject.py:1111 +-#: ../semanage/seobject.py:1299 ++#: ../semanage/seobject.py:868 ../semanage/seobject.py:1114 ++#: ../semanage/seobject.py:1302 + msgid "Requires setype or serange" + msgstr "" + +-#: ../semanage/seobject.py:867 ++#: ../semanage/seobject.py:870 + msgid "Requires setype" + msgstr "" + +-#: ../semanage/seobject.py:875 ../semanage/seobject.py:930 ++#: ../semanage/seobject.py:878 ../semanage/seobject.py:933 + #, python-format + msgid "Port %s/%s is not defined" + msgstr "" + +-#: ../semanage/seobject.py:879 ++#: ../semanage/seobject.py:882 + #, python-format + msgid "Could not query port %s/%s" + msgstr "" + +-#: ../semanage/seobject.py:890 ++#: ../semanage/seobject.py:893 + #, python-format + msgid "Could not modify port %s/%s" + msgstr "" + +-#: ../semanage/seobject.py:903 ++#: ../semanage/seobject.py:906 + msgid "Could not list the ports" + msgstr "" + +-#: ../semanage/seobject.py:919 ++#: ../semanage/seobject.py:922 + #, python-format + msgid "Could not delete the port %s" + msgstr "" + +-#: ../semanage/seobject.py:936 ++#: ../semanage/seobject.py:939 + #, python-format + msgid "Port %s/%s is defined in policy, cannot be deleted" + msgstr "" + +-#: ../semanage/seobject.py:940 ++#: ../semanage/seobject.py:943 + #, python-format + msgid "Could not delete port %s/%s" + msgstr "" + +-#: ../semanage/seobject.py:956 ../semanage/seobject.py:978 ++#: ../semanage/seobject.py:959 ../semanage/seobject.py:981 + msgid "Could not list ports" + msgstr "" + +-#: ../semanage/seobject.py:999 ++#: ../semanage/seobject.py:1002 + msgid "SELinux Port Type" + msgstr "" + +-#: ../semanage/seobject.py:999 ++#: ../semanage/seobject.py:1002 + msgid "Proto" + msgstr "" + +-#: ../semanage/seobject.py:999 ../gui/system-config-selinux.glade:335 ++#: ../semanage/seobject.py:1002 ../gui/system-config-selinux.glade:335 + msgid "Port Number" + msgstr "" + +-#: ../semanage/seobject.py:1016 ../semanage/seobject.py:1098 +-#: ../semanage/seobject.py:1148 ++#: ../semanage/seobject.py:1019 ../semanage/seobject.py:1101 ++#: ../semanage/seobject.py:1151 + msgid "Node Address is required" + msgstr "" + +-#: ../semanage/seobject.py:1019 ../semanage/seobject.py:1101 +-#: ../semanage/seobject.py:1151 ++#: ../semanage/seobject.py:1022 ../semanage/seobject.py:1104 ++#: ../semanage/seobject.py:1154 + msgid "Node Netmask is required" + msgstr "" + +-#: ../semanage/seobject.py:1026 ../semanage/seobject.py:1107 +-#: ../semanage/seobject.py:1158 ++#: ../semanage/seobject.py:1029 ../semanage/seobject.py:1110 ++#: ../semanage/seobject.py:1161 + msgid "Unknown or missing protocol" + msgstr "" + +-#: ../semanage/seobject.py:1036 ../semanage/seobject.py:1238 +-#: ../semanage/seobject.py:1427 ++#: ../semanage/seobject.py:1039 ../semanage/seobject.py:1241 ++#: ../semanage/seobject.py:1430 + msgid "SELinux Type is required" + msgstr "" + +-#: ../semanage/seobject.py:1040 ../semanage/seobject.py:1115 +-#: ../semanage/seobject.py:1162 ../semanage/seobject.py:1242 +-#: ../semanage/seobject.py:1303 ../semanage/seobject.py:1337 +-#: ../semanage/seobject.py:1431 ++#: ../semanage/seobject.py:1043 ../semanage/seobject.py:1118 ++#: ../semanage/seobject.py:1165 ../semanage/seobject.py:1245 ++#: ../semanage/seobject.py:1306 ../semanage/seobject.py:1340 ++#: ../semanage/seobject.py:1434 + #, python-format + msgid "Could not create key for %s" + msgstr "" + +-#: ../semanage/seobject.py:1042 ../semanage/seobject.py:1119 +-#: ../semanage/seobject.py:1166 ../semanage/seobject.py:1172 ++#: ../semanage/seobject.py:1045 ../semanage/seobject.py:1122 ++#: ../semanage/seobject.py:1169 ../semanage/seobject.py:1175 + #, python-format + msgid "Could not check if addr %s is defined" + msgstr "" + +-#: ../semanage/seobject.py:1046 ++#: ../semanage/seobject.py:1049 + #, python-format + msgid "Addr %s already defined" + msgstr "" + +-#: ../semanage/seobject.py:1050 ++#: ../semanage/seobject.py:1053 + #, python-format + msgid "Could not create addr for %s" + msgstr "" + +-#: ../semanage/seobject.py:1055 ../semanage/seobject.py:1257 +-#: ../semanage/seobject.py:1397 ++#: ../semanage/seobject.py:1058 ../semanage/seobject.py:1260 ++#: ../semanage/seobject.py:1400 + #, python-format + msgid "Could not create context for %s" + msgstr "" + +-#: ../semanage/seobject.py:1059 ++#: ../semanage/seobject.py:1062 + #, python-format + msgid "Could not set mask for %s" + msgstr "" + +-#: ../semanage/seobject.py:1064 ++#: ../semanage/seobject.py:1067 + #, python-format + msgid "Could not set user in addr context for %s" + msgstr "" + +-#: ../semanage/seobject.py:1068 ++#: ../semanage/seobject.py:1071 + #, python-format + msgid "Could not set role in addr context for %s" + msgstr "" + +-#: ../semanage/seobject.py:1072 ++#: ../semanage/seobject.py:1075 + #, python-format + msgid "Could not set type in addr context for %s" + msgstr "" + +-#: ../semanage/seobject.py:1077 ++#: ../semanage/seobject.py:1080 + #, python-format + msgid "Could not set mls fields in addr context for %s" + msgstr "" + +-#: ../semanage/seobject.py:1081 ++#: ../semanage/seobject.py:1084 + #, python-format + msgid "Could not set addr context for %s" + msgstr "" + +-#: ../semanage/seobject.py:1085 ++#: ../semanage/seobject.py:1088 + #, python-format + msgid "Could not add addr %s" + msgstr "" + +-#: ../semanage/seobject.py:1121 ../semanage/seobject.py:1168 ++#: ../semanage/seobject.py:1124 ../semanage/seobject.py:1171 + #, python-format + msgid "Addr %s is not defined" + msgstr "" + +-#: ../semanage/seobject.py:1125 ++#: ../semanage/seobject.py:1128 + #, python-format + msgid "Could not query addr %s" + msgstr "" + +-#: ../semanage/seobject.py:1136 ++#: ../semanage/seobject.py:1139 + #, python-format + msgid "Could not modify addr %s" + msgstr "" + +-#: ../semanage/seobject.py:1174 ++#: ../semanage/seobject.py:1177 + #, python-format + msgid "Addr %s is defined in policy, cannot be deleted" + msgstr "" + +-#: ../semanage/seobject.py:1178 ++#: ../semanage/seobject.py:1181 + #, python-format + msgid "Could not delete addr %s" + msgstr "" + +-#: ../semanage/seobject.py:1194 ++#: ../semanage/seobject.py:1197 + msgid "Could not list addrs" + msgstr "" + +-#: ../semanage/seobject.py:1246 ../semanage/seobject.py:1307 +-#: ../semanage/seobject.py:1341 ../semanage/seobject.py:1347 ++#: ../semanage/seobject.py:1249 ../semanage/seobject.py:1310 ++#: ../semanage/seobject.py:1344 ../semanage/seobject.py:1350 + #, python-format + msgid "Could not check if interface %s is defined" + msgstr "" + +-#: ../semanage/seobject.py:1248 ++#: ../semanage/seobject.py:1251 + #, python-format + msgid "Interface %s already defined" + msgstr "" + +-#: ../semanage/seobject.py:1252 ++#: ../semanage/seobject.py:1255 + #, python-format + msgid "Could not create interface for %s" + msgstr "" + +-#: ../semanage/seobject.py:1261 ++#: ../semanage/seobject.py:1264 + #, python-format + msgid "Could not set user in interface context for %s" + msgstr "" + +-#: ../semanage/seobject.py:1265 ++#: ../semanage/seobject.py:1268 + #, python-format + msgid "Could not set role in interface context for %s" + msgstr "" + +-#: ../semanage/seobject.py:1269 ++#: ../semanage/seobject.py:1272 + #, python-format + msgid "Could not set type in interface context for %s" + msgstr "" + +-#: ../semanage/seobject.py:1274 ++#: ../semanage/seobject.py:1277 + #, python-format + msgid "Could not set mls fields in interface context for %s" + msgstr "" + +-#: ../semanage/seobject.py:1278 ++#: ../semanage/seobject.py:1281 + #, python-format + msgid "Could not set interface context for %s" + msgstr "" + +-#: ../semanage/seobject.py:1282 ++#: ../semanage/seobject.py:1285 + #, python-format + msgid "Could not set message context for %s" + msgstr "" + +-#: ../semanage/seobject.py:1286 ++#: ../semanage/seobject.py:1289 + #, python-format + msgid "Could not add interface %s" + msgstr "" + +-#: ../semanage/seobject.py:1309 ../semanage/seobject.py:1343 ++#: ../semanage/seobject.py:1312 ../semanage/seobject.py:1346 + #, python-format + msgid "Interface %s is not defined" + msgstr "" + +-#: ../semanage/seobject.py:1313 ++#: ../semanage/seobject.py:1316 + #, python-format + msgid "Could not query interface %s" + msgstr "" + +-#: ../semanage/seobject.py:1324 ++#: ../semanage/seobject.py:1327 + #, python-format + msgid "Could not modify interface %s" + msgstr "" + +-#: ../semanage/seobject.py:1349 ++#: ../semanage/seobject.py:1352 + #, python-format + msgid "Interface %s is defined in policy, cannot be deleted" + msgstr "" + +-#: ../semanage/seobject.py:1353 ++#: ../semanage/seobject.py:1356 + #, python-format + msgid "Could not delete interface %s" + msgstr "" + +-#: ../semanage/seobject.py:1369 ++#: ../semanage/seobject.py:1372 + msgid "Could not list interfaces" + msgstr "" + +-#: ../semanage/seobject.py:1379 ++#: ../semanage/seobject.py:1382 + msgid "SELinux Interface" + msgstr "" + +-#: ../semanage/seobject.py:1379 ../semanage/seobject.py:1608 ++#: ../semanage/seobject.py:1382 ../semanage/seobject.py:1621 + msgid "Context" + msgstr "" + +-#: ../semanage/seobject.py:1403 ++#: ../semanage/seobject.py:1406 + #, python-format + msgid "Could not set user in file context for %s" + msgstr "" + +-#: ../semanage/seobject.py:1407 ++#: ../semanage/seobject.py:1410 + #, python-format + msgid "Could not set role in file context for %s" + msgstr "" + +-#: ../semanage/seobject.py:1412 ../semanage/seobject.py:1454 ++#: ../semanage/seobject.py:1415 ../semanage/seobject.py:1463 + #, python-format + msgid "Could not set mls fields in file context for %s" + msgstr "" + +-#: ../semanage/seobject.py:1418 ++#: ../semanage/seobject.py:1421 + msgid "Invalid file specification" + msgstr "" + +-#: ../semanage/seobject.py:1435 ../semanage/seobject.py:1486 +-#: ../semanage/seobject.py:1558 ../semanage/seobject.py:1562 ++#: ../semanage/seobject.py:1438 ../semanage/seobject.py:1443 ++#: ../semanage/seobject.py:1495 ../semanage/seobject.py:1571 ++#: ../semanage/seobject.py:1575 + #, python-format + msgid "Could not check if file context for %s is defined" + msgstr "" + +-#: ../semanage/seobject.py:1437 ++#: ../semanage/seobject.py:1446 + #, python-format + msgid "File context for %s already defined" + msgstr "" + +-#: ../semanage/seobject.py:1441 ++#: ../semanage/seobject.py:1450 + #, python-format + msgid "Could not create file context for %s" + msgstr "" + +-#: ../semanage/seobject.py:1449 ++#: ../semanage/seobject.py:1458 + #, python-format + msgid "Could not set type in file context for %s" + msgstr "" + +-#: ../semanage/seobject.py:1457 ../semanage/seobject.py:1510 +-#: ../semanage/seobject.py:1514 ++#: ../semanage/seobject.py:1466 ../semanage/seobject.py:1523 ++#: ../semanage/seobject.py:1527 + #, python-format + msgid "Could not set file context for %s" + msgstr "" + +-#: ../semanage/seobject.py:1463 ++#: ../semanage/seobject.py:1472 + #, python-format + msgid "Could not add file context for %s" + msgstr "" + +-#: ../semanage/seobject.py:1477 ++#: ../semanage/seobject.py:1486 + msgid "Requires setype, serange or seuser" + msgstr "" + +-#: ../semanage/seobject.py:1488 ../semanage/seobject.py:1566 ++#: ../semanage/seobject.py:1499 ../semanage/seobject.py:1579 + #, python-format + msgid "File context for %s is not defined" + msgstr "" + +-#: ../semanage/seobject.py:1492 ++#: ../semanage/seobject.py:1505 + #, python-format + msgid "Could not query file context for %s" + msgstr "" + +-#: ../semanage/seobject.py:1518 ++#: ../semanage/seobject.py:1531 + #, python-format + msgid "Could not modify file context for %s" + msgstr "" + +-#: ../semanage/seobject.py:1532 ++#: ../semanage/seobject.py:1545 + msgid "Could not list the file contexts" + msgstr "" + +-#: ../semanage/seobject.py:1546 ++#: ../semanage/seobject.py:1559 + #, python-format + msgid "Could not delete the file context %s" + msgstr "" + +-#: ../semanage/seobject.py:1564 ++#: ../semanage/seobject.py:1577 + #, python-format + msgid "File context for %s is defined in policy, cannot be deleted" + msgstr "" + +-#: ../semanage/seobject.py:1570 ++#: ../semanage/seobject.py:1583 + #, python-format + msgid "Could not delete file context for %s" + msgstr "" + +-#: ../semanage/seobject.py:1586 ++#: ../semanage/seobject.py:1598 + msgid "Could not list file contexts" + msgstr "" + +-#: ../semanage/seobject.py:1590 ++#: ../semanage/seobject.py:1602 + msgid "Could not list local file contexts" + msgstr "" + +-#: ../semanage/seobject.py:1608 ++#: ../semanage/seobject.py:1621 + msgid "SELinux fcontext" + msgstr "" + +-#: ../semanage/seobject.py:1608 ++#: ../semanage/seobject.py:1621 + msgid "type" + msgstr "" + +-#: ../semanage/seobject.py:1636 ../semanage/seobject.py:1687 +-#: ../semanage/seobject.py:1693 ++#: ../semanage/seobject.py:1651 ../semanage/seobject.py:1702 ++#: ../semanage/seobject.py:1708 + #, python-format + msgid "Could not check if boolean %s is defined" + msgstr "" + +-#: ../semanage/seobject.py:1638 ../semanage/seobject.py:1689 ++#: ../semanage/seobject.py:1653 ../semanage/seobject.py:1704 + #, python-format + msgid "Boolean %s is not defined" + msgstr "" + +-#: ../semanage/seobject.py:1642 ++#: ../semanage/seobject.py:1657 + #, python-format + msgid "Could not query file context %s" + msgstr "" + +-#: ../semanage/seobject.py:1647 ++#: ../semanage/seobject.py:1662 + #, python-format + msgid "You must specify one of the following values: %s" + msgstr "" + +-#: ../semanage/seobject.py:1651 ++#: ../semanage/seobject.py:1666 + #, python-format + msgid "Could not set active value of boolean %s" + msgstr "" + +-#: ../semanage/seobject.py:1654 ++#: ../semanage/seobject.py:1669 + #, python-format + msgid "Could not modify boolean %s" + msgstr "" + +-#: ../semanage/seobject.py:1672 ++#: ../semanage/seobject.py:1687 + #, python-format + msgid "Bad format %s: Record %s" + msgstr "" + +-#: ../semanage/seobject.py:1695 ++#: ../semanage/seobject.py:1710 + #, python-format + msgid "Boolean %s is defined in policy, cannot be deleted" + msgstr "" + +-#: ../semanage/seobject.py:1699 ++#: ../semanage/seobject.py:1714 + #, python-format + msgid "Could not delete boolean %s" + msgstr "" + +-#: ../semanage/seobject.py:1711 ../semanage/seobject.py:1728 ++#: ../semanage/seobject.py:1726 ../semanage/seobject.py:1743 + msgid "Could not list booleans" + msgstr "" + +-#: ../semanage/seobject.py:1747 ++#: ../semanage/seobject.py:1762 + msgid "unknown" + msgstr "" + +-#: ../semanage/seobject.py:1750 ++#: ../semanage/seobject.py:1765 + msgid "off" + msgstr "" + +-#: ../semanage/seobject.py:1750 ++#: ../semanage/seobject.py:1765 + msgid "on" + msgstr "" + +-#: ../semanage/seobject.py:1759 ++#: ../semanage/seobject.py:1774 + msgid "SELinux boolean" + msgstr "" + +-#: ../semanage/seobject.py:1759 ../gui/polgen.glade:3207 ++#: ../semanage/seobject.py:1774 ../gui/polgen.glade:3228 + #: ../gui/polgengui.py:169 + msgid "Description" + msgstr "" +@@ -938,7 +939,7 @@ + + #: ../newrole/newrole.c:556 ../newrole/newrole.c:634 + #, c-format +-msgid "Error initing capabilities, aborting.\n" ++msgid "Error initializing capabilities, aborting.\n" + msgstr "" + + #: ../newrole/newrole.c:564 ../newrole/newrole.c:640 +@@ -1208,76 +1209,76 @@ + msgid "Can not combine +/- with other types of categories" + msgstr "" + +-#: ../scripts/chcat:317 ++#: ../scripts/chcat:319 + msgid "Can not have multiple sensitivities" + msgstr "" + +-#: ../scripts/chcat:323 ++#: ../scripts/chcat:325 + #, c-format + msgid "Usage %s CATEGORY File ..." + msgstr "" + +-#: ../scripts/chcat:324 ++#: ../scripts/chcat:326 + #, c-format + msgid "Usage %s -l CATEGORY user ..." + msgstr "" + +-#: ../scripts/chcat:325 ++#: ../scripts/chcat:327 + #, c-format + msgid "Usage %s [[+|-]CATEGORY],...]q File ..." + msgstr "" + +-#: ../scripts/chcat:326 ++#: ../scripts/chcat:328 + #, c-format + msgid "Usage %s -l [[+|-]CATEGORY],...]q user ..." + msgstr "" + +-#: ../scripts/chcat:327 ++#: ../scripts/chcat:329 + #, c-format + msgid "Usage %s -d File ..." + msgstr "" + +-#: ../scripts/chcat:328 ++#: ../scripts/chcat:330 + #, c-format + msgid "Usage %s -l -d user ..." + msgstr "" + +-#: ../scripts/chcat:329 ++#: ../scripts/chcat:331 + #, c-format + msgid "Usage %s -L" + msgstr "" + +-#: ../scripts/chcat:330 ++#: ../scripts/chcat:332 + #, c-format + msgid "Usage %s -L -l user" + msgstr "" + +-#: ../scripts/chcat:331 ++#: ../scripts/chcat:333 + msgid "Use -- to end option list. For example" + msgstr "" + +-#: ../scripts/chcat:332 ++#: ../scripts/chcat:334 + msgid "chcat -- -CompanyConfidential /docs/businessplan.odt" + msgstr "" + +-#: ../scripts/chcat:333 ++#: ../scripts/chcat:335 + msgid "chcat -l +CompanyConfidential juser" + msgstr "" + +-#: ../scripts/chcat:397 ++#: ../scripts/chcat:399 + #, c-format + msgid "Options Error %s " + msgstr "" + +-#: ../gui/booleansPage.py:184 ++#: ../gui/booleansPage.py:186 + msgid "Boolean" + msgstr "" + +-#: ../gui/booleansPage.py:231 ../gui/semanagePage.py:163 ++#: ../gui/booleansPage.py:241 ../gui/semanagePage.py:162 + msgid "all" + msgstr "" + +-#: ../gui/booleansPage.py:233 ../gui/semanagePage.py:165 ++#: ../gui/booleansPage.py:243 ../gui/semanagePage.py:164 + #: ../gui/system-config-selinux.glade:1808 + #: ../gui/system-config-selinux.glade:2030 + #: ../gui/system-config-selinux.glade:2830 +@@ -1397,7 +1398,7 @@ + msgid "Applications" + msgstr "" + +-#: ../gui/polgen.glade:258 ++#: ../gui/polgen.glade:258 ../gui/polgen.glade:278 + msgid "" + "Standard Init Daemon are daemons started on boot via init scripts. Usually " + "requires a script in /etc/rc.d/init.d" +@@ -1407,300 +1408,304 @@ + msgid "Standard Init Daemon" + msgstr "" + +-#: ../gui/polgen.glade:278 ++#: ../gui/polgen.glade:280 ++msgid "DBUS System Daemon" ++msgstr "" ++ ++#: ../gui/polgen.glade:299 + msgid "Internet Services Daemon are daemons started by xinetd" + msgstr "" + +-#: ../gui/polgen.glade:280 ++#: ../gui/polgen.glade:301 + msgid "Internet Services Daemon (inetd)" + msgstr "" + +-#: ../gui/polgen.glade:299 ++#: ../gui/polgen.glade:320 + msgid "" + "Web Applications/Script (CGI) CGI scripts started by the web server (apache)" + msgstr "" + +-#: ../gui/polgen.glade:301 ++#: ../gui/polgen.glade:322 + msgid "Web Application/Script (CGI)" + msgstr "" + +-#: ../gui/polgen.glade:320 ++#: ../gui/polgen.glade:341 + msgid "" + "User Application are any application that you would like to confine that is " + "started by a user" + msgstr "" + +-#: ../gui/polgen.glade:322 ++#: ../gui/polgen.glade:343 + msgid "User Application" + msgstr "" + +-#: ../gui/polgen.glade:368 ++#: ../gui/polgen.glade:389 + msgid "Login Users" + msgstr "" + +-#: ../gui/polgen.glade:430 ++#: ../gui/polgen.glade:451 + msgid "Modify an existing login user record." + msgstr "" + +-#: ../gui/polgen.glade:432 ++#: ../gui/polgen.glade:453 + msgid "Existing User Roles" + msgstr "" + +-#: ../gui/polgen.glade:451 ++#: ../gui/polgen.glade:472 + msgid "" + "This user will login to a machine only via a terminal or remote login. By " + "default this user will have no setuid, no networking, no su, no sudo." + msgstr "" + +-#: ../gui/polgen.glade:453 ++#: ../gui/polgen.glade:474 + msgid "Minimal Terminal User Role" + msgstr "" + +-#: ../gui/polgen.glade:472 ++#: ../gui/polgen.glade:493 + msgid "" + "This user can login to a machine via X or terminal. By default this user " + "will have no setuid, no networking, no sudo, no su" + msgstr "" + +-#: ../gui/polgen.glade:474 ++#: ../gui/polgen.glade:495 + msgid "Minimal X Windows User Role" + msgstr "" + +-#: ../gui/polgen.glade:493 ++#: ../gui/polgen.glade:514 + msgid "" + "User with full networking, no setuid applications without transition, no " + "sudo, no su." + msgstr "" + +-#: ../gui/polgen.glade:495 ++#: ../gui/polgen.glade:516 + msgid "User Role" + msgstr "" + +-#: ../gui/polgen.glade:514 ++#: ../gui/polgen.glade:535 + msgid "" + "User with full networking, no setuid applications without transition, no su, " + "can sudo to Root Administration Roles" + msgstr "" + +-#: ../gui/polgen.glade:516 ++#: ../gui/polgen.glade:537 + msgid "Admin User Role" + msgstr "" + +-#: ../gui/polgen.glade:562 ++#: ../gui/polgen.glade:583 + msgid "Root Users" + msgstr "" + +-#: ../gui/polgen.glade:624 ++#: ../gui/polgen.glade:645 + msgid "" + "Select Root Administrator User Role, if this user will be used to administer " + "the machine while running as root. This user will not be able to login to " + "the system directly." + msgstr "" + +-#: ../gui/polgen.glade:626 ++#: ../gui/polgen.glade:647 + msgid "Root Admin User Role" + msgstr "" + +-#: ../gui/polgen.glade:711 ++#: ../gui/polgen.glade:732 + msgid "Enter name of application or user role to be confined" + msgstr "" + +-#: ../gui/polgen.glade:732 ../gui/polgengui.py:167 ++#: ../gui/polgen.glade:753 ../gui/polgengui.py:167 + msgid "Name" + msgstr "" + +-#: ../gui/polgen.glade:760 ++#: ../gui/polgen.glade:781 + msgid "Enter complete path for executable to be confined." + msgstr "" + +-#: ../gui/polgen.glade:783 ../gui/polgen.glade:903 ../gui/polgen.glade:2906 ++#: ../gui/polgen.glade:804 ../gui/polgen.glade:924 ../gui/polgen.glade:2927 + msgid "..." + msgstr "" + +-#: ../gui/polgen.glade:802 ++#: ../gui/polgen.glade:823 + msgid "Enter unique name for the confined application or user role." + msgstr "" + +-#: ../gui/polgen.glade:824 ++#: ../gui/polgen.glade:845 + msgid "Executable" + msgstr "" + +-#: ../gui/polgen.glade:852 ++#: ../gui/polgen.glade:873 + msgid "Init script" + msgstr "" + +-#: ../gui/polgen.glade:880 ++#: ../gui/polgen.glade:901 + msgid "" + "Enter complete path to init script used to start the confined application." + msgstr "" + +-#: ../gui/polgen.glade:960 ++#: ../gui/polgen.glade:981 + msgid "Select user roles that you want to customize" + msgstr "" + +-#: ../gui/polgen.glade:981 ../gui/polgen.glade:1129 ++#: ../gui/polgen.glade:1002 ../gui/polgen.glade:1150 + msgid "Select the user roles that will transiton to this applications domains." + msgstr "" + +-#: ../gui/polgen.glade:1034 ++#: ../gui/polgen.glade:1055 + msgid "Select additional domains to which this user role will transition" + msgstr "" + +-#: ../gui/polgen.glade:1055 ++#: ../gui/polgen.glade:1076 + msgid "" + "Select the applications domains that you would like this user role to " + "transition to." + msgstr "" + +-#: ../gui/polgen.glade:1108 ++#: ../gui/polgen.glade:1129 + msgid "Select user roles that will transition to this domain" + msgstr "" + +-#: ../gui/polgen.glade:1182 ++#: ../gui/polgen.glade:1203 + msgid "Select additional domains that this user role will administer" + msgstr "" + +-#: ../gui/polgen.glade:1203 ../gui/polgen.glade:1277 ++#: ../gui/polgen.glade:1224 ../gui/polgen.glade:1298 + msgid "Select the domains that you would like this user administer." + msgstr "" + +-#: ../gui/polgen.glade:1256 ++#: ../gui/polgen.glade:1277 + msgid "Select additional roles for this user" + msgstr "" + +-#: ../gui/polgen.glade:1330 ++#: ../gui/polgen.glade:1351 + msgid "Enter network ports that application/user role listens to" + msgstr "" + +-#: ../gui/polgen.glade:1348 ../gui/polgen.glade:1831 ++#: ../gui/polgen.glade:1369 ../gui/polgen.glade:1852 + msgid "TCP Ports" + msgstr "" + +-#: ../gui/polgen.glade:1416 ../gui/polgen.glade:1636 ++#: ../gui/polgen.glade:1437 ../gui/polgen.glade:1657 + msgid "Allows confined application/user role to bind to any udp port" + msgstr "" + +-#: ../gui/polgen.glade:1418 ../gui/polgen.glade:1638 ../gui/polgen.glade:1894 +-#: ../gui/polgen.glade:2047 ++#: ../gui/polgen.glade:1439 ../gui/polgen.glade:1659 ../gui/polgen.glade:1915 ++#: ../gui/polgen.glade:2068 + msgid "All" + msgstr "" + +-#: ../gui/polgen.glade:1436 ../gui/polgen.glade:1656 ++#: ../gui/polgen.glade:1457 ../gui/polgen.glade:1677 + msgid "" + "Allow application/user role to call bindresvport with 0. Binding to port 600-" + "1024" + msgstr "" + +-#: ../gui/polgen.glade:1438 ../gui/polgen.glade:1658 ++#: ../gui/polgen.glade:1459 ../gui/polgen.glade:1679 + msgid "600-1024" + msgstr "" + +-#: ../gui/polgen.glade:1456 ../gui/polgen.glade:1676 ++#: ../gui/polgen.glade:1477 ../gui/polgen.glade:1697 + msgid "" + "Enter a comma separated list of udp ports or ranges of ports that " + "application/user role binds to. Example: 612, 650-660" + msgstr "" + +-#: ../gui/polgen.glade:1458 ../gui/polgen.glade:1678 ++#: ../gui/polgen.glade:1479 ../gui/polgen.glade:1699 + msgid "Unreserved Ports (>1024)" + msgstr "" + +-#: ../gui/polgen.glade:1489 ../gui/polgen.glade:1709 ../gui/polgen.glade:1912 +-#: ../gui/polgen.glade:2065 ++#: ../gui/polgen.glade:1510 ../gui/polgen.glade:1730 ../gui/polgen.glade:1933 ++#: ../gui/polgen.glade:2086 + msgid "Select Ports" + msgstr "" + +-#: ../gui/polgen.glade:1514 ../gui/polgen.glade:1734 ++#: ../gui/polgen.glade:1535 ../gui/polgen.glade:1755 + msgid "Allows application/user role to bind to any udp ports > 1024" + msgstr "" + +-#: ../gui/polgen.glade:1568 ../gui/polgen.glade:1984 ++#: ../gui/polgen.glade:1589 ../gui/polgen.glade:2005 + msgid "UDP Ports" + msgstr "" + +-#: ../gui/polgen.glade:1813 ++#: ../gui/polgen.glade:1834 + msgid "Enter network ports that application/user role connects to" + msgstr "" + +-#: ../gui/polgen.glade:1937 ++#: ../gui/polgen.glade:1958 + msgid "" + "Enter a comma separated list of tcp ports or ranges of ports that " + "application/user role connects to. Example: 612, 650-660" + msgstr "" + +-#: ../gui/polgen.glade:2090 ++#: ../gui/polgen.glade:2111 + msgid "" + "Enter a comma separated list of udp ports or ranges of ports that " + "application/user role connects to. Example: 612, 650-660" + msgstr "" + +-#: ../gui/polgen.glade:2162 ++#: ../gui/polgen.glade:2183 + msgid "Select common application traits" + msgstr "" + +-#: ../gui/polgen.glade:2181 ++#: ../gui/polgen.glade:2202 + msgid "Writes syslog messages\t" + msgstr "" + +-#: ../gui/polgen.glade:2200 ++#: ../gui/polgen.glade:2221 + msgid "Create/Manipulate temporary files in /tmp" + msgstr "" + +-#: ../gui/polgen.glade:2219 ++#: ../gui/polgen.glade:2240 + msgid "Uses Pam for authentication" + msgstr "" + +-#: ../gui/polgen.glade:2238 ++#: ../gui/polgen.glade:2259 + msgid "Uses nsswitch or getpw* calls" + msgstr "" + +-#: ../gui/polgen.glade:2257 ++#: ../gui/polgen.glade:2278 + msgid "Uses dbus" + msgstr "" + +-#: ../gui/polgen.glade:2276 ++#: ../gui/polgen.glade:2297 + msgid "Sends audit messages" + msgstr "" + +-#: ../gui/polgen.glade:2295 ++#: ../gui/polgen.glade:2316 + msgid "Interacts with the terminal" + msgstr "" + +-#: ../gui/polgen.glade:2314 ++#: ../gui/polgen.glade:2335 + msgid "Sends email" + msgstr "" + +-#: ../gui/polgen.glade:2370 ++#: ../gui/polgen.glade:2391 + msgid "Select files/directories that the application manages" + msgstr "" + +-#: ../gui/polgen.glade:2586 ++#: ../gui/polgen.glade:2607 + msgid "" + "Add Files/Directories that application will need to \"Write\" to. Pid Files, " + "Log Files, /var/lib Files ..." + msgstr "" + +-#: ../gui/polgen.glade:2646 ++#: ../gui/polgen.glade:2667 + msgid "Select booleans that the application uses" + msgstr "" + +-#: ../gui/polgen.glade:2783 ++#: ../gui/polgen.glade:2804 + msgid "Add/Remove booleans used for this confined application/user" + msgstr "" + +-#: ../gui/polgen.glade:2843 ++#: ../gui/polgen.glade:2864 + msgid "Select directory to generate policy in" + msgstr "" + +-#: ../gui/polgen.glade:2861 ++#: ../gui/polgen.glade:2882 + msgid "Policy Directory" + msgstr "" + +-#: ../gui/polgen.glade:2960 ../gui/polgen.glade:3003 ++#: ../gui/polgen.glade:2981 ../gui/polgen.glade:3024 + msgid "Generated Policy Files" + msgstr "" + +-#: ../gui/polgen.glade:2961 ++#: ../gui/polgen.glade:2982 + msgid "" + "This tool will generate the following: \n" + "Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n" +@@ -1712,7 +1717,7 @@ + "Use audit2allow -R to generate additional rules for the te file.\n" + msgstr "" + +-#: ../gui/polgen.glade:3004 ++#: ../gui/polgen.glade:3025 + msgid "" + "This tool will generate the following: \n" + "Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n" +@@ -1723,11 +1728,11 @@ + "Use audit2allow -R to generate additional rules for the te file.\n" + msgstr "" + +-#: ../gui/polgen.glade:3106 ++#: ../gui/polgen.glade:3127 + msgid "Add Booleans Dialog" + msgstr "" + +-#: ../gui/polgen.glade:3179 ++#: ../gui/polgen.glade:3200 + msgid "Boolean Name" + msgstr "" + +@@ -1748,102 +1753,102 @@ + msgid "%s must be a directory" + msgstr "" + +-#: ../gui/polgengui.py:328 ../gui/polgengui.py:595 ++#: ../gui/polgengui.py:328 ../gui/polgengui.py:598 + msgid "You must select a user" + msgstr "" + +-#: ../gui/polgengui.py:451 ++#: ../gui/polgengui.py:453 + msgid "Select executable file to be confined." + msgstr "" + +-#: ../gui/polgengui.py:462 ++#: ../gui/polgengui.py:464 + msgid "Select init script file to be confined." + msgstr "" + +-#: ../gui/polgengui.py:472 ++#: ../gui/polgengui.py:474 + msgid "Select file(s) that confined application creates or writes" + msgstr "" + +-#: ../gui/polgengui.py:479 ++#: ../gui/polgengui.py:481 + msgid "Select directory(s) that the confined application owns and writes into" + msgstr "" + +-#: ../gui/polgengui.py:538 ++#: ../gui/polgengui.py:541 + msgid "Select directory to generate policy files in" + msgstr "" + +-#: ../gui/polgengui.py:551 ++#: ../gui/polgengui.py:554 + #, python-format + msgid "" + "Type %s_t already defined in current policy.\n" + "Do you want to continue?" + msgstr "" + +-#: ../gui/polgengui.py:551 ../gui/polgengui.py:555 ++#: ../gui/polgengui.py:554 ../gui/polgengui.py:558 + msgid "Verify Name" + msgstr "" + +-#: ../gui/polgengui.py:555 ++#: ../gui/polgengui.py:558 + #, python-format + msgid "" + "Module %s.pp already loaded in current policy.\n" + "Do you want to continue?" + msgstr "" + +-#: ../gui/polgengui.py:601 ++#: ../gui/polgengui.py:604 + msgid "You must enter a name" + msgstr "" + +-#: ../gui/polgengui.py:607 ++#: ../gui/polgengui.py:610 + msgid "You must enter a executable" + msgstr "" + +-#: ../gui/polgengui.py:611 ../gui/system-config-selinux.py:174 ++#: ../gui/polgengui.py:614 ../gui/system-config-selinux.py:176 + msgid "Configue SELinux" + msgstr "" + +-#: ../gui/polgen.py:163 ++#: ../gui/polgen.py:174 + #, python-format + msgid "Ports must be numbers or ranges of numbers from 1 to %d " + msgstr "" + +-#: ../gui/polgen.py:192 ++#: ../gui/polgen.py:204 + msgid "You must enter a name for your confined process/user" + msgstr "" + +-#: ../gui/polgen.py:270 ++#: ../gui/polgen.py:282 + msgid "USER Types are not allowed executables" + msgstr "" + +-#: ../gui/polgen.py:276 ++#: ../gui/polgen.py:288 + msgid "Only DAEMON apps can use an init script" + msgstr "" + +-#: ../gui/polgen.py:294 ++#: ../gui/polgen.py:306 + msgid "use_syslog must be a boolean value " + msgstr "" + +-#: ../gui/polgen.py:315 ++#: ../gui/polgen.py:327 + msgid "USER Types automatically get a tmp type" + msgstr "" + +-#: ../gui/polgen.py:711 ++#: ../gui/polgen.py:729 + msgid "You must enter the executable path for your confined process" + msgstr "" + +-#: ../gui/polgen.py:830 ++#: ../gui/polgen.py:848 + msgid "Type Enforcement file" + msgstr "" + +-#: ../gui/polgen.py:831 ++#: ../gui/polgen.py:849 + msgid "Interface file" + msgstr "" + +-#: ../gui/polgen.py:832 ++#: ../gui/polgen.py:850 + msgid "File Contexts file" + msgstr "" + +-#: ../gui/polgen.py:833 ++#: ../gui/polgen.py:851 + msgid "Setup Script" + msgstr "" + +@@ -2999,16 +3004,16 @@ + msgid "Add %s" + msgstr "" + +-#: ../gui/semanagePage.py:149 ++#: ../gui/semanagePage.py:148 + #, python-format + msgid "Modify %s" + msgstr "" + +-#: ../gui/statusPage.py:69 ++#: ../gui/statusPage.py:69 ../gui/system-config-selinux.glade:3210 + msgid "Permissive" + msgstr "" + +-#: ../gui/statusPage.py:70 ++#: ../gui/statusPage.py:70 ../gui/system-config-selinux.glade:3228 + msgid "Enforcing" + msgstr "" + +@@ -3069,12 +3074,6 @@ + msgid "SELinux Type" + msgstr "" + +-#: ../gui/system-config-selinux.glade:440 +-msgid "" +-"tcp\n" +-"udp" +-msgstr "" +- + #: ../gui/system-config-selinux.glade:622 + msgid "" + "SELinux MLS/MCS\n" +@@ -3193,6 +3192,7 @@ + #: ../gui/system-config-selinux.glade:2618 + #: ../gui/system-config-selinux.glade:2860 + #: ../gui/system-config-selinux.glade:3084 ++#: ../gui/system-config-selinux.glade:3258 + msgid "Filter" + msgstr "" + +@@ -3286,10 +3286,12 @@ + msgstr "" + + #: ../gui/system-config-selinux.glade:3001 ++#: ../gui/system-config-selinux.glade:3209 + msgid "Load policy module" + msgstr "" + + #: ../gui/system-config-selinux.glade:3017 ++#: ../gui/system-config-selinux.glade:3227 + msgid "Remove loadable policy module" + msgstr "" + +@@ -3303,6 +3305,10 @@ + msgid "label44" + msgstr "" + ++#: ../gui/system-config-selinux.glade:3346 ++msgid "label59" ++msgstr "" ++ + #: ../gui/translationsPage.py:53 + msgid "Sensitvity Level" + msgstr "" +diff --exclude-from=exclude -N -u -r nsapolicycoreutils/po/ar.po policycoreutils-2.0.61/po/ar.po +--- nsapolicycoreutils/po/ar.po 2008-09-22 13:25:06.000000000 -0400 ++++ policycoreutils-2.0.61/po/ar.po 2009-01-20 09:33:29.000000000 -0500 +@@ -8,7 +8,7 @@ + msgstr "" + "Project-Id-Version: PACKAGE VERSION\n" + "Report-Msgid-Bugs-To: \n" +-"POT-Creation-Date: 2008-09-09 13:24-0400\n" ++"POT-Creation-Date: 2009-01-20 09:33-0500\n" + "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" + "Last-Translator: FULL NAME \n" + "Language-Team: LANGUAGE \n" +@@ -85,818 +85,819 @@ + msgid "To make this policy package active, execute:" + msgstr "" + +-#: ../semanage/seobject.py:49 ++#: ../semanage/seobject.py:48 + msgid "Could not create semanage handle" + msgstr "" + +-#: ../semanage/seobject.py:56 ++#: ../semanage/seobject.py:55 + msgid "SELinux policy is not managed or store cannot be accessed." + msgstr "" + +-#: ../semanage/seobject.py:61 ++#: ../semanage/seobject.py:60 + msgid "Cannot read policy store." + msgstr "" + +-#: ../semanage/seobject.py:66 ++#: ../semanage/seobject.py:65 + msgid "Could not establish semanage connection" + msgstr "" + +-#: ../semanage/seobject.py:137 ../semanage/seobject.py:141 +-msgid "global" ++#: ../semanage/seobject.py:70 ++msgid "Could not test MLS enabled status" + msgstr "" + +-#: ../semanage/seobject.py:196 +-msgid "translations not supported on non-MLS machines" ++#: ../semanage/seobject.py:142 ../semanage/seobject.py:146 ++msgid "global" + msgstr "" + +-#: ../semanage/seobject.py:203 ++#: ../semanage/seobject.py:206 + #, python-format + msgid "Unable to open %s: translations not supported on non-MLS machines: %s" + msgstr "" + +-#: ../semanage/seobject.py:236 ++#: ../semanage/seobject.py:239 + msgid "Level" + msgstr "" + +-#: ../semanage/seobject.py:236 ../gui/system-config-selinux.glade:651 ++#: ../semanage/seobject.py:239 ../gui/system-config-selinux.glade:651 + #: ../gui/translationsPage.py:43 ../gui/translationsPage.py:59 + msgid "Translation" + msgstr "" + +-#: ../semanage/seobject.py:244 ../semanage/seobject.py:258 ++#: ../semanage/seobject.py:247 ../semanage/seobject.py:261 + #, python-format + msgid "Translations can not contain spaces '%s' " + msgstr "" + +-#: ../semanage/seobject.py:247 ++#: ../semanage/seobject.py:250 + #, python-format + msgid "Invalid Level '%s' " + msgstr "" + +-#: ../semanage/seobject.py:250 ++#: ../semanage/seobject.py:253 + #, python-format + msgid "%s already defined in translations" + msgstr "" + +-#: ../semanage/seobject.py:262 ++#: ../semanage/seobject.py:265 + #, python-format + msgid "%s not defined in translations" + msgstr "" + +-#: ../semanage/seobject.py:288 ++#: ../semanage/seobject.py:291 + msgid "Not yet implemented" + msgstr "" + +-#: ../semanage/seobject.py:295 ++#: ../semanage/seobject.py:298 + msgid "Could not start semanage transaction" + msgstr "" + +-#: ../semanage/seobject.py:301 ++#: ../semanage/seobject.py:304 + msgid "Could not commit semanage transaction" + msgstr "" + +-#: ../semanage/seobject.py:311 ++#: ../semanage/seobject.py:314 + msgid "Could not list SELinux modules" + msgstr "" + +-#: ../semanage/seobject.py:322 ++#: ../semanage/seobject.py:325 + msgid "Permissive Types" + msgstr "" + +-#: ../semanage/seobject.py:352 ++#: ../semanage/seobject.py:355 + #, python-format + msgid "Could not set permissive domain %s (module installation failed)" + msgstr "" + +-#: ../semanage/seobject.py:366 ++#: ../semanage/seobject.py:369 + #, python-format + msgid "Could not remove permissive domain %s (remove failed)" + msgstr "" + +-#: ../semanage/seobject.py:392 ../semanage/seobject.py:452 +-#: ../semanage/seobject.py:498 ../semanage/seobject.py:580 +-#: ../semanage/seobject.py:647 ../semanage/seobject.py:705 +-#: ../semanage/seobject.py:915 ../semanage/seobject.py:1482 +-#: ../semanage/seobject.py:1542 ../semanage/seobject.py:1554 +-#: ../semanage/seobject.py:1633 ../semanage/seobject.py:1684 ++#: ../semanage/seobject.py:395 ../semanage/seobject.py:455 ++#: ../semanage/seobject.py:501 ../semanage/seobject.py:583 ++#: ../semanage/seobject.py:650 ../semanage/seobject.py:708 ++#: ../semanage/seobject.py:918 ../semanage/seobject.py:1491 ++#: ../semanage/seobject.py:1555 ../semanage/seobject.py:1567 ++#: ../semanage/seobject.py:1648 ../semanage/seobject.py:1699 + #, python-format + msgid "Could not create a key for %s" + msgstr "" + +-#: ../semanage/seobject.py:396 ../semanage/seobject.py:456 +-#: ../semanage/seobject.py:502 ../semanage/seobject.py:508 ++#: ../semanage/seobject.py:399 ../semanage/seobject.py:459 ++#: ../semanage/seobject.py:505 ../semanage/seobject.py:511 + #, python-format + msgid "Could not check if login mapping for %s is defined" + msgstr "" + +-#: ../semanage/seobject.py:398 ++#: ../semanage/seobject.py:401 + #, python-format + msgid "Login mapping for %s is already defined" + msgstr "" + +-#: ../semanage/seobject.py:403 ++#: ../semanage/seobject.py:406 + #, python-format + msgid "Linux Group %s does not exist" + msgstr "" + +-#: ../semanage/seobject.py:408 ++#: ../semanage/seobject.py:411 + #, python-format + msgid "Linux User %s does not exist" + msgstr "" + +-#: ../semanage/seobject.py:412 ++#: ../semanage/seobject.py:415 + #, python-format + msgid "Could not create login mapping for %s" + msgstr "" + +-#: ../semanage/seobject.py:416 ../semanage/seobject.py:594 ++#: ../semanage/seobject.py:419 ../semanage/seobject.py:597 + #, python-format + msgid "Could not set name for %s" + msgstr "" + +-#: ../semanage/seobject.py:421 ../semanage/seobject.py:604 ++#: ../semanage/seobject.py:424 ../semanage/seobject.py:607 + #, python-format + msgid "Could not set MLS range for %s" + msgstr "" + +-#: ../semanage/seobject.py:425 ++#: ../semanage/seobject.py:428 + #, python-format + msgid "Could not set SELinux user for %s" + msgstr "" + +-#: ../semanage/seobject.py:429 ++#: ../semanage/seobject.py:432 + #, python-format + msgid "Could not add login mapping for %s" + msgstr "" + +-#: ../semanage/seobject.py:441 ../semanage/seobject.py:444 ++#: ../semanage/seobject.py:444 ../semanage/seobject.py:447 + msgid "add SELinux user mapping" + msgstr "" + +-#: ../semanage/seobject.py:448 ++#: ../semanage/seobject.py:451 + msgid "Requires seuser or serange" + msgstr "" + +-#: ../semanage/seobject.py:458 ../semanage/seobject.py:504 ++#: ../semanage/seobject.py:461 ../semanage/seobject.py:507 + #, python-format + msgid "Login mapping for %s is not defined" + msgstr "" + +-#: ../semanage/seobject.py:462 ++#: ../semanage/seobject.py:465 + #, python-format + msgid "Could not query seuser for %s" + msgstr "" + +-#: ../semanage/seobject.py:478 ++#: ../semanage/seobject.py:481 + #, python-format + msgid "Could not modify login mapping for %s" + msgstr "" + +-#: ../semanage/seobject.py:510 ++#: ../semanage/seobject.py:513 + #, python-format + msgid "Login mapping for %s is defined in policy, cannot be deleted" + msgstr "" + +-#: ../semanage/seobject.py:514 ++#: ../semanage/seobject.py:517 + #, python-format + msgid "Could not delete login mapping for %s" + msgstr "" + +-#: ../semanage/seobject.py:537 ++#: ../semanage/seobject.py:540 + msgid "Could not list login mappings" + msgstr "" + +-#: ../semanage/seobject.py:550 ../semanage/seobject.py:555 ++#: ../semanage/seobject.py:553 ../semanage/seobject.py:558 + #: ../gui/system-config-selinux.glade:100 + msgid "Login Name" + msgstr "" + +-#: ../semanage/seobject.py:550 ../semanage/seobject.py:555 +-#: ../semanage/seobject.py:764 ../semanage/seobject.py:769 ++#: ../semanage/seobject.py:553 ../semanage/seobject.py:558 ++#: ../semanage/seobject.py:767 ../semanage/seobject.py:772 + #: ../gui/system-config-selinux.glade:128 + #: ../gui/system-config-selinux.glade:1107 + msgid "SELinux User" + msgstr "" + +-#: ../semanage/seobject.py:550 ../gui/system-config-selinux.glade:156 ++#: ../semanage/seobject.py:553 ../gui/system-config-selinux.glade:156 + #: ../gui/system-config-selinux.glade:1135 + msgid "MLS/MCS Range" + msgstr "" + +-#: ../semanage/seobject.py:576 ++#: ../semanage/seobject.py:579 + #, python-format + msgid "You must add at least one role for %s" + msgstr "" + +-#: ../semanage/seobject.py:584 ../semanage/seobject.py:651 +-#: ../semanage/seobject.py:709 ../semanage/seobject.py:715 ++#: ../semanage/seobject.py:587 ../semanage/seobject.py:654 ++#: ../semanage/seobject.py:712 ../semanage/seobject.py:718 + #, python-format + msgid "Could not check if SELinux user %s is defined" + msgstr "" + +-#: ../semanage/seobject.py:586 ++#: ../semanage/seobject.py:589 + #, python-format + msgid "SELinux user %s is already defined" + msgstr "" + +-#: ../semanage/seobject.py:590 ++#: ../semanage/seobject.py:593 + #, python-format + msgid "Could not create SELinux user for %s" + msgstr "" + +-#: ../semanage/seobject.py:599 ++#: ../semanage/seobject.py:602 + #, python-format + msgid "Could not add role %s for %s" + msgstr "" + +-#: ../semanage/seobject.py:608 ++#: ../semanage/seobject.py:611 + #, python-format + msgid "Could not set MLS level for %s" + msgstr "" + +-#: ../semanage/seobject.py:611 ++#: ../semanage/seobject.py:614 + #, python-format + msgid "Could not add prefix %s for %s" + msgstr "" + +-#: ../semanage/seobject.py:614 ++#: ../semanage/seobject.py:617 + #, python-format + msgid "Could not extract key for %s" + msgstr "" + +-#: ../semanage/seobject.py:618 ++#: ../semanage/seobject.py:621 + #, python-format + msgid "Could not add SELinux user %s" + msgstr "" + +-#: ../semanage/seobject.py:641 ++#: ../semanage/seobject.py:644 + msgid "Requires prefix, roles, level or range" + msgstr "" + +-#: ../semanage/seobject.py:643 ++#: ../semanage/seobject.py:646 + msgid "Requires prefix or roles" + msgstr "" + +-#: ../semanage/seobject.py:653 ../semanage/seobject.py:711 ++#: ../semanage/seobject.py:656 ../semanage/seobject.py:714 + #, python-format + msgid "SELinux user %s is not defined" + msgstr "" + +-#: ../semanage/seobject.py:657 ++#: ../semanage/seobject.py:660 + #, python-format + msgid "Could not query user for %s" + msgstr "" + +-#: ../semanage/seobject.py:684 ++#: ../semanage/seobject.py:687 + #, python-format + msgid "Could not modify SELinux user %s" + msgstr "" + +-#: ../semanage/seobject.py:717 ++#: ../semanage/seobject.py:720 + #, python-format + msgid "SELinux user %s is defined in policy, cannot be deleted" + msgstr "" + +-#: ../semanage/seobject.py:721 ++#: ../semanage/seobject.py:724 + #, python-format + msgid "Could not delete SELinux user %s" + msgstr "" + +-#: ../semanage/seobject.py:744 ++#: ../semanage/seobject.py:747 + msgid "Could not list SELinux users" + msgstr "" + +-#: ../semanage/seobject.py:750 ++#: ../semanage/seobject.py:753 + #, python-format + msgid "Could not list roles for user %s" + msgstr "" + +-#: ../semanage/seobject.py:763 ++#: ../semanage/seobject.py:766 + msgid "Labeling" + msgstr "" + +-#: ../semanage/seobject.py:763 ++#: ../semanage/seobject.py:766 + msgid "MLS/" + msgstr "" + +-#: ../semanage/seobject.py:764 ++#: ../semanage/seobject.py:767 + msgid "Prefix" + msgstr "" + +-#: ../semanage/seobject.py:764 ++#: ../semanage/seobject.py:767 + msgid "MCS Level" + msgstr "" + +-#: ../semanage/seobject.py:764 ++#: ../semanage/seobject.py:767 + msgid "MCS Range" + msgstr "" + +-#: ../semanage/seobject.py:764 ../semanage/seobject.py:769 ++#: ../semanage/seobject.py:767 ../semanage/seobject.py:772 + #: ../gui/system-config-selinux.glade:1184 ../gui/usersPage.py:59 + msgid "SELinux Roles" + msgstr "" + +-#: ../semanage/seobject.py:784 ++#: ../semanage/seobject.py:787 + msgid "Protocol udp or tcp is required" + msgstr "" + +-#: ../semanage/seobject.py:786 ++#: ../semanage/seobject.py:789 + msgid "Port is required" + msgstr "" + +-#: ../semanage/seobject.py:797 ++#: ../semanage/seobject.py:800 + #, python-format + msgid "Could not create a key for %s/%s" + msgstr "" + +-#: ../semanage/seobject.py:808 ++#: ../semanage/seobject.py:811 + msgid "Type is required" + msgstr "" + +-#: ../semanage/seobject.py:814 ../semanage/seobject.py:873 +-#: ../semanage/seobject.py:928 ../semanage/seobject.py:934 ++#: ../semanage/seobject.py:817 ../semanage/seobject.py:876 ++#: ../semanage/seobject.py:931 ../semanage/seobject.py:937 + #, python-format + msgid "Could not check if port %s/%s is defined" + msgstr "" + +-#: ../semanage/seobject.py:816 ++#: ../semanage/seobject.py:819 + #, python-format + msgid "Port %s/%s already defined" + msgstr "" + +-#: ../semanage/seobject.py:820 ++#: ../semanage/seobject.py:823 + #, python-format + msgid "Could not create port for %s/%s" + msgstr "" + +-#: ../semanage/seobject.py:826 ++#: ../semanage/seobject.py:829 + #, python-format + msgid "Could not create context for %s/%s" + msgstr "" + +-#: ../semanage/seobject.py:830 ++#: ../semanage/seobject.py:833 + #, python-format + msgid "Could not set user in port context for %s/%s" + msgstr "" + +-#: ../semanage/seobject.py:834 ++#: ../semanage/seobject.py:837 + #, python-format + msgid "Could not set role in port context for %s/%s" + msgstr "" + +-#: ../semanage/seobject.py:838 ++#: ../semanage/seobject.py:841 + #, python-format + msgid "Could not set type in port context for %s/%s" + msgstr "" + +-#: ../semanage/seobject.py:843 ++#: ../semanage/seobject.py:846 + #, python-format + msgid "Could not set mls fields in port context for %s/%s" + msgstr "" + +-#: ../semanage/seobject.py:847 ++#: ../semanage/seobject.py:850 + #, python-format + msgid "Could not set port context for %s/%s" + msgstr "" + +-#: ../semanage/seobject.py:851 ++#: ../semanage/seobject.py:854 + #, python-format + msgid "Could not add port %s/%s" + msgstr "" + +-#: ../semanage/seobject.py:865 ../semanage/seobject.py:1111 +-#: ../semanage/seobject.py:1299 ++#: ../semanage/seobject.py:868 ../semanage/seobject.py:1114 ++#: ../semanage/seobject.py:1302 + msgid "Requires setype or serange" + msgstr "" + +-#: ../semanage/seobject.py:867 ++#: ../semanage/seobject.py:870 + msgid "Requires setype" + msgstr "" + +-#: ../semanage/seobject.py:875 ../semanage/seobject.py:930 ++#: ../semanage/seobject.py:878 ../semanage/seobject.py:933 + #, python-format + msgid "Port %s/%s is not defined" + msgstr "" + +-#: ../semanage/seobject.py:879 ++#: ../semanage/seobject.py:882 + #, python-format + msgid "Could not query port %s/%s" + msgstr "" + +-#: ../semanage/seobject.py:890 ++#: ../semanage/seobject.py:893 + #, python-format + msgid "Could not modify port %s/%s" + msgstr "" + +-#: ../semanage/seobject.py:903 ++#: ../semanage/seobject.py:906 + msgid "Could not list the ports" + msgstr "" + +-#: ../semanage/seobject.py:919 ++#: ../semanage/seobject.py:922 + #, python-format + msgid "Could not delete the port %s" + msgstr "" + +-#: ../semanage/seobject.py:936 ++#: ../semanage/seobject.py:939 + #, python-format + msgid "Port %s/%s is defined in policy, cannot be deleted" + msgstr "" + +-#: ../semanage/seobject.py:940 ++#: ../semanage/seobject.py:943 + #, python-format + msgid "Could not delete port %s/%s" + msgstr "" + +-#: ../semanage/seobject.py:956 ../semanage/seobject.py:978 ++#: ../semanage/seobject.py:959 ../semanage/seobject.py:981 + msgid "Could not list ports" + msgstr "" + +-#: ../semanage/seobject.py:999 ++#: ../semanage/seobject.py:1002 + msgid "SELinux Port Type" + msgstr "" + +-#: ../semanage/seobject.py:999 ++#: ../semanage/seobject.py:1002 + msgid "Proto" + msgstr "" + +-#: ../semanage/seobject.py:999 ../gui/system-config-selinux.glade:335 ++#: ../semanage/seobject.py:1002 ../gui/system-config-selinux.glade:335 + msgid "Port Number" + msgstr "" + +-#: ../semanage/seobject.py:1016 ../semanage/seobject.py:1098 +-#: ../semanage/seobject.py:1148 ++#: ../semanage/seobject.py:1019 ../semanage/seobject.py:1101 ++#: ../semanage/seobject.py:1151 + msgid "Node Address is required" + msgstr "" + +-#: ../semanage/seobject.py:1019 ../semanage/seobject.py:1101 +-#: ../semanage/seobject.py:1151 ++#: ../semanage/seobject.py:1022 ../semanage/seobject.py:1104 ++#: ../semanage/seobject.py:1154 + msgid "Node Netmask is required" + msgstr "" + +-#: ../semanage/seobject.py:1026 ../semanage/seobject.py:1107 +-#: ../semanage/seobject.py:1158 ++#: ../semanage/seobject.py:1029 ../semanage/seobject.py:1110 ++#: ../semanage/seobject.py:1161 + msgid "Unknown or missing protocol" + msgstr "" + +-#: ../semanage/seobject.py:1036 ../semanage/seobject.py:1238 +-#: ../semanage/seobject.py:1427 ++#: ../semanage/seobject.py:1039 ../semanage/seobject.py:1241 ++#: ../semanage/seobject.py:1430 + msgid "SELinux Type is required" + msgstr "" + +-#: ../semanage/seobject.py:1040 ../semanage/seobject.py:1115 +-#: ../semanage/seobject.py:1162 ../semanage/seobject.py:1242 +-#: ../semanage/seobject.py:1303 ../semanage/seobject.py:1337 +-#: ../semanage/seobject.py:1431 ++#: ../semanage/seobject.py:1043 ../semanage/seobject.py:1118 ++#: ../semanage/seobject.py:1165 ../semanage/seobject.py:1245 ++#: ../semanage/seobject.py:1306 ../semanage/seobject.py:1340 ++#: ../semanage/seobject.py:1434 + #, python-format + msgid "Could not create key for %s" + msgstr "" + +-#: ../semanage/seobject.py:1042 ../semanage/seobject.py:1119 +-#: ../semanage/seobject.py:1166 ../semanage/seobject.py:1172 ++#: ../semanage/seobject.py:1045 ../semanage/seobject.py:1122 ++#: ../semanage/seobject.py:1169 ../semanage/seobject.py:1175 + #, python-format + msgid "Could not check if addr %s is defined" + msgstr "" + +-#: ../semanage/seobject.py:1046 ++#: ../semanage/seobject.py:1049 + #, python-format + msgid "Addr %s already defined" + msgstr "" + +-#: ../semanage/seobject.py:1050 ++#: ../semanage/seobject.py:1053 + #, python-format + msgid "Could not create addr for %s" + msgstr "" + +-#: ../semanage/seobject.py:1055 ../semanage/seobject.py:1257 +-#: ../semanage/seobject.py:1397 ++#: ../semanage/seobject.py:1058 ../semanage/seobject.py:1260 ++#: ../semanage/seobject.py:1400 + #, python-format + msgid "Could not create context for %s" + msgstr "" + +-#: ../semanage/seobject.py:1059 ++#: ../semanage/seobject.py:1062 + #, python-format + msgid "Could not set mask for %s" + msgstr "" + +-#: ../semanage/seobject.py:1064 ++#: ../semanage/seobject.py:1067 + #, python-format + msgid "Could not set user in addr context for %s" + msgstr "" + +-#: ../semanage/seobject.py:1068 ++#: ../semanage/seobject.py:1071 + #, python-format + msgid "Could not set role in addr context for %s" + msgstr "" + +-#: ../semanage/seobject.py:1072 ++#: ../semanage/seobject.py:1075 + #, python-format + msgid "Could not set type in addr context for %s" + msgstr "" + +-#: ../semanage/seobject.py:1077 ++#: ../semanage/seobject.py:1080 + #, python-format + msgid "Could not set mls fields in addr context for %s" + msgstr "" + +-#: ../semanage/seobject.py:1081 ++#: ../semanage/seobject.py:1084 + #, python-format + msgid "Could not set addr context for %s" + msgstr "" + +-#: ../semanage/seobject.py:1085 ++#: ../semanage/seobject.py:1088 + #, python-format + msgid "Could not add addr %s" + msgstr "" + +-#: ../semanage/seobject.py:1121 ../semanage/seobject.py:1168 ++#: ../semanage/seobject.py:1124 ../semanage/seobject.py:1171 + #, python-format + msgid "Addr %s is not defined" + msgstr "" + +-#: ../semanage/seobject.py:1125 ++#: ../semanage/seobject.py:1128 + #, python-format + msgid "Could not query addr %s" + msgstr "" + +-#: ../semanage/seobject.py:1136 ++#: ../semanage/seobject.py:1139 + #, python-format + msgid "Could not modify addr %s" + msgstr "" + +-#: ../semanage/seobject.py:1174 ++#: ../semanage/seobject.py:1177 + #, python-format + msgid "Addr %s is defined in policy, cannot be deleted" + msgstr "" + +-#: ../semanage/seobject.py:1178 ++#: ../semanage/seobject.py:1181 + #, python-format + msgid "Could not delete addr %s" + msgstr "" + +-#: ../semanage/seobject.py:1194 ++#: ../semanage/seobject.py:1197 + msgid "Could not list addrs" + msgstr "" + +-#: ../semanage/seobject.py:1246 ../semanage/seobject.py:1307 +-#: ../semanage/seobject.py:1341 ../semanage/seobject.py:1347 ++#: ../semanage/seobject.py:1249 ../semanage/seobject.py:1310 ++#: ../semanage/seobject.py:1344 ../semanage/seobject.py:1350 + #, python-format + msgid "Could not check if interface %s is defined" + msgstr "" + +-#: ../semanage/seobject.py:1248 ++#: ../semanage/seobject.py:1251 + #, python-format + msgid "Interface %s already defined" + msgstr "" + +-#: ../semanage/seobject.py:1252 ++#: ../semanage/seobject.py:1255 + #, python-format + msgid "Could not create interface for %s" + msgstr "" + +-#: ../semanage/seobject.py:1261 ++#: ../semanage/seobject.py:1264 + #, python-format + msgid "Could not set user in interface context for %s" + msgstr "" + +-#: ../semanage/seobject.py:1265 ++#: ../semanage/seobject.py:1268 + #, python-format + msgid "Could not set role in interface context for %s" + msgstr "" + +-#: ../semanage/seobject.py:1269 ++#: ../semanage/seobject.py:1272 + #, python-format + msgid "Could not set type in interface context for %s" + msgstr "" + +-#: ../semanage/seobject.py:1274 ++#: ../semanage/seobject.py:1277 + #, python-format + msgid "Could not set mls fields in interface context for %s" + msgstr "" + +-#: ../semanage/seobject.py:1278 ++#: ../semanage/seobject.py:1281 + #, python-format + msgid "Could not set interface context for %s" + msgstr "" + +-#: ../semanage/seobject.py:1282 ++#: ../semanage/seobject.py:1285 + #, python-format + msgid "Could not set message context for %s" + msgstr "" + +-#: ../semanage/seobject.py:1286 ++#: ../semanage/seobject.py:1289 + #, python-format + msgid "Could not add interface %s" + msgstr "" + +-#: ../semanage/seobject.py:1309 ../semanage/seobject.py:1343 ++#: ../semanage/seobject.py:1312 ../semanage/seobject.py:1346 + #, python-format + msgid "Interface %s is not defined" + msgstr "" + +-#: ../semanage/seobject.py:1313 ++#: ../semanage/seobject.py:1316 + #, python-format + msgid "Could not query interface %s" + msgstr "" + +-#: ../semanage/seobject.py:1324 ++#: ../semanage/seobject.py:1327 + #, python-format + msgid "Could not modify interface %s" + msgstr "" + +-#: ../semanage/seobject.py:1349 ++#: ../semanage/seobject.py:1352 + #, python-format + msgid "Interface %s is defined in policy, cannot be deleted" + msgstr "" + +-#: ../semanage/seobject.py:1353 ++#: ../semanage/seobject.py:1356 + #, python-format + msgid "Could not delete interface %s" + msgstr "" + +-#: ../semanage/seobject.py:1369 ++#: ../semanage/seobject.py:1372 + msgid "Could not list interfaces" + msgstr "" + +-#: ../semanage/seobject.py:1379 ++#: ../semanage/seobject.py:1382 + msgid "SELinux Interface" + msgstr "" + +-#: ../semanage/seobject.py:1379 ../semanage/seobject.py:1608 ++#: ../semanage/seobject.py:1382 ../semanage/seobject.py:1621 + msgid "Context" + msgstr "" + +-#: ../semanage/seobject.py:1403 ++#: ../semanage/seobject.py:1406 + #, python-format + msgid "Could not set user in file context for %s" + msgstr "" + +-#: ../semanage/seobject.py:1407 ++#: ../semanage/seobject.py:1410 + #, python-format + msgid "Could not set role in file context for %s" + msgstr "" + +-#: ../semanage/seobject.py:1412 ../semanage/seobject.py:1454 ++#: ../semanage/seobject.py:1415 ../semanage/seobject.py:1463 + #, python-format + msgid "Could not set mls fields in file context for %s" + msgstr "" + +-#: ../semanage/seobject.py:1418 ++#: ../semanage/seobject.py:1421 + msgid "Invalid file specification" + msgstr "" + +-#: ../semanage/seobject.py:1435 ../semanage/seobject.py:1486 +-#: ../semanage/seobject.py:1558 ../semanage/seobject.py:1562 ++#: ../semanage/seobject.py:1438 ../semanage/seobject.py:1443 ++#: ../semanage/seobject.py:1495 ../semanage/seobject.py:1571 ++#: ../semanage/seobject.py:1575 + #, python-format + msgid "Could not check if file context for %s is defined" + msgstr "" + +-#: ../semanage/seobject.py:1437 ++#: ../semanage/seobject.py:1446 + #, python-format + msgid "File context for %s already defined" + msgstr "" + +-#: ../semanage/seobject.py:1441 ++#: ../semanage/seobject.py:1450 + #, python-format + msgid "Could not create file context for %s" + msgstr "" + +-#: ../semanage/seobject.py:1449 ++#: ../semanage/seobject.py:1458 + #, python-format + msgid "Could not set type in file context for %s" + msgstr "" + +-#: ../semanage/seobject.py:1457 ../semanage/seobject.py:1510 +-#: ../semanage/seobject.py:1514 ++#: ../semanage/seobject.py:1466 ../semanage/seobject.py:1523 ++#: ../semanage/seobject.py:1527 + #, python-format + msgid "Could not set file context for %s" + msgstr "" + +-#: ../semanage/seobject.py:1463 ++#: ../semanage/seobject.py:1472 + #, python-format + msgid "Could not add file context for %s" + msgstr "" + +-#: ../semanage/seobject.py:1477 ++#: ../semanage/seobject.py:1486 + msgid "Requires setype, serange or seuser" + msgstr "" + +-#: ../semanage/seobject.py:1488 ../semanage/seobject.py:1566 ++#: ../semanage/seobject.py:1499 ../semanage/seobject.py:1579 + #, python-format + msgid "File context for %s is not defined" + msgstr "" + +-#: ../semanage/seobject.py:1492 ++#: ../semanage/seobject.py:1505 + #, python-format + msgid "Could not query file context for %s" + msgstr "" + +-#: ../semanage/seobject.py:1518 ++#: ../semanage/seobject.py:1531 + #, python-format + msgid "Could not modify file context for %s" + msgstr "" + +-#: ../semanage/seobject.py:1532 ++#: ../semanage/seobject.py:1545 + msgid "Could not list the file contexts" + msgstr "" + +-#: ../semanage/seobject.py:1546 ++#: ../semanage/seobject.py:1559 + #, python-format + msgid "Could not delete the file context %s" + msgstr "" + +-#: ../semanage/seobject.py:1564 ++#: ../semanage/seobject.py:1577 + #, python-format + msgid "File context for %s is defined in policy, cannot be deleted" + msgstr "" + +-#: ../semanage/seobject.py:1570 ++#: ../semanage/seobject.py:1583 + #, python-format + msgid "Could not delete file context for %s" + msgstr "" + +-#: ../semanage/seobject.py:1586 ++#: ../semanage/seobject.py:1598 + msgid "Could not list file contexts" + msgstr "" + +-#: ../semanage/seobject.py:1590 ++#: ../semanage/seobject.py:1602 + msgid "Could not list local file contexts" + msgstr "" + +-#: ../semanage/seobject.py:1608 ++#: ../semanage/seobject.py:1621 + msgid "SELinux fcontext" + msgstr "" + +-#: ../semanage/seobject.py:1608 ++#: ../semanage/seobject.py:1621 + msgid "type" + msgstr "" + +-#: ../semanage/seobject.py:1636 ../semanage/seobject.py:1687 +-#: ../semanage/seobject.py:1693 ++#: ../semanage/seobject.py:1651 ../semanage/seobject.py:1702 ++#: ../semanage/seobject.py:1708 + #, python-format + msgid "Could not check if boolean %s is defined" + msgstr "" + +-#: ../semanage/seobject.py:1638 ../semanage/seobject.py:1689 ++#: ../semanage/seobject.py:1653 ../semanage/seobject.py:1704 + #, python-format + msgid "Boolean %s is not defined" + msgstr "" + +-#: ../semanage/seobject.py:1642 ++#: ../semanage/seobject.py:1657 + #, python-format + msgid "Could not query file context %s" + msgstr "" + +-#: ../semanage/seobject.py:1647 ++#: ../semanage/seobject.py:1662 + #, python-format + msgid "You must specify one of the following values: %s" + msgstr "" + +-#: ../semanage/seobject.py:1651 ++#: ../semanage/seobject.py:1666 + #, python-format + msgid "Could not set active value of boolean %s" + msgstr "" + +-#: ../semanage/seobject.py:1654 ++#: ../semanage/seobject.py:1669 + #, python-format + msgid "Could not modify boolean %s" + msgstr "" + +-#: ../semanage/seobject.py:1672 ++#: ../semanage/seobject.py:1687 + #, python-format + msgid "Bad format %s: Record %s" + msgstr "" + +-#: ../semanage/seobject.py:1695 ++#: ../semanage/seobject.py:1710 + #, python-format + msgid "Boolean %s is defined in policy, cannot be deleted" + msgstr "" + +-#: ../semanage/seobject.py:1699 ++#: ../semanage/seobject.py:1714 + #, python-format + msgid "Could not delete boolean %s" + msgstr "" + +-#: ../semanage/seobject.py:1711 ../semanage/seobject.py:1728 ++#: ../semanage/seobject.py:1726 ../semanage/seobject.py:1743 + msgid "Could not list booleans" + msgstr "" + +-#: ../semanage/seobject.py:1747 ++#: ../semanage/seobject.py:1762 + msgid "unknown" + msgstr "" + +-#: ../semanage/seobject.py:1750 ++#: ../semanage/seobject.py:1765 + msgid "off" + msgstr "" + +-#: ../semanage/seobject.py:1750 ++#: ../semanage/seobject.py:1765 + msgid "on" + msgstr "" + +-#: ../semanage/seobject.py:1759 ++#: ../semanage/seobject.py:1774 + msgid "SELinux boolean" + msgstr "" + +-#: ../semanage/seobject.py:1759 ../gui/polgen.glade:3207 ++#: ../semanage/seobject.py:1774 ../gui/polgen.glade:3228 + #: ../gui/polgengui.py:169 + msgid "Description" + msgstr "" +@@ -938,7 +939,7 @@ + + #: ../newrole/newrole.c:556 ../newrole/newrole.c:634 + #, c-format +-msgid "Error initing capabilities, aborting.\n" ++msgid "Error initializing capabilities, aborting.\n" + msgstr "" + + #: ../newrole/newrole.c:564 ../newrole/newrole.c:640 +@@ -1208,76 +1209,76 @@ + msgid "Can not combine +/- with other types of categories" + msgstr "" + +-#: ../scripts/chcat:317 ++#: ../scripts/chcat:319 + msgid "Can not have multiple sensitivities" + msgstr "" + +-#: ../scripts/chcat:323 ++#: ../scripts/chcat:325 + #, c-format + msgid "Usage %s CATEGORY File ..." + msgstr "" + +-#: ../scripts/chcat:324 ++#: ../scripts/chcat:326 + #, c-format + msgid "Usage %s -l CATEGORY user ..." + msgstr "" + +-#: ../scripts/chcat:325 ++#: ../scripts/chcat:327 + #, c-format + msgid "Usage %s [[+|-]CATEGORY],...]q File ..." + msgstr "" + +-#: ../scripts/chcat:326 ++#: ../scripts/chcat:328 + #, c-format + msgid "Usage %s -l [[+|-]CATEGORY],...]q user ..." + msgstr "" + +-#: ../scripts/chcat:327 ++#: ../scripts/chcat:329 + #, c-format + msgid "Usage %s -d File ..." + msgstr "" + +-#: ../scripts/chcat:328 ++#: ../scripts/chcat:330 + #, c-format + msgid "Usage %s -l -d user ..." + msgstr "" + +-#: ../scripts/chcat:329 ++#: ../scripts/chcat:331 + #, c-format + msgid "Usage %s -L" + msgstr "" + +-#: ../scripts/chcat:330 ++#: ../scripts/chcat:332 + #, c-format + msgid "Usage %s -L -l user" + msgstr "" + +-#: ../scripts/chcat:331 ++#: ../scripts/chcat:333 + msgid "Use -- to end option list. For example" + msgstr "" + +-#: ../scripts/chcat:332 ++#: ../scripts/chcat:334 + msgid "chcat -- -CompanyConfidential /docs/businessplan.odt" + msgstr "" + +-#: ../scripts/chcat:333 ++#: ../scripts/chcat:335 + msgid "chcat -l +CompanyConfidential juser" + msgstr "" + +-#: ../scripts/chcat:397 ++#: ../scripts/chcat:399 + #, c-format + msgid "Options Error %s " + msgstr "" + +-#: ../gui/booleansPage.py:184 ++#: ../gui/booleansPage.py:186 + msgid "Boolean" + msgstr "" + +-#: ../gui/booleansPage.py:231 ../gui/semanagePage.py:163 ++#: ../gui/booleansPage.py:241 ../gui/semanagePage.py:162 + msgid "all" + msgstr "" + +-#: ../gui/booleansPage.py:233 ../gui/semanagePage.py:165 ++#: ../gui/booleansPage.py:243 ../gui/semanagePage.py:164 + #: ../gui/system-config-selinux.glade:1808 + #: ../gui/system-config-selinux.glade:2030 + #: ../gui/system-config-selinux.glade:2830 +@@ -1397,7 +1398,7 @@ + msgid "Applications" + msgstr "" + +-#: ../gui/polgen.glade:258 ++#: ../gui/polgen.glade:258 ../gui/polgen.glade:278 + msgid "" + "Standard Init Daemon are daemons started on boot via init scripts. Usually " + "requires a script in /etc/rc.d/init.d" +@@ -1407,300 +1408,304 @@ + msgid "Standard Init Daemon" + msgstr "" + +-#: ../gui/polgen.glade:278 ++#: ../gui/polgen.glade:280 ++msgid "DBUS System Daemon" ++msgstr "" ++ ++#: ../gui/polgen.glade:299 + msgid "Internet Services Daemon are daemons started by xinetd" + msgstr "" + +-#: ../gui/polgen.glade:280 ++#: ../gui/polgen.glade:301 + msgid "Internet Services Daemon (inetd)" + msgstr "" + +-#: ../gui/polgen.glade:299 ++#: ../gui/polgen.glade:320 + msgid "" + "Web Applications/Script (CGI) CGI scripts started by the web server (apache)" + msgstr "" + +-#: ../gui/polgen.glade:301 ++#: ../gui/polgen.glade:322 + msgid "Web Application/Script (CGI)" + msgstr "" + +-#: ../gui/polgen.glade:320 ++#: ../gui/polgen.glade:341 + msgid "" + "User Application are any application that you would like to confine that is " + "started by a user" + msgstr "" + +-#: ../gui/polgen.glade:322 ++#: ../gui/polgen.glade:343 + msgid "User Application" + msgstr "" + +-#: ../gui/polgen.glade:368 ++#: ../gui/polgen.glade:389 + msgid "Login Users" + msgstr "" + +-#: ../gui/polgen.glade:430 ++#: ../gui/polgen.glade:451 + msgid "Modify an existing login user record." + msgstr "" + +-#: ../gui/polgen.glade:432 ++#: ../gui/polgen.glade:453 + msgid "Existing User Roles" + msgstr "" + +-#: ../gui/polgen.glade:451 ++#: ../gui/polgen.glade:472 + msgid "" + "This user will login to a machine only via a terminal or remote login. By " + "default this user will have no setuid, no networking, no su, no sudo." + msgstr "" + +-#: ../gui/polgen.glade:453 ++#: ../gui/polgen.glade:474 + msgid "Minimal Terminal User Role" + msgstr "" + +-#: ../gui/polgen.glade:472 ++#: ../gui/polgen.glade:493 + msgid "" + "This user can login to a machine via X or terminal. By default this user " + "will have no setuid, no networking, no sudo, no su" + msgstr "" + +-#: ../gui/polgen.glade:474 ++#: ../gui/polgen.glade:495 + msgid "Minimal X Windows User Role" + msgstr "" + +-#: ../gui/polgen.glade:493 ++#: ../gui/polgen.glade:514 + msgid "" + "User with full networking, no setuid applications without transition, no " + "sudo, no su." + msgstr "" + +-#: ../gui/polgen.glade:495 ++#: ../gui/polgen.glade:516 + msgid "User Role" + msgstr "" + +-#: ../gui/polgen.glade:514 ++#: ../gui/polgen.glade:535 + msgid "" + "User with full networking, no setuid applications without transition, no su, " + "can sudo to Root Administration Roles" + msgstr "" + +-#: ../gui/polgen.glade:516 ++#: ../gui/polgen.glade:537 + msgid "Admin User Role" + msgstr "" + +-#: ../gui/polgen.glade:562 ++#: ../gui/polgen.glade:583 + msgid "Root Users" + msgstr "" + +-#: ../gui/polgen.glade:624 ++#: ../gui/polgen.glade:645 + msgid "" + "Select Root Administrator User Role, if this user will be used to administer " + "the machine while running as root. This user will not be able to login to " + "the system directly." + msgstr "" + +-#: ../gui/polgen.glade:626 ++#: ../gui/polgen.glade:647 + msgid "Root Admin User Role" + msgstr "" + +-#: ../gui/polgen.glade:711 ++#: ../gui/polgen.glade:732 + msgid "Enter name of application or user role to be confined" + msgstr "" + +-#: ../gui/polgen.glade:732 ../gui/polgengui.py:167 ++#: ../gui/polgen.glade:753 ../gui/polgengui.py:167 + msgid "Name" + msgstr "" + +-#: ../gui/polgen.glade:760 ++#: ../gui/polgen.glade:781 + msgid "Enter complete path for executable to be confined." + msgstr "" + +-#: ../gui/polgen.glade:783 ../gui/polgen.glade:903 ../gui/polgen.glade:2906 ++#: ../gui/polgen.glade:804 ../gui/polgen.glade:924 ../gui/polgen.glade:2927 + msgid "..." + msgstr "" + +-#: ../gui/polgen.glade:802 ++#: ../gui/polgen.glade:823 + msgid "Enter unique name for the confined application or user role." + msgstr "" + +-#: ../gui/polgen.glade:824 ++#: ../gui/polgen.glade:845 + msgid "Executable" + msgstr "" + +-#: ../gui/polgen.glade:852 ++#: ../gui/polgen.glade:873 + msgid "Init script" + msgstr "" + +-#: ../gui/polgen.glade:880 ++#: ../gui/polgen.glade:901 + msgid "" + "Enter complete path to init script used to start the confined application." + msgstr "" + +-#: ../gui/polgen.glade:960 ++#: ../gui/polgen.glade:981 + msgid "Select user roles that you want to customize" + msgstr "" + +-#: ../gui/polgen.glade:981 ../gui/polgen.glade:1129 ++#: ../gui/polgen.glade:1002 ../gui/polgen.glade:1150 + msgid "Select the user roles that will transiton to this applications domains." + msgstr "" + +-#: ../gui/polgen.glade:1034 ++#: ../gui/polgen.glade:1055 + msgid "Select additional domains to which this user role will transition" + msgstr "" + +-#: ../gui/polgen.glade:1055 ++#: ../gui/polgen.glade:1076 + msgid "" + "Select the applications domains that you would like this user role to " + "transition to." + msgstr "" + +-#: ../gui/polgen.glade:1108 ++#: ../gui/polgen.glade:1129 + msgid "Select user roles that will transition to this domain" + msgstr "" + +-#: ../gui/polgen.glade:1182 ++#: ../gui/polgen.glade:1203 + msgid "Select additional domains that this user role will administer" + msgstr "" + +-#: ../gui/polgen.glade:1203 ../gui/polgen.glade:1277 ++#: ../gui/polgen.glade:1224 ../gui/polgen.glade:1298 + msgid "Select the domains that you would like this user administer." + msgstr "" + +-#: ../gui/polgen.glade:1256 ++#: ../gui/polgen.glade:1277 + msgid "Select additional roles for this user" + msgstr "" + +-#: ../gui/polgen.glade:1330 ++#: ../gui/polgen.glade:1351 + msgid "Enter network ports that application/user role listens to" + msgstr "" + +-#: ../gui/polgen.glade:1348 ../gui/polgen.glade:1831 ++#: ../gui/polgen.glade:1369 ../gui/polgen.glade:1852 + msgid "TCP Ports" + msgstr "" + +-#: ../gui/polgen.glade:1416 ../gui/polgen.glade:1636 ++#: ../gui/polgen.glade:1437 ../gui/polgen.glade:1657 + msgid "Allows confined application/user role to bind to any udp port" + msgstr "" + +-#: ../gui/polgen.glade:1418 ../gui/polgen.glade:1638 ../gui/polgen.glade:1894 +-#: ../gui/polgen.glade:2047 ++#: ../gui/polgen.glade:1439 ../gui/polgen.glade:1659 ../gui/polgen.glade:1915 ++#: ../gui/polgen.glade:2068 + msgid "All" + msgstr "" + +-#: ../gui/polgen.glade:1436 ../gui/polgen.glade:1656 ++#: ../gui/polgen.glade:1457 ../gui/polgen.glade:1677 + msgid "" + "Allow application/user role to call bindresvport with 0. Binding to port 600-" + "1024" + msgstr "" + +-#: ../gui/polgen.glade:1438 ../gui/polgen.glade:1658 ++#: ../gui/polgen.glade:1459 ../gui/polgen.glade:1679 + msgid "600-1024" + msgstr "" + +-#: ../gui/polgen.glade:1456 ../gui/polgen.glade:1676 ++#: ../gui/polgen.glade:1477 ../gui/polgen.glade:1697 + msgid "" + "Enter a comma separated list of udp ports or ranges of ports that " + "application/user role binds to. Example: 612, 650-660" + msgstr "" + +-#: ../gui/polgen.glade:1458 ../gui/polgen.glade:1678 ++#: ../gui/polgen.glade:1479 ../gui/polgen.glade:1699 + msgid "Unreserved Ports (>1024)" + msgstr "" + +-#: ../gui/polgen.glade:1489 ../gui/polgen.glade:1709 ../gui/polgen.glade:1912 +-#: ../gui/polgen.glade:2065 ++#: ../gui/polgen.glade:1510 ../gui/polgen.glade:1730 ../gui/polgen.glade:1933 ++#: ../gui/polgen.glade:2086 + msgid "Select Ports" + msgstr "" + +-#: ../gui/polgen.glade:1514 ../gui/polgen.glade:1734 ++#: ../gui/polgen.glade:1535 ../gui/polgen.glade:1755 + msgid "Allows application/user role to bind to any udp ports > 1024" + msgstr "" + +-#: ../gui/polgen.glade:1568 ../gui/polgen.glade:1984 ++#: ../gui/polgen.glade:1589 ../gui/polgen.glade:2005 + msgid "UDP Ports" + msgstr "" + +-#: ../gui/polgen.glade:1813 ++#: ../gui/polgen.glade:1834 + msgid "Enter network ports that application/user role connects to" + msgstr "" + +-#: ../gui/polgen.glade:1937 ++#: ../gui/polgen.glade:1958 + msgid "" + "Enter a comma separated list of tcp ports or ranges of ports that " + "application/user role connects to. Example: 612, 650-660" + msgstr "" + +-#: ../gui/polgen.glade:2090 ++#: ../gui/polgen.glade:2111 + msgid "" + "Enter a comma separated list of udp ports or ranges of ports that " + "application/user role connects to. Example: 612, 650-660" + msgstr "" + +-#: ../gui/polgen.glade:2162 ++#: ../gui/polgen.glade:2183 + msgid "Select common application traits" + msgstr "" + +-#: ../gui/polgen.glade:2181 ++#: ../gui/polgen.glade:2202 + msgid "Writes syslog messages\t" + msgstr "" + +-#: ../gui/polgen.glade:2200 ++#: ../gui/polgen.glade:2221 + msgid "Create/Manipulate temporary files in /tmp" + msgstr "" + +-#: ../gui/polgen.glade:2219 ++#: ../gui/polgen.glade:2240 + msgid "Uses Pam for authentication" + msgstr "" + +-#: ../gui/polgen.glade:2238 ++#: ../gui/polgen.glade:2259 + msgid "Uses nsswitch or getpw* calls" + msgstr "" + +-#: ../gui/polgen.glade:2257 ++#: ../gui/polgen.glade:2278 + msgid "Uses dbus" + msgstr "" + +-#: ../gui/polgen.glade:2276 ++#: ../gui/polgen.glade:2297 + msgid "Sends audit messages" + msgstr "" + +-#: ../gui/polgen.glade:2295 ++#: ../gui/polgen.glade:2316 + msgid "Interacts with the terminal" + msgstr "" + +-#: ../gui/polgen.glade:2314 ++#: ../gui/polgen.glade:2335 + msgid "Sends email" + msgstr "" + +-#: ../gui/polgen.glade:2370 ++#: ../gui/polgen.glade:2391 + msgid "Select files/directories that the application manages" + msgstr "" + +-#: ../gui/polgen.glade:2586 ++#: ../gui/polgen.glade:2607 + msgid "" + "Add Files/Directories that application will need to \"Write\" to. Pid Files, " + "Log Files, /var/lib Files ..." + msgstr "" + +-#: ../gui/polgen.glade:2646 ++#: ../gui/polgen.glade:2667 + msgid "Select booleans that the application uses" + msgstr "" + +-#: ../gui/polgen.glade:2783 ++#: ../gui/polgen.glade:2804 + msgid "Add/Remove booleans used for this confined application/user" + msgstr "" + +-#: ../gui/polgen.glade:2843 ++#: ../gui/polgen.glade:2864 + msgid "Select directory to generate policy in" + msgstr "" + +-#: ../gui/polgen.glade:2861 ++#: ../gui/polgen.glade:2882 + msgid "Policy Directory" + msgstr "" + +-#: ../gui/polgen.glade:2960 ../gui/polgen.glade:3003 ++#: ../gui/polgen.glade:2981 ../gui/polgen.glade:3024 + msgid "Generated Policy Files" + msgstr "" + +-#: ../gui/polgen.glade:2961 ++#: ../gui/polgen.glade:2982 + msgid "" + "This tool will generate the following: \n" + "Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n" +@@ -1712,7 +1717,7 @@ + "Use audit2allow -R to generate additional rules for the te file.\n" + msgstr "" + +-#: ../gui/polgen.glade:3004 ++#: ../gui/polgen.glade:3025 + msgid "" + "This tool will generate the following: \n" + "Type Enforcement(te), File Context(fc), Interface(if), Shell Script(sh)\n" +@@ -1723,11 +1728,11 @@ + "Use audit2allow -R to generate additional rules for the te file.\n" + msgstr "" + +-#: ../gui/polgen.glade:3106 ++#: ../gui/polgen.glade:3127 + msgid "Add Booleans Dialog" + msgstr "" + +-#: ../gui/polgen.glade:3179 ++#: ../gui/polgen.glade:3200 + msgid "Boolean Name" + msgstr "" + +@@ -1748,102 +1753,102 @@ + msgid "%s must be a directory" + msgstr "" + +-#: ../gui/polgengui.py:328 ../gui/polgengui.py:595 ++#: ../gui/polgengui.py:328 ../gui/polgengui.py:598 + msgid "You must select a user" + msgstr "" + +-#: ../gui/polgengui.py:451 ++#: ../gui/polgengui.py:453 + msgid "Select executable file to be confined." + msgstr "" + +-#: ../gui/polgengui.py:462 ++#: ../gui/polgengui.py:464 + msgid "Select init script file to be confined." + msgstr "" + +-#: ../gui/polgengui.py:472 ++#: ../gui/polgengui.py:474 + msgid "Select file(s) that confined application creates or writes" + msgstr "" + +-#: ../gui/polgengui.py:479 ++#: ../gui/polgengui.py:481 + msgid "Select directory(s) that the confined application owns and writes into" + msgstr "" + +-#: ../gui/polgengui.py:538 ++#: ../gui/polgengui.py:541 + msgid "Select directory to generate policy files in" + msgstr "" + +-#: ../gui/polgengui.py:551 ++#: ../gui/polgengui.py:554 + #, python-format + msgid "" + "Type %s_t already defined in current policy.\n" + "Do you want to continue?" + msgstr "" + +-#: ../gui/polgengui.py:551 ../gui/polgengui.py:555 ++#: ../gui/polgengui.py:554 ../gui/polgengui.py:558 + msgid "Verify Name" + msgstr "" + +-#: ../gui/polgengui.py:555 ++#: ../gui/polgengui.py:558 + #, python-format + msgid "" + "Module %s.pp already loaded in current policy.\n" + "Do you want to continue?" + msgstr "" + +-#: ../gui/polgengui.py:601 ++#: ../gui/polgengui.py:604 + msgid "You must enter a name" + msgstr "" + +-#: ../gui/polgengui.py:607 ++#: ../gui/polgengui.py:610 + msgid "You must enter a executable" + msgstr "" + +-#: ../gui/polgengui.py:611 ../gui/system-config-selinux.py:174 ++#: ../gui/polgengui.py:614 ../gui/system-config-selinux.py:176 + msgid "Configue SELinux" + msgstr "" + +-#: ../gui/polgen.py:163 ++#: ../gui/polgen.py:174 + #, python-format + msgid "Ports must be numbers or ranges of numbers from 1 to %d " + msgstr "" + +-#: ../gui/polgen.py:192 ++#: ../gui/polgen.py:204 + msgid "You must enter a name for your confined process/user" + msgstr "" + +-#: ../gui/polgen.py:270 ++#: ../gui/polgen.py:282 + msgid "USER Types are not allowed executables" + msgstr "" + +-#: ../gui/polgen.py:276 ++#: ../gui/polgen.py:288 + msgid "Only DAEMON apps can use an init script" + msgstr "" + +-#: ../gui/polgen.py:294 ++#: ../gui/polgen.py:306 + msgid "use_syslog must be a boolean value " + msgstr "" + +-#: ../gui/polgen.py:315 ++#: ../gui/polgen.py:327 + msgid "USER Types automatically get a tmp type" + msgstr "" + +-#: ../gui/polgen.py:711 ++#: ../gui/polgen.py:729 + msgid "You must enter the executable path for your confined process" + msgstr "" + +-#: ../gui/polgen.py:830 ++#: ../gui/polgen.py:848 + msgid "Type Enforcement file" + msgstr "" + +-#: ../gui/polgen.py:831 ++#: ../gui/polgen.py:849 + msgid "Interface file" + msgstr "" + +-#: ../gui/polgen.py:832 ++#: ../gui/polgen.py:850 + msgid "File Contexts file" + msgstr "" + +-#: ../gui/polgen.py:833 ++#: ../gui/polgen.py:851 + msgid "Setup Script" + msgstr "" + +@@ -2999,16 +3004,16 @@ + msgid "Add %s" + msgstr "" + +-#: ../gui/semanagePage.py:149 ++#: ../gui/semanagePage.py:148 + #, python-format + msgid "Modify %s" + msgstr "" + +-#: ../gui/statusPage.py:69 ++#: ../gui/statusPage.py:69 ../gui/system-config-selinux.glade:3210 + msgid "Permissive" + msgstr "" + +-#: ../gui/statusPage.py:70 ++#: ../gui/statusPage.py:70 ../gui/system-config-selinux.glade:3228 + msgid "Enforcing" + msgstr "" + +@@ -3069,12 +3074,6 @@ + msgid "SELinux Type" + msgstr "" + +-#: ../gui/system-config-selinux.glade:440 +-msgid "" +-"tcp\n" +-"udp" +-msgstr "" +- + #: ../gui/system-config-selinux.glade:622 + msgid "" + "SELinux MLS/MCS\n" +@@ -3193,6 +3192,7 @@ + #: ../gui/system-config-selinux.glade:2618 + #: ../gui/system-config-selinux.glade:2860 + #: ../gui/system-config-selinux.glade:3084 ++#: ../gui/system-config-selinux.glade:3258 + msgid "Filter" + msgstr "" + +@@ -3286,10 +3286,12 @@ + msgstr "" + + #: ../gui/system-config-selinux.glade:3001 ++#: ../gui/system-config-selinux.glade:3209 + msgid "Load policy module" + msgstr "" + + #: ../gui/system-config-selinux.glade:3017 ++#: ../gui/system-config-selinux.glade:3227 + msgid "Remove loadable policy module" + msgstr "" + +@@ -3303,6 +3305,10 @@ + msgid "label44" + msgstr "" + ++#: ../gui/system-config-selinux.glade:3346 ++msgid "label59" ++msgstr "" ++ + #: ../gui/translationsPage.py:53 + msgid "Sensitvity Level" + msgstr "" +diff --exclude-from=exclude -N -u -r nsapolicycoreutils/po/as.po policycoreutils-2.0.61/po/as.po --- nsapolicycoreutils/po/as.po 2008-09-22 13:25:06.000000000 -0400 -+++ policycoreutils-2.0.60/po/as.po 2008-12-10 09:17:41.000000000 -0500 ++++ policycoreutils-2.0.61/po/as.po 2009-01-20 09:33:29.000000000 -0500 @@ -1,4 +1,4 @@ -# translation of as.po to Assamese +# translation of policycoreutils.HEAD.po to Assamese @@ -16,210 +5191,1052 @@ diff --exclude-from=exclude -N -u -r nsapolicycoreutils/po/as.po policycoreutils "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-09-09 13:24-0400\n" -"PO-Revision-Date: 2008-01-31 12:04+0530\n" -+"POT-Creation-Date: 2008-09-24 01:16+0000\n" ++"POT-Creation-Date: 2009-01-20 09:33-0500\n" +"PO-Revision-Date: 2008-09-24 12:55+0530\n" "Last-Translator: Amitakhya Phukan \n" "Language-Team: Assamese\n" "MIME-Version: 1.0\n" -@@ -19,6 +19,7 @@ - "X-Generator: KBabel 1.11.4\n" - "Plural-Forms: nplurals=2; plural=(n!=1)\n" - -+#. USAGE_STRING describes the command-line args of this program. - #: ../run_init/run_init.c:67 - msgid "" - "USAGE: run_init