diff --git policycoreutils-2.5/ChangeLog policycoreutils-2.5/ChangeLog index d8fb067..674aa1a 100644 --- policycoreutils-2.5/ChangeLog +++ policycoreutils-2.5/ChangeLog @@ -1,3 +1,42 @@ + * sandbox: Use dbus-run-session instead of dbus-launch when available, from Laurent Bigonville. + * hll/pp: Change warning for module name not matching filename to match new behavior, from Petr Lautrbach. + * Remove LDFLAGS from CFLAGS, from Nicolas Iooss. + * sandbox: create a new session for sandboxed processes, from Petr Lautrbach. + * sandbox: do not try to setup directories without -X or -M, from Petr Lautrbach. + * sandbox: do not run xmodmap in a new X session, from Petr Lautrbach. + * sandbox: Use GObject introspection binding instead of pygtk2, from Petr Lautrbach and Laurent Bigonville. + * sandbox: fix file labels on copied files, from Petr Lautrbach. + * sandbox: tests - close stdout of p1, from Petr Lautrbach. + * sandbox: tests - use sandbox from cwd, from Petr Lautrbach. + * audit2allow: tests should use local copy not system, from Jason Zaman. + * audit2allow: fix audit2why import from seobject, from Jason Zaman. + * audit2allow: remove audit2why so that it gets symlinked, from Jason Zaman. + * semanage: fix man page and help message for import option, from AJ. + * semanage: fix error message for fcontext -m, from Miroslav Vadkerti. + * semanage: Fix semanage fcontext -D, from Stephen Smalley. + * semanage: Correct fcontext auditing, from Miroslav Vadkerti. + * semanage: Default serange to "s0" for port modify, from Miroslav Vadkerti. + * semanage: Use socket.getprotobyname for protocol, from Miroslav Vadkerti. + * semanage: fix modify action in node and interface, from Miroslav Vadkerti. + * fixfiles: Pass -n to restorecon for fixfiles check, from Petr Lautrbach. + * sepolicy: Check get_rpm_nvr_list() return value, from Vit Mojzis. + * Don't use subprocess.getstatusoutput() in Python 2 code, from Petr Lautrbach. + * semanage: Add auditing of changes in records, from Miroslav Vadkerti. + * Remove unused 'q' from semodule getopt string, from Petr Lautrbach. + * Remove unused autoconf files from po/, from Petr Lautrbach. + * Remove duplicate, empty translation files, from Piotr Drąg. + * open_init_pty: Do not error on EINTR, from Jason Zaman. + * Fix [-s STORE] typos in semanage, from Petr Lautrbach. + * Update sandbox types in sandbox manual, from Michael De La Rue. + * Fix typos in semanage manpages, from Philipp Gesang. + * Fix the documentation of -l,--list for semodule, from Petr Lautrbach. + * Minor fix in a French translation, from Laurent Bigonville. + * Fix the extract example in semodule.8, from Petr Lautrbach. + * Update sandbox.8 man page, from Petr Lautrbach. + * Remove typos from chcat --help, from Petr Lautrbach. + * Fix multiple spelling errors, from Laurent Bigonville. + * hll/pp: Warn if module name different than output filename, from James Carter + 2.5 2016-02-23 * sepolicy: Do not overwrite CFLAGS, from Nicolas Iooss. * sepolicy: Rename policy global variable conflict, from Nicolas Iooss. diff --git policycoreutils-2.5/Makefile policycoreutils-2.5/Makefile index 962ac12..6a9c40c 100644 --- policycoreutils-2.5/Makefile +++ policycoreutils-2.5/Makefile @@ -1,4 +1,4 @@ -SUBDIRS = sepolicy setfiles semanage load_policy newrole run_init sandbox secon audit2allow sestatus semodule_package semodule semodule_link semodule_expand semodule_deps sepolgen-ifgen setsebool scripts po man gui hll +SUBDIRS = sepolicy setfiles semanage load_policy newrole run_init sandbox secon audit2allow sestatus semodule_package semodule semodule_link semodule_expand semodule_deps sepolgen-ifgen setsebool scripts po man gui hll semanage/default_encoding INOTIFYH = $(shell ls /usr/include/sys/inotify.h 2>/dev/null) diff --git policycoreutils-2.5/audit2allow/audit2allow policycoreutils-2.5/audit2allow/audit2allow index e23e418..77cba09 100644 --- policycoreutils-2.5/audit2allow/audit2allow +++ policycoreutils-2.5/audit2allow/audit2allow @@ -1,4 +1,4 @@ -#! /usr/bin/python -Es +#! /usr/bin/python3 -Es # Authors: Karl MacMillan # Authors: Dan Walsh # diff --git policycoreutils-2.5/audit2allow/sepolgen-ifgen policycoreutils-2.5/audit2allow/sepolgen-ifgen index acf9638..4c8dd5b 100644 --- policycoreutils-2.5/audit2allow/sepolgen-ifgen +++ policycoreutils-2.5/audit2allow/sepolgen-ifgen @@ -1,4 +1,4 @@ -#! /usr/bin/python -Es +#! /usr/bin/python3 -Es # # Authors: Karl MacMillan # diff --git policycoreutils-2.5/audit2allow/test_audit2allow.py policycoreutils-2.5/audit2allow/test_audit2allow.py index 765c9ea..a826a9f 100644 --- policycoreutils-2.5/audit2allow/test_audit2allow.py +++ policycoreutils-2.5/audit2allow/test_audit2allow.py @@ -33,7 +33,7 @@ class Audit2allowTests(unittest.TestCase): def test_audit2allow(self): "Verify audit2allow works" - p = Popen(['audit2allow', "-i", "test.log"], stdout=PIPE) + p = Popen(['python', './audit2allow', "-i", "test.log"], stdout=PIPE) out, err = p.communicate() if err: print(out, err) @@ -41,7 +41,7 @@ class Audit2allowTests(unittest.TestCase): def test_audit2why(self): "Verify audit2why works" - p = Popen(['audit2why', "-i", "test.log"], stdout=PIPE) + p = Popen(['python', './audit2why', "-i", "test.log"], stdout=PIPE) out, err = p.communicate() if err: print(out, err) diff --git policycoreutils-2.5/gui/Makefile policycoreutils-2.5/gui/Makefile index 9d9f820..0c2b390 100644 --- policycoreutils-2.5/gui/Makefile +++ policycoreutils-2.5/gui/Makefile @@ -12,7 +12,6 @@ domainsPage.py \ fcontextPage.py \ html_util.py \ loginsPage.py \ -mappingsPage.py \ modulesPage.py \ polgen.glade \ portsPage.py \ diff --git policycoreutils-2.5/gui/booleansPage.py policycoreutils-2.5/gui/booleansPage.py index 507a79d..7fbd50c 100644 --- policycoreutils-2.5/gui/booleansPage.py +++ policycoreutils-2.5/gui/booleansPage.py @@ -18,23 +18,20 @@ # You should have received a copy of the GNU General Public License # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. # -import string import gtk import gtk.glade -import os import gobject import sys -import tempfile import seobject import semanagePage INSTALLPATH = '/usr/share/system-config-selinux' sys.path.append(INSTALLPATH) -import commands -ENFORCING = 0 -PERMISSIVE = 1 -DISABLED = 2 +import subprocess +ENFORCING=0 +PERMISSIVE=1 +DISABLED=2 ## ## I18N @@ -50,10 +47,8 @@ try: unicode=False, codeset='utf-8') except IOError: - import __builtin__ - __builtin__.__dict__['_'] = unicode - -from glob import fnmatch + import builtins + builtins.__dict__['_'] = str class Modifier: @@ -109,8 +104,6 @@ class booleansPage: self.revertButton = xml.get_widget("booleanRevertButton") self.revertButton.set_sensitive(self.local) self.revertButton.connect("clicked", self.on_revert_clicked) - listStore = gtk.ListStore(gobject.TYPE_STRING) - cell = gtk.CellRendererText() self.store = gtk.ListStore(gobject.TYPE_BOOLEAN, gobject.TYPE_STRING, gobject.TYPE_STRING, gobject.TYPE_STRING) self.store.set_sort_column_id(1, gtk.SORT_ASCENDING) @@ -176,16 +169,15 @@ class booleansPage: # change cursor if boolean == None: return + self.wait() try: - self.wait() - (rc, out) = commands.getstatusoutput("semanage boolean -d %s" % boolean) - - self.ready() - if rc != 0: - return self.error(out) + subprocess.check_output("semanage boolean -d %s" % boolean, + stderr=subprocess.STDOUT, + shell=True) self.load(self.filter) - except ValueError, e: - self.error(e.args[0]) + except subprocess.CalledProcessError as e: + self.error(e.output) + self.ready() def filter_changed(self, *arg): filter = arg[0].get_text() @@ -228,18 +220,26 @@ class booleansPage: key = self.store.get_value(iter, BOOLEAN) self.store.set_value(iter, ACTIVE, not val) self.wait() - setsebool = "/usr/sbin/setsebool -P %s %d" % (key, not val) - rc, out = commands.getstatusoutput(setsebool) - if rc != 0: - self.error(out) - self.load(self.filter) + setsebool="/usr/sbin/setsebool -P %s %d" % (key, not val) + try: + subprocess.check_output(setsebool, + stderr=subprocess.STDOUT, + shell=True) + self.load(self.filter) + except subprocess.CalledProcessError as e: + self.error(e.output) self.ready() def on_revert_clicked(self, button): self.wait() - setsebool = "semanage boolean --deleteall" - commands.getstatusoutput(setsebool) - self.load(self.filter) + setsebool="semanage boolean --deleteall" + try: + subprocess.check_output(setsebool, + stderr=subprocess.STDOUT, + shell=True) + self.load(self.filter) + except subprocess.CalledProcessError as e: + self.error(e.output) self.ready() def on_local_clicked(self, button): diff --git policycoreutils-2.5/gui/domainsPage.py policycoreutils-2.5/gui/domainsPage.py index 56c66fe..f4a281f 100644 --- policycoreutils-2.5/gui/domainsPage.py +++ policycoreutils-2.5/gui/domainsPage.py @@ -20,7 +20,7 @@ import string import gtk import gtk.glade import os -import commands +import subprocess import gobject import sys import seobject @@ -41,8 +41,8 @@ try: unicode=False, codeset='utf-8') except IOError: - import __builtin__ - __builtin__.__dict__['_'] = unicode + import builtins + builtins.__dict__['_'] = str class domainsPage(semanagePage): @@ -117,18 +117,17 @@ class domainsPage(semanagePage): selection = self.view.get_selection() store, iter = selection.get_selected() domain = store.get_value(iter, 0) + self.wait() + cmd = "semanage permissive -d %s_t" % domain 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]) + subprocess.check_output(cmd, + stderr=subprocess.STDOUT, + shell=True) + domain = store.set_value(iter, 1, "") + self.itemSelected(selection) + except subprocess.CalledProcessError as e: + self.error(e.output) + self.ready() def propertiesDialog(self): # Do nothing @@ -142,15 +141,14 @@ class domainsPage(semanagePage): selection = self.view.get_selection() store, iter = selection.get_selected() domain = store.get_value(iter, 0) + self.wait() + cmd = "semanage permissive -a %s_t" % domain 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]) + subprocess.check_output(cmd, + stderr=subprocess.STDOUT, + shell=True) + domain = store.set_value(iter, 1, _("Permissive")) + self.itemSelected(selection) + except subprocess.CalledProcessError as e: + self.error(e.output) + self.ready() diff --git policycoreutils-2.5/gui/fcontextPage.py policycoreutils-2.5/gui/fcontextPage.py index c8d6ba8..ee926f1 100644 --- policycoreutils-2.5/gui/fcontextPage.py +++ policycoreutils-2.5/gui/fcontextPage.py @@ -18,10 +18,9 @@ ## Author: Dan Walsh import gtk import gtk.glade -import os import gobject import seobject -import commands +import subprocess from semanagePage import * SPEC_COL = 0 @@ -57,8 +56,8 @@ try: unicode=False, codeset='utf-8') except IOError: - import __builtin__ - __builtin__.__dict__['_'] = unicode + import builtins + builtins.__dict__['_'] = str class fcontextPage(semanagePage): @@ -97,19 +96,12 @@ class fcontextPage(semanagePage): self.load() self.fcontextEntry = xml.get_widget("fcontextEntry") self.fcontextFileTypeCombo = xml.get_widget("fcontextFileTypeCombo") - liststore = self.fcontextFileTypeCombo.get_model() - for k in seobject.file_types: - if len(k) > 0 and k[0] != '-': - iter = liststore.append() - liststore.set_value(iter, 0, k) - iter = liststore.get_iter_first() - self.fcontextFileTypeCombo.set_active_iter(iter) self.fcontextTypeEntry = xml.get_widget("fcontextTypeEntry") self.fcontextMLSEntry = xml.get_widget("fcontextMLSEntry") - def match(self, fcon_dict, k, filter): + def match(self, fcon_dict, k, filt): try: - f = filter.lower() + f=filt.lower() for con in k: k = con.lower() if k.find(f) >= 0: @@ -122,46 +114,46 @@ class fcontextPage(semanagePage): pass return False - def load(self, filter=""): - self.filter = filter - self.fcontext = seobject.fcontextRecords() + def load(self, filt=""): + self.filter=filt + self.fcontext=seobject.fcontextRecords() self.store.clear() - fcon_dict = self.fcontext.get_all(self.local) - keys = fcon_dict.keys() + fcon_dict=self.fcontext.get_all(self.local) + keys = list(fcon_dict.keys()) keys.sort() for k in keys: - if not self.match(fcon_dict, k, filter): + if not self.match(fcon_dict, k, filt): continue - iter = self.store.append() - self.store.set_value(iter, SPEC_COL, k[0]) - self.store.set_value(iter, FTYPE_COL, k[1]) + it=self.store.append() + self.store.set_value(it, SPEC_COL, k[0]) + self.store.set_value(it, FTYPE_COL, k[1]) if fcon_dict[k]: rec = "%s:%s" % (fcon_dict[k][2], seobject.translate(fcon_dict[k][3], False)) else: - rec = "<>" - self.store.set_value(iter, TYPE_COL, rec) - self.view.get_selection().select_path((0,)) + rec="<>" + self.store.set_value(it, TYPE_COL, rec) + self.view.get_selection().select_path ((0,)) def filter_changed(self, *arg): - filter = arg[0].get_text() - if filter != self.filter: - self.load(filter) + filt = arg[0].get_text() + if filt != self.filter: + self.load(filt) def dialogInit(self): - store, iter = self.view.get_selection().get_selected() - self.fcontextEntry.set_text(store.get_value(iter, SPEC_COL)) + store, it = self.view.get_selection().get_selected() + self.fcontextEntry.set_text(store.get_value(it, SPEC_COL)) self.fcontextEntry.set_sensitive(False) - scontext = store.get_value(iter, TYPE_COL) - scon = context(scontext) + scontext = store.get_value(it, TYPE_COL) + scon=context(scontext) self.fcontextTypeEntry.set_text(scon.type) self.fcontextMLSEntry.set_text(scon.mls) - type = store.get_value(iter, FTYPE_COL) - liststore = self.fcontextFileTypeCombo.get_model() - iter = liststore.get_iter_first() - while iter != None and liststore.get_value(iter, 0) != type: - iter = liststore.iter_next(iter) - if iter != None: - self.fcontextFileTypeCombo.set_active_iter(iter) + setype=store.get_value(it, FTYPE_COL) + liststore=self.fcontextFileTypeCombo.get_model() + it = liststore.get_iter_first() + while it != None and liststore.get_value(it,0) != setype: + it = liststore.iter_next(it) + if it != None: + self.fcontextFileTypeCombo.set_active_iter(it) self.fcontextFileTypeCombo.set_sensitive(False) def dialogClear(self): @@ -172,55 +164,60 @@ class fcontextPage(semanagePage): self.fcontextMLSEntry.set_text("s0") def delete(self): - store, iter = self.view.get_selection().get_selected() + store, it = self.view.get_selection().get_selected() + fspec=store.get_value(it, SPEC_COL) + ftype=store.get_value(it, FTYPE_COL) + self.wait() try: - fspec = store.get_value(iter, SPEC_COL) - ftype = store.get_value(iter, FTYPE_COL) - self.wait() - (rc, out) = commands.getstatusoutput("semanage fcontext -d -f '%s' '%s'" % (ftype, fspec)) - self.ready() - - if rc != 0: - return self.error(out) - store.remove(iter) - self.view.get_selection().select_path((0,)) - except ValueError, e: - self.error(e.args[0]) + subprocess.check_output("semanage fcontext -d -f '%s' '%s'" % (seobject.file_type_str_to_option[ftype], fspec), + stderr=subprocess.STDOUT, + shell=True) + store.remove(it) + self.view.get_selection().select_path ((0,)) + except subprocess.CalledProcessError as e: + self.error(e.output) + self.ready() def add(self): - ftype = ["", "--", "-d", "-c", "-b", "-s", "-l", "-p"] - fspec = self.fcontextEntry.get_text().strip() - type = self.fcontextTypeEntry.get_text().strip() - mls = self.fcontextMLSEntry.get_text().strip() - list_model = self.fcontextFileTypeCombo.get_model() - active = self.fcontextFileTypeCombo.get_active() + fspec=self.fcontextEntry.get_text().strip() + setype=self.fcontextTypeEntry.get_text().strip() + mls=self.fcontextMLSEntry.get_text().strip() + list_model=self.fcontextFileTypeCombo.get_model() + it = self.fcontextFileTypeCombo.get_active_iter() + ftype=list_model.get_value(it,0) self.wait() - (rc, out) = commands.getstatusoutput("semanage fcontext -a -t %s -r %s -f '%s' '%s'" % (type, mls, ftype[active], fspec)) - self.ready() - if rc != 0: - self.error(out) + try: + subprocess.check_output("semanage fcontext -a -t %s -r %s -f '%s' '%s'" % (setype, mls, seobject.file_type_str_to_option[ftype], fspec), + stderr=subprocess.STDOUT, + shell=True) + self.ready() + it=self.store.append() + self.store.set_value(it, SPEC_COL, fspec) + self.store.set_value(it, FTYPE_COL, ftype) + self.store.set_value(it, TYPE_COL, "%s:%s" % (setype, mls)) + except subprocess.CalledProcessError as e: + self.error(e.output) + self.ready() return False - iter = self.store.append() - 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)) - def modify(self): - fspec = self.fcontextEntry.get_text().strip() - type = self.fcontextTypeEntry.get_text().strip() - mls = self.fcontextMLSEntry.get_text().strip() - list_model = self.fcontextFileTypeCombo.get_model() - iter = self.fcontextFileTypeCombo.get_active_iter() - ftype = list_model.get_value(iter, 0) + fspec=self.fcontextEntry.get_text().strip() + setype=self.fcontextTypeEntry.get_text().strip() + mls=self.fcontextMLSEntry.get_text().strip() + list_model=self.fcontextFileTypeCombo.get_model() + it = self.fcontextFileTypeCombo.get_active_iter() + ftype=list_model.get_value(it,0) self.wait() - (rc, out) = commands.getstatusoutput("semanage fcontext -m -t %s -r %s -f '%s' '%s'" % (type, mls, ftype, fspec)) - self.ready() - if rc != 0: - self.error(out) + try: + subprocess.check_output("semanage fcontext -m -t %s -r %s -f '%s' '%s'" % (setype, mls, seobject.file_type_str_to_option[ftype], fspec), + stderr=subprocess.STDOUT, + shell=True) + self.ready() + store, it = self.view.get_selection().get_selected() + self.store.set_value(it, SPEC_COL, fspec) + self.store.set_value(it, FTYPE_COL, ftype) + self.store.set_value(it, TYPE_COL, "%s:%s" % (setype, mls)) + except subprocess.CalledProcessError as e: + self.error(e.output) + self.ready() return False - - store, iter = self.view.get_selection().get_selected() - 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 --git policycoreutils-2.5/gui/html_util.py policycoreutils-2.5/gui/html_util.py index 5a596bc..ad6c534 100644 --- policycoreutils-2.5/gui/html_util.py +++ policycoreutils-2.5/gui/html_util.py @@ -30,7 +30,8 @@ import htmllib import formatter as Formatter import string from types import * -import StringIO +import io +import collections #------------------------------------------------------------------------------ @@ -127,7 +128,7 @@ def unescape_html(s): def html_to_text(html, maxcol=80): try: - buffer = StringIO.StringIO() + buffer = io.StringIO() formatter = Formatter.AbstractFormatter(TextWriter(buffer, maxcol)) parser = HTMLParserAnchor(formatter) parser.feed(html) @@ -135,7 +136,7 @@ def html_to_text(html, maxcol=80): text = buffer.getvalue() buffer.close() return text - except Exception, e: + except Exception as e: log_program.error('cannot convert html to text: %s' % e) return None @@ -158,7 +159,7 @@ def html_document(*body_components): elif type(body_component) in [TupleType, ListType]: for item in body_component: doc += item - elif callable(body_component): + elif isinstance(body_component, collections.Callable): result = body_component() if type(result) in [TupleType, ListType]: for item in result: diff --git policycoreutils-2.5/gui/loginsPage.py policycoreutils-2.5/gui/loginsPage.py index 982e252..fbc26e0 100644 --- policycoreutils-2.5/gui/loginsPage.py +++ policycoreutils-2.5/gui/loginsPage.py @@ -16,13 +16,10 @@ ## Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ## Author: Dan Walsh -import string import gtk import gtk.glade -import os import gobject -import sys -import commands +import subprocess import seobject from semanagePage import * @@ -39,8 +36,8 @@ try: unicode=False, codeset='utf-8') except IOError: - import __builtin__ - __builtin__.__dict__['_'] = unicode + import builtins + builtins.__dict__['_'] = str class loginsPage(semanagePage): @@ -70,21 +67,21 @@ class loginsPage(semanagePage): self.filter = filter self.login = seobject.loginRecords() dict = self.login.get_all(0) - keys = dict.keys() + keys = list(dict.keys()) keys.sort() self.store.clear() for k in keys: range = seobject.translate(dict[k][1]) if not (self.match(k, filter) or self.match(dict[k][0], filter) or self.match(range, filter)): continue - iter = self.store.append() - self.store.set_value(iter, 0, k) - self.store.set_value(iter, 1, dict[k][0]) - self.store.set_value(iter, 2, range) - self.view.get_selection().select_path((0,)) + it = self.store.append() + self.store.set_value(it, 0, k) + self.store.set_value(it, 1, dict[k][0]) + self.store.set_value(it, 2, range) + self.view.get_selection().select_path ((0,)) def __dialogSetup(self): - if self.firstTime == True: + if self.firstTime: return self.firstTime = True liststore = gtk.ListStore(gobject.TYPE_STRING) @@ -94,31 +91,31 @@ class loginsPage(semanagePage): self.loginsSelinuxUserCombo.add_attribute(cell, 'text', 0) selusers = seobject.seluserRecords().get_all(0) - keys = selusers.keys() + keys = list(selusers.keys()) keys.sort() for k in keys: if k != "system_u": self.loginsSelinuxUserCombo.append_text(k) - iter = liststore.get_iter_first() - while liststore.get_value(iter, 0) != "user_u": - iter = liststore.iter_next(iter) - self.loginsSelinuxUserCombo.set_active_iter(iter) + it = liststore.get_iter_first() + while liststore.get_value(it,0) != "user_u": + it = liststore.iter_next(it) + self.loginsSelinuxUserCombo.set_active_iter(it) def dialogInit(self): self.__dialogSetup() - store, iter = self.view.get_selection().get_selected() - self.loginsNameEntry.set_text(store.get_value(iter, 0)) + store, it = self.view.get_selection().get_selected() + self.loginsNameEntry.set_text(store.get_value(it, 0)) self.loginsNameEntry.set_sensitive(False) - self.loginsMLSEntry.set_text(store.get_value(iter, 2)) - seuser = store.get_value(iter, 1) + self.loginsMLSEntry.set_text(store.get_value(it, 2)) + seuser = store.get_value(it, 1) liststore = self.loginsSelinuxUserCombo.get_model() - iter = liststore.get_iter_first() - while iter != None and liststore.get_value(iter, 0) != seuser: - iter = liststore.iter_next(iter) - if iter != None: - self.loginsSelinuxUserCombo.set_active_iter(iter) + it = liststore.get_iter_first() + while it != None and liststore.get_value(it,0) != seuser: + it = liststore.iter_next(it) + if it != None: + self.loginsSelinuxUserCombo.set_active_iter(it) def dialogClear(self): self.__dialogSetup() @@ -127,59 +124,69 @@ class loginsPage(semanagePage): self.loginsMLSEntry.set_text("s0") def delete(self): - store, iter = self.view.get_selection().get_selected() + store, it = self.view.get_selection().get_selected() try: - login = store.get_value(iter, 0) + login=store.get_value(it, 0) if login == "root" or login == "__default__": raise ValueError(_("Login '%s' is required") % login) self.wait() - (rc, out) = commands.getstatusoutput("semanage login -d %s" % login) - self.ready() - if rc != 0: - self.error(out) + try: + subprocess.check_output("semanage login -d %s" % login, + stderr=subprocess.STDOUT, + shell=True) + self.ready() + store.remove(it) + self.view.get_selection().select_path ((0,)) + except subprocess.CalledProcessError as e: + self.ready() + self.error(e.output) return False - store.remove(iter) - self.view.get_selection().select_path((0,)) - except ValueError, e: + except ValueError as e: self.error(e.args[0]) def add(self): target = self.loginsNameEntry.get_text().strip() serange = self.loginsMLSEntry.get_text().strip() if serange == "": - serange = "s0" - list_model = self.loginsSelinuxUserCombo.get_model() - iter = self.loginsSelinuxUserCombo.get_active_iter() - seuser = list_model.get_value(iter, 0) + serange="s0" + list_model=self.loginsSelinuxUserCombo.get_model() + it = self.loginsSelinuxUserCombo.get_active_iter() + seuser = list_model.get_value(it,0) self.wait() - (rc, out) = commands.getstatusoutput("semanage login -a -s %s -r %s %s" % (seuser, serange, target)) - self.ready() - if rc != 0: - self.error(out) + try: + subprocess.check_output("semanage login -a -s %s -r %s %s" % (seuser, serange, target), + stderr=subprocess.STDOUT, + shell=True) + self.ready() + it = self.store.append() + self.store.set_value(it, 0, target) + self.store.set_value(it, 1, seuser) + self.store.set_value(it, 2, seobject.translate(serange)) + except subprocess.CalledProcessError as e: + self.error(e.output) + self.ready() return False - iter = self.store.append() - self.store.set_value(iter, 0, target) - self.store.set_value(iter, 1, seuser) - self.store.set_value(iter, 2, seobject.translate(serange)) - def modify(self): target = self.loginsNameEntry.get_text().strip() serange = self.loginsMLSEntry.get_text().strip() if serange == "": serange = "s0" list_model = self.loginsSelinuxUserCombo.get_model() - iter = self.loginsSelinuxUserCombo.get_active_iter() - seuser = list_model.get_value(iter, 0) + it = self.loginsSelinuxUserCombo.get_active_iter() + seuser=list_model.get_value(it,0) self.wait() - (rc, out) = commands.getstatusoutput("semanage login -m -s %s -r %s %s" % (seuser, serange, target)) - self.ready() - if rc != 0: - self.error(out) + try: + subprocess.check_output("semanage login -m -s %s -r %s %s" % (seuser, serange, target), + stderr=subprocess.STDOUT, + shell=True) + self.ready() + store, it = self.view.get_selection().get_selected() + self.store.set_value(it, 0, target) + self.store.set_value(it, 1, seuser) + self.store.set_value(it, 2, seobject.translate(serange)) + except subprocess.CalledProcessError as e: + self.error(e.output) + self.ready() return False - - store, iter = self.view.get_selection().get_selected() - self.store.set_value(iter, 0, target) - self.store.set_value(iter, 1, seuser) - self.store.set_value(iter, 2, seobject.translate(serange)) diff --git policycoreutils-2.5/gui/modulesPage.py policycoreutils-2.5/gui/modulesPage.py index 3b83e45..3feb2ba 100644 --- policycoreutils-2.5/gui/modulesPage.py +++ policycoreutils-2.5/gui/modulesPage.py @@ -20,7 +20,7 @@ import string import gtk import gtk.glade import os -import commands +import subprocess import gobject import sys import seobject @@ -41,8 +41,8 @@ try: unicode=False, codeset='utf-8') except IOError: - import __builtin__ - __builtin__.__dict__['_'] = unicode + import builtins + builtins.__dict__['_'] = str class modulesPage(semanagePage): @@ -87,8 +87,8 @@ class modulesPage(semanagePage): except: return 0 - def load(self, filter=""): - self.filter = filter + def load(self, filt=""): + self.filter=filt self.store.clear() try: fd = Popen("semodule -l", shell=True, stdout=PIPE).stdout @@ -96,11 +96,11 @@ class modulesPage(semanagePage): fd.close() for i in l: module, ver, newline = i.split('\t') - if not (self.match(module, filter) or self.match(ver, filter)): + if not (self.match(module, filt) or self.match(ver, filt)): continue - iter = self.store.append() - self.store.set_value(iter, 0, module.strip()) - self.store.set_value(iter, 1, ver.strip()) + it = self.store.append() + self.store.set_value(it, 0, module.strip()) + self.store.set_value(it, 1, ver.strip()) except: pass self.view.get_selection().select_path((0,)) @@ -108,53 +108,51 @@ class modulesPage(semanagePage): def new_module(self, args): try: Popen(["/usr/share/system-config-selinux/polgengui.py"]) - except ValueError, e: + except ValueError as e: self.error(e.args[0]) def delete(self): - store, iter = self.view.get_selection().get_selected() - module = store.get_value(iter, 0) + store, it = self.view.get_selection().get_selected() + module = store.get_value(it, 0) + self.wait() try: - self.wait() - status, output = commands.getstatusoutput("semodule -r %s" % module) - self.ready() - if status != 0: - self.error(output) - else: - store.remove(iter) - self.view.get_selection().select_path((0,)) - - except ValueError, e: - self.error(e.args[0]) + subprocess.check_output("semodule -r %s" % module, + stderr=subprocess.STDOUT, + shell=True) + store.remove(it) + self.view.get_selection().select_path ((0,)) + except subprocess.CalledProcessError as e: + self.error(e.output) + self.ready() def enable_audit(self, button): self.audit_enabled = not self.audit_enabled + if self.audit_enabled: + cmd = "semodule -DB" + label = _("Disable Audit") + else: + cmd = "semodule -B" + label = _("Enable Audit") + self.wait() try: - self.wait() - if self.audit_enabled: - status, output = commands.getstatusoutput("semodule -DB") - button.set_label(_("Disable Audit")) - else: - status, output = commands.getstatusoutput("semodule -B") - button.set_label(_("Enable Audit")) - self.ready() - - if status != 0: - self.error(output) - - except ValueError, e: - self.error(e.args[0]) + subprocess.check_output(cmd, + stderr=subprocess.STDOUT, + shell=True) + button.set_label(label) + except subprocess.CalledProcessError as e: + self.error(e.output) + self.ready() def disable_audit(self, button): + self.wait() + cmd = "semodule -B" try: - self.wait() - status, output = commands.getstatusoutput("semodule -B") - self.ready() - if status != 0: - self.error(output) - - except ValueError, e: - self.error(e.args[0]) + subprocess.check_output(cmd, + stderr=subprocess.STDOUT, + shell=True) + except subprocess.CalledProcessError as e: + self.error(e.output) + self.ready() def propertiesDialog(self): # Do nothing @@ -168,10 +166,10 @@ class modulesPage(semanagePage): gtk.STOCK_OPEN, gtk.RESPONSE_OK)) dialog.set_default_response(gtk.RESPONSE_OK) - filter = gtk.FileFilter() - filter.set_name("Policy Files") - filter.add_pattern("*.pp") - dialog.add_filter(filter) + filt = gtk.FileFilter() + filt.set_name("Policy Files") + filt.add_pattern("*.pp") + dialog.add_filter(filt) response = dialog.run() if response == gtk.RESPONSE_OK: @@ -179,14 +177,14 @@ class modulesPage(semanagePage): dialog.destroy() def add(self, file): + self.wait() + cmd = "semodule -i %s" % file try: - self.wait() - status, output = commands.getstatusoutput("semodule -i %s" % file) - self.ready() - if status != 0: - self.error(output) - else: - self.load() - - except ValueError, e: - self.error(e.args[0]) + subprocess.check_output(cmd, + stderr=subprocess.STDOUT, + shell=True) + self.load() + except subprocess.CalledProcessError as e: + self.error(e.output) + self.ready() + diff --git policycoreutils-2.5/gui/polgen.glade policycoreutils-2.5/gui/polgen.glade index 37c1472..9854fb2 100644 --- policycoreutils-2.5/gui/polgen.glade +++ policycoreutils-2.5/gui/polgen.glade @@ -758,7 +758,7 @@ True False True - + 2 @@ -840,7 +840,7 @@ True False True - + 2 @@ -1983,7 +1983,7 @@ Tab True True False - + True @@ -2036,7 +2036,7 @@ Tab True True False - + True @@ -2091,7 +2091,7 @@ Tab True False True - + @@ -2188,7 +2188,7 @@ Tab True True False - + True @@ -2243,7 +2243,7 @@ Tab True False True - + @@ -2414,7 +2414,7 @@ Tab True False True - + False @@ -2430,7 +2430,7 @@ Tab True False True - + False @@ -2446,7 +2446,7 @@ Tab True False True - + False diff --git policycoreutils-2.5/gui/polgengui.py policycoreutils-2.5/gui/polgengui.py index 0a153c6..f6511db 100644 --- policycoreutils-2.5/gui/polgengui.py +++ policycoreutils-2.5/gui/polgengui.py @@ -30,30 +30,15 @@ import gnome import sys try: from sepolicy import generate -except ValueError, e: +except ValueError as e: sys.stderr.write("%s: %s\n" % (e.__class__.__name__, str(e))) sys.exit(1) - + import sepolicy.interface -import commands +import subprocess import re - -def get_all_modules(): - try: - all_modules = [] - rc, output = commands.getstatusoutput("semodule -l 2>/dev/null") - if rc == 0: - l = output.split("\n") - for i in l: - all_modules.append(i.split()[0]) - except: - pass - - return all_modules - - ## ## I18N ## @@ -68,8 +53,8 @@ try: unicode=False, codeset='utf-8') except IOError: - import __builtin__ - __builtin__.__dict__['_'] = unicode + import builtins + builtins.__dict__['_'] = str gnome.program_init("SELinux Policy Generation Tool", "5") @@ -195,10 +180,10 @@ class childWindow: try: self.all_types = generate.get_all_types() - self.all_modules = get_all_modules() + self.all_modules = sepolicy.get_all_modules() self.all_roles = generate.get_all_roles() self.all_users = generate.get_all_users() - except RuntimeError, e: + except RuntimeError as e: self.all_types = [] self.all_modules = [] self.all_roles = [] @@ -265,8 +250,8 @@ class childWindow: self.out_udp_entry = self.xml.get_widget("out_udp_entry") self.network_buttons[self.out_udp_all_checkbutton] = [self.out_udp_entry] - for b in self.network_buttons.keys(): - b.connect("clicked", self.network_all_clicked) + for b in list(self.network_buttons.keys()): + b.connect("clicked",self.network_all_clicked) self.boolean_treeview = self.xml.get_widget("boolean_treeview") self.boolean_store = gtk.ListStore(gobject.TYPE_STRING, gobject.TYPE_STRING) @@ -336,7 +321,7 @@ class childWindow: for a in sepolicy.interface.get_admin(): iter = self.admin_store.append() self.admin_store.set_value(iter, 0, a) - except ValueError, e: + except ValueError as e: self.error(e.message) def confine_application(self): @@ -522,7 +507,7 @@ class childWindow: self.info(my_policy.generate(outputdir)) return False - except ValueError, e: + except ValueError as e: self.error(e.message) def delete(self, args): @@ -671,7 +656,7 @@ class childWindow: entry.set_text("") return False if name in self.all_modules: - if self.verify(_("Module %s.pp already loaded in current policy.\nDo you want to continue?") % name, _("Verify Name")) == gtk.RESPONSE_NO: + if self.verify(_("Module %s already loaded in current policy.\nDo you want to continue?") % name, _("Verify Name")) == gtk.RESPONSE_NO: entry.set_text("") return False @@ -690,7 +675,7 @@ class childWindow: try: generate.verify_ports(self.in_tcp_entry.get_text()) generate.verify_ports(self.in_udp_entry.get_text()) - except ValueError, e: + except ValueError as e: self.error(e.message) return True @@ -698,7 +683,7 @@ class childWindow: try: generate.verify_ports(self.out_tcp_entry.get_text()) generate.verify_ports(self.out_udp_entry.get_text()) - except ValueError, e: + except ValueError as e: self.error(e.message) return True @@ -737,12 +722,12 @@ class childWindow: policy.set_program(exe) policy.gen_writeable() policy.gen_symbols() - for f in policy.files.keys(): + for f in list(policy.files.keys()): iter = self.store.append() self.store.set_value(iter, 0, f) self.store.set_value(iter, 1, FILE) - for f in policy.dirs.keys(): + for f in list(policy.dirs.keys()): iter = self.store.append() self.store.set_value(iter, 0, f) self.store.set_value(iter, 1, DIR) diff --git policycoreutils-2.5/gui/portsPage.py policycoreutils-2.5/gui/portsPage.py index 8e74ac0..e8737b0 100644 --- policycoreutils-2.5/gui/portsPage.py +++ policycoreutils-2.5/gui/portsPage.py @@ -16,14 +16,11 @@ ## Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ## Author: Dan Walsh -import string import gtk import gtk.glade -import os import gobject -import sys import seobject -import commands +import subprocess from semanagePage import * ## @@ -43,8 +40,8 @@ try: unicode=False, codeset='utf-8') except IOError: - import __builtin__ - __builtin__.__dict__['_'] = unicode + import builtins + builtins.__dict__['_'] = str class portsPage(semanagePage): @@ -64,19 +61,19 @@ class portsPage(semanagePage): self.ports_properties_button = xml.get_widget("portsPropertiesButton") self.ports_delete_button = xml.get_widget("portsDeleteButton") liststore = self.ports_protocol_combo.get_model() - iter = liststore.get_iter_first() - self.ports_protocol_combo.set_active_iter(iter) + it = liststore.get_iter_first() + self.ports_protocol_combo.set_active_iter(it) self.init_store() self.edit = True self.load() def filter_changed(self, *arg): - filter = arg[0].get_text() - if filter != self.filter: + filt = arg[0].get_text() + if filt != self.filter: if self.edit: - self.load(filter) + self.load(filt) else: - self.group_load(filter) + self.group_load(filt) def init_store(self): self.store = gtk.ListStore(gobject.TYPE_STRING, gobject.TYPE_STRING, gobject.TYPE_STRING, gobject.TYPE_STRING) @@ -118,63 +115,63 @@ class portsPage(semanagePage): except: return 0 - def load(self, filter=""): - self.filter = filter + def load(self,filt = ""): + self.filter=filt self.port = seobject.portRecords() - dict = self.port.get_all(self.local) - keys = dict.keys() + pdict = self.port.get_all(self.local) + keys = list(pdict.keys()) keys.sort() self.store.clear() for k in keys: - if not (self.match(str(k[0]), filter) or self.match(dict[k][0], filter) or self.match(k[2], filter) or self.match(dict[k][1], filter) or self.match(dict[k][1], filter)): + if not (self.match(str(k[0]), filt) or self.match(pdict[k][0], filt) or self.match(k[2], filt) or self.match(pdict[k][1], filt) or self.match(pdict[k][1], filt)): continue - iter = self.store.append() + it = self.store.append() if k[0] == k[1]: - self.store.set_value(iter, PORT_COL, k[0]) + self.store.set_value(it, PORT_COL, k[0]) else: rec = "%s-%s" % k[:2] - self.store.set_value(iter, PORT_COL, rec) - self.store.set_value(iter, TYPE_COL, dict[k][0]) - self.store.set_value(iter, PROTOCOL_COL, k[2]) - self.store.set_value(iter, MLS_COL, dict[k][1]) - self.view.get_selection().select_path((0,)) + self.store.set_value(it, PORT_COL, rec) + self.store.set_value(it, TYPE_COL, pdict[k][0]) + self.store.set_value(it, PROTOCOL_COL, k[2]) + self.store.set_value(it, MLS_COL, pdict[k][1]) + self.view.get_selection().select_path ((0,)) - def group_load(self, filter=""): - self.filter = filter + def group_load(self, filt = ""): + self.filter=filt self.port = seobject.portRecords() - dict = self.port.get_all_by_type(self.local) - keys = dict.keys() + pdict = self.port.get_all_by_type(self.local) + keys = list(pdict.keys()) keys.sort() self.store.clear() for k in keys: - ports_string = ", ".join(dict[k]) - if not (self.match(ports_string, filter) or self.match(k[0], filter) or self.match(k[1], filter)): + ports_string = ", ".join(pdict[k]) + if not (self.match(ports_string, filt) or self.match(k[0], filt) or self.match(k[1], filt) ): continue - iter = self.store.append() - self.store.set_value(iter, TYPE_COL, k[0]) - self.store.set_value(iter, PROTOCOL_COL, k[1]) - self.store.set_value(iter, PORT_COL, ports_string) - self.store.set_value(iter, MLS_COL, "") - self.view.get_selection().select_path((0,)) + it = self.store.append() + self.store.set_value(it, TYPE_COL, k[0]) + self.store.set_value(it, PROTOCOL_COL, k[1]) + self.store.set_value(it, PORT_COL, ports_string) + self.store.set_value(it, MLS_COL, "") + self.view.get_selection().select_path ((0,)) def propertiesDialog(self): if self.edit: semanagePage.propertiesDialog(self) def dialogInit(self): - store, iter = self.view.get_selection().get_selected() - self.ports_number_entry.set_text(store.get_value(iter, PORT_COL)) + store, it = self.view.get_selection().get_selected() + self.ports_number_entry.set_text(store.get_value(it, PORT_COL)) self.ports_number_entry.set_sensitive(False) self.ports_protocol_combo.set_sensitive(False) - self.ports_name_entry.set_text(store.get_value(iter, TYPE_COL)) - self.ports_mls_entry.set_text(store.get_value(iter, MLS_COL)) - protocol = store.get_value(iter, PROTOCOL_COL) + self.ports_name_entry.set_text(store.get_value(it, TYPE_COL)) + self.ports_mls_entry.set_text(store.get_value(it, MLS_COL)) + protocol = store.get_value(it, PROTOCOL_COL) liststore = self.ports_protocol_combo.get_model() - iter = liststore.get_iter_first() - while iter != None and liststore.get_value(iter, 0) != protocol: - iter = liststore.iter_next(iter) - if iter != None: - self.ports_protocol_combo.set_active_iter(iter) + it = liststore.get_iter_first() + while it != None and liststore.get_value(it,0) != protocol: + it = liststore.iter_next(it) + if it != None: + self.ports_protocol_combo.set_active_iter(it) def dialogClear(self): self.ports_number_entry.set_text("") @@ -184,19 +181,20 @@ class portsPage(semanagePage): self.ports_mls_entry.set_text("s0") def delete(self): - store, iter = self.view.get_selection().get_selected() - port = store.get_value(iter, PORT_COL) - protocol = store.get_value(iter, 1) + store, it = self.view.get_selection().get_selected() + port = store.get_value(it, PORT_COL) + protocol = store.get_value(it, 1) + self.wait() + cmd = "semanage port -d -p %s %s" % (protocol, port) try: - self.wait() - (rc, out) = commands.getstatusoutput("semanage port -d -p %s %s" % (protocol, port)) - self.ready() - if rc != 0: - return self.error(out) - store.remove(iter) - self.view.get_selection().select_path((0,)) - except ValueError, e: - self.error(e.args[0]) + subprocess.check_output(cmd, + stderr=subprocess.STDOUT, + shell=True) + store.remove(it) + self.view.get_selection().select_path ((0,)) + except subprocess.CalledProcessError as e: + self.error(e.output) + self.ready() def add(self): target = self.ports_name_entry.get_text().strip() @@ -209,39 +207,47 @@ class portsPage(semanagePage): self.error(_("Port number \"%s\" is not valid. 0 < PORT_NUMBER < 65536 ") % port_number) return False list_model = self.ports_protocol_combo.get_model() - iter = self.ports_protocol_combo.get_active_iter() - protocol = list_model.get_value(iter, 0) + it = self.ports_protocol_combo.get_active_iter() + protocol = list_model.get_value(it,0) self.wait() - (rc, out) = commands.getstatusoutput("semanage port -a -p %s -r %s -t %s %s" % (protocol, mls, target, port_number)) + cmd = "semanage port -a -p %s -r %s -t %s %s" % (protocol, mls, target, port_number) + try: + subprocess.check_output(cmd, + stderr=subprocess.STDOUT, + shell=True) + it = self.store.append() + self.store.set_value(it, TYPE_COL, target) + self.store.set_value(it, PORT_COL, port_number) + self.store.set_value(it, PROTOCOL_COL, protocol) + self.store.set_value(it, MLS_COL, mls) + except subprocess.CalledProcessError as e: + self.error(e.output) self.ready() - if rc != 0: - self.error(out) - return False - iter = self.store.append() - - self.store.set_value(iter, TYPE_COL, target) - self.store.set_value(iter, PORT_COL, port_number) - self.store.set_value(iter, PROTOCOL_COL, protocol) - self.store.set_value(iter, MLS_COL, mls) def modify(self): target = self.ports_name_entry.get_text().strip() mls = self.ports_mls_entry.get_text().strip() port_number = self.ports_number_entry.get_text().strip() list_model = self.ports_protocol_combo.get_model() - iter = self.ports_protocol_combo.get_active_iter() - protocol = list_model.get_value(iter, 0) + it = self.ports_protocol_combo.get_active_iter() + protocol = list_model.get_value(it,0) self.wait() - (rc, out) = commands.getstatusoutput("semanage port -m -p %s -r %s -t %s %s" % (protocol, mls, target, port_number)) - self.ready() - if rc != 0: - self.error(out) + cmd = "semanage port -m -p %s -r %s -t %s %s" % (protocol, mls, target, port_number) + try: + subprocess.check_output(cmd, + stderr=subprocess.STDOUT, + shell=True) + store, it = self.view.get_selection().get_selected() + self.store.set_value(it, TYPE_COL, target) + self.store.set_value(it, PORT_COL, port_number) + self.store.set_value(it, PROTOCOL_COL, protocol) + self.store.set_value(it, MLS_COL, mls) + self.ready() + return True + except subprocess.CalledProcessError as e: + self.error(e.output) + self.ready() return False - store, iter = self.view.get_selection().get_selected() - self.store.set_value(iter, TYPE_COL, target) - self.store.set_value(iter, PORT_COL, port_number) - self.store.set_value(iter, PROTOCOL_COL, protocol) - self.store.set_value(iter, MLS_COL, mls) def on_group_clicked(self, button): self.ports_add_button.set_sensitive(self.group) diff --git policycoreutils-2.5/gui/semanagePage.py policycoreutils-2.5/gui/semanagePage.py index 5d7f2cf..26ab768 100644 --- policycoreutils-2.5/gui/semanagePage.py +++ policycoreutils-2.5/gui/semanagePage.py @@ -37,8 +37,8 @@ try: unicode=False, codeset='utf-8') except IOError: - import __builtin__ - __builtin__.__dict__['_'] = unicode + import builtins + builtins.__dict__['_'] = str def idle_func(): @@ -80,9 +80,9 @@ class semanagePage: return def filter_changed(self, *arg): - filter = arg[0].get_text() - if filter != self.filter: - self.load(filter) + filt = arg[0].get_text() + if filt != self.filter: + self.load(filt) def search(self, model, col, key, i): sort_col = self.store.get_sort_column_id()[0] @@ -125,13 +125,37 @@ class semanagePage: dlg.destroy() def deleteDialog(self): - store, iter = self.view.get_selection().get_selected() - if self.verify(_("Are you sure you want to delete %s '%s'?" % (self.description, store.get_value(iter, 0))), _("Delete %s" % self.description)) == gtk.RESPONSE_YES: + store, it = self.view.get_selection().get_selected() + if (it is not None) and (self.verify(_("Are you sure you want to delete %s '%s'?" % (self.description, store.get_value(it, 0))), _("Delete %s" % self.description)) == gtk.RESPONSE_YES): self.delete() def use_menus(self): return True + def load(self, filt): + raise RuntimeError("load method not implemented in parent class"); + + def filter(self): + raise RuntimeError("filter method not implemented in parent class"); + + def store(self): + raise RuntimeError("store method not implemented in parent class"); + + def add(self): + raise RuntimeError("add method not implemented"); + + def modify(self): + raise RuntimeError("modify method not implemented"); + + def delete(self): + raise RuntimeError("delete method not implemented"); + + def dialogInit(self): + raise RuntimeError("dialogInit method not implemented"); + + def dialogClear(self): + raise RuntimeError("dialogClear method not implemented"); + def addDialog(self): self.dialogClear() self.dialog.set_title(_("Add %s" % self.description)) @@ -139,10 +163,10 @@ class semanagePage: while self.dialog.run() == gtk.RESPONSE_OK: try: - if self.add() == False: + if self.add() is False: continue - break - except ValueError, e: + break; + except ValueError as e: self.error(e.args[0]) self.dialog.hide() @@ -152,10 +176,10 @@ class semanagePage: self.dialog.set_position(gtk.WIN_POS_MOUSE) while self.dialog.run() == gtk.RESPONSE_OK: try: - if self.modify() == False: + if self.modify() is False: continue - break - except ValueError, e: + break; + except ValueError as e: self.error(e.args[0]) self.dialog.hide() diff --git policycoreutils-2.5/gui/statusPage.py policycoreutils-2.5/gui/statusPage.py index 991d8f3..782d186 100644 --- policycoreutils-2.5/gui/statusPage.py +++ policycoreutils-2.5/gui/statusPage.py @@ -16,18 +16,14 @@ ## Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ## Author: Dan Walsh -import string import gtk import gtk.glade import os -import gobject import sys -import tempfile INSTALLPATH = '/usr/share/system-config-selinux' sys.path.append(INSTALLPATH) -import commands ENFORCING = 1 PERMISSIVE = 0 DISABLED = -1 @@ -47,8 +43,8 @@ import selinux try: gettext.install(PROGNAME, localedir="/usr/share/locale", unicode=1) except IOError: - import __builtin__ - __builtin__.__dict__['_'] = unicode + import builtins + builtins.__dict__['_'] = unicode class statusPage: @@ -129,21 +125,21 @@ class statusPage: return rc def typemenu_changed(self, menu): - type = self.get_type() + setype = self.get_type() enabled = self.enabledOptionMenu.get_active() - if self.initialtype != type: + if self.initialtype != setype: if self.verify(_("Changing the policy type will cause a relabel of the entire file system on the next boot. Relabeling takes a long time depending on the size of the file system. Do you wish to continue?")) == gtk.RESPONSE_NO: menu.set_active(self.typeHistory) return None self.relabel_checkbutton.set_active(True) - self.write_selinux_config(modearray[enabled], type) + self.write_selinux_config(modearray[enabled], setype ) self.typeHistory = menu.get_active() def enabled_changed(self, combo): enabled = combo.get_active() - type = self.get_type() + setype = self.get_type() if self.initEnabled != DISABLED and enabled == DISABLED: if self.verify(_("Changing to SELinux disabled requires a reboot. It is not recommended. If you later decide to turn SELinux back on, the system will be required to relabel. If you just want to see if SELinux is causing a problem on your system, you can go to permissive mode which will only log errors and not enforce SELinux policy. Permissive mode does not require a reboot Do you wish to continue?")) == gtk.RESPONSE_NO: @@ -156,10 +152,10 @@ class statusPage: return None self.relabel_checkbutton.set_active(True) - self.write_selinux_config(modearray[enabled], type) + self.write_selinux_config(modearray[enabled], setype ) self.enabled = enabled - def write_selinux_config(self, enforcing, type): + def write_selinux_config(self, enforcing, setype): path = selinux.selinux_path() + "config" backup_path = path + ".bck" fd = open(path) @@ -171,7 +167,7 @@ class statusPage: fd.write("SELINUX=%s\n" % enforcing) continue if l.startswith("SELINUXTYPE="): - fd.write("SELINUXTYPE=%s\n" % type) + fd.write("SELINUXTYPE=%s\n" % setype) continue fd.write(l) fd.close() diff --git policycoreutils-2.5/gui/system-config-selinux.glade policycoreutils-2.5/gui/system-config-selinux.glade index 05a697e..4547b3f 100644 --- policycoreutils-2.5/gui/system-config-selinux.glade +++ policycoreutils-2.5/gui/system-config-selinux.glade @@ -729,7 +729,7 @@ regular file directory character device block device -socket +socket file symbolic link named pipe diff --git policycoreutils-2.5/gui/system-config-selinux.py policycoreutils-2.5/gui/system-config-selinux.py index 7d342d0..563bb49 100644 --- policycoreutils-2.5/gui/system-config-selinux.py +++ policycoreutils-2.5/gui/system-config-selinux.py @@ -25,10 +25,10 @@ import string import sys try: import gtk -except RuntimeError, e: - print "system-config-selinux:", e - print "This is a graphical application and requires DISPLAY to be set." - sys.exit(1) +except RuntimeError as e: + print("system-config-selinux:", e) + print("This is a graphical application and requires DISPLAY to be set.") + sys.exit (1) import gtk.glade import os @@ -57,8 +57,8 @@ try: unicode=False, codeset='utf-8') except IOError: - import __builtin__ - __builtin__.__dict__['_'] = unicode + import builtins + builtins.__dict__['_'] = str gnome.program_init("SELinux Management Tool", "5") @@ -94,9 +94,9 @@ class childWindow: self.add_page(loginsPage.loginsPage(xml)) self.add_page(usersPage.usersPage(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.add_page(modulesPage.modulesPage(xml)) # modules + self.add_page(domainsPage.domainsPage(xml)) # domains + except ValueError as e: self.error(e.message) xml.signal_connect("on_quit_activate", self.destroy) diff --git policycoreutils-2.5/gui/usersPage.py policycoreutils-2.5/gui/usersPage.py index abf8d3b..f50fcb2 100644 --- policycoreutils-2.5/gui/usersPage.py +++ policycoreutils-2.5/gui/usersPage.py @@ -16,13 +16,10 @@ ## Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ## Author: Dan Walsh -import string import gtk import gtk.glade -import os import gobject -import sys -import commands +import subprocess import seobject from semanagePage import * @@ -36,8 +33,8 @@ gettext.textdomain(PROGNAME) try: gettext.install(PROGNAME, localedir="/usr/share/locale", unicode=1) except IOError: - import __builtin__ - __builtin__.__dict__['_'] = unicode + import builtins + builtins.__dict__['_'] = unicode class usersPage(semanagePage): @@ -67,34 +64,30 @@ class usersPage(semanagePage): self.mlsRangeEntry = xml.get_widget("mlsRangeEntry") self.selinuxRolesEntry = xml.get_widget("selinuxRolesEntry") - def load(self, filter=""): - self.filter = filter + def load(self, filt = ""): + self.filter=filt self.user = seobject.seluserRecords() - dict = self.user.get_all() - keys = dict.keys() + udict = self.user.get_all() + keys = list(udict.keys()) keys.sort() self.store.clear() for k in keys: - range = seobject.translate(dict[k][2]) - if not (self.match(k, filter) or self.match(dict[k][0], filter) or self.match(range, filter) or self.match(dict[k][3], filter)): + serange = seobject.translate(udict[k][2]) + if not (self.match(k, filt) or self.match(udict[k][0], filter) or self.match(serange, filt) or self.match(udict[k][3], filt)): continue - iter = self.store.append() - self.store.set_value(iter, 0, k) - self.store.set_value(iter, 1, range) - self.store.set_value(iter, 2, dict[k][3]) - self.view.get_selection().select_path((0,)) - - def delete(self): - if semanagePage.delete(self) == gtk.RESPONSE_NO: - return None + it = self.store.append() + self.store.set_value(it, 0, k) + self.store.set_value(it, 1, serange) + self.store.set_value(it, 2, udict[k][3]) + self.view.get_selection().select_path ((0,)) def dialogInit(self): - store, iter = self.view.get_selection().get_selected() - self.selinuxUserEntry.set_text(store.get_value(iter, 0)) + store, it = self.view.get_selection().get_selected() + self.selinuxUserEntry.set_text(store.get_value(it, 0)) self.selinuxUserEntry.set_sensitive(False) - self.mlsRangeEntry.set_text(store.get_value(iter, 1)) - self.selinuxRolesEntry.set_text(store.get_value(iter, 2)) + self.mlsRangeEntry.set_text(store.get_value(it, 1)) + self.selinuxRolesEntry.set_text(store.get_value(it, 2)) def dialogClear(self): self.selinuxUserEntry.set_text("") @@ -104,48 +97,62 @@ class usersPage(semanagePage): def add(self): user = self.selinuxUserEntry.get_text() - range = self.mlsRangeEntry.get_text() + serange = self.mlsRangeEntry.get_text() roles = self.selinuxRolesEntry.get_text() self.wait() - (rc, out) = commands.getstatusoutput("semanage user -a -R '%s' -r %s %s" % (roles, range, user)) - self.ready() - if rc != 0: - self.error(out) + try: + subprocess.check_output("semanage user -a -R '%s' -r %s %s" % (roles, serange, user), + stderr=subprocess.STDOUT, + shell=True) + self.ready() + it = self.store.append() + self.store.set_value(it, 0, user) + self.store.set_value(it, 1, serange) + self.store.set_value(it, 2, roles) + except subprocess.CalledProcessError as e: + self.error(e.output) + self.ready() return False - iter = self.store.append() - self.store.set_value(iter, 0, user) - self.store.set_value(iter, 1, range) - self.store.set_value(iter, 2, roles) def modify(self): user = self.selinuxUserEntry.get_text() - range = self.mlsRangeEntry.get_text() + serange = self.mlsRangeEntry.get_text() roles = self.selinuxRolesEntry.get_text() self.wait() - (rc, out) = commands.getstatusoutput("semanage user -m -R '%s' -r %s %s" % (roles, range, user)) - self.ready() - - if rc != 0: - self.error(out) + cmd = "semanage user -m -R '%s' -r %s %s" % (roles, serange, user) + try: + subprocess.check_output(cmd, + stderr=subprocess.STDOUT, + shell=True) + self.ready() + self.load(self.filter) + except subprocess.CalledProcessError as e: + self.error(e.output) + self.ready() return False - self.load(self.filter) + return True def delete(self): - store, iter = self.view.get_selection().get_selected() + store, it = self.view.get_selection().get_selected() try: - user = store.get_value(iter, 0) + user=store.get_value(it, 0) if user == "root" or user == "user_u": raise ValueError(_("SELinux user '%s' is required") % user) self.wait() - (rc, out) = commands.getstatusoutput("semanage user -d %s" % user) - self.ready() - if rc != 0: - self.error(out) + cmd = "semanage user -d %s" % user + try: + subprocess.check_output(cmd, + stderr=subprocess.STDOUT, + shell=True) + self.ready() + store.remove(it) + self.view.get_selection().select_path ((0,)) + except subprocess.CalledProcessError as e: + self.error(e.output) + self.ready() return False - store.remove(iter) - self.view.get_selection().select_path((0,)) - except ValueError, e: + except ValueError as e: self.error(e.args[0]) diff --git policycoreutils-2.5/hll/pp/pp.c policycoreutils-2.5/hll/pp/pp.c index 866734f..7f9afb0 100644 --- policycoreutils-2.5/hll/pp/pp.c +++ policycoreutils-2.5/hll/pp/pp.c @@ -28,6 +28,7 @@ #include #include +#include char *progname; @@ -68,6 +69,8 @@ int main(int argc, char **argv) { NULL, 0, NULL, 0 } }; struct sepol_module_package *mod_pkg = NULL; + char *ifile = NULL; + char *ofile = NULL; FILE *in = NULL; FILE *out = NULL; int outfd = -1; @@ -89,20 +92,23 @@ int main(int argc, char **argv) } if (argc >= optind + 1 && strcmp(argv[1], "-") != 0) { - in = fopen(argv[1], "rb"); + ifile = argv[1]; + in = fopen(ifile, "rb"); if (in == NULL) { - log_err("Failed to open %s: %s", argv[1], strerror(errno)); + log_err("Failed to open %s: %s", ifile, strerror(errno)); rc = -1; goto exit; } } else { + ifile = "stdin"; in = stdin; } if (argc >= optind + 2 && strcmp(argv[2], "-") != 0) { - out = fopen(argv[2], "w"); + ofile = argv[2]; + out = fopen(ofile, "w"); if (out == NULL) { - log_err("Failed to open %s: %s", argv[2], strerror(errno)); + log_err("Failed to open %s: %s", ofile, strerror(errno)); rc = -1; goto exit; } @@ -122,6 +128,25 @@ int main(int argc, char **argv) fclose(in); in = NULL; + if (ofile) { + char *mod_name = mod_pkg->policy->p.name; + char *cil_path = strdup(ofile); + if (cil_path == NULL) { + log_err("No memory available for strdup\n"); + rc = -1; + goto exit; + } + char *cil_name = basename(cil_path); + char *separator = strrchr(cil_name, '.'); + if (separator) { + *separator = '\0'; + } + if (mod_name && strcmp(mod_name, cil_name) != 0) { + fprintf(stderr, "Warning: SELinux userspace will refer to the module from %s as %s rather than %s\n", ifile, mod_name, cil_name); + } + free(cil_path); + } + rc = sepol_module_package_to_cil(out, mod_pkg); if (rc != 0) { goto exit; diff --git policycoreutils-2.5/newrole/Makefile policycoreutils-2.5/newrole/Makefile index 646cd4d..8b41428 100644 --- policycoreutils-2.5/newrole/Makefile +++ policycoreutils-2.5/newrole/Makefile @@ -22,7 +22,7 @@ VERSION = $(shell cat ../VERSION) CFLAGS ?= -Werror -Wall -W EXTRA_OBJS = -override CFLAGS += -DVERSION=\"$(VERSION)\" $(LDFLAGS) -I$(PREFIX)/include -DUSE_NLS -DLOCALEDIR="\"$(LOCALEDIR)\"" -DPACKAGE="\"policycoreutils\"" +override CFLAGS += -DVERSION=\"$(VERSION)\" -I$(PREFIX)/include -DUSE_NLS -DLOCALEDIR="\"$(LOCALEDIR)\"" -DPACKAGE="\"policycoreutils\"" LDLIBS += -lselinux -L$(PREFIX)/lib ifeq ($(PAMH), /usr/include/security/pam_appl.h) override CFLAGS += -DUSE_PAM diff --git policycoreutils-2.5/po/Makefile policycoreutils-2.5/po/Makefile index a693823..555f381 100644 --- policycoreutils-2.5/po/Makefile +++ policycoreutils-2.5/po/Makefile @@ -28,7 +28,7 @@ POTFILES = \ ../run_init/run_init.c \ ../semodule_link/semodule_link.c \ ../audit2allow/audit2allow \ - ../semanage/seobject.py \ + ../semanage/seobject/__init__.py \ ../setsebool/setsebool.c \ ../newrole/newrole.c \ ../load_policy/load_policy.c \ @@ -49,7 +49,6 @@ POTFILES = \ ../gui/booleansPage.py \ ../gui/fcontextPage.py \ ../gui/loginsPage.py \ - ../gui/mappingsPage.py \ ../gui/modulesPage.py \ ../gui/polgen.glade \ ../gui/polgengui.py \ @@ -61,6 +60,36 @@ POTFILES = \ ../gui/usersPage.py \ ../secon/secon.c \ booleans.py \ + ../sepolicy/sepolicy/help/booleans_more_show.txt \ + ../sepolicy/sepolicy/help/booleans_more.txt \ + ../sepolicy/sepolicy/help/booleans_toggled.txt \ + ../sepolicy/sepolicy/help/booleans.txt \ + ../sepolicy/sepolicy/help/file_equiv.txt \ + ../sepolicy/sepolicy/help/files_apps.txt \ + ../sepolicy/sepolicy/help/files_exec.txt \ + ../sepolicy/sepolicy/help/files_write.txt \ + ../sepolicy/sepolicy/help/lockdown_permissive.txt \ + ../sepolicy/sepolicy/help/lockdown_ptrace.txt \ + ../sepolicy/sepolicy/help/lockdown.txt \ + ../sepolicy/sepolicy/help/lockdown_unconfined.txt \ + ../sepolicy/sepolicy/help/login_default.txt \ + ../sepolicy/sepolicy/help/login.txt \ + ../sepolicy/sepolicy/help/ports_inbound.txt \ + ../sepolicy/sepolicy/help/ports_outbound.txt \ + ../sepolicy/sepolicy/help/start.txt \ + ../sepolicy/sepolicy/help/system_boot_mode.txt \ + ../sepolicy/sepolicy/help/system_current_mode.txt \ + ../sepolicy/sepolicy/help/system_export.txt \ + ../sepolicy/sepolicy/help/system_policy_type.txt \ + ../sepolicy/sepolicy/help/system_relabel.txt \ + ../sepolicy/sepolicy/help/system.txt \ + ../sepolicy/sepolicy/help/transition_file.txt \ + ../sepolicy/sepolicy/help/transition_from_boolean_1.txt \ + ../sepolicy/sepolicy/help/transition_from_boolean_2.txt \ + ../sepolicy/sepolicy/help/transition_from_boolean.txt \ + ../sepolicy/sepolicy/help/transition_from.txt \ + ../sepolicy/sepolicy/help/transition_to.txt \ + ../sepolicy/sepolicy/help/users.txt \ ../sepolicy/info.c \ ../sepolicy/search.c \ ../sepolicy/sepolicy.py \ diff --git policycoreutils-2.5/po/af.po policycoreutils-2.5/po/af.po index e4a6e09..25657b9 100644 --- policycoreutils-2.5/po/af.po +++ policycoreutils-2.5/po/af.po @@ -1,22 +1,22 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. # -# Translators: msgid "" msgstr "" -"Project-Id-Version: Policycoreutils\n" +"Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2013-10-10 16:04-0400\n" -"PO-Revision-Date: 2012-03-30 18:14+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Afrikaans (http://www.transifex.com/projects/p/fedora/" -"language/af/)\n" +"POT-Creation-Date: 2016-11-22 16:37+0100\n" +"PO-Revision-Date: \n" +"Last-Translator: \n" +"Language-Team: Afrikaans\n" "Language: af\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"X-Generator: Zanata 3.8.4\n" #: ../run_init/run_init.c:67 msgid "" @@ -25,7 +25,7 @@ msgid "" " are the arguments to that script." msgstr "" -#: ../run_init/run_init.c:126 ../newrole/newrole.c:1128 +#: ../run_init/run_init.c:126 ../newrole/newrole.c:1149 #, c-format msgid "failed to initialize PAM\n" msgstr "" @@ -35,16 +35,16 @@ msgstr "" msgid "failed to get account information\n" msgstr "" -#: ../run_init/run_init.c:162 ../newrole/newrole.c:341 +#: ../run_init/run_init.c:162 ../newrole/newrole.c:340 msgid "Password:" msgstr "" -#: ../run_init/run_init.c:197 ../newrole/newrole.c:366 +#: ../run_init/run_init.c:197 ../newrole/newrole.c:365 #, c-format msgid "Cannot find your entry in the shadow passwd file.\n" msgstr "" -#: ../run_init/run_init.c:203 ../newrole/newrole.c:373 +#: ../run_init/run_init.c:203 ../newrole/newrole.c:372 #, c-format msgid "getpass cannot open /dev/tty\n" msgstr "" @@ -74,109 +74,152 @@ msgstr "" msgid "authentication failed.\n" msgstr "" -#: ../run_init/run_init.c:405 ../newrole/newrole.c:1270 +#: ../run_init/run_init.c:405 ../newrole/newrole.c:1291 #, c-format msgid "Could not set exec context to %s.\n" msgstr "" -#: ../audit2allow/audit2allow:232 +#: ../audit2allow/audit2allow:237 msgid "******************** IMPORTANT ***********************\n" msgstr "" -#: ../audit2allow/audit2allow:233 +#: ../audit2allow/audit2allow:238 msgid "To make this policy package active, execute:" msgstr "" -#: ../semanage/seobject.py:210 +#: ../semanage/seobject/__init__.py:258 msgid "Could not create semanage handle" msgstr "" -#: ../semanage/seobject.py:218 +#: ../semanage/seobject/__init__.py:266 msgid "SELinux policy is not managed or store cannot be accessed." msgstr "" -#: ../semanage/seobject.py:223 +#: ../semanage/seobject/__init__.py:271 msgid "Cannot read policy store." msgstr "" -#: ../semanage/seobject.py:228 +#: ../semanage/seobject/__init__.py:276 msgid "Could not establish semanage connection" msgstr "" -#: ../semanage/seobject.py:233 +#: ../semanage/seobject/__init__.py:281 msgid "Could not test MLS enabled status" msgstr "" -#: ../semanage/seobject.py:239 ../semanage/seobject.py:254 +#: ../semanage/seobject/__init__.py:287 ../semanage/seobject/__init__.py:303 msgid "Not yet implemented" msgstr "" -#: ../semanage/seobject.py:243 +#: ../semanage/seobject/__init__.py:291 msgid "Semanage transaction already in progress" msgstr "" -#: ../semanage/seobject.py:252 +#: ../semanage/seobject/__init__.py:300 msgid "Could not start semanage transaction" msgstr "" -#: ../semanage/seobject.py:264 +#: ../semanage/seobject/__init__.py:313 msgid "Could not commit semanage transaction" msgstr "" -#: ../semanage/seobject.py:269 +#: ../semanage/seobject/__init__.py:318 msgid "Semanage transaction not in progress" msgstr "" -#: ../semanage/seobject.py:281 ../semanage/seobject.py:376 +#: ../semanage/seobject/__init__.py:332 ../semanage/seobject/__init__.py:463 msgid "Could not list SELinux modules" msgstr "" -#: ../semanage/seobject.py:300 -msgid "Modules Name" +#: ../semanage/seobject/__init__.py:339 +msgid "Could not get module name" msgstr "" -#: ../semanage/seobject.py:300 ../gui/modulesPage.py:63 -msgid "Version" +#: ../semanage/seobject/__init__.py:343 +msgid "Could not get module enabled" +msgstr "" + +#: ../semanage/seobject/__init__.py:347 +msgid "Could not get module priority" +msgstr "" + +#: ../semanage/seobject/__init__.py:351 +msgid "Could not get module lang_ext" +msgstr "" + +#: ../semanage/seobject/__init__.py:372 ../gui/modulesPage.py:60 +msgid "Module Name" msgstr "" -#: ../semanage/seobject.py:303 ../gui/statusPage.py:75 -#: ../sepolicy/sepolicy/sepolicy.glade:3430 +#: ../semanage/seobject/__init__.py:372 +msgid "Priority" +msgstr "" + +#: ../semanage/seobject/__init__.py:372 +msgid "Language" +msgstr "" + +#: ../semanage/seobject/__init__.py:375 ../gui/statusPage.py:73 +#: ../sepolicy/sepolicy/sepolicy.glade:3431 msgid "Disabled" msgstr "" -#: ../semanage/seobject.py:312 +#: ../semanage/seobject/__init__.py:384 ../semanage/seobject/__init__.py:416 +#: ../semanage/seobject/__init__.py:423 +msgid "You did not define module name." +msgstr "" + +#: ../semanage/seobject/__init__.py:386 #, python-format msgid "Module does not exists %s " msgstr "" -#: ../semanage/seobject.py:322 +#: ../semanage/seobject/__init__.py:390 ../semanage/seobject/__init__.py:426 +#, python-format +msgid "Invalid priority %d (needs to be between 1 and 999)" +msgstr "" + +#: ../semanage/seobject/__init__.py:400 +msgid "Could not create module key" +msgstr "" + +#: ../semanage/seobject/__init__.py:404 +msgid "Could not set module key name" +msgstr "" + +#: ../semanage/seobject/__init__.py:409 #, python-format -msgid "Could not disable module %s (remove failed)" +msgid "Could not enable module %s" msgstr "" -#: ../semanage/seobject.py:333 +#: ../semanage/seobject/__init__.py:411 #, python-format -msgid "Could not enable module %s (remove failed)" +msgid "Could not disable module %s" msgstr "" -#: ../semanage/seobject.py:348 +#: ../semanage/seobject/__init__.py:431 #, python-format msgid "Could not remove module %s (remove failed)" msgstr "" -#: ../semanage/seobject.py:363 +#: ../semanage/seobject/__init__.py:448 msgid "dontaudit requires either 'on' or 'off'" msgstr "" -#: ../semanage/seobject.py:391 +#: ../semanage/seobject/__init__.py:479 +msgid "Customized Permissive Types" +msgstr "" + +#: ../semanage/seobject/__init__.py:487 msgid "Builtin Permissive Types" msgstr "" -#: ../semanage/seobject.py:401 -msgid "Customized Permissive Types" +#: ../semanage/seobject/__init__.py:496 +#, python-format +msgid "%s is not a domain type" msgstr "" -#: ../semanage/seobject.py:410 +#: ../semanage/seobject/__init__.py:501 msgid "" "The sepolgen python module is required to setup permissive domains.\n" "In some distributions it is included in the policycoreutils-devel patckage.\n" @@ -184,1068 +227,1087 @@ msgid "" "Or similar for your distro." msgstr "" -#: ../semanage/seobject.py:447 +#: ../semanage/seobject/__init__.py:511 #, python-format msgid "Could not set permissive domain %s (module installation failed)" msgstr "" -#: ../semanage/seobject.py:453 +#: ../semanage/seobject/__init__.py:517 #, python-format msgid "Could not remove permissive domain %s (remove failed)" msgstr "" -#: ../semanage/seobject.py:488 ../semanage/seobject.py:562 -#: ../semanage/seobject.py:608 ../semanage/seobject.py:730 -#: ../semanage/seobject.py:760 ../semanage/seobject.py:827 -#: ../semanage/seobject.py:884 ../semanage/seobject.py:1144 -#: ../semanage/seobject.py:1879 ../semanage/seobject.py:1942 -#: ../semanage/seobject.py:1961 ../semanage/seobject.py:2084 -#: ../semanage/seobject.py:2135 +#: ../semanage/seobject/__init__.py:551 ../semanage/seobject/__init__.py:626 +#: ../semanage/seobject/__init__.py:682 ../semanage/seobject/__init__.py:813 +#: ../semanage/seobject/__init__.py:852 ../semanage/seobject/__init__.py:919 +#: ../semanage/seobject/__init__.py:985 ../semanage/seobject/__init__.py:2242 +#: ../semanage/seobject/__init__.py:2301 #, python-format -msgid "Could not create a key for %s" +msgid "Could not create login mapping for %s" msgstr "" -#: ../semanage/seobject.py:492 ../semanage/seobject.py:566 -#: ../semanage/seobject.py:612 ../semanage/seobject.py:618 +#: ../semanage/seobject/__init__.py:555 ../semanage/seobject/__init__.py:630 +#: ../semanage/seobject/__init__.py:686 ../semanage/seobject/__init__.py:817 +#: ../semanage/seobject/__init__.py:856 ../semanage/seobject/__init__.py:923 +#: ../semanage/seobject/__init__.py:989 ../semanage/seobject/__init__.py:2245 +#: ../semanage/seobject/__init__.py:2304 #, python-format -msgid "Could not check if login mapping for %s is defined" +msgid "Could not set name for %s" msgstr "" -#: ../semanage/seobject.py:501 +#: ../semanage/seobject/__init__.py:559 ../semanage/seobject/__init__.py:634 +#: ../semanage/seobject/__init__.py:690 ../semanage/seobject/__init__.py:821 +#: ../semanage/seobject/__init__.py:860 ../semanage/seobject/__init__.py:927 +#: ../semanage/seobject/__init__.py:993 ../semanage/seobject/__init__.py:1263 +#: ../semanage/seobject/__init__.py:2025 ../semanage/seobject/__init__.py:2093 +#: ../semanage/seobject/__init__.py:2117 ../semanage/seobject/__init__.py:2249 +#: ../semanage/seobject/__init__.py:2308 #, python-format -msgid "Linux Group %s does not exist" +msgid "Could not create a key for %s" msgstr "" -#: ../semanage/seobject.py:506 +#: ../semanage/seobject/__init__.py:563 ../semanage/seobject/__init__.py:638 +#: ../semanage/seobject/__init__.py:694 ../semanage/seobject/__init__.py:700 #, python-format -msgid "Linux User %s does not exist" +msgid "Could not check if login mapping for %s is defined" msgstr "" -#: ../semanage/seobject.py:510 +#: ../semanage/seobject/__init__.py:573 #, python-format -msgid "Could not create login mapping for %s" +msgid "Linux Group %s does not exist" msgstr "" -#: ../semanage/seobject.py:514 ../semanage/seobject.py:775 +#: ../semanage/seobject/__init__.py:578 #, python-format -msgid "Could not set name for %s" +msgid "Linux User %s does not exist" msgstr "" -#: ../semanage/seobject.py:519 ../semanage/seobject.py:785 +#: ../semanage/seobject/__init__.py:583 ../semanage/seobject/__init__.py:878 #, python-format msgid "Could not set MLS range for %s" msgstr "" -#: ../semanage/seobject.py:523 +#: ../semanage/seobject/__init__.py:587 #, python-format msgid "Could not set SELinux user for %s" msgstr "" -#: ../semanage/seobject.py:527 +#: ../semanage/seobject/__init__.py:591 #, python-format msgid "Could not add login mapping for %s" msgstr "" -#: ../semanage/seobject.py:545 +#: ../semanage/seobject/__init__.py:609 msgid "Requires seuser or serange" msgstr "" -#: ../semanage/seobject.py:568 ../semanage/seobject.py:614 +#: ../semanage/seobject/__init__.py:640 ../semanage/seobject/__init__.py:696 #, python-format msgid "Login mapping for %s is not defined" msgstr "" -#: ../semanage/seobject.py:572 +#: ../semanage/seobject/__init__.py:644 #, python-format msgid "Could not query seuser for %s" msgstr "" -#: ../semanage/seobject.py:586 +#: ../semanage/seobject/__init__.py:659 #, python-format msgid "Could not modify login mapping for %s" msgstr "" -#: ../semanage/seobject.py:620 +#: ../semanage/seobject/__init__.py:702 #, python-format msgid "Login mapping for %s is defined in policy, cannot be deleted" msgstr "" -#: ../semanage/seobject.py:624 +#: ../semanage/seobject/__init__.py:706 #, python-format msgid "Could not delete login mapping for %s" msgstr "" -#: ../semanage/seobject.py:646 ../semanage/seobject.py:679 -#: ../semanage/seobject.py:927 +#: ../semanage/seobject/__init__.py:729 ../semanage/seobject/__init__.py:762 +#: ../semanage/seobject/__init__.py:1037 msgid "Could not list login mappings" msgstr "" -#: ../semanage/seobject.py:707 ../semanage/seobject.py:719 +#: ../semanage/seobject/__init__.py:790 ../semanage/seobject/__init__.py:802 #: ../gui/system-config-selinux.glade:100 -#: ../sepolicy/sepolicy/sepolicy.glade:1166 -#: ../sepolicy/sepolicy/sepolicy.glade:3155 +#: ../sepolicy/sepolicy/sepolicy.glade:1162 +#: ../sepolicy/sepolicy/sepolicy.glade:3156 msgid "Login Name" msgstr "" -#: ../semanage/seobject.py:707 ../semanage/seobject.py:719 -#: ../semanage/seobject.py:977 ../semanage/seobject.py:982 +#: ../semanage/seobject/__init__.py:790 ../semanage/seobject/__init__.py:802 +#: ../semanage/seobject/__init__.py:1090 ../semanage/seobject/__init__.py:1095 #: ../gui/system-config-selinux.glade:128 #: ../gui/system-config-selinux.glade:915 -#: ../gui/system-config-selinux.glade:2285 ../gui/usersPage.py:44 -#: ../sepolicy/sepolicy/sepolicy.glade:1192 -#: ../sepolicy/sepolicy/sepolicy.glade:3173 -#: ../sepolicy/sepolicy/sepolicy.glade:3259 +#: ../gui/system-config-selinux.glade:2285 ../gui/usersPage.py:43 +#: ../sepolicy/sepolicy/sepolicy.glade:1188 +#: ../sepolicy/sepolicy/sepolicy.glade:3174 +#: ../sepolicy/sepolicy/sepolicy.glade:3260 +#: ../sepolicy/sepolicy/sepolicy.glade:4915 msgid "SELinux User" msgstr "" -#: ../semanage/seobject.py:707 ../gui/system-config-selinux.glade:156 +#: ../semanage/seobject/__init__.py:790 ../gui/system-config-selinux.glade:156 #: ../gui/system-config-selinux.glade:943 msgid "MLS/MCS Range" msgstr "" -#: ../semanage/seobject.py:707 +#: ../semanage/seobject/__init__.py:790 msgid "Service" msgstr "" -#: ../semanage/seobject.py:733 ../semanage/seobject.py:764 -#: ../semanage/seobject.py:831 ../semanage/seobject.py:888 -#: ../semanage/seobject.py:894 +#: ../semanage/seobject/__init__.py:824 ../semanage/seobject/__init__.py:864 +#: ../semanage/seobject/__init__.py:931 ../semanage/seobject/__init__.py:997 +#: ../semanage/seobject/__init__.py:1003 #, python-format msgid "Could not check if SELinux user %s is defined" msgstr "" -#: ../semanage/seobject.py:736 ../semanage/seobject.py:837 -#: ../semanage/seobject.py:900 +#: ../semanage/seobject/__init__.py:827 ../semanage/seobject/__init__.py:937 +#: ../semanage/seobject/__init__.py:1009 #, python-format msgid "Could not query user for %s" msgstr "" -#: ../semanage/seobject.py:756 +#: ../semanage/seobject/__init__.py:848 #, python-format msgid "You must add at least one role for %s" msgstr "" -#: ../semanage/seobject.py:771 -#, python-format -msgid "Could not create SELinux user for %s" -msgstr "" - -#: ../semanage/seobject.py:780 +#: ../semanage/seobject/__init__.py:873 #, python-format -msgid "Could not add role %s for %s" +msgid "Could not add role %(ROLE)s for %(NAME)s" msgstr "" -#: ../semanage/seobject.py:789 +#: ../semanage/seobject/__init__.py:882 #, python-format msgid "Could not set MLS level for %s" msgstr "" -#: ../semanage/seobject.py:792 +#: ../semanage/seobject/__init__.py:885 #, python-format -msgid "Could not add prefix %s for %s" +msgid "Could not add prefix %(PREFIX)s for %(ROLE)s" msgstr "" -#: ../semanage/seobject.py:795 +#: ../semanage/seobject/__init__.py:888 #, python-format msgid "Could not extract key for %s" msgstr "" -#: ../semanage/seobject.py:799 +#: ../semanage/seobject/__init__.py:892 #, python-format msgid "Could not add SELinux user %s" msgstr "" -#: ../semanage/seobject.py:821 +#: ../semanage/seobject/__init__.py:913 msgid "Requires prefix, roles, level or range" msgstr "" -#: ../semanage/seobject.py:823 +#: ../semanage/seobject/__init__.py:915 msgid "Requires prefix or roles" msgstr "" -#: ../semanage/seobject.py:833 ../semanage/seobject.py:890 +#: ../semanage/seobject/__init__.py:933 ../semanage/seobject/__init__.py:999 #, python-format msgid "SELinux user %s is not defined" msgstr "" -#: ../semanage/seobject.py:862 +#: ../semanage/seobject/__init__.py:962 #, python-format msgid "Could not modify SELinux user %s" msgstr "" -#: ../semanage/seobject.py:896 +#: ../semanage/seobject/__init__.py:1005 #, python-format msgid "SELinux user %s is defined in policy, cannot be deleted" msgstr "" -#: ../semanage/seobject.py:907 +#: ../semanage/seobject/__init__.py:1016 #, python-format msgid "Could not delete SELinux user %s" msgstr "" -#: ../semanage/seobject.py:945 +#: ../semanage/seobject/__init__.py:1058 msgid "Could not list SELinux users" msgstr "" -#: ../semanage/seobject.py:951 +#: ../semanage/seobject/__init__.py:1064 #, python-format msgid "Could not list roles for user %s" msgstr "" -#: ../semanage/seobject.py:976 +#: ../semanage/seobject/__init__.py:1089 msgid "Labeling" msgstr "" -#: ../semanage/seobject.py:976 +#: ../semanage/seobject/__init__.py:1089 msgid "MLS/" msgstr "" -#: ../semanage/seobject.py:977 +#: ../semanage/seobject/__init__.py:1090 msgid "Prefix" msgstr "" -#: ../semanage/seobject.py:977 +#: ../semanage/seobject/__init__.py:1090 msgid "MCS Level" msgstr "" -#: ../semanage/seobject.py:977 +#: ../semanage/seobject/__init__.py:1090 msgid "MCS Range" msgstr "" -#: ../semanage/seobject.py:977 ../semanage/seobject.py:982 -#: ../gui/system-config-selinux.glade:992 ../gui/usersPage.py:59 -#: ../sepolicy/sepolicy/sepolicy.glade:3279 -#: ../sepolicy/sepolicy/sepolicy.glade:5170 -#: ../sepolicy/sepolicy/sepolicy.glade:5411 +#: ../semanage/seobject/__init__.py:1090 ../semanage/seobject/__init__.py:1095 +#: ../gui/system-config-selinux.glade:992 ../gui/usersPage.py:58 +#: ../sepolicy/sepolicy/sepolicy.glade:3280 +#: ../sepolicy/sepolicy/sepolicy.glade:5251 +#: ../sepolicy/sepolicy/sepolicy.glade:5400 msgid "SELinux Roles" msgstr "" -#: ../semanage/seobject.py:1002 +#: ../semanage/seobject/__init__.py:1115 msgid "Protocol udp or tcp is required" msgstr "" -#: ../semanage/seobject.py:1004 +#: ../semanage/seobject/__init__.py:1117 msgid "Port is required" msgstr "" -#: ../semanage/seobject.py:1014 +#: ../semanage/seobject/__init__.py:1127 msgid "Invalid Port" msgstr "" -#: ../semanage/seobject.py:1018 +#: ../semanage/seobject/__init__.py:1131 #, python-format -msgid "Could not create a key for %s/%s" +msgid "Could not create a key for %(PROTOTYPE)s/%(PORT)s" msgstr "" -#: ../semanage/seobject.py:1029 +#: ../semanage/seobject/__init__.py:1142 msgid "Type is required" msgstr "" -#: ../semanage/seobject.py:1032 ../semanage/seobject.py:1096 -#: ../semanage/seobject.py:1873 +#: ../semanage/seobject/__init__.py:1145 #, python-format msgid "Type %s is invalid, must be a port type" msgstr "" -#: ../semanage/seobject.py:1040 ../semanage/seobject.py:1102 -#: ../semanage/seobject.py:1157 ../semanage/seobject.py:1163 +#: ../semanage/seobject/__init__.py:1153 ../semanage/seobject/__init__.py:1281 +#: ../semanage/seobject/__init__.py:1287 #, python-format -msgid "Could not check if port %s/%s is defined" +msgid "Could not check if port %(PROTOCOL)s/%(PORT)s is defined" msgstr "" -#: ../semanage/seobject.py:1042 +#: ../semanage/seobject/__init__.py:1155 #, python-format -msgid "Port %s/%s already defined" +msgid "Port %(PROTOCOL)s/%(PORT)s already defined" msgstr "" -#: ../semanage/seobject.py:1046 +#: ../semanage/seobject/__init__.py:1159 #, python-format -msgid "Could not create port for %s/%s" +msgid "Could not create port for %(PROTOCOL)s/%(PORT)s" msgstr "" -#: ../semanage/seobject.py:1052 +#: ../semanage/seobject/__init__.py:1165 #, python-format -msgid "Could not create context for %s/%s" +msgid "Could not create context for %(PROTOCOL)s/%(PORT)s" msgstr "" -#: ../semanage/seobject.py:1056 +#: ../semanage/seobject/__init__.py:1169 #, python-format -msgid "Could not set user in port context for %s/%s" +msgid "Could not set user in port context for %(PROTOCOL)s/%(PORT)s" msgstr "" -#: ../semanage/seobject.py:1060 +#: ../semanage/seobject/__init__.py:1173 #, python-format -msgid "Could not set role in port context for %s/%s" +msgid "Could not set role in port context for %(PROTOCOL)s/%(PORT)s" msgstr "" -#: ../semanage/seobject.py:1064 +#: ../semanage/seobject/__init__.py:1177 #, python-format -msgid "Could not set type in port context for %s/%s" +msgid "Could not set type in port context for %(PROTOCOL)s/%(PORT)s" msgstr "" -#: ../semanage/seobject.py:1069 +#: ../semanage/seobject/__init__.py:1182 #, python-format -msgid "Could not set mls fields in port context for %s/%s" +msgid "Could not set mls fields in port context for %(PROTOCOL)s/%(PORT)s" msgstr "" -#: ../semanage/seobject.py:1073 +#: ../semanage/seobject/__init__.py:1186 #, python-format -msgid "Could not set port context for %s/%s" +msgid "Could not set port context for %(PROTOCOL)s/%(PORT)s" msgstr "" -#: ../semanage/seobject.py:1077 +#: ../semanage/seobject/__init__.py:1190 #, python-format -msgid "Could not add port %s/%s" +msgid "Could not add port %(PROTOCOL)s/%(PORT)s" msgstr "" -#: ../semanage/seobject.py:1091 ../semanage/seobject.py:1367 -#: ../semanage/seobject.py:1566 +#: ../semanage/seobject/__init__.py:1206 ../semanage/seobject/__init__.py:1495 +#: ../semanage/seobject/__init__.py:1700 msgid "Requires setype or serange" msgstr "" -#: ../semanage/seobject.py:1093 +#: ../semanage/seobject/__init__.py:1208 msgid "Requires setype" msgstr "" -#: ../semanage/seobject.py:1104 ../semanage/seobject.py:1159 +#: ../semanage/seobject/__init__.py:1211 ../semanage/seobject/__init__.py:1955 +#: ../semanage/seobject/__init__.py:2019 +#, python-format +msgid "Type %s is invalid, must be a file or device type" +msgstr "" + +#: ../semanage/seobject/__init__.py:1217 +#, python-format +msgid "Could not check if port @%(PROTOCOL)s/%(PORT)s is defined" +msgstr "" + +#: ../semanage/seobject/__init__.py:1219 #, python-format -msgid "Port %s/%s is not defined" +msgid "Port @%(PROTOCOL)s/%(PORT)s is not defined" msgstr "" -#: ../semanage/seobject.py:1108 +#: ../semanage/seobject/__init__.py:1223 #, python-format -msgid "Could not query port %s/%s" +msgid "Could not query port %(PROTOCOL)s/%(PORT)s" msgstr "" -#: ../semanage/seobject.py:1119 +#: ../semanage/seobject/__init__.py:1236 #, python-format -msgid "Could not modify port %s/%s" +msgid "Could not modify port %(PROTOCOL)s/%(PORT)s" msgstr "" -#: ../semanage/seobject.py:1132 +#: ../semanage/seobject/__init__.py:1251 msgid "Could not list the ports" msgstr "" -#: ../semanage/seobject.py:1148 +#: ../semanage/seobject/__init__.py:1267 #, python-format msgid "Could not delete the port %s" msgstr "" -#: ../semanage/seobject.py:1165 +#: ../semanage/seobject/__init__.py:1283 #, python-format -msgid "Port %s/%s is defined in policy, cannot be deleted" +msgid "Port %(PROTOCOL)s/%(PORT)s is not defined" msgstr "" -#: ../semanage/seobject.py:1169 +#: ../semanage/seobject/__init__.py:1289 #, python-format -msgid "Could not delete port %s/%s" +msgid "Port %(PROTOCOL)s/%(PORT)s is defined in policy, cannot be deleted" msgstr "" -#: ../semanage/seobject.py:1185 ../semanage/seobject.py:1207 +#: ../semanage/seobject/__init__.py:1293 +#, python-format +msgid "Could not delete port %(PROTOCOL)s/%(PORT)s" +msgstr "" + +#: ../semanage/seobject/__init__.py:1311 ../semanage/seobject/__init__.py:1333 msgid "Could not list ports" msgstr "" -#: ../semanage/seobject.py:1246 ../sepolicy/sepolicy/sepolicy.glade:2675 -#: ../sepolicy/sepolicy/sepolicy.glade:2773 -#: ../sepolicy/sepolicy/sepolicy.glade:4687 +#: ../semanage/seobject/__init__.py:1372 +#: ../sepolicy/sepolicy/sepolicy.glade:2676 +#: ../sepolicy/sepolicy/sepolicy.glade:2774 +#: ../sepolicy/sepolicy/sepolicy.glade:4648 msgid "SELinux Port Type" msgstr "" -#: ../semanage/seobject.py:1246 +#: ../semanage/seobject/__init__.py:1372 msgid "Proto" msgstr "" -#: ../semanage/seobject.py:1246 ../gui/system-config-selinux.glade:335 -#: ../sepolicy/sepolicy/sepolicy.glade:1417 +#: ../semanage/seobject/__init__.py:1372 +#: ../gui/system-config-selinux.glade:335 +#: ../sepolicy/sepolicy/sepolicy.glade:1413 msgid "Port Number" msgstr "" -#: ../semanage/seobject.py:1270 +#: ../semanage/seobject/__init__.py:1396 msgid "Node Address is required" msgstr "" -#: ../semanage/seobject.py:1285 +#: ../semanage/seobject/__init__.py:1411 msgid "Unknown or missing protocol" msgstr "" -#: ../semanage/seobject.py:1299 +#: ../semanage/seobject/__init__.py:1425 msgid "SELinux node type is required" msgstr "" -#: ../semanage/seobject.py:1302 ../semanage/seobject.py:1370 +#: ../semanage/seobject/__init__.py:1428 ../semanage/seobject/__init__.py:1498 #, python-format msgid "Type %s is invalid, must be a node type" msgstr "" -#: ../semanage/seobject.py:1306 ../semanage/seobject.py:1374 -#: ../semanage/seobject.py:1410 ../semanage/seobject.py:1508 -#: ../semanage/seobject.py:1570 ../semanage/seobject.py:1604 -#: ../semanage/seobject.py:1818 +#: ../semanage/seobject/__init__.py:1432 ../semanage/seobject/__init__.py:1502 +#: ../semanage/seobject/__init__.py:1540 ../semanage/seobject/__init__.py:1640 +#: ../semanage/seobject/__init__.py:1704 ../semanage/seobject/__init__.py:1740 +#: ../semanage/seobject/__init__.py:1959 #, python-format msgid "Could not create key for %s" msgstr "" -#: ../semanage/seobject.py:1308 ../semanage/seobject.py:1378 -#: ../semanage/seobject.py:1414 ../semanage/seobject.py:1420 +#: ../semanage/seobject/__init__.py:1434 ../semanage/seobject/__init__.py:1506 +#: ../semanage/seobject/__init__.py:1544 ../semanage/seobject/__init__.py:1550 #, python-format msgid "Could not check if addr %s is defined" msgstr "" -#: ../semanage/seobject.py:1317 +#: ../semanage/seobject/__init__.py:1443 #, python-format msgid "Could not create addr for %s" msgstr "" -#: ../semanage/seobject.py:1323 ../semanage/seobject.py:1524 -#: ../semanage/seobject.py:1767 +#: ../semanage/seobject/__init__.py:1449 ../semanage/seobject/__init__.py:1656 +#: ../semanage/seobject/__init__.py:1908 #, python-format msgid "Could not create context for %s" msgstr "" -#: ../semanage/seobject.py:1327 +#: ../semanage/seobject/__init__.py:1453 #, python-format msgid "Could not set mask for %s" msgstr "" -#: ../semanage/seobject.py:1331 +#: ../semanage/seobject/__init__.py:1457 #, python-format msgid "Could not set user in addr context for %s" msgstr "" -#: ../semanage/seobject.py:1335 +#: ../semanage/seobject/__init__.py:1461 #, python-format msgid "Could not set role in addr context for %s" msgstr "" -#: ../semanage/seobject.py:1339 +#: ../semanage/seobject/__init__.py:1465 #, python-format msgid "Could not set type in addr context for %s" msgstr "" -#: ../semanage/seobject.py:1344 +#: ../semanage/seobject/__init__.py:1470 #, python-format msgid "Could not set mls fields in addr context for %s" msgstr "" -#: ../semanage/seobject.py:1348 +#: ../semanage/seobject/__init__.py:1474 #, python-format msgid "Could not set addr context for %s" msgstr "" -#: ../semanage/seobject.py:1352 +#: ../semanage/seobject/__init__.py:1478 #, python-format msgid "Could not add addr %s" msgstr "" -#: ../semanage/seobject.py:1380 ../semanage/seobject.py:1416 +#: ../semanage/seobject/__init__.py:1508 ../semanage/seobject/__init__.py:1546 #, python-format msgid "Addr %s is not defined" msgstr "" -#: ../semanage/seobject.py:1384 +#: ../semanage/seobject/__init__.py:1512 #, python-format msgid "Could not query addr %s" msgstr "" -#: ../semanage/seobject.py:1394 +#: ../semanage/seobject/__init__.py:1522 #, python-format msgid "Could not modify addr %s" msgstr "" -#: ../semanage/seobject.py:1422 +#: ../semanage/seobject/__init__.py:1552 #, python-format msgid "Addr %s is defined in policy, cannot be deleted" msgstr "" -#: ../semanage/seobject.py:1426 +#: ../semanage/seobject/__init__.py:1556 #, python-format msgid "Could not delete addr %s" msgstr "" -#: ../semanage/seobject.py:1438 +#: ../semanage/seobject/__init__.py:1570 msgid "Could not deleteall node mappings" msgstr "" -#: ../semanage/seobject.py:1452 +#: ../semanage/seobject/__init__.py:1584 msgid "Could not list addrs" msgstr "" -#: ../semanage/seobject.py:1504 ../semanage/seobject.py:1811 +#: ../semanage/seobject/__init__.py:1636 ../semanage/seobject/__init__.py:1952 msgid "SELinux Type is required" msgstr "" -#: ../semanage/seobject.py:1512 ../semanage/seobject.py:1574 -#: ../semanage/seobject.py:1608 ../semanage/seobject.py:1614 +#: ../semanage/seobject/__init__.py:1644 ../semanage/seobject/__init__.py:1708 +#: ../semanage/seobject/__init__.py:1744 ../semanage/seobject/__init__.py:1750 #, python-format msgid "Could not check if interface %s is defined" msgstr "" -#: ../semanage/seobject.py:1519 +#: ../semanage/seobject/__init__.py:1651 #, python-format msgid "Could not create interface for %s" msgstr "" -#: ../semanage/seobject.py:1528 +#: ../semanage/seobject/__init__.py:1660 #, python-format msgid "Could not set user in interface context for %s" msgstr "" -#: ../semanage/seobject.py:1532 +#: ../semanage/seobject/__init__.py:1664 #, python-format msgid "Could not set role in interface context for %s" msgstr "" -#: ../semanage/seobject.py:1536 +#: ../semanage/seobject/__init__.py:1668 #, python-format msgid "Could not set type in interface context for %s" msgstr "" -#: ../semanage/seobject.py:1541 +#: ../semanage/seobject/__init__.py:1673 #, python-format msgid "Could not set mls fields in interface context for %s" msgstr "" -#: ../semanage/seobject.py:1545 +#: ../semanage/seobject/__init__.py:1677 #, python-format msgid "Could not set interface context for %s" msgstr "" -#: ../semanage/seobject.py:1549 +#: ../semanage/seobject/__init__.py:1681 #, python-format msgid "Could not set message context for %s" msgstr "" -#: ../semanage/seobject.py:1553 +#: ../semanage/seobject/__init__.py:1685 #, python-format msgid "Could not add interface %s" msgstr "" -#: ../semanage/seobject.py:1576 ../semanage/seobject.py:1610 +#: ../semanage/seobject/__init__.py:1710 ../semanage/seobject/__init__.py:1746 #, python-format msgid "Interface %s is not defined" msgstr "" -#: ../semanage/seobject.py:1580 +#: ../semanage/seobject/__init__.py:1714 #, python-format msgid "Could not query interface %s" msgstr "" -#: ../semanage/seobject.py:1591 +#: ../semanage/seobject/__init__.py:1725 #, python-format msgid "Could not modify interface %s" msgstr "" -#: ../semanage/seobject.py:1616 +#: ../semanage/seobject/__init__.py:1752 #, python-format msgid "Interface %s is defined in policy, cannot be deleted" msgstr "" -#: ../semanage/seobject.py:1620 +#: ../semanage/seobject/__init__.py:1756 #, python-format msgid "Could not delete interface %s" msgstr "" -#: ../semanage/seobject.py:1632 +#: ../semanage/seobject/__init__.py:1770 msgid "Could not delete all interface mappings" msgstr "" -#: ../semanage/seobject.py:1646 +#: ../semanage/seobject/__init__.py:1784 msgid "Could not list interfaces" msgstr "" -#: ../semanage/seobject.py:1671 +#: ../semanage/seobject/__init__.py:1809 msgid "SELinux Interface" msgstr "" -#: ../semanage/seobject.py:1671 ../semanage/seobject.py:2033 +#: ../semanage/seobject/__init__.py:1809 ../semanage/seobject/__init__.py:2191 msgid "Context" msgstr "" -#: ../semanage/seobject.py:1738 +#: ../semanage/seobject/__init__.py:1876 #, python-format msgid "Target %s is not valid. Target is not allowed to end with '/'" msgstr "" -#: ../semanage/seobject.py:1741 +#: ../semanage/seobject/__init__.py:1879 #, python-format -msgid "Substiture %s is not valid. Substitute is not allowed to end with '/'" +msgid "Substitute %s is not valid. Substitute is not allowed to end with '/'" msgstr "" -#: ../semanage/seobject.py:1744 +#: ../semanage/seobject/__init__.py:1882 #, python-format msgid "Equivalence class for %s already exists" msgstr "" -#: ../semanage/seobject.py:1750 +#: ../semanage/seobject/__init__.py:1888 #, python-format -msgid "File spec %s conflicts with equivalency rule '%s %s'" +msgid "" +"File spec %(TARGET)s conflicts with equivalency rule '%(SOURCE)s %(DEST)s'" msgstr "" -#: ../semanage/seobject.py:1759 +#: ../semanage/seobject/__init__.py:1899 #, python-format msgid "Equivalence class for %s does not exists" msgstr "" -#: ../semanage/seobject.py:1773 +#: ../semanage/seobject/__init__.py:1914 #, python-format msgid "Could not set user in file context for %s" msgstr "" -#: ../semanage/seobject.py:1777 +#: ../semanage/seobject/__init__.py:1918 #, python-format msgid "Could not set role in file context for %s" msgstr "" -#: ../semanage/seobject.py:1782 ../semanage/seobject.py:1848 +#: ../semanage/seobject/__init__.py:1923 ../semanage/seobject/__init__.py:1989 #, python-format msgid "Could not set mls fields in file context for %s" msgstr "" -#: ../semanage/seobject.py:1788 +#: ../semanage/seobject/__init__.py:1929 msgid "Invalid file specification" msgstr "" -#: ../semanage/seobject.py:1790 +#: ../semanage/seobject/__init__.py:1931 msgid "File specification can not include spaces" msgstr "" -#: ../semanage/seobject.py:1795 +#: ../semanage/seobject/__init__.py:1936 #, python-format msgid "" -"File spec %s conflicts with equivalency rule '%s %s'; Try adding '%s' instead" -msgstr "" - -#: ../semanage/seobject.py:1814 -#, python-format -msgid "Type %s is invalid, must be a file or device type" +"File spec %(TARGET)s conflicts with equivalency rule '%(SOURCE)s %(DEST)s'; " +"Try adding '%(DEST1)s' instead" msgstr "" -#: ../semanage/seobject.py:1822 ../semanage/seobject.py:1827 -#: ../semanage/seobject.py:1883 ../semanage/seobject.py:1965 -#: ../semanage/seobject.py:1969 +#: ../semanage/seobject/__init__.py:1963 ../semanage/seobject/__init__.py:1968 +#: ../semanage/seobject/__init__.py:2029 ../semanage/seobject/__init__.py:2121 +#: ../semanage/seobject/__init__.py:2125 #, python-format msgid "Could not check if file context for %s is defined" msgstr "" -#: ../semanage/seobject.py:1835 +#: ../semanage/seobject/__init__.py:1976 #, python-format msgid "Could not create file context for %s" msgstr "" -#: ../semanage/seobject.py:1843 +#: ../semanage/seobject/__init__.py:1984 #, python-format msgid "Could not set type in file context for %s" msgstr "" -#: ../semanage/seobject.py:1851 ../semanage/seobject.py:1911 -#: ../semanage/seobject.py:1915 +#: ../semanage/seobject/__init__.py:1992 ../semanage/seobject/__init__.py:2057 +#: ../semanage/seobject/__init__.py:2061 #, python-format msgid "Could not set file context for %s" msgstr "" -#: ../semanage/seobject.py:1857 +#: ../semanage/seobject/__init__.py:1998 #, python-format msgid "Could not add file context for %s" msgstr "" -#: ../semanage/seobject.py:1871 +#: ../semanage/seobject/__init__.py:2017 msgid "Requires setype, serange or seuser" msgstr "" -#: ../semanage/seobject.py:1887 ../semanage/seobject.py:1973 +#: ../semanage/seobject/__init__.py:2033 ../semanage/seobject/__init__.py:2129 #, python-format msgid "File context for %s is not defined" msgstr "" -#: ../semanage/seobject.py:1893 +#: ../semanage/seobject/__init__.py:2039 #, python-format msgid "Could not query file context for %s" msgstr "" -#: ../semanage/seobject.py:1919 +#: ../semanage/seobject/__init__.py:2065 #, python-format msgid "Could not modify file context for %s" msgstr "" -#: ../semanage/seobject.py:1932 +#: ../semanage/seobject/__init__.py:2083 msgid "Could not list the file contexts" msgstr "" -#: ../semanage/seobject.py:1946 +#: ../semanage/seobject/__init__.py:2097 #, python-format msgid "Could not delete the file context %s" msgstr "" -#: ../semanage/seobject.py:1971 +#: ../semanage/seobject/__init__.py:2127 #, python-format msgid "File context for %s is defined in policy, cannot be deleted" msgstr "" -#: ../semanage/seobject.py:1977 +#: ../semanage/seobject/__init__.py:2133 #, python-format msgid "Could not delete file context for %s" msgstr "" -#: ../semanage/seobject.py:1992 +#: ../semanage/seobject/__init__.py:2150 msgid "Could not list file contexts" msgstr "" -#: ../semanage/seobject.py:1996 +#: ../semanage/seobject/__init__.py:2154 msgid "Could not list local file contexts" msgstr "" -#: ../semanage/seobject.py:2033 +#: ../semanage/seobject/__init__.py:2191 msgid "SELinux fcontext" msgstr "" -#: ../semanage/seobject.py:2033 +#: ../semanage/seobject/__init__.py:2191 msgid "type" msgstr "" -#: ../semanage/seobject.py:2046 +#: ../semanage/seobject/__init__.py:2204 msgid "" "\n" "SELinux Distribution fcontext Equivalence \n" msgstr "" -#: ../semanage/seobject.py:2051 +#: ../semanage/seobject/__init__.py:2209 msgid "" "\n" "SELinux Local fcontext Equivalence \n" msgstr "" -#: ../semanage/seobject.py:2087 ../semanage/seobject.py:2138 -#: ../semanage/seobject.py:2144 +#: ../semanage/seobject/__init__.py:2252 ../semanage/seobject/__init__.py:2311 +#: ../semanage/seobject/__init__.py:2317 #, python-format msgid "Could not check if boolean %s is defined" msgstr "" -#: ../semanage/seobject.py:2089 ../semanage/seobject.py:2140 +#: ../semanage/seobject/__init__.py:2254 ../semanage/seobject/__init__.py:2313 #, python-format msgid "Boolean %s is not defined" msgstr "" -#: ../semanage/seobject.py:2093 +#: ../semanage/seobject/__init__.py:2258 #, python-format msgid "Could not query file context %s" msgstr "" -#: ../semanage/seobject.py:2098 +#: ../semanage/seobject/__init__.py:2263 #, python-format msgid "You must specify one of the following values: %s" msgstr "" -#: ../semanage/seobject.py:2103 +#: ../semanage/seobject/__init__.py:2268 #, python-format msgid "Could not set active value of boolean %s" msgstr "" -#: ../semanage/seobject.py:2106 +#: ../semanage/seobject/__init__.py:2271 #, python-format msgid "Could not modify boolean %s" msgstr "" -#: ../semanage/seobject.py:2122 +#: ../semanage/seobject/__init__.py:2288 #, python-format -msgid "Bad format %s: Record %s" +msgid "Bad format %(BOOLNAME)s: Record %(VALUE)s" msgstr "" -#: ../semanage/seobject.py:2146 +#: ../semanage/seobject/__init__.py:2319 #, python-format msgid "Boolean %s is defined in policy, cannot be deleted" msgstr "" -#: ../semanage/seobject.py:2150 +#: ../semanage/seobject/__init__.py:2323 #, python-format msgid "Could not delete boolean %s" msgstr "" -#: ../semanage/seobject.py:2162 ../semanage/seobject.py:2179 +#: ../semanage/seobject/__init__.py:2336 ../semanage/seobject/__init__.py:2353 msgid "Could not list booleans" msgstr "" -#: ../semanage/seobject.py:2214 +#: ../semanage/seobject/__init__.py:2388 msgid "off" msgstr "" -#: ../semanage/seobject.py:2214 +#: ../semanage/seobject/__init__.py:2388 msgid "on" msgstr "" -#: ../semanage/seobject.py:2228 +#: ../semanage/seobject/__init__.py:2402 msgid "SELinux boolean" msgstr "" -#: ../semanage/seobject.py:2228 +#: ../semanage/seobject/__init__.py:2402 msgid "State" msgstr "" -#: ../semanage/seobject.py:2228 +#: ../semanage/seobject/__init__.py:2402 msgid "Default" msgstr "" -#: ../semanage/seobject.py:2228 ../gui/polgen.glade:113 -#: ../gui/polgengui.py:274 ../sepolicy/sepolicy/sepolicy.glade:2147 -#: ../sepolicy/sepolicy/sepolicy.glade:2517 -#: ../sepolicy/sepolicy/sepolicy.glade:5021 +#: ../semanage/seobject/__init__.py:2402 ../gui/polgen.glade:113 +#: ../gui/polgengui.py:262 ../sepolicy/sepolicy/sepolicy.glade:2148 +#: ../sepolicy/sepolicy/sepolicy.glade:2518 +#: ../sepolicy/sepolicy/sepolicy.glade:5117 msgid "Description" msgstr "" -#: ../newrole/newrole.c:201 +#: ../newrole/newrole.c:200 #, c-format msgid "failed to set PAM_TTY\n" msgstr "" -#: ../newrole/newrole.c:290 +#: ../newrole/newrole.c:289 #, c-format msgid "newrole: service name configuration hashtable overflow\n" msgstr "" -#: ../newrole/newrole.c:300 +#: ../newrole/newrole.c:299 #, c-format msgid "newrole: %s: error on line %lu.\n" msgstr "" -#: ../newrole/newrole.c:439 +#: ../newrole/newrole.c:438 #, c-format msgid "cannot find valid entry in the passwd file.\n" msgstr "" -#: ../newrole/newrole.c:450 +#: ../newrole/newrole.c:449 #, c-format msgid "Out of memory!\n" msgstr "" -#: ../newrole/newrole.c:455 +#: ../newrole/newrole.c:454 #, c-format msgid "Error! Shell is not valid.\n" msgstr "" -#: ../newrole/newrole.c:512 +#: ../newrole/newrole.c:511 #, c-format msgid "Unable to clear environment\n" msgstr "" -#: ../newrole/newrole.c:554 ../newrole/newrole.c:585 ../newrole/newrole.c:616 +#: ../newrole/newrole.c:552 ../newrole/newrole.c:563 ../newrole/newrole.c:594 +#: ../newrole/newrole.c:605 ../newrole/newrole.c:632 #, c-format -msgid "Error changing uid, aborting.\n" +msgid "Error resetting KEEPCAPS, aborting\n" msgstr "" -#: ../newrole/newrole.c:611 +#: ../newrole/newrole.c:558 ../newrole/newrole.c:600 ../newrole/newrole.c:637 #, c-format -msgid "Error resetting KEEPCAPS, aborting\n" +msgid "Error changing uid, aborting.\n" msgstr "" -#: ../newrole/newrole.c:634 +#: ../newrole/newrole.c:655 #, c-format msgid "Error connecting to audit system.\n" msgstr "" -#: ../newrole/newrole.c:640 +#: ../newrole/newrole.c:661 #, c-format msgid "Error allocating memory.\n" msgstr "" -#: ../newrole/newrole.c:647 +#: ../newrole/newrole.c:668 #, c-format msgid "Error sending audit message.\n" msgstr "" -#: ../newrole/newrole.c:691 ../newrole/newrole.c:1063 +#: ../newrole/newrole.c:712 ../newrole/newrole.c:1084 #, c-format msgid "Could not determine enforcing mode.\n" msgstr "" -#: ../newrole/newrole.c:698 +#: ../newrole/newrole.c:719 #, c-format msgid "Error! Could not open %s.\n" msgstr "" -#: ../newrole/newrole.c:704 +#: ../newrole/newrole.c:725 #, c-format msgid "Error! Could not clear O_NONBLOCK on %s\n" msgstr "" -#: ../newrole/newrole.c:710 +#: ../newrole/newrole.c:731 #, c-format msgid "%s! Could not get current context for %s, not relabeling tty.\n" msgstr "" -#: ../newrole/newrole.c:720 +#: ../newrole/newrole.c:741 #, c-format msgid "%s! Could not get new context for %s, not relabeling tty.\n" msgstr "" -#: ../newrole/newrole.c:730 +#: ../newrole/newrole.c:751 #, c-format msgid "%s! Could not set new context for %s\n" msgstr "" -#: ../newrole/newrole.c:777 +#: ../newrole/newrole.c:798 #, c-format msgid "%s changed labels.\n" msgstr "" -#: ../newrole/newrole.c:783 +#: ../newrole/newrole.c:804 #, c-format msgid "Warning! Could not restore context for %s\n" msgstr "" -#: ../newrole/newrole.c:840 +#: ../newrole/newrole.c:861 #, c-format msgid "Error: multiple roles specified\n" msgstr "" -#: ../newrole/newrole.c:848 +#: ../newrole/newrole.c:869 #, c-format msgid "Error: multiple types specified\n" msgstr "" -#: ../newrole/newrole.c:855 +#: ../newrole/newrole.c:876 #, c-format msgid "Sorry, -l may be used with SELinux MLS support.\n" msgstr "" -#: ../newrole/newrole.c:860 +#: ../newrole/newrole.c:881 #, c-format msgid "Error: multiple levels specified\n" msgstr "" -#: ../newrole/newrole.c:870 +#: ../newrole/newrole.c:891 #, c-format msgid "Error: you are not allowed to change levels on a non secure terminal \n" msgstr "" -#: ../newrole/newrole.c:896 +#: ../newrole/newrole.c:917 #, c-format msgid "Couldn't get default type.\n" msgstr "" -#: ../newrole/newrole.c:906 +#: ../newrole/newrole.c:927 #, c-format msgid "failed to get new context.\n" msgstr "" -#: ../newrole/newrole.c:913 +#: ../newrole/newrole.c:934 #, c-format msgid "failed to set new role %s\n" msgstr "" -#: ../newrole/newrole.c:920 +#: ../newrole/newrole.c:941 #, c-format msgid "failed to set new type %s\n" msgstr "" -#: ../newrole/newrole.c:930 +#: ../newrole/newrole.c:951 #, c-format msgid "failed to build new range with level %s\n" msgstr "" -#: ../newrole/newrole.c:935 +#: ../newrole/newrole.c:956 #, c-format msgid "failed to set new range %s\n" msgstr "" -#: ../newrole/newrole.c:943 +#: ../newrole/newrole.c:964 #, c-format msgid "failed to convert new context to string\n" msgstr "" -#: ../newrole/newrole.c:948 +#: ../newrole/newrole.c:969 #, c-format msgid "%s is not a valid context\n" msgstr "" -#: ../newrole/newrole.c:955 +#: ../newrole/newrole.c:976 #, c-format msgid "Unable to allocate memory for new_context" msgstr "" -#: ../newrole/newrole.c:981 +#: ../newrole/newrole.c:1002 #, c-format msgid "Unable to obtain empty signal set\n" msgstr "" -#: ../newrole/newrole.c:989 +#: ../newrole/newrole.c:1010 #, c-format msgid "Unable to set SIGHUP handler\n" msgstr "" -#: ../newrole/newrole.c:1041 +#: ../newrole/newrole.c:1062 msgid "Sorry, newrole failed to drop capabilities\n" msgstr "" -#: ../newrole/newrole.c:1057 +#: ../newrole/newrole.c:1078 #, c-format msgid "Sorry, newrole may be used only on a SELinux kernel.\n" msgstr "" -#: ../newrole/newrole.c:1074 +#: ../newrole/newrole.c:1095 #, c-format msgid "failed to get old_context.\n" msgstr "" -#: ../newrole/newrole.c:1081 +#: ../newrole/newrole.c:1102 #, c-format msgid "Warning! Could not retrieve tty information.\n" msgstr "" -#: ../newrole/newrole.c:1102 +#: ../newrole/newrole.c:1123 #, c-format msgid "error on reading PAM service configuration.\n" msgstr "" -#: ../newrole/newrole.c:1137 +#: ../newrole/newrole.c:1158 #, c-format msgid "newrole: incorrect password for %s\n" msgstr "" -#: ../newrole/newrole.c:1164 +#: ../newrole/newrole.c:1185 #, c-format msgid "newrole: failure forking: %s" msgstr "" -#: ../newrole/newrole.c:1167 ../newrole/newrole.c:1190 +#: ../newrole/newrole.c:1188 ../newrole/newrole.c:1211 #, c-format msgid "Unable to restore tty label...\n" msgstr "" -#: ../newrole/newrole.c:1169 ../newrole/newrole.c:1196 +#: ../newrole/newrole.c:1190 ../newrole/newrole.c:1217 #, c-format msgid "Failed to close tty properly\n" msgstr "" -#: ../newrole/newrole.c:1228 +#: ../newrole/newrole.c:1249 #, c-format msgid "Could not close descriptors.\n" msgstr "" -#: ../newrole/newrole.c:1263 +#: ../newrole/newrole.c:1284 #, c-format msgid "Error allocating shell's argv0.\n" msgstr "" -#: ../newrole/newrole.c:1285 +#: ../newrole/newrole.c:1306 #, c-format msgid "Failed to send audit message" msgstr "" -#: ../newrole/newrole.c:1293 +#: ../newrole/newrole.c:1314 #, c-format msgid "Failed to transition to namespace\n" msgstr "" -#: ../newrole/newrole.c:1299 +#: ../newrole/newrole.c:1320 #, c-format msgid "Failed to drop capabilities %m\n" msgstr "" -#: ../newrole/newrole.c:1304 +#: ../newrole/newrole.c:1325 #, c-format msgid "Unable to restore the environment, aborting\n" msgstr "" -#: ../newrole/newrole.c:1315 +#: ../newrole/newrole.c:1336 msgid "failed to exec shell\n" msgstr "" @@ -1269,171 +1331,171 @@ msgstr "" msgid "%s: Can't load policy: %s\n" msgstr "" -#: ../scripts/chcat:92 ../scripts/chcat:169 +#: ../scripts/chcat:108 ../scripts/chcat:187 msgid "Requires at least one category" msgstr "" -#: ../scripts/chcat:106 ../scripts/chcat:183 +#: ../scripts/chcat:122 ../scripts/chcat:201 #, c-format msgid "Can not modify sensitivity levels using '+' on %s" msgstr "" -#: ../scripts/chcat:110 +#: ../scripts/chcat:126 #, c-format msgid "%s is already in %s" msgstr "" -#: ../scripts/chcat:188 ../scripts/chcat:198 +#: ../scripts/chcat:206 ../scripts/chcat:216 #, c-format msgid "%s is not in %s" msgstr "" -#: ../scripts/chcat:267 ../scripts/chcat:272 +#: ../scripts/chcat:288 ../scripts/chcat:293 msgid "Can not combine +/- with other types of categories" msgstr "" -#: ../scripts/chcat:319 +#: ../scripts/chcat:343 msgid "Can not have multiple sensitivities" msgstr "" -#: ../scripts/chcat:325 +#: ../scripts/chcat:350 #, c-format msgid "Usage %s CATEGORY File ..." msgstr "" -#: ../scripts/chcat:326 +#: ../scripts/chcat:351 #, c-format msgid "Usage %s -l CATEGORY user ..." msgstr "" -#: ../scripts/chcat:327 +#: ../scripts/chcat:352 #, c-format -msgid "Usage %s [[+|-]CATEGORY],...]q File ..." +msgid "Usage %s [[+|-]CATEGORY],...] File ..." msgstr "" -#: ../scripts/chcat:328 +#: ../scripts/chcat:353 #, c-format -msgid "Usage %s -l [[+|-]CATEGORY],...]q user ..." +msgid "Usage %s -l [[+|-]CATEGORY],...] user ..." msgstr "" -#: ../scripts/chcat:329 +#: ../scripts/chcat:354 #, c-format msgid "Usage %s -d File ..." msgstr "" -#: ../scripts/chcat:330 +#: ../scripts/chcat:355 #, c-format msgid "Usage %s -l -d user ..." msgstr "" -#: ../scripts/chcat:331 +#: ../scripts/chcat:356 #, c-format msgid "Usage %s -L" msgstr "" -#: ../scripts/chcat:332 +#: ../scripts/chcat:357 #, c-format msgid "Usage %s -L -l user" msgstr "" -#: ../scripts/chcat:333 +#: ../scripts/chcat:358 msgid "Use -- to end option list. For example" msgstr "" -#: ../scripts/chcat:334 +#: ../scripts/chcat:359 msgid "chcat -- -CompanyConfidential /docs/businessplan.odt" msgstr "" -#: ../scripts/chcat:335 +#: ../scripts/chcat:360 msgid "chcat -l +CompanyConfidential juser" msgstr "" -#: ../scripts/chcat:399 +#: ../scripts/chcat:429 #, c-format msgid "Options Error %s " msgstr "" -#: ../gui/booleansPage.py:194 ../gui/system-config-selinux.glade:1706 +#: ../gui/booleansPage.py:192 ../gui/system-config-selinux.glade:1706 msgid "Boolean" msgstr "" -#: ../gui/booleansPage.py:245 ../gui/semanagePage.py:162 +#: ../gui/booleansPage.py:250 ../gui/semanagePage.py:189 msgid "all" msgstr "" -#: ../gui/booleansPage.py:247 ../gui/semanagePage.py:164 +#: ../gui/booleansPage.py:252 ../gui/semanagePage.py:191 #: ../gui/system-config-selinux.glade:1615 #: ../gui/system-config-selinux.glade:1820 #: ../gui/system-config-selinux.glade:2437 msgid "Customized" msgstr "" -#: ../gui/fcontextPage.py:64 ../gui/system-config-selinux.glade:1911 +#: ../gui/fcontextPage.py:66 ../gui/system-config-selinux.glade:1911 msgid "File Labeling" msgstr "" -#: ../gui/fcontextPage.py:74 +#: ../gui/fcontextPage.py:76 msgid "" "File\n" "Specification" msgstr "" -#: ../gui/fcontextPage.py:81 +#: ../gui/fcontextPage.py:83 msgid "" "Selinux\n" "File Type" msgstr "" -#: ../gui/fcontextPage.py:88 +#: ../gui/fcontextPage.py:90 msgid "" "File\n" "Type" msgstr "" -#: ../gui/loginsPage.py:48 ../gui/system-config-selinux.glade:2098 +#: ../gui/loginsPage.py:47 ../gui/system-config-selinux.glade:2098 msgid "User Mapping" msgstr "" -#: ../gui/loginsPage.py:52 +#: ../gui/loginsPage.py:51 msgid "" "Login\n" "Name" msgstr "" -#: ../gui/loginsPage.py:56 ../gui/usersPage.py:50 +#: ../gui/loginsPage.py:55 ../gui/usersPage.py:49 msgid "" "SELinux\n" "User" msgstr "" -#: ../gui/loginsPage.py:59 ../gui/usersPage.py:55 +#: ../gui/loginsPage.py:58 ../gui/usersPage.py:54 msgid "" "MLS/\n" "MCS Range" msgstr "" -#: ../gui/loginsPage.py:133 +#: ../gui/loginsPage.py:131 #, python-format msgid "Login '%s' is required" msgstr "" -#: ../gui/modulesPage.py:49 ../gui/system-config-selinux.glade:2753 +#: ../gui/modulesPage.py:51 ../gui/system-config-selinux.glade:2753 msgid "Policy Module" msgstr "" -#: ../gui/modulesPage.py:58 -msgid "Module Name" +#: ../gui/modulesPage.py:65 +msgid "Version" msgstr "" -#: ../gui/modulesPage.py:135 +#: ../gui/modulesPage.py:132 msgid "Disable Audit" msgstr "" -#: ../gui/modulesPage.py:138 ../gui/system-config-selinux.glade:2662 +#: ../gui/modulesPage.py:135 ../gui/system-config-selinux.glade:2662 msgid "Enable Audit" msgstr "" -#: ../gui/modulesPage.py:163 +#: ../gui/modulesPage.py:162 msgid "Load Policy Module" msgstr "" @@ -1472,7 +1534,7 @@ msgstr "" msgid "Applications" msgstr "" -#: ../gui/polgen.glade:316 ../sepolicy/sepolicy/generate.py:130 +#: ../gui/polgen.glade:316 ../sepolicy/sepolicy/generate.py:144 msgid "Standard Init Daemon" msgstr "" @@ -1482,7 +1544,7 @@ msgid "" "requires a script in /etc/rc.d/init.d" msgstr "" -#: ../gui/polgen.glade:332 ../sepolicy/sepolicy/generate.py:131 +#: ../gui/polgen.glade:332 ../sepolicy/sepolicy/generate.py:145 msgid "DBUS System Daemon" msgstr "" @@ -1494,7 +1556,7 @@ msgstr "" msgid "Internet Services Daemon are daemons started by xinetd" msgstr "" -#: ../gui/polgen.glade:366 ../sepolicy/sepolicy/generate.py:133 +#: ../gui/polgen.glade:366 ../sepolicy/sepolicy/generate.py:147 msgid "Web Application/Script (CGI)" msgstr "" @@ -1503,7 +1565,7 @@ msgid "" "Web Applications/Script (CGI) CGI scripts started by the web server (apache)" msgstr "" -#: ../gui/polgen.glade:383 ../sepolicy/sepolicy/generate.py:135 +#: ../gui/polgen.glade:383 ../sepolicy/sepolicy/generate.py:149 msgid "User Application" msgstr "" @@ -1513,7 +1575,7 @@ msgid "" "started by a user" msgstr "" -#: ../gui/polgen.glade:400 ../sepolicy/sepolicy/generate.py:134 +#: ../gui/polgen.glade:400 ../sepolicy/sepolicy/generate.py:148 msgid "Sandbox" msgstr "" @@ -1588,8 +1650,8 @@ msgstr "" msgid "Enter name of application or user role:" msgstr "" -#: ../gui/polgen.glade:728 ../gui/polgengui.py:272 -#: ../sepolicy/sepolicy/sepolicy.glade:2182 +#: ../gui/polgen.glade:728 ../gui/polgengui.py:260 +#: ../sepolicy/sepolicy/sepolicy.glade:2183 msgid "Name" msgstr "" @@ -1673,7 +1735,7 @@ msgid "TCP Ports" msgstr "" #: ../gui/polgen.glade:1223 ../gui/polgen.glade:1390 ../gui/polgen.glade:1589 -#: ../gui/polgen.glade:1698 ../sepolicy/sepolicy/sepolicy.glade:4314 +#: ../gui/polgen.glade:1698 msgid "All" msgstr "" @@ -1804,105 +1866,105 @@ msgstr "" msgid "Policy Directory" msgstr "" -#: ../gui/polgengui.py:282 +#: ../gui/polgengui.py:270 msgid "Role" msgstr "" -#: ../gui/polgengui.py:289 +#: ../gui/polgengui.py:277 msgid "Existing_User" msgstr "" -#: ../gui/polgengui.py:303 ../gui/polgengui.py:311 ../gui/polgengui.py:325 +#: ../gui/polgengui.py:291 ../gui/polgengui.py:299 ../gui/polgengui.py:313 msgid "Application" msgstr "" -#: ../gui/polgengui.py:370 +#: ../gui/polgengui.py:358 #, python-format msgid "%s must be a directory" msgstr "" -#: ../gui/polgengui.py:430 ../gui/polgengui.py:711 +#: ../gui/polgengui.py:418 ../gui/polgengui.py:699 msgid "You must select a user" msgstr "" -#: ../gui/polgengui.py:560 +#: ../gui/polgengui.py:548 msgid "Select executable file to be confined." msgstr "" -#: ../gui/polgengui.py:571 +#: ../gui/polgengui.py:559 msgid "Select init script file to be confined." msgstr "" -#: ../gui/polgengui.py:581 +#: ../gui/polgengui.py:569 msgid "Select file(s) that confined application creates or writes" msgstr "" -#: ../gui/polgengui.py:588 +#: ../gui/polgengui.py:576 msgid "Select directory(s) that the confined application owns and writes into" msgstr "" -#: ../gui/polgengui.py:650 +#: ../gui/polgengui.py:638 msgid "Select directory to generate policy files in" msgstr "" -#: ../gui/polgengui.py:667 +#: ../gui/polgengui.py:655 #, python-format msgid "" "Type %s_t already defined in current policy.\n" "Do you want to continue?" msgstr "" -#: ../gui/polgengui.py:667 ../gui/polgengui.py:671 +#: ../gui/polgengui.py:655 ../gui/polgengui.py:659 msgid "Verify Name" msgstr "" -#: ../gui/polgengui.py:671 +#: ../gui/polgengui.py:659 #, python-format msgid "" -"Module %s.pp already loaded in current policy.\n" +"Module %s already loaded in current policy.\n" "Do you want to continue?" msgstr "" -#: ../gui/polgengui.py:717 +#: ../gui/polgengui.py:705 msgid "" "You must add a name made up of letters and numbers and containing no spaces." msgstr "" -#: ../gui/polgengui.py:731 +#: ../gui/polgengui.py:719 msgid "You must enter a executable" msgstr "" -#: ../gui/polgengui.py:756 ../gui/system-config-selinux.py:180 +#: ../gui/polgengui.py:744 ../gui/system-config-selinux.py:181 msgid "Configue SELinux" msgstr "" -#: ../gui/portsPage.py:51 ../gui/system-config-selinux.glade:2528 +#: ../gui/portsPage.py:50 ../gui/system-config-selinux.glade:2528 msgid "Network Port" msgstr "" -#: ../gui/portsPage.py:85 +#: ../gui/portsPage.py:84 msgid "" "SELinux Port\n" "Type" msgstr "" -#: ../gui/portsPage.py:91 ../gui/system-config-selinux.glade:363 -#: ../sepolicy/sepolicy/sepolicy.glade:1443 -#: ../sepolicy/sepolicy/sepolicy.glade:2657 -#: ../sepolicy/sepolicy/sepolicy.glade:2755 -#: ../sepolicy/sepolicy/sepolicy.glade:4672 +#: ../gui/portsPage.py:90 ../gui/system-config-selinux.glade:363 +#: ../sepolicy/sepolicy/sepolicy.glade:1439 +#: ../sepolicy/sepolicy/sepolicy.glade:2658 +#: ../sepolicy/sepolicy/sepolicy.glade:2756 +#: ../sepolicy/sepolicy/sepolicy.glade:4633 msgid "Protocol" msgstr "" -#: ../gui/portsPage.py:96 ../gui/system-config-selinux.glade:479 +#: ../gui/portsPage.py:95 ../gui/system-config-selinux.glade:479 msgid "" "MLS/MCS\n" "Level" msgstr "" -#: ../gui/portsPage.py:101 ../sepolicy/sepolicy/sepolicy.glade:2638 -#: ../sepolicy/sepolicy/sepolicy.glade:2737 -#: ../sepolicy/sepolicy/sepolicy.glade:4658 +#: ../gui/portsPage.py:100 ../sepolicy/sepolicy/sepolicy.glade:2639 +#: ../sepolicy/sepolicy/sepolicy.glade:2738 +#: ../sepolicy/sepolicy/sepolicy.glade:4619 msgid "Port" msgstr "" @@ -1911,58 +1973,58 @@ msgstr "" msgid "Port number \"%s\" is not valid. 0 < PORT_NUMBER < 65536 " msgstr "" -#: ../gui/portsPage.py:252 +#: ../gui/portsPage.py:260 msgid "List View" msgstr "" -#: ../gui/portsPage.py:255 ../gui/system-config-selinux.glade:2419 +#: ../gui/portsPage.py:263 ../gui/system-config-selinux.glade:2419 msgid "Group View" msgstr "" -#: ../gui/semanagePage.py:126 +#: ../gui/semanagePage.py:129 #, python-format msgid "Are you sure you want to delete %s '%s'?" msgstr "" -#: ../gui/semanagePage.py:126 +#: ../gui/semanagePage.py:129 #, python-format msgid "Delete %s" msgstr "" -#: ../gui/semanagePage.py:134 +#: ../gui/semanagePage.py:161 #, python-format msgid "Add %s" msgstr "" -#: ../gui/semanagePage.py:148 +#: ../gui/semanagePage.py:175 #, python-format msgid "Modify %s" msgstr "" -#: ../gui/statusPage.py:69 ../gui/system-config-selinux.glade:2819 -#: ../sepolicy/sepolicy/sepolicy.glade:3413 -#: ../sepolicy/sepolicy/sepolicy.glade:3486 +#: ../gui/statusPage.py:67 ../gui/system-config-selinux.glade:2819 +#: ../sepolicy/sepolicy/sepolicy.glade:3414 +#: ../sepolicy/sepolicy/sepolicy.glade:3487 msgid "Permissive" msgstr "" -#: ../gui/statusPage.py:70 ../gui/system-config-selinux.glade:2837 -#: ../sepolicy/sepolicy/sepolicy.glade:3394 -#: ../sepolicy/sepolicy/sepolicy.glade:3468 +#: ../gui/statusPage.py:68 ../gui/system-config-selinux.glade:2837 +#: ../sepolicy/sepolicy/sepolicy.glade:3395 +#: ../sepolicy/sepolicy/sepolicy.glade:3469 msgid "Enforcing" msgstr "" -#: ../gui/statusPage.py:94 +#: ../gui/statusPage.py:92 msgid "Status" msgstr "" -#: ../gui/statusPage.py:133 ../sepolicy/sepolicy/gui.py:2619 +#: ../gui/statusPage.py:131 ../sepolicy/sepolicy/gui.py:2627 msgid "" "Changing the policy type will cause a relabel of the entire file system on " "the next boot. Relabeling takes a long time depending on the size of the " "file system. Do you wish to continue?" msgstr "" -#: ../gui/statusPage.py:147 +#: ../gui/statusPage.py:145 msgid "" "Changing to SELinux disabled requires a reboot. It is not recommended. If " "you later decide to turn SELinux back on, the system will be required to " @@ -1972,7 +2034,7 @@ msgid "" "wish to continue?" msgstr "" -#: ../gui/statusPage.py:152 ../sepolicy/sepolicy/gui.py:2753 +#: ../gui/statusPage.py:150 ../sepolicy/sepolicy/gui.py:2767 msgid "" "Changing to SELinux enabled will cause a relabel of the entire file system " "on the next boot. Relabeling takes a long time depending on the size of the " @@ -2018,14 +2080,14 @@ msgid "" "directory\n" "character device\n" "block device\n" -"socket\n" +"socket file\n" "symbolic link\n" "named pipe\n" msgstr "" #: ../gui/system-config-selinux.glade:773 -#: ../sepolicy/sepolicy/sepolicy.glade:729 -#: ../sepolicy/sepolicy/sepolicy.glade:1489 +#: ../sepolicy/sepolicy/sepolicy.glade:711 +#: ../sepolicy/sepolicy/sepolicy.glade:1485 msgid "MLS" msgstr "" @@ -2038,7 +2100,7 @@ msgid "SELinux Administration" msgstr "" #: ../gui/system-config-selinux.glade:1122 -#: ../sepolicy/sepolicy/sepolicy.glade:4162 +#: ../sepolicy/sepolicy/sepolicy.glade:4163 msgid "Add" msgstr "" @@ -2108,7 +2170,7 @@ msgstr "" #: ../gui/system-config-selinux.glade:2467 #: ../gui/system-config-selinux.glade:2692 #: ../gui/system-config-selinux.glade:2867 -#: ../sepolicy/sepolicy/sepolicy.glade:1992 +#: ../sepolicy/sepolicy/sepolicy.glade:1993 msgid "Filter" msgstr "" @@ -2227,7 +2289,7 @@ msgstr "" msgid "label59" msgstr "" -#: ../gui/usersPage.py:138 +#: ../gui/usersPage.py:142 #, python-format msgid "SELinux user '%s' is required" msgstr "" @@ -2239,13 +2301,14 @@ msgstr "" #: booleans.py:2 msgid "" -"Allow ABRT to run in abrt_handle_event_t domain to handle ABRT event scripts" +"Determine whether ABRT can run in the abrt_handle_event_t domain to handle " +"ABRT event scripts." msgstr "" #: booleans.py:3 msgid "" -"Allow abrt-handle-upload to modify public files used for public file " -"transfer services in /var/spool/abrt-upload/." +"Determine whether abrt-handle-upload can modify public files used for public " +"file transfer services in /var/spool/abrt-upload/." msgstr "" #: booleans.py:4 @@ -2271,7 +2334,8 @@ msgid "Allow users to login using a radius server" msgstr "" #: booleans.py:9 -msgid "Allow users to login using a yubikey server" +msgid "" +"Allow users to login using a yubikey OTP server or challenge response mode" msgstr "" #: booleans.py:10 @@ -2279,7 +2343,7 @@ msgid "Determine whether awstats can purge httpd log files." msgstr "" #: booleans.py:11 -msgid "Allow boinc_domain execmem/execstack." +msgid "Determine whether boinc can execmem/execstack." msgstr "" #: booleans.py:12 @@ -2330,1472 +2394,1620 @@ msgid "Determine whether Condor can connect to the network using TCP." msgstr "" #: booleans.py:22 -msgid "" -"Allow system cron jobs to relabel filesystem for restoring file contexts." +msgid "Determine whether conman can connect to all TCP ports" msgstr "" #: booleans.py:23 -msgid "Determine whether cvs can read shadow password files." +msgid "" +"Allow system cron jobs to relabel filesystem for restoring file contexts." msgstr "" #: booleans.py:24 -msgid "Allow all daemons to write corefiles to /" +msgid "Allow system cronjob to be executed on on NFS, CIFS or FUSE filesystem." msgstr "" #: booleans.py:25 -msgid "Allow all daemons to use tcp wrappers." +msgid "" +"Determine whether crond can execute jobs in the user domain as opposed to " +"the the generic cronjob domain." msgstr "" #: booleans.py:26 -msgid "Allow all daemons the ability to read/write terminals" +msgid "Allow cups execmem/execstack" msgstr "" #: booleans.py:27 -msgid "Determine whether dbadm can manage generic user files." +msgid "Determine whether cvs can read shadow password files." msgstr "" #: booleans.py:28 -msgid "Determine whether dbadm can read generic user files." +msgid "Allow all daemons to write corefiles to /" msgstr "" #: booleans.py:29 -msgid "" -"Deny user domains applications to map a memory region as both executable and " -"writable, this is dangerous and the executable should be reported in bugzilla" +msgid "Enable cluster mode for daemons." msgstr "" #: booleans.py:30 -msgid "Deny any process from ptracing or debugging any other processes." +msgid "Allow all daemons to use tcp wrappers." msgstr "" #: booleans.py:31 -msgid "Allow dhcpc client applications to execute iptables commands" +msgid "Allow all daemons the ability to read/write terminals" msgstr "" #: booleans.py:32 -msgid "Determine whether DHCP daemon can use LDAP backends." +msgid "Allow dbadm to exec content" msgstr "" #: booleans.py:33 -msgid "Allow all domains to use other domains file descriptors" +msgid "Determine whether dbadm can manage generic user files." msgstr "" #: booleans.py:34 -msgid "Allow all domains to have the kernel load modules" +msgid "Determine whether dbadm can read generic user files." msgstr "" #: booleans.py:35 msgid "" -"Determine whether entropyd can use audio devices as the source for the " -"entropy feeds." +"Deny user domains applications to map a memory region as both executable and " +"writable, this is dangerous and the executable should be reported in bugzilla" msgstr "" #: booleans.py:36 -msgid "Determine whether exim can connect to databases." +msgid "Deny any process from ptracing or debugging any other processes." msgstr "" #: booleans.py:37 -msgid "" -"Determine whether exim can create, read, write, and delete generic user " -"content files." +msgid "Allow dhcpc client applications to execute iptables commands" msgstr "" #: booleans.py:38 -msgid "Determine whether exim can read generic user content files." +msgid "Determine whether DHCP daemon can use LDAP backends." msgstr "" #: booleans.py:39 -msgid "Enable extra rules in the cron domain to support fcron." +msgid "Determine whether docker can connect to all TCP ports." msgstr "" #: booleans.py:40 -msgid "Determine whether fenced can connect to the TCP network." +msgid "Allow all domains to use other domains file descriptors" msgstr "" #: booleans.py:41 -msgid "Determine whether fenced can use ssh." +msgid "Allow all domains to have the kernel load modules" msgstr "" #: booleans.py:42 -msgid "Allow all domains to execute in fips_mode" +msgid "" +"Determine whether entropyd can use audio devices as the source for the " +"entropy feeds." msgstr "" #: booleans.py:43 -msgid "" -"Determine whether ftpd can read and write files in user home directories." +msgid "Determine whether exim can connect to databases." msgstr "" #: booleans.py:44 msgid "" -"Determine whether ftpd can modify public files used for public file transfer " -"services. Directories/Files must be labeled public_content_rw_t." +"Determine whether exim can create, read, write, and delete generic user " +"content files." msgstr "" #: booleans.py:45 -msgid "Determine whether ftpd can connect to all unreserved ports." +msgid "Determine whether exim can read generic user content files." msgstr "" #: booleans.py:46 -msgid "Determine whether ftpd can connect to databases over the TCP network." +msgid "Enable extra rules in the cron domain to support fcron." msgstr "" #: booleans.py:47 -msgid "" -"Determine whether ftpd can login to local users and can read and write all " -"files on the system, governed by DAC." +msgid "Determine whether fenced can connect to the TCP network." msgstr "" #: booleans.py:48 -msgid "" -"Determine whether ftpd can use CIFS used for public file transfer services." +msgid "Determine whether fenced can use ssh." msgstr "" #: booleans.py:49 -msgid "Allow ftpd to use ntfs/fusefs volumes." +msgid "Allow all domains to execute in fips_mode" msgstr "" #: booleans.py:50 msgid "" -"Determine whether ftpd can use NFS used for public file transfer services." +"Determine whether ftpd can modify public files used for public file transfer " +"services. Directories/Files must be labeled public_content_rw_t." msgstr "" #: booleans.py:51 -msgid "" -"Determine whether ftpd can bind to all unreserved ports for passive mode." +msgid "Determine whether ftpd can connect to all unreserved ports." msgstr "" #: booleans.py:52 -msgid "Determine whether Git CGI can search home directories." +msgid "Determine whether ftpd can connect to databases over the TCP network." msgstr "" #: booleans.py:53 -msgid "Determine whether Git CGI can access cifs file systems." +msgid "" +"Determine whether ftpd can login to local users and can read and write all " +"files on the system, governed by DAC." msgstr "" #: booleans.py:54 -msgid "Determine whether Git CGI can access nfs file systems." +msgid "" +"Determine whether ftpd can use CIFS used for public file transfer services." msgstr "" #: booleans.py:55 -msgid "" -"Determine whether Git session daemon can bind TCP sockets to all unreserved " -"ports." +msgid "Allow ftpd to use ntfs/fusefs volumes." msgstr "" #: booleans.py:56 msgid "" -"Determine whether calling user domains can execute Git daemon in the " -"git_session_t domain." +"Determine whether ftpd can use NFS used for public file transfer services." msgstr "" #: booleans.py:57 -msgid "Determine whether Git system daemon can search home directories." +msgid "" +"Determine whether ftpd can bind to all unreserved ports for passive mode." msgstr "" #: booleans.py:58 -msgid "Determine whether Git system daemon can access cifs file systems." +msgid "Determine whether Git CGI can search home directories." msgstr "" #: booleans.py:59 -msgid "Determine whether Git system daemon can access nfs file systems." +msgid "Determine whether Git CGI can access cifs file systems." msgstr "" #: booleans.py:60 -msgid "Determine whether Gitosis can send mail." +msgid "Determine whether Git CGI can access nfs file systems." msgstr "" #: booleans.py:61 -msgid "Enable reading of urandom for all domains." +msgid "" +"Determine whether Git session daemon can bind TCP sockets to all unreserved " +"ports." msgstr "" #: booleans.py:62 msgid "" -"Allow glusterfsd to modify public files used for public file transfer " -"services. Files/Directories must be labeled public_content_rw_t." +"Determine whether calling user domains can execute Git daemon in the " +"git_session_t domain." msgstr "" #: booleans.py:63 -msgid "Allow glusterfsd to share any file/directory read only." +msgid "Determine whether Git system daemon can search home directories." msgstr "" #: booleans.py:64 -msgid "Allow glusterfsd to share any file/directory read/write." +msgid "Determine whether Git system daemon can access cifs file systems." msgstr "" #: booleans.py:65 -msgid "" -"Allow usage of the gpg-agent --write-env-file option. This also allows gpg-" -"agent to manage user files." +msgid "Determine whether Git system daemon can access nfs file systems." msgstr "" #: booleans.py:66 -msgid "" -"Allow gpg web domain to modify public files used for public file transfer " -"services." +msgid "Determine whether Gitosis can send mail." msgstr "" #: booleans.py:67 -msgid "" -"Allow gssd to list tmp directories and read the kerberos credential cache." +msgid "Determine whether glance-api can connect to all TCP ports" msgstr "" #: booleans.py:68 -msgid "Allow guest to exec content" +msgid "Allow glance domain to use executable memory and executable stack" msgstr "" #: booleans.py:69 -msgid "" -"Allow Apache to modify public files used for public file transfer services. " -"Directories/Files must be labeled public_content_rw_t." +msgid "Allow glance domain to manage fuse files" msgstr "" #: booleans.py:70 -msgid "Allow httpd to use built in scripting (usually php)" +msgid "Enable reading of urandom for all domains." msgstr "" #: booleans.py:71 -msgid "Allow http daemon to check spam" +msgid "" +"Allow glusterfsd to modify public files used for public file transfer " +"services. Files/Directories must be labeled public_content_rw_t." msgstr "" #: booleans.py:72 -msgid "" -"Allow httpd to act as a FTP client connecting to the ftp port and ephemeral " -"ports" +msgid "Allow glusterfsd to share any file/directory read only." msgstr "" #: booleans.py:73 -msgid "Allow httpd to connect to the ldap port" +msgid "Allow glusterfsd to share any file/directory read/write." msgstr "" #: booleans.py:74 -msgid "Allow http daemon to connect to mythtv" +msgid "" +"Allow gpg web domain to modify public files used for public file transfer " +"services." msgstr "" #: booleans.py:75 -msgid "Allow http daemon to connect to zabbix" +msgid "" +"Allow gssd to list tmp directories and read the kerberos credential cache." msgstr "" #: booleans.py:76 -msgid "Allow HTTPD scripts and modules to connect to the network using TCP." +msgid "Allow guest to exec content" msgstr "" #: booleans.py:77 -msgid "Allow HTTPD scripts and modules to connect to cobbler over the network." +msgid "Determine whether haproxy can connect to all TCP ports." msgstr "" #: booleans.py:78 msgid "" -"Allow HTTPD scripts and modules to connect to databases over the network." +"Allow Apache to modify public files used for public file transfer services. " +"Directories/Files must be labeled public_content_rw_t." msgstr "" #: booleans.py:79 -msgid "Allow httpd to connect to memcache server" +msgid "Allow httpd to use built in scripting (usually php)" msgstr "" #: booleans.py:80 -msgid "Allow httpd to act as a relay" +msgid "Allow http daemon to check spam" msgstr "" #: booleans.py:81 -msgid "Allow http daemon to send mail" +msgid "" +"Allow httpd to act as a FTP client connecting to the ftp port and ephemeral " +"ports" msgstr "" #: booleans.py:82 -msgid "Allow Apache to communicate with avahi service via dbus" +msgid "Allow httpd to connect to the ldap port" msgstr "" #: booleans.py:83 -msgid "Allow httpd cgi support" +msgid "Allow http daemon to connect to mythtv" msgstr "" #: booleans.py:84 -msgid "Allow httpd to act as a FTP server by listening on the ftp port." +msgid "Allow http daemon to connect to zabbix" msgstr "" #: booleans.py:85 -msgid "Allow httpd to read home directories" +msgid "Allow HTTPD scripts and modules to connect to the network using TCP." msgstr "" #: booleans.py:86 -msgid "Allow httpd scripts and modules execmem/execstack" +msgid "Allow HTTPD scripts and modules to connect to cobbler over the network." msgstr "" #: booleans.py:87 -msgid "Allow HTTPD to connect to port 80 for graceful shutdown" +msgid "" +"Allow HTTPD scripts and modules to connect to databases over the network." msgstr "" #: booleans.py:88 -msgid "Allow httpd processes to manage IPA content" +msgid "Allow httpd to connect to memcache server" msgstr "" #: booleans.py:89 -msgid "Allow Apache to use mod_auth_ntlm_winbind" +msgid "Allow httpd to act as a relay" msgstr "" #: booleans.py:90 -msgid "Allow Apache to use mod_auth_pam" +msgid "Allow http daemon to send mail" msgstr "" #: booleans.py:91 -msgid "Allow httpd to read user content" +msgid "Allow Apache to communicate with avahi service via dbus" msgstr "" #: booleans.py:92 -msgid "Allow Apache to run in stickshift mode, not transition to passenger" +msgid "Allow Apache to communicate with sssd service via dbus" msgstr "" #: booleans.py:93 -msgid "Allow HTTPD scripts and modules to server cobbler files." +msgid "Dontaudit Apache to search dirs." msgstr "" #: booleans.py:94 -msgid "Allow httpd daemon to change its resource limits" +msgid "Allow httpd cgi support" msgstr "" #: booleans.py:95 -msgid "" -"Allow HTTPD to run SSI executables in the same domain as system CGI scripts." +msgid "Allow httpd to act as a FTP server by listening on the ftp port." msgstr "" #: booleans.py:96 -msgid "" -"Allow apache scripts to write to public content, directories/files must be " -"labeled public_rw_content_t." +msgid "Allow httpd to read home directories" msgstr "" #: booleans.py:97 -msgid "Allow Apache to execute tmp content." +msgid "Allow httpd scripts and modules execmem/execstack" msgstr "" #: booleans.py:98 -msgid "" -"Unify HTTPD to communicate with the terminal. Needed for entering the " -"passphrase for certificates at the terminal." +msgid "Allow HTTPD to connect to port 80 for graceful shutdown" msgstr "" #: booleans.py:99 -msgid "Unify HTTPD handling of all content files." +msgid "Allow httpd processes to manage IPA content" msgstr "" #: booleans.py:100 -msgid "Allow httpd to access cifs file systems" +msgid "Allow Apache to use mod_auth_ntlm_winbind" msgstr "" #: booleans.py:101 -msgid "Allow httpd to access FUSE file systems" +msgid "Allow Apache to use mod_auth_pam" msgstr "" #: booleans.py:102 -msgid "Allow httpd to run gpg" +msgid "Allow httpd to read user content" msgstr "" #: booleans.py:103 -msgid "Allow httpd to access nfs file systems" +msgid "Allow httpd processes to run IPA helper." msgstr "" #: booleans.py:104 -msgid "Allow httpd to access openstack ports" +msgid "Allow Apache to run preupgrade" msgstr "" #: booleans.py:105 -msgid "Allow httpd to connect to sasl" +msgid "Allow Apache to run in stickshift mode, not transition to passenger" msgstr "" #: booleans.py:106 -msgid "Allow Apache to query NS records" +msgid "Allow HTTPD scripts and modules to server cobbler files." msgstr "" #: booleans.py:107 -msgid "Determine whether icecast can listen on and connect to any TCP port." +msgid "Allow httpd daemon to change its resource limits" msgstr "" #: booleans.py:108 msgid "" +"Allow HTTPD to run SSI executables in the same domain as system CGI scripts." +msgstr "" + +#: booleans.py:109 +msgid "" +"Allow apache scripts to write to public content, directories/files must be " +"labeled public_rw_content_t." +msgstr "" + +#: booleans.py:110 +msgid "Allow Apache to execute tmp content." +msgstr "" + +#: booleans.py:111 +msgid "" +"Unify HTTPD to communicate with the terminal. Needed for entering the " +"passphrase for certificates at the terminal." +msgstr "" + +#: booleans.py:112 +msgid "Unify HTTPD handling of all content files." +msgstr "" + +#: booleans.py:113 +msgid "Allow httpd to access cifs file systems" +msgstr "" + +#: booleans.py:114 +msgid "Allow httpd to access FUSE file systems" +msgstr "" + +#: booleans.py:115 +msgid "Allow httpd to run gpg" +msgstr "" + +#: booleans.py:116 +msgid "Allow httpd to access nfs file systems" +msgstr "" + +#: booleans.py:117 +msgid "Allow httpd to access openstack ports" +msgstr "" + +#: booleans.py:118 +msgid "Allow httpd to connect to sasl" +msgstr "" + +#: booleans.py:119 +msgid "Allow Apache to query NS records" +msgstr "" + +#: booleans.py:120 +msgid "Determine whether icecast can listen on and connect to any TCP port." +msgstr "" + +#: booleans.py:121 +msgid "" "Determine whether irc clients can listen on and connect to any unreserved " "TCP ports." msgstr "" -#: booleans.py:109 +#: booleans.py:122 msgid "" "Allow the Irssi IRC Client to connect to any port, and to bind to any " "unreserved port." msgstr "" -#: booleans.py:110 +#: booleans.py:123 +msgid "Allow s-c-kdump to run bootloader in bootloader_t." +msgstr "" + +#: booleans.py:124 msgid "Allow confined applications to run with kerberos." msgstr "" -#: booleans.py:111 +#: booleans.py:125 msgid "Allow ksmtuned to use cifs/Samba file systems" msgstr "" -#: booleans.py:112 +#: booleans.py:126 msgid "Allow ksmtuned to use nfs file systems" msgstr "" -#: booleans.py:113 +#: booleans.py:127 +msgid "Allow logadm to exec content" +msgstr "" + +#: booleans.py:128 msgid "Allow syslogd daemon to send mail" msgstr "" -#: booleans.py:114 +#: booleans.py:129 +msgid "" +"Allow syslogd the ability to call nagios plugins. It is turned on by omprog " +"rsyslog plugin." +msgstr "" + +#: booleans.py:130 msgid "Allow syslogd the ability to read/write terminals" msgstr "" -#: booleans.py:115 +#: booleans.py:131 msgid "Allow logging in and using the system from /dev/console." msgstr "" -#: booleans.py:116 -msgid "Allow epylog to send mail" +#: booleans.py:132 +msgid "Allow logrotate to read logs inside" msgstr "" -#: booleans.py:117 +#: booleans.py:133 +msgid "Allow logrotate to manage nfs files" +msgstr "" + +#: booleans.py:134 +msgid "Determine whether logwatch can connect to mail over the network." +msgstr "" + +#: booleans.py:135 +msgid "Determine whether lsmd_plugin can connect to all TCP ports." +msgstr "" + +#: booleans.py:136 msgid "Allow mailman to access FUSE file systems" msgstr "" -#: booleans.py:118 +#: booleans.py:137 msgid "Determine whether mcelog supports client mode." msgstr "" -#: booleans.py:119 +#: booleans.py:138 msgid "Determine whether mcelog can execute scripts." msgstr "" -#: booleans.py:120 +#: booleans.py:139 msgid "Determine whether mcelog can use all the user ttys." msgstr "" -#: booleans.py:121 +#: booleans.py:140 msgid "Determine whether mcelog supports server mode." msgstr "" -#: booleans.py:122 +#: booleans.py:141 +msgid "Determine whether minidlna can read generic user content." +msgstr "" + +#: booleans.py:142 msgid "" "Control the ability to mmap a low area of the address space, as configured " -"by /proc/sys/kernel/mmap_min_addr." +"by /proc/sys/vm/mmap_min_addr." msgstr "" -#: booleans.py:123 +#: booleans.py:143 msgid "Allow mock to read files in home directories." msgstr "" -#: booleans.py:124 +#: booleans.py:144 msgid "Allow the mount commands to mount any directory or file." msgstr "" -#: booleans.py:125 +#: booleans.py:145 +msgid "Allow mozilla plugin domain to bind unreserved tcp/udp ports." +msgstr "" + +#: booleans.py:146 msgid "Allow mozilla plugin domain to connect to the network using TCP." msgstr "" -#: booleans.py:126 +#: booleans.py:147 +msgid "Allow mozilla plugin to use Bluejeans." +msgstr "" + +#: booleans.py:148 msgid "Allow mozilla plugin to support GPS." msgstr "" -#: booleans.py:127 +#: booleans.py:149 msgid "Allow mozilla plugin to support spice protocols." msgstr "" -#: booleans.py:128 +#: booleans.py:150 msgid "Allow confined web browsers to read home directory content" msgstr "" -#: booleans.py:129 +#: booleans.py:151 msgid "Determine whether mpd can traverse user home directories." msgstr "" -#: booleans.py:130 +#: booleans.py:152 msgid "Determine whether mpd can use cifs file systems." msgstr "" -#: booleans.py:131 +#: booleans.py:153 msgid "Determine whether mpd can use nfs file systems." msgstr "" -#: booleans.py:132 +#: booleans.py:154 msgid "Determine whether mplayer can make its stack executable." msgstr "" -#: booleans.py:133 +#: booleans.py:155 msgid "Allow mysqld to connect to all ports" msgstr "" -#: booleans.py:134 +#: booleans.py:156 +msgid "Allow nagios run in conjunction with PNP4Nagios." +msgstr "" + +#: booleans.py:157 +msgid "Allow nagios/nrpe to call sudo from NRPE utils scripts." +msgstr "" + +#: booleans.py:158 msgid "Determine whether Bind can bind tcp socket to http ports." msgstr "" -#: booleans.py:135 +#: booleans.py:159 msgid "" "Determine whether Bind can write to master zone files. Generally this is " "used for dynamic DNS or zone transfers." msgstr "" -#: booleans.py:136 +#: booleans.py:160 +msgid "Determine whether neutron can connect to all TCP ports" +msgstr "" + +#: booleans.py:161 msgid "Allow any files/directories to be exported read/only via NFS." msgstr "" -#: booleans.py:137 +#: booleans.py:162 msgid "Allow any files/directories to be exported read/write via NFS." msgstr "" -#: booleans.py:138 +#: booleans.py:163 msgid "" "Allow nfs servers to modify public files used for public file transfer " "services. Files/Directories must be labeled public_content_rw_t." msgstr "" -#: booleans.py:139 +#: booleans.py:164 msgid "Allow system to run with NIS" msgstr "" -#: booleans.py:140 +#: booleans.py:165 msgid "Allow confined applications to use nscd shared memory." msgstr "" -#: booleans.py:141 -msgid "Allow openshift to lockdown app" +#: booleans.py:166 +msgid "Allow openshift to access nfs file systems without labels" msgstr "" -#: booleans.py:142 +#: booleans.py:167 msgid "Determine whether openvpn can connect to the TCP network." msgstr "" -#: booleans.py:143 +#: booleans.py:168 msgid "Determine whether openvpn can read generic user home content files." msgstr "" -#: booleans.py:144 +#: booleans.py:169 msgid "Allow openvpn to run unconfined scripts" msgstr "" -#: booleans.py:145 +#: booleans.py:170 +msgid "Allow pcp to bind to all unreserved_ports" +msgstr "" + +#: booleans.py:171 +msgid "Allow pcp to read generic logs" +msgstr "" + +#: booleans.py:172 msgid "Allow piranha-lvs domain to connect to the network using TCP." msgstr "" -#: booleans.py:146 +#: booleans.py:173 msgid "Allow polipo to connect to all ports > 1023" msgstr "" -#: booleans.py:147 +#: booleans.py:174 msgid "" "Determine whether Polipo session daemon can bind tcp sockets to all " "unreserved ports." msgstr "" -#: booleans.py:148 +#: booleans.py:175 msgid "" "Determine whether calling user domains can execute Polipo daemon in the " "polipo_session_t domain." msgstr "" -#: booleans.py:149 +#: booleans.py:176 msgid "Determine whether polipo can access cifs file systems." msgstr "" -#: booleans.py:150 +#: booleans.py:177 msgid "Determine whether Polipo can access nfs file systems." msgstr "" -#: booleans.py:151 +#: booleans.py:178 msgid "Enable polyinstantiated directory support." msgstr "" -#: booleans.py:152 +#: booleans.py:179 msgid "Allow postfix_local domain full write access to mail_spool directories" msgstr "" -#: booleans.py:153 +#: booleans.py:180 msgid "Allow postgresql to use ssh and rsync for point-in-time recovery" msgstr "" -#: booleans.py:154 +#: booleans.py:181 msgid "Allow transmit client label to foreign database" msgstr "" -#: booleans.py:155 +#: booleans.py:182 msgid "Allow database admins to execute DML statement" msgstr "" -#: booleans.py:156 +#: booleans.py:183 msgid "Allow unprivileged users to execute DDL statement" msgstr "" -#: booleans.py:157 +#: booleans.py:184 msgid "Allow pppd to load kernel modules for certain modems" msgstr "" -#: booleans.py:158 +#: booleans.py:185 msgid "Allow pppd to be run for a regular user" msgstr "" -#: booleans.py:159 +#: booleans.py:186 msgid "Determine whether privoxy can connect to all tcp ports." msgstr "" -#: booleans.py:160 +#: booleans.py:187 msgid "" "Permit to prosody to bind apache port. Need to be activated to use BOSH." msgstr "" -#: booleans.py:161 +#: booleans.py:188 msgid "Allow Puppet client to manage all file types." msgstr "" -#: booleans.py:162 +#: booleans.py:189 msgid "Allow Puppet master to use connect to MySQL and PostgreSQL database" msgstr "" -#: booleans.py:163 +#: booleans.py:190 msgid "Allow racoon to read shadow" msgstr "" -#: booleans.py:164 +#: booleans.py:191 +msgid "Allow rpcd_t to manage fuse files" +msgstr "" + +#: booleans.py:192 msgid "" "Allow rsync to modify public files used for public file transfer services. " "Files/Directories must be labeled public_content_rw_t." msgstr "" -#: booleans.py:165 +#: booleans.py:193 msgid "Allow rsync to run as a client" msgstr "" -#: booleans.py:166 +#: booleans.py:194 msgid "Allow rsync to export any files/directories read only." msgstr "" -#: booleans.py:167 +#: booleans.py:195 msgid "Allow rsync server to manage all files/directories on the system." msgstr "" -#: booleans.py:168 +#: booleans.py:196 msgid "Allow samba to create new home directories (e.g. via PAM)" msgstr "" -#: booleans.py:169 +#: booleans.py:197 msgid "" "Allow samba to act as the domain controller, add users, groups and change " "passwords." msgstr "" -#: booleans.py:170 +#: booleans.py:198 msgid "Allow samba to share users home directories." msgstr "" -#: booleans.py:171 +#: booleans.py:199 msgid "Allow samba to share any file/directory read only." msgstr "" -#: booleans.py:172 +#: booleans.py:200 msgid "Allow samba to share any file/directory read/write." msgstr "" -#: booleans.py:173 +#: booleans.py:201 +msgid "Allow smbd to load libgfapi from gluster." +msgstr "" + +#: booleans.py:202 msgid "Allow samba to act as a portmapper" msgstr "" -#: booleans.py:174 +#: booleans.py:203 msgid "Allow samba to run unconfined scripts" msgstr "" -#: booleans.py:175 +#: booleans.py:204 msgid "Allow samba to export ntfs/fusefs volumes." msgstr "" -#: booleans.py:176 +#: booleans.py:205 msgid "Allow samba to export NFS volumes." msgstr "" -#: booleans.py:177 +#: booleans.py:206 msgid "Allow sanlock to read/write fuse files" msgstr "" -#: booleans.py:178 +#: booleans.py:207 msgid "Allow sanlock to manage nfs files" msgstr "" -#: booleans.py:179 +#: booleans.py:208 msgid "Allow sanlock to manage cifs files" msgstr "" -#: booleans.py:180 +#: booleans.py:209 msgid "Allow sasl to read shadow" msgstr "" -#: booleans.py:181 +#: booleans.py:210 msgid "Allow secadm to exec content" msgstr "" -#: booleans.py:182 +#: booleans.py:211 msgid "" "disallow programs, such as newrole, from transitioning to administrative " "user domains." msgstr "" -#: booleans.py:183 +#: booleans.py:212 msgid "Disable kernel module loading." msgstr "" -#: booleans.py:184 +#: booleans.py:213 msgid "" "Boolean to determine whether the system permits loading policy, setting " "enforcing mode, and changing boolean values. Set this to true and you have " "to reboot to set it back." msgstr "" -#: booleans.py:185 +#: booleans.py:214 msgid "Allow regular users direct dri device access" msgstr "" -#: booleans.py:186 +#: booleans.py:215 msgid "" "Allow unconfined executables to make their heap memory executable. Doing " "this is a really bad idea. Probably indicates a badly coded executable, but " "could indicate an attack. This executable should be reported in bugzilla" msgstr "" -#: booleans.py:187 +#: booleans.py:216 msgid "" "Allow all unconfined executables to use libraries requiring text relocation " "that are not labeled textrel_shlib_t" msgstr "" -#: booleans.py:188 +#: booleans.py:217 msgid "" "Allow unconfined executables to make their stack executable. This should " "never, ever be necessary. Probably indicates a badly coded executable, but " "could indicate an attack. This executable should be reported in bugzilla" msgstr "" -#: booleans.py:189 +#: booleans.py:218 msgid "Allow users to connect to the local mysql server" msgstr "" -#: booleans.py:190 +#: booleans.py:219 msgid "" "Allow confined users the ability to execute the ping and traceroute commands." msgstr "" -#: booleans.py:191 +#: booleans.py:220 msgid "Allow users to connect to PostgreSQL" msgstr "" -#: booleans.py:192 +#: booleans.py:221 msgid "" "Allow user to r/w files on filesystems that do not have extended attributes " "(FAT, CDROM, FLOPPY)" msgstr "" -#: booleans.py:193 +#: booleans.py:222 msgid "Allow user music sharing" msgstr "" -#: booleans.py:194 +#: booleans.py:223 msgid "" "Allow users to run TCP servers (bind to ports and accept connection from the " "same domain and outside users) disabling this forces FTP passive mode and " "may change other protocols." msgstr "" -#: booleans.py:195 -msgid "Allow user to use ssh chroot environment." -msgstr "" - -#: booleans.py:196 -msgid "" -"Determine whether sftpd can modify public files used for public file " -"transfer services. Directories/Files must be labeled public_content_rw_t." -msgstr "" - -#: booleans.py:197 -msgid "" -"Determine whether sftpd-can read and write files in user home directories." -msgstr "" - -#: booleans.py:198 +#: booleans.py:224 msgid "" -"Determine whether sftpd-can login to local users and read and write all " -"files on the system, governed by DAC." +"Allow users to run UDP servers (bind to ports and accept connection from the " +"same domain and outside users) disabling this may break avahi discovering " +"services on the network and other udp related services." msgstr "" -#: booleans.py:199 -msgid "" -"Determine whether sftpd can read and write files in user ssh home " -"directories." +#: booleans.py:225 +msgid "Allow user to use ssh chroot environment." msgstr "" -#: booleans.py:200 +#: booleans.py:226 msgid "Allow sge to connect to the network using any TCP port" msgstr "" -#: booleans.py:201 +#: booleans.py:227 msgid "Allow sge to access nfs file systems." msgstr "" -#: booleans.py:202 +#: booleans.py:228 msgid "Determine whether smartmon can support devices on 3ware controllers." msgstr "" -#: booleans.py:203 +#: booleans.py:229 msgid "" "Allow samba to modify public files used for public file transfer services. " "Files/Directories must be labeled public_content_rw_t." msgstr "" -#: booleans.py:204 +#: booleans.py:230 msgid "Allow user spamassassin clients to use the network." msgstr "" -#: booleans.py:205 +#: booleans.py:231 msgid "Allow spamd to read/write user home directories." msgstr "" -#: booleans.py:206 +#: booleans.py:232 +msgid "Allow spamd_update to connect to all ports." +msgstr "" + +#: booleans.py:233 msgid "Determine whether squid can connect to all TCP ports." msgstr "" -#: booleans.py:207 +#: booleans.py:234 msgid "Determine whether squid can run as a transparent proxy." msgstr "" -#: booleans.py:208 +#: booleans.py:235 msgid "" "Allow ssh with chroot env to read and write files in the user home " "directories" msgstr "" -#: booleans.py:209 +#: booleans.py:236 msgid "allow host key based authentication" msgstr "" -#: booleans.py:210 +#: booleans.py:237 msgid "Allow ssh logins as sysadm_r:sysadm_t" msgstr "" -#: booleans.py:211 +#: booleans.py:238 msgid "Allow staff to exec content" msgstr "" -#: booleans.py:212 +#: booleans.py:239 msgid "allow staff user to create and transition to svirt domains." msgstr "" -#: booleans.py:213 +#: booleans.py:240 +msgid "Determine whether swift can connect to all TCP ports" +msgstr "" + +#: booleans.py:241 msgid "Allow sysadm to exec content" msgstr "" -#: booleans.py:214 +#: booleans.py:242 msgid "Allow the Telepathy connection managers to connect to any network port." msgstr "" -#: booleans.py:215 +#: booleans.py:243 msgid "" "Allow the Telepathy connection managers to connect to any generic TCP port." msgstr "" -#: booleans.py:216 -msgid "Allow testpolicy to exec content" -msgstr "" - -#: booleans.py:217 +#: booleans.py:244 msgid "" "Allow tftp to modify public files used for public file transfer services." msgstr "" -#: booleans.py:218 +#: booleans.py:245 msgid "Allow tftp to read and write files in the user home directories" msgstr "" -#: booleans.py:219 +#: booleans.py:246 +msgid "Determine whether tmpreaper can use cifs file systems." +msgstr "" + +#: booleans.py:247 +msgid "Determine whether tmpreaper can use nfs file systems." +msgstr "" + +#: booleans.py:248 +msgid "Determine whether tmpreaper can use samba_share files" +msgstr "" + +#: booleans.py:249 msgid "Determine whether tor can bind tcp sockets to all unreserved ports." msgstr "" -#: booleans.py:220 +#: booleans.py:250 msgid "Allow tor to act as a relay" msgstr "" -#: booleans.py:221 +#: booleans.py:251 msgid "" "allow unconfined users to transition to the chrome sandbox domains when " "running chrome-sandbox" msgstr "" -#: booleans.py:222 +#: booleans.py:252 msgid "Allow a user to login as an unconfined domain" msgstr "" -#: booleans.py:223 +#: booleans.py:253 msgid "" "Allow unconfined users to transition to the Mozilla plugin domain when " "running xulrunner plugin-container." msgstr "" -#: booleans.py:224 -msgid "Allow unprivledged user to create and transition to svirt domains." +#: booleans.py:254 +msgid "Allow unprivileged user to create and transition to svirt domains." msgstr "" -#: booleans.py:225 +#: booleans.py:255 msgid "Support ecryptfs home directories" msgstr "" -#: booleans.py:226 +#: booleans.py:256 msgid "Support fusefs home directories" msgstr "" -#: booleans.py:227 +#: booleans.py:257 msgid "Determine whether to support lpd server." msgstr "" -#: booleans.py:228 +#: booleans.py:258 msgid "Support NFS home directories" msgstr "" -#: booleans.py:229 +#: booleans.py:259 msgid "Support SAMBA home directories" msgstr "" -#: booleans.py:230 +#: booleans.py:260 msgid "Allow user to exec content" msgstr "" -#: booleans.py:231 +#: booleans.py:261 msgid "Determine whether varnishd can use the full TCP network." msgstr "" -#: booleans.py:232 +#: booleans.py:262 +msgid "Allow qemu-ga to read qemu-ga date." +msgstr "" + +#: booleans.py:263 +msgid "Allow qemu-ga to manage qemu-ga date." +msgstr "" + +#: booleans.py:264 +msgid "Allow sandbox containers to use all capabilities" +msgstr "" + +#: booleans.py:265 +msgid "Allow sandbox containers to send audit messages" +msgstr "" + +#: booleans.py:266 +msgid "Allow sandbox containers manage fuse files" +msgstr "" + +#: booleans.py:267 +msgid "Allow sandbox containers to use mknod system calls" +msgstr "" + +#: booleans.py:268 +msgid "Allow sandbox containers to use netlink system calls" +msgstr "" + +#: booleans.py:269 msgid "" -"Determine whether attempts by vbetool to mmap low regions should be silently " -"blocked." +"Allow sandbox containers to use sys_admin system calls, for example mount" msgstr "" -#: booleans.py:233 +#: booleans.py:270 msgid "Allow virtual processes to run as userdomains" msgstr "" -#: booleans.py:234 +#: booleans.py:271 msgid "" "Allow confined virtual guests to use serial/parallel communication ports" msgstr "" -#: booleans.py:235 +#: booleans.py:272 msgid "" "Allow confined virtual guests to use executable memory and executable stack" msgstr "" -#: booleans.py:236 +#: booleans.py:273 msgid "Allow confined virtual guests to read fuse files" msgstr "" -#: booleans.py:237 +#: booleans.py:274 msgid "Allow confined virtual guests to manage nfs files" msgstr "" -#: booleans.py:238 +#: booleans.py:275 msgid "Allow confined virtual guests to interact with rawip sockets" msgstr "" -#: booleans.py:239 +#: booleans.py:276 msgid "Allow confined virtual guests to manage cifs files" msgstr "" -#: booleans.py:240 +#: booleans.py:277 msgid "Allow confined virtual guests to interact with the sanlock" msgstr "" -#: booleans.py:241 +#: booleans.py:278 msgid "Allow confined virtual guests to use usb devices" msgstr "" -#: booleans.py:242 +#: booleans.py:279 msgid "Allow confined virtual guests to interact with the xserver" msgstr "" -#: booleans.py:243 +#: booleans.py:280 msgid "Determine whether webadm can manage generic user files." msgstr "" -#: booleans.py:244 +#: booleans.py:281 msgid "Determine whether webadm can read generic user files." msgstr "" -#: booleans.py:245 +#: booleans.py:282 msgid "" "Determine whether attempts by wine to mmap low regions should be silently " "blocked." msgstr "" -#: booleans.py:246 +#: booleans.py:283 +msgid "Allows xdm_t to bind on vnc_port_t(5910)" +msgstr "" + +#: booleans.py:284 msgid "Allow the graphical login program to execute bootloader" msgstr "" -#: booleans.py:247 +#: booleans.py:285 msgid "" "Allow the graphical login program to login directly as sysadm_r:sysadm_t" msgstr "" -#: booleans.py:248 +#: booleans.py:286 msgid "" "Allow the graphical login program to create files in HOME dirs as xdm_home_t." msgstr "" -#: booleans.py:249 +#: booleans.py:287 msgid "Allow xen to manage nfs files" msgstr "" -#: booleans.py:250 +#: booleans.py:288 msgid "" "Allow xend to run blktapctrl/tapdisk. Not required if using dedicated " "logical volumes for disk images." msgstr "" -#: booleans.py:251 +#: booleans.py:289 msgid "Allow xend to run qemu-dm. Not required if using paravirt and no vfb." msgstr "" -#: booleans.py:252 +#: booleans.py:290 msgid "" "Allow xguest users to configure Network Manager and connect to apache ports" msgstr "" -#: booleans.py:253 +#: booleans.py:291 msgid "Allow xguest to exec content" msgstr "" -#: booleans.py:254 +#: booleans.py:292 msgid "Allow xguest users to mount removable media" msgstr "" -#: booleans.py:255 +#: booleans.py:293 msgid "Allow xguest to use blue tooth devices" msgstr "" -#: booleans.py:256 +#: booleans.py:294 msgid "Allows clients to write to the X server shared memory segments." msgstr "" -#: booleans.py:257 +#: booleans.py:295 msgid "Allows XServer to execute writable memory" msgstr "" -#: booleans.py:258 +#: booleans.py:296 msgid "Support X userspace object manager" msgstr "" -#: booleans.py:259 +#: booleans.py:297 msgid "Determine whether zabbix can connect to all TCP ports" msgstr "" -#: booleans.py:260 -msgid "Allow zarafa domains to setrlimit/sys_rouserce." +#: booleans.py:298 +msgid "Allow zarafa domains to setrlimit/sys_resource." msgstr "" -#: booleans.py:261 +#: booleans.py:299 msgid "Allow zebra daemon to write it configuration files" msgstr "" -#: booleans.py:262 +#: booleans.py:300 msgid "" "Allow ZoneMinder to modify public files used for public file transfer " "services." msgstr "" -#: booleans.py:263 +#: booleans.py:301 msgid "Allow ZoneMinder to run su/sudo." msgstr "" -#: ../sepolicy/sepolicy.py:194 +#: ../sepolicy/sepolicy.py:224 #, python-format msgid "Interface %s does not exist." msgstr "" -#: ../sepolicy/sepolicy.py:292 +#: ../sepolicy/sepolicy.py:327 msgid "You need to install policycoreutils-gui package to use the gui option" msgstr "" -#: ../sepolicy/sepolicy.py:296 +#: ../sepolicy/sepolicy.py:332 msgid "Graphical User Interface for SELinux Policy" msgstr "" -#: ../sepolicy/sepolicy.py:299 ../sepolicy/sepolicy.py:345 +#: ../sepolicy/sepolicy.py:335 ../sepolicy/sepolicy.py:383 msgid "Domain name(s) of man pages to be created" msgstr "" -#: ../sepolicy/sepolicy.py:311 +#: ../sepolicy/sepolicy.py:348 msgid "Alternative root needs to be setup" msgstr "" -#: ../sepolicy/sepolicy.py:327 +#: ../sepolicy/sepolicy.py:365 msgid "Generate SELinux man pages" msgstr "" -#: ../sepolicy/sepolicy.py:330 +#: ../sepolicy/sepolicy.py:368 msgid "path in which the generated SELinux man pages will be stored" msgstr "" -#: ../sepolicy/sepolicy.py:332 +#: ../sepolicy/sepolicy.py:370 msgid "name of the OS for man pages" msgstr "" -#: ../sepolicy/sepolicy.py:334 +#: ../sepolicy/sepolicy.py:372 msgid "Generate HTML man pages structure for selected SELinux man page" msgstr "" -#: ../sepolicy/sepolicy.py:336 +#: ../sepolicy/sepolicy.py:374 msgid "Alternate root directory, defaults to /" msgstr "" -#: ../sepolicy/sepolicy.py:338 +#: ../sepolicy/sepolicy.py:376 msgid "" "With this flag, alternative root path needs to include file context files " "and policy.xml file" msgstr "" -#: ../sepolicy/sepolicy.py:342 +#: ../sepolicy/sepolicy.py:380 msgid "All domains" msgstr "" -#: ../sepolicy/sepolicy.py:350 +#: ../sepolicy/sepolicy.py:389 msgid "Query SELinux policy network information" msgstr "" -#: ../sepolicy/sepolicy.py:355 +#: ../sepolicy/sepolicy.py:394 msgid "list all SELinux port types" msgstr "" -#: ../sepolicy/sepolicy.py:358 +#: ../sepolicy/sepolicy.py:397 msgid "show SELinux type related to the port" msgstr "" -#: ../sepolicy/sepolicy.py:361 +#: ../sepolicy/sepolicy.py:400 msgid "Show ports defined for this SELinux type" msgstr "" -#: ../sepolicy/sepolicy.py:364 +#: ../sepolicy/sepolicy.py:403 msgid "show ports to which this domain can bind and/or connect" msgstr "" -#: ../sepolicy/sepolicy.py:367 +#: ../sepolicy/sepolicy.py:406 msgid "show ports to which this application can bind and/or connect" msgstr "" -#: ../sepolicy/sepolicy.py:382 +#: ../sepolicy/sepolicy.py:423 msgid "query SELinux policy to see if domains can communicate with each other" msgstr "" -#: ../sepolicy/sepolicy.py:385 +#: ../sepolicy/sepolicy.py:426 msgid "Source Domain" msgstr "" -#: ../sepolicy/sepolicy.py:388 +#: ../sepolicy/sepolicy.py:429 msgid "Target Domain" msgstr "" -#: ../sepolicy/sepolicy.py:407 +#: ../sepolicy/sepolicy.py:452 msgid "query SELinux Policy to see description of booleans" msgstr "" -#: ../sepolicy/sepolicy.py:411 +#: ../sepolicy/sepolicy.py:456 msgid "get all booleans descriptions" msgstr "" -#: ../sepolicy/sepolicy.py:414 +#: ../sepolicy/sepolicy.py:459 msgid "boolean to get description" msgstr "" -#: ../sepolicy/sepolicy.py:424 +#: ../sepolicy/sepolicy.py:471 msgid "" "query SELinux Policy to see how a source process domain can transition to " "the target process domain" msgstr "" -#: ../sepolicy/sepolicy.py:427 +#: ../sepolicy/sepolicy.py:474 msgid "source process domain" msgstr "" -#: ../sepolicy/sepolicy.py:430 +#: ../sepolicy/sepolicy.py:477 msgid "target process domain" msgstr "" -#: ../sepolicy/sepolicy.py:472 +#: ../sepolicy/sepolicy.py:522 #, python-format msgid "sepolicy generate: error: one of the arguments %s is required" msgstr "" -#: ../sepolicy/sepolicy.py:477 +#: ../sepolicy/sepolicy.py:527 msgid "Command required for this type of policy" msgstr "" -#: ../sepolicy/sepolicy.py:488 +#: ../sepolicy/sepolicy.py:538 #, python-format msgid "" "-t option can not be used with '%s' domains. Read usage for more details." msgstr "" -#: ../sepolicy/sepolicy.py:493 +#: ../sepolicy/sepolicy.py:543 #, python-format msgid "" "-d option can not be used with '%s' domains. Read usage for more details." msgstr "" -#: ../sepolicy/sepolicy.py:497 +#: ../sepolicy/sepolicy.py:547 #, python-format msgid "" "-a option can not be used with '%s' domains. Read usage for more details." msgstr "" -#: ../sepolicy/sepolicy.py:501 +#: ../sepolicy/sepolicy.py:551 msgid "-w option can not be used with the --newtype option" msgstr "" -#: ../sepolicy/sepolicy.py:521 +#: ../sepolicy/sepolicy.py:572 msgid "List SELinux Policy interfaces" msgstr "" -#: ../sepolicy/sepolicy.py:541 +#: ../sepolicy/sepolicy.py:592 msgid "Enter interface names, you wish to query" msgstr "" -#: ../sepolicy/sepolicy.py:550 +#: ../sepolicy/sepolicy.py:602 msgid "Generate SELinux Policy module template" msgstr "" -#: ../sepolicy/sepolicy.py:553 +#: ../sepolicy/sepolicy.py:605 msgid "Enter domain type which you will be extending" msgstr "" -#: ../sepolicy/sepolicy.py:556 +#: ../sepolicy/sepolicy.py:608 msgid "Enter SELinux user(s) which will transition to this domain" msgstr "" -#: ../sepolicy/sepolicy.py:559 +#: ../sepolicy/sepolicy.py:611 msgid "Enter SELinux role(s) to which the administror domain will transition" msgstr "" -#: ../sepolicy/sepolicy.py:562 +#: ../sepolicy/sepolicy.py:614 msgid "Enter domain(s) which this confined admin will administrate" msgstr "" -#: ../sepolicy/sepolicy.py:565 +#: ../sepolicy/sepolicy.py:617 msgid "name of policy to generate" msgstr "" -#: ../sepolicy/sepolicy.py:572 +#: ../sepolicy/sepolicy.py:624 msgid "path in which the generated policy files will be stored" msgstr "" -#: ../sepolicy/sepolicy.py:574 +#: ../sepolicy/sepolicy.py:626 msgid "path to which the confined processes will need to write" msgstr "" -#: ../sepolicy/sepolicy.py:575 +#: ../sepolicy/sepolicy.py:627 msgid "Policy types which require a command" msgstr "" -#: ../sepolicy/sepolicy.py:579 ../sepolicy/sepolicy.py:582 -#: ../sepolicy/sepolicy.py:585 ../sepolicy/sepolicy.py:588 -#: ../sepolicy/sepolicy.py:591 ../sepolicy/sepolicy.py:597 -#: ../sepolicy/sepolicy.py:600 ../sepolicy/sepolicy.py:603 -#: ../sepolicy/sepolicy.py:609 ../sepolicy/sepolicy.py:612 -#: ../sepolicy/sepolicy.py:615 ../sepolicy/sepolicy.py:618 +#: ../sepolicy/sepolicy.py:631 ../sepolicy/sepolicy.py:634 +#: ../sepolicy/sepolicy.py:637 ../sepolicy/sepolicy.py:640 +#: ../sepolicy/sepolicy.py:643 ../sepolicy/sepolicy.py:649 +#: ../sepolicy/sepolicy.py:652 ../sepolicy/sepolicy.py:655 +#: ../sepolicy/sepolicy.py:661 ../sepolicy/sepolicy.py:664 +#: ../sepolicy/sepolicy.py:667 ../sepolicy/sepolicy.py:670 #, python-format msgid "Generate '%s' policy" msgstr "" -#: ../sepolicy/sepolicy.py:606 +#: ../sepolicy/sepolicy.py:658 #, python-format msgid "Generate '%s' policy " msgstr "" -#: ../sepolicy/sepolicy.py:620 +#: ../sepolicy/sepolicy.py:672 msgid "executable to confine" msgstr "" -#: ../sepolicy/sepolicy.py:625 +#: ../sepolicy/sepolicy.py:677 msgid "commands" msgstr "" -#: ../sepolicy/sepolicy.py:628 +#: ../sepolicy/sepolicy.py:680 msgid "Alternate SELinux policy, defaults to /sys/fs/selinux/policy" msgstr "" -#: ../sepolicy/sepolicy/__init__.py:89 +#: ../sepolicy/sepolicy/__init__.py:106 #, python-format msgid "-- Allowed %s [ %s ]" msgstr "" -#: ../sepolicy/sepolicy/__init__.py:95 ../sepolicy/sepolicy/gui.py:1135 +#: ../sepolicy/sepolicy/__init__.py:149 ../sepolicy/sepolicy/gui.py:1155 msgid "all files" msgstr "" -#: ../sepolicy/sepolicy/__init__.py:96 +#: ../sepolicy/sepolicy/__init__.py:150 msgid "regular file" msgstr "" -#: ../sepolicy/sepolicy/__init__.py:97 +#: ../sepolicy/sepolicy/__init__.py:151 msgid "directory" msgstr "" -#: ../sepolicy/sepolicy/__init__.py:98 +#: ../sepolicy/sepolicy/__init__.py:152 msgid "character device" msgstr "" -#: ../sepolicy/sepolicy/__init__.py:99 +#: ../sepolicy/sepolicy/__init__.py:153 msgid "block device" msgstr "" -#: ../sepolicy/sepolicy/__init__.py:100 +#: ../sepolicy/sepolicy/__init__.py:154 msgid "socket file" msgstr "" -#: ../sepolicy/sepolicy/__init__.py:101 +#: ../sepolicy/sepolicy/__init__.py:155 msgid "symbolic link" msgstr "" -#: ../sepolicy/sepolicy/__init__.py:102 +#: ../sepolicy/sepolicy/__init__.py:156 msgid "named pipe" msgstr "" -#: ../sepolicy/sepolicy/__init__.py:398 +#: ../sepolicy/sepolicy/__init__.py:524 msgid "No SELinux Policy installed" msgstr "" -#: ../sepolicy/sepolicy/__init__.py:478 +#: ../sepolicy/sepolicy/__init__.py:613 msgid "You must regenerate interface info by running /usr/bin/sepolgen-ifgen" msgstr "" -#: ../sepolicy/sepolicy/__init__.py:724 +#: ../sepolicy/sepolicy/__init__.py:900 #, python-format msgid "Failed to read %s policy file" msgstr "" -#: ../sepolicy/sepolicy/__init__.py:829 +#: ../sepolicy/sepolicy/__init__.py:1016 msgid "unknown" msgstr "" -#: ../sepolicy/sepolicy/generate.py:132 +#: ../sepolicy/sepolicy/generate.py:146 msgid "Internet Services Daemon" msgstr "" -#: ../sepolicy/sepolicy/generate.py:136 +#: ../sepolicy/sepolicy/generate.py:150 msgid "Existing Domain Type" msgstr "" -#: ../sepolicy/sepolicy/generate.py:137 +#: ../sepolicy/sepolicy/generate.py:151 msgid "Minimal Terminal Login User Role" msgstr "" -#: ../sepolicy/sepolicy/generate.py:138 +#: ../sepolicy/sepolicy/generate.py:152 msgid "Minimal X Windows Login User Role" msgstr "" -#: ../sepolicy/sepolicy/generate.py:139 +#: ../sepolicy/sepolicy/generate.py:153 msgid "Desktop Login User Role" msgstr "" -#: ../sepolicy/sepolicy/generate.py:140 +#: ../sepolicy/sepolicy/generate.py:154 msgid "Administrator Login User Role" msgstr "" -#: ../sepolicy/sepolicy/generate.py:141 +#: ../sepolicy/sepolicy/generate.py:155 msgid "Confined Root Administrator Role" msgstr "" -#: ../sepolicy/sepolicy/generate.py:142 +#: ../sepolicy/sepolicy/generate.py:156 msgid "Module information for a new type" msgstr "" -#: ../sepolicy/sepolicy/generate.py:147 +#: ../sepolicy/sepolicy/generate.py:162 msgid "Valid Types:\n" msgstr "" -#: ../sepolicy/sepolicy/generate.py:181 +#: ../sepolicy/sepolicy/generate.py:197 #, python-format msgid "Ports must be numbers or ranges of numbers from 1 to %d " msgstr "" -#: ../sepolicy/sepolicy/generate.py:192 +#: ../sepolicy/sepolicy/generate.py:209 msgid "You must enter a valid policy type" msgstr "" -#: ../sepolicy/sepolicy/generate.py:195 +#: ../sepolicy/sepolicy/generate.py:212 #, python-format msgid "You must enter a name for your policy module for your '%s'." msgstr "" -#: ../sepolicy/sepolicy/generate.py:333 +#: ../sepolicy/sepolicy/generate.py:350 msgid "" "Name must be alpha numberic with no spaces. Consider using option \"-n " "MODULENAME\"" msgstr "" -#: ../sepolicy/sepolicy/generate.py:425 +#: ../sepolicy/sepolicy/generate.py:442 msgid "User Role types can not be assigned executables." msgstr "" -#: ../sepolicy/sepolicy/generate.py:431 +#: ../sepolicy/sepolicy/generate.py:448 msgid "Only Daemon apps can use an init script.." msgstr "" -#: ../sepolicy/sepolicy/generate.py:449 +#: ../sepolicy/sepolicy/generate.py:466 msgid "use_resolve must be a boolean value " msgstr "" -#: ../sepolicy/sepolicy/generate.py:455 +#: ../sepolicy/sepolicy/generate.py:472 msgid "use_syslog must be a boolean value " msgstr "" -#: ../sepolicy/sepolicy/generate.py:461 +#: ../sepolicy/sepolicy/generate.py:478 msgid "use_kerberos must be a boolean value " msgstr "" -#: ../sepolicy/sepolicy/generate.py:467 +#: ../sepolicy/sepolicy/generate.py:484 msgid "manage_krb5_rcache must be a boolean value " msgstr "" -#: ../sepolicy/sepolicy/generate.py:497 +#: ../sepolicy/sepolicy/generate.py:514 msgid "USER Types automatically get a tmp type" msgstr "" -#: ../sepolicy/sepolicy/generate.py:838 +#: ../sepolicy/sepolicy/generate.py:851 #, python-format msgid "'%s' policy modules require existing domains" msgstr "" -#: ../sepolicy/sepolicy/generate.py:863 +#: ../sepolicy/sepolicy/generate.py:876 msgid "Type field required" msgstr "" -#: ../sepolicy/sepolicy/generate.py:876 +#: ../sepolicy/sepolicy/generate.py:889 #, python-format msgid "" "You need to define a new type which ends with: \n" " %s" msgstr "" -#: ../sepolicy/sepolicy/generate.py:1104 +#: ../sepolicy/sepolicy/generate.py:1117 msgid "You must enter the executable path for your confined process" msgstr "" -#: ../sepolicy/sepolicy/generate.py:1363 +#: ../sepolicy/sepolicy/generate.py:1386 msgid "Type Enforcement file" msgstr "" -#: ../sepolicy/sepolicy/generate.py:1364 +#: ../sepolicy/sepolicy/generate.py:1387 msgid "Interface file" msgstr "" -#: ../sepolicy/sepolicy/generate.py:1365 +#: ../sepolicy/sepolicy/generate.py:1388 msgid "File Contexts file" msgstr "" -#: ../sepolicy/sepolicy/generate.py:1367 +#: ../sepolicy/sepolicy/generate.py:1390 msgid "Spec file" msgstr "" -#: ../sepolicy/sepolicy/generate.py:1368 +#: ../sepolicy/sepolicy/generate.py:1391 msgid "Setup Script" msgstr "" #: ../sepolicy/sepolicy/sepolicy.glade:25 -#: ../sepolicy/sepolicy/sepolicy.glade:4369 +#: ../sepolicy/sepolicy/sepolicy.glade:4330 msgid "Applications" msgstr "" @@ -3803,562 +4015,555 @@ msgstr "" msgid "Select domain" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:80 ../sepolicy/sepolicy/gui.py:67 +#: ../sepolicy/sepolicy/sepolicy.glade:80 ../sepolicy/sepolicy/gui.py:70 msgid "Advanced Search >>" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:95 ../sepolicy/sepolicy/gui.py:2306 +#: ../sepolicy/sepolicy/sepolicy.glade:95 ../sepolicy/sepolicy/gui.py:2351 msgid "File Equivalence" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:112 ../sepolicy/sepolicy/gui.py:2316 +#: ../sepolicy/sepolicy/sepolicy.glade:112 ../sepolicy/sepolicy/gui.py:2361 msgid "Users" msgstr "" #: ../sepolicy/sepolicy/sepolicy.glade:129 -#: ../sepolicy/sepolicy/sepolicy.glade:1897 -#: ../sepolicy/sepolicy/sepolicy.glade:3802 ../sepolicy/sepolicy/gui.py:2297 +#: ../sepolicy/sepolicy/sepolicy.glade:1898 +#: ../sepolicy/sepolicy/sepolicy.glade:3803 ../sepolicy/sepolicy/gui.py:2342 msgid "System" msgstr "" #: ../sepolicy/sepolicy/sepolicy.glade:189 -#: ../sepolicy/sepolicy/sepolicy.glade:4406 -#: ../sepolicy/sepolicy/sepolicy.glade:4499 -#: ../sepolicy/sepolicy/sepolicy.glade:4645 -#: ../sepolicy/sepolicy/sepolicy.glade:4793 -#: ../sepolicy/sepolicy/sepolicy.glade:4934 -#: ../sepolicy/sepolicy/sepolicy.glade:5007 +#: ../sepolicy/sepolicy/sepolicy.glade:4367 +#: ../sepolicy/sepolicy/sepolicy.glade:4460 +#: ../sepolicy/sepolicy/sepolicy.glade:4606 +#: ../sepolicy/sepolicy/sepolicy.glade:4755 +#: ../sepolicy/sepolicy/sepolicy.glade:4889 +#: ../sepolicy/sepolicy/sepolicy.glade:5030 +#: ../sepolicy/sepolicy/sepolicy.glade:5103 +#: ../sepolicy/sepolicy/sepolicy.glade:5238 msgid "Select" msgstr "" #: ../sepolicy/sepolicy/sepolicy.glade:204 -#: ../sepolicy/sepolicy/sepolicy.glade:557 -#: ../sepolicy/sepolicy/sepolicy.glade:702 -#: ../sepolicy/sepolicy/sepolicy.glade:1243 -#: ../sepolicy/sepolicy/sepolicy.glade:1539 -#: ../sepolicy/sepolicy/sepolicy.glade:4579 -#: ../sepolicy/sepolicy/sepolicy.glade:4729 -#: ../sepolicy/sepolicy/sepolicy.glade:4859 -#: ../sepolicy/sepolicy/sepolicy.glade:5077 -#: ../sepolicy/sepolicy/sepolicy.glade:5233 -#: ../sepolicy/sepolicy/sepolicy.glade:5474 +#: ../sepolicy/sepolicy/sepolicy.glade:539 +#: ../sepolicy/sepolicy/sepolicy.glade:684 +#: ../sepolicy/sepolicy/sepolicy.glade:1239 +#: ../sepolicy/sepolicy/sepolicy.glade:1535 +#: ../sepolicy/sepolicy/sepolicy.glade:4540 +#: ../sepolicy/sepolicy/sepolicy.glade:4690 +#: ../sepolicy/sepolicy/sepolicy.glade:4821 +#: ../sepolicy/sepolicy/sepolicy.glade:4955 +#: ../sepolicy/sepolicy/sepolicy.glade:5173 +#: ../sepolicy/sepolicy/sepolicy.glade:5304 +#: ../sepolicy/sepolicy/sepolicy.glade:5464 msgid "Cancel" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:350 +#: ../sepolicy/sepolicy/sepolicy.glade:332 msgid "" "The entry that was entered is incorrect. Please try again in the " "ex:/.../... format." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:376 +#: ../sepolicy/sepolicy/sepolicy.glade:358 msgid "Retry" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:460 -#: ../sepolicy/sepolicy/sepolicy.glade:1124 -#: ../sepolicy/sepolicy/sepolicy.glade:1372 -#: ../sepolicy/sepolicy/sepolicy.glade:5102 -#: ../sepolicy/sepolicy/sepolicy.glade:5343 +#: ../sepolicy/sepolicy/sepolicy.glade:442 +#: ../sepolicy/sepolicy/sepolicy.glade:1120 +#: ../sepolicy/sepolicy/sepolicy.glade:1368 +#: ../sepolicy/sepolicy/sepolicy.glade:5332 msgid "Network Port Definitions" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:476 +#: ../sepolicy/sepolicy/sepolicy.glade:458 msgid "" -"Add file Equivilence Mapping. Mapping will be created when Update is " +"Add file Equivalence Mapping. Mapping will be created when Update is " "applied." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:501 -#: ../sepolicy/sepolicy/sepolicy.glade:4045 +#: ../sepolicy/sepolicy/sepolicy.glade:483 +#: ../sepolicy/sepolicy/sepolicy.glade:4046 msgid "Path" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:511 -#: ../sepolicy/sepolicy/sepolicy.glade:5154 -#: ../sepolicy/sepolicy/sepolicy.glade:5395 +#: ../sepolicy/sepolicy/sepolicy.glade:493 +#: ../sepolicy/sepolicy/sepolicy.glade:5384 msgid "" "Specify a new SELinux user name. By convention SELinux User names usually " "end in an _u." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:515 +#: ../sepolicy/sepolicy/sepolicy.glade:497 msgid "Enter the path to which you want to setup an equivalence label." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:528 -#: ../sepolicy/sepolicy/sepolicy.glade:4062 -#: ../sepolicy/sepolicy/sepolicy.glade:4819 +#: ../sepolicy/sepolicy/sepolicy.glade:510 +#: ../sepolicy/sepolicy/sepolicy.glade:4063 +#: ../sepolicy/sepolicy/sepolicy.glade:4781 msgid "Equivalence Path" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:542 -#: ../sepolicy/sepolicy/sepolicy.glade:687 -#: ../sepolicy/sepolicy/sepolicy.glade:1228 -#: ../sepolicy/sepolicy/sepolicy.glade:1524 -#: ../sepolicy/sepolicy/sepolicy.glade:5218 -#: ../sepolicy/sepolicy/sepolicy.glade:5459 +#: ../sepolicy/sepolicy/sepolicy.glade:524 +#: ../sepolicy/sepolicy/sepolicy.glade:669 +#: ../sepolicy/sepolicy/sepolicy.glade:1224 +#: ../sepolicy/sepolicy/sepolicy.glade:1520 +#: ../sepolicy/sepolicy/sepolicy.glade:5449 msgid "Save to update" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:582 +#: ../sepolicy/sepolicy/sepolicy.glade:564 msgid "" "Specify the mapping between the new path and the equivalence path. " "Everything under this new path will be labeled as if they were under the " "equivalence path." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:639 +#: ../sepolicy/sepolicy/sepolicy.glade:621 msgid "Add a file" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:656 +#: ../sepolicy/sepolicy/sepolicy.glade:638 msgid "" " File Labeling for . File labels will be created " "when update is applied." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:744 -#: ../sepolicy/sepolicy/sepolicy.glade:1471 -#: ../sepolicy/sepolicy/sepolicy.glade:3510 ../sepolicy/sepolicy/gui.py:66 +#: ../sepolicy/sepolicy/sepolicy.glade:726 +#: ../sepolicy/sepolicy/sepolicy.glade:1467 +#: ../sepolicy/sepolicy/sepolicy.glade:3511 ../sepolicy/sepolicy/gui.py:69 msgid "Advanced >>" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:765 -#: ../sepolicy/sepolicy/sepolicy.glade:2305 -#: ../sepolicy/sepolicy/sepolicy.glade:2417 -#: ../sepolicy/sepolicy/sepolicy.glade:2539 -#: ../sepolicy/sepolicy/sepolicy.glade:4539 +#: ../sepolicy/sepolicy/sepolicy.glade:747 +#: ../sepolicy/sepolicy/sepolicy.glade:2306 +#: ../sepolicy/sepolicy/sepolicy.glade:2418 +#: ../sepolicy/sepolicy/sepolicy.glade:2540 +#: ../sepolicy/sepolicy/sepolicy.glade:4500 msgid "Class" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:781 +#: ../sepolicy/sepolicy/sepolicy.glade:763 msgid "Type" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:795 +#: ../sepolicy/sepolicy/sepolicy.glade:777 msgid "" "Select the file class to which this label will be applied. Defaults to all " "classes." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:822 +#: ../sepolicy/sepolicy/sepolicy.glade:804 msgid "Make Path Recursive" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:826 +#: ../sepolicy/sepolicy/sepolicy.glade:808 msgid "" -"Select Make Path Recursive iff you want to apply this label to all children " +"Select Make Path Recursive if you want to apply this label to all children " "of the specified directory path. objects under the directory to have this " "label." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:839 +#: ../sepolicy/sepolicy/sepolicy.glade:821 msgid "Browse" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:843 +#: ../sepolicy/sepolicy/sepolicy.glade:825 msgid "Browse to select the file/directory for labeling." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:887 +#: ../sepolicy/sepolicy/sepolicy.glade:869 msgid "Path " msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:898 +#: ../sepolicy/sepolicy/sepolicy.glade:880 msgid "" "Specify the path using regular expressions that you would like to modify the " "labeling." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:920 +#: ../sepolicy/sepolicy/sepolicy.glade:902 msgid "Select the SELinux file type to assign to this path." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:947 +#: ../sepolicy/sepolicy/sepolicy.glade:929 msgid "Enter the MLS Label to assign to this file path." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:951 +#: ../sepolicy/sepolicy/sepolicy.glade:933 msgid "SELinux MLS Label you wish to assign to this path." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:1088 +#: ../sepolicy/sepolicy/sepolicy.glade:1070 msgid "Analyzing Policy..." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:1141 +#: ../sepolicy/sepolicy/sepolicy.glade:1137 msgid "" "Add Login Mapping. Login Mapping will be created when update is applied." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:1176 +#: ../sepolicy/sepolicy/sepolicy.glade:1172 msgid "" "Enter the login user name of the user to which you wish to add SELinux User " "confinement." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:1205 +#: ../sepolicy/sepolicy/sepolicy.glade:1201 msgid "" "Select the SELinux User to assign to this login user. Login users by " "default get assigned by the __default__ user." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:1268 +#: ../sepolicy/sepolicy/sepolicy.glade:1264 msgid "" "Enter MLS/MCS Range for this login User. Defaults to the range for the " "Selected SELinux User." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:1271 -#: ../sepolicy/sepolicy/sepolicy.glade:3191 -#: ../sepolicy/sepolicy/sepolicy.glade:3312 -#: ../sepolicy/sepolicy/sepolicy.glade:5184 -#: ../sepolicy/sepolicy/sepolicy.glade:5425 +#: ../sepolicy/sepolicy/sepolicy.glade:1267 +#: ../sepolicy/sepolicy/sepolicy.glade:3192 +#: ../sepolicy/sepolicy/sepolicy.glade:3313 +#: ../sepolicy/sepolicy/sepolicy.glade:5414 msgid "MLS Range" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:1283 +#: ../sepolicy/sepolicy/sepolicy.glade:1279 msgid "" "Specify the MLS Range for this user to login in with. Defaults to the " "selected SELinux Users MLS Range." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:1389 +#: ../sepolicy/sepolicy/sepolicy.glade:1385 msgid "" " Network Port for . Ports will be created when " "update is applied." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:1427 +#: ../sepolicy/sepolicy/sepolicy.glade:1423 msgid "Enter the port number or range to which you want to add a port type." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:1457 +#: ../sepolicy/sepolicy/sepolicy.glade:1453 msgid "Port Type" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:1502 +#: ../sepolicy/sepolicy/sepolicy.glade:1498 msgid "Select the port type you want to assign to the specified port number." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:1566 +#: ../sepolicy/sepolicy/sepolicy.glade:1562 msgid "tcp" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:1570 +#: ../sepolicy/sepolicy/sepolicy.glade:1566 msgid "" "Select tcp if the port type should be assigned to tcp port numbers." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:1583 +#: ../sepolicy/sepolicy/sepolicy.glade:1579 msgid "udp" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:1587 +#: ../sepolicy/sepolicy/sepolicy.glade:1583 msgid "" "Select udp if the port type should be assigned to udp port numbers." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:1609 +#: ../sepolicy/sepolicy/sepolicy.glade:1605 msgid "Enter the MLS Label to assign to this port." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:1706 +#: ../sepolicy/sepolicy/sepolicy.glade:1707 msgid "SELinux Configuration" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:1742 +#: ../sepolicy/sepolicy/sepolicy.glade:1743 msgid "Select..." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:1791 -#: ../sepolicy/sepolicy/sepolicy.glade:2211 +#: ../sepolicy/sepolicy/sepolicy.glade:1792 +#: ../sepolicy/sepolicy/sepolicy.glade:2212 msgid "Booleans" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:1795 +#: ../sepolicy/sepolicy/sepolicy.glade:1796 msgid "" "Display boolean information that can be used to modify the policy for the " "'selected domain'." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:1809 -#: ../sepolicy/sepolicy/sepolicy.glade:2596 +#: ../sepolicy/sepolicy/sepolicy.glade:1810 +#: ../sepolicy/sepolicy/sepolicy.glade:2597 msgid "Files" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:1813 +#: ../sepolicy/sepolicy/sepolicy.glade:1814 msgid "" "Display file type information that can be used by the 'selected domain'." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:1827 -#: ../sepolicy/sepolicy/sepolicy.glade:2829 +#: ../sepolicy/sepolicy/sepolicy.glade:1828 +#: ../sepolicy/sepolicy/sepolicy.glade:2830 msgid "Network" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:1831 +#: ../sepolicy/sepolicy/sepolicy.glade:1832 msgid "" "Display network ports to which the 'selected domain' can connect or listen " "to." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:1845 -#: ../sepolicy/sepolicy/sepolicy.glade:3120 +#: ../sepolicy/sepolicy/sepolicy.glade:1846 +#: ../sepolicy/sepolicy/sepolicy.glade:3121 msgid "Transitions" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:1849 +#: ../sepolicy/sepolicy/sepolicy.glade:1850 msgid "" "Display applications that can transition into or out of the 'selected " "domain'." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:1863 -#: ../sepolicy/sepolicy/sepolicy.glade:3221 +#: ../sepolicy/sepolicy/sepolicy.glade:1864 +#: ../sepolicy/sepolicy/sepolicy.glade:3222 msgid "Login Mapping" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:1866 -#: ../sepolicy/sepolicy/sepolicy.glade:1883 -#: ../sepolicy/sepolicy/sepolicy.glade:1900 +#: ../sepolicy/sepolicy/sepolicy.glade:1867 +#: ../sepolicy/sepolicy/sepolicy.glade:1884 +#: ../sepolicy/sepolicy/sepolicy.glade:1901 msgid "Manage the SELinux configuration" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:1880 -#: ../sepolicy/sepolicy/sepolicy.glade:3343 +#: ../sepolicy/sepolicy/sepolicy.glade:1881 +#: ../sepolicy/sepolicy/sepolicy.glade:3344 msgid "SELinux Users" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:1914 -#: ../sepolicy/sepolicy/sepolicy.glade:4015 +#: ../sepolicy/sepolicy/sepolicy.glade:1915 +#: ../sepolicy/sepolicy/sepolicy.glade:4016 msgid "Lockdown" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:1917 +#: ../sepolicy/sepolicy/sepolicy.glade:1918 msgid "" "Lockdown the SELinux System.\n" "This screen can be used to turn up the SELinux Protections." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:1932 +#: ../sepolicy/sepolicy/sepolicy.glade:1933 msgid "radiobutton" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:2020 +#: ../sepolicy/sepolicy/sepolicy.glade:2021 msgid "Show Modified Only" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:2059 +#: ../sepolicy/sepolicy/sepolicy.glade:2060 msgid "Mislabeled files exist" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:2079 +#: ../sepolicy/sepolicy/sepolicy.glade:2080 msgid "Show mislabeled files only" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:2119 -#: ../sepolicy/sepolicy/sepolicy.glade:3243 +#: ../sepolicy/sepolicy/sepolicy.glade:2120 +#: ../sepolicy/sepolicy/sepolicy.glade:3244 msgid "" -"If-Then-Else rules written in policy that can \n" +"If-Then-Else rules written in policy that can\n" "allow alternative access control." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:2131 +#: ../sepolicy/sepolicy/sepolicy.glade:2132 msgid "Enabled" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:2251 -#: ../sepolicy/sepolicy/sepolicy.glade:2363 -#: ../sepolicy/sepolicy/sepolicy.glade:2481 -#: ../sepolicy/sepolicy/sepolicy.glade:4512 -#: ../sepolicy/sepolicy/sepolicy.glade:4806 +#: ../sepolicy/sepolicy/sepolicy.glade:2252 +#: ../sepolicy/sepolicy/sepolicy.glade:2364 +#: ../sepolicy/sepolicy/sepolicy.glade:2482 +#: ../sepolicy/sepolicy/sepolicy.glade:4473 +#: ../sepolicy/sepolicy/sepolicy.glade:4768 msgid "File Path" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:2287 -#: ../sepolicy/sepolicy/sepolicy.glade:2398 +#: ../sepolicy/sepolicy/sepolicy.glade:2288 +#: ../sepolicy/sepolicy/sepolicy.glade:2399 msgid "SELinux File Type" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:2331 +#: ../sepolicy/sepolicy/sepolicy.glade:2332 msgid "File path used to enter the 'selected domain'." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:2332 +#: ../sepolicy/sepolicy/sepolicy.glade:2333 msgid "Executable Files" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:2447 +#: ../sepolicy/sepolicy/sepolicy.glade:2448 msgid "Files to which the 'selected domain' can write." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:2448 +#: ../sepolicy/sepolicy/sepolicy.glade:2449 msgid "Writable files" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:2570 +#: ../sepolicy/sepolicy/sepolicy.glade:2571 msgid "File Types defined for the 'selected domain'." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:2571 +#: ../sepolicy/sepolicy/sepolicy.glade:2572 msgid "Application File Types" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:2703 +#: ../sepolicy/sepolicy/sepolicy.glade:2704 msgid "Network Ports to which the 'selected domain' is allowed to connect." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:2704 +#: ../sepolicy/sepolicy/sepolicy.glade:2705 msgid "Outbound" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:2803 +#: ../sepolicy/sepolicy/sepolicy.glade:2804 msgid "Network Ports to which the 'selected domain' is allowed to listen." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:2804 +#: ../sepolicy/sepolicy/sepolicy.glade:2805 msgid "Inbound" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:2865 +#: ../sepolicy/sepolicy/sepolicy.glade:2866 +#: ../sepolicy/sepolicy/sepolicy.glade:2956 msgid "" -"Boolean \n" +"Boolean\n" "Enabled" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:2891 +#: ../sepolicy/sepolicy/sepolicy.glade:2892 msgid "Boolean name" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:2908 +#: ../sepolicy/sepolicy/sepolicy.glade:2909 msgid "SELinux Application Type" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:2929 +#: ../sepolicy/sepolicy/sepolicy.glade:2930 msgid "" "Executables which will transition to a different domain, when the 'selected " "domain' executes them." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:2932 -msgid "Applicaton Transitions From 'select domain'" -msgstr "" - -#: ../sepolicy/sepolicy/sepolicy.glade:2955 -msgid "" -"Boolean\n" -"Enabled" +#: ../sepolicy/sepolicy/sepolicy.glade:2933 +msgid "Application Transitions From 'select domain'" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:2971 +#: ../sepolicy/sepolicy/sepolicy.glade:2972 msgid "Calling Process Domain" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:2987 +#: ../sepolicy/sepolicy/sepolicy.glade:2988 msgid "Executable File" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:3011 +#: ../sepolicy/sepolicy/sepolicy.glade:3012 msgid "" "Executables which will transition to the 'selected domain', when executing a " "selected domains entrypoint." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:3012 +#: ../sepolicy/sepolicy/sepolicy.glade:3013 msgid "Application Transitions Into 'select domain'" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:3027 +#: ../sepolicy/sepolicy/sepolicy.glade:3028 msgid "" "File Transitions define what happens when the current domain creates the " "content of a particular class in a directory of the destination type. " "Optionally a file name could be specified for the transition." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:3035 +#: ../sepolicy/sepolicy/sepolicy.glade:3036 msgid "SELinux Directory Type" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:3048 +#: ../sepolicy/sepolicy/sepolicy.glade:3049 msgid "Destination Class" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:3062 +#: ../sepolicy/sepolicy/sepolicy.glade:3063 msgid "SELinux Destination Type" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:3075 +#: ../sepolicy/sepolicy/sepolicy.glade:3076 msgid "File Name" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:3097 +#: ../sepolicy/sepolicy/sepolicy.glade:3098 msgid "File Transitions From 'select domain'" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:3296 -#: ../sepolicy/sepolicy/sepolicy.glade:5277 -#: ../sepolicy/sepolicy/sepolicy.glade:5518 +#: ../sepolicy/sepolicy/sepolicy.glade:3297 +#: ../sepolicy/sepolicy/sepolicy.glade:5508 msgid "Default Level" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:3382 +#: ../sepolicy/sepolicy/sepolicy.glade:3383 msgid "Select the system mode when the system first boots up" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:3455 +#: ../sepolicy/sepolicy/sepolicy.glade:3456 msgid "Select the system mode for the current session" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:3532 +#: ../sepolicy/sepolicy/sepolicy.glade:3533 msgid "System Policy Type:" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:3593 +#: ../sepolicy/sepolicy/sepolicy.glade:3594 msgid "System Mode" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:3631 +#: ../sepolicy/sepolicy/sepolicy.glade:3632 msgid "Import system settings from another machine" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:3639 +#: ../sepolicy/sepolicy/sepolicy.glade:3640 msgid "Import" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:3658 +#: ../sepolicy/sepolicy/sepolicy.glade:3659 msgid "Export system settings to a file" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:3668 +#: ../sepolicy/sepolicy/sepolicy.glade:3669 msgid "Export" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:3687 +#: ../sepolicy/sepolicy/sepolicy.glade:3688 msgid "Relabel all files back to system defaults on reboot" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:3724 -#: ../sepolicy/sepolicy/sepolicy.glade:3825 -#: ../sepolicy/sepolicy/sepolicy.glade:3889 -#: ../sepolicy/sepolicy/sepolicy.glade:3952 ../sepolicy/sepolicy/gui.py:60 +#: ../sepolicy/sepolicy/sepolicy.glade:3725 +#: ../sepolicy/sepolicy/sepolicy.glade:3826 +#: ../sepolicy/sepolicy/sepolicy.glade:3890 +#: ../sepolicy/sepolicy/sepolicy.glade:3953 ../sepolicy/sepolicy/gui.py:65 msgid "Yes" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:3741 -#: ../sepolicy/sepolicy/sepolicy.glade:3843 -#: ../sepolicy/sepolicy/sepolicy.glade:3906 -#: ../sepolicy/sepolicy/sepolicy.glade:3969 ../sepolicy/sepolicy/gui.py:60 +#: ../sepolicy/sepolicy/sepolicy.glade:3742 +#: ../sepolicy/sepolicy/sepolicy.glade:3844 +#: ../sepolicy/sepolicy/sepolicy.glade:3907 +#: ../sepolicy/sepolicy/sepolicy.glade:3970 ../sepolicy/sepolicy/gui.py:65 msgid "No" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:3782 +#: ../sepolicy/sepolicy/sepolicy.glade:3783 msgid "System Configuration" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:3829 -#: ../sepolicy/sepolicy/sepolicy.glade:3847 +#: ../sepolicy/sepolicy/sepolicy.glade:3830 +#: ../sepolicy/sepolicy/sepolicy.glade:3848 msgid "" "An unconfined domain is a process label that allows the process to do what " "it wants, without SELinux interfering. Applications started at boot by the " @@ -4368,13 +4573,13 @@ msgid "" "unconfined_t from the users/login screens." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:3865 +#: ../sepolicy/sepolicy/sepolicy.glade:3866 msgid "Disable ability to run unconfined system processes?" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:3893 -#: ../sepolicy/sepolicy/sepolicy.glade:3910 -#: ../sepolicy/sepolicy/sepolicy.glade:3973 +#: ../sepolicy/sepolicy/sepolicy.glade:3894 +#: ../sepolicy/sepolicy/sepolicy.glade:3911 +#: ../sepolicy/sepolicy/sepolicy.glade:3974 msgid "" "An permissive domain is a process label that allows the process to do what " "it wants, with SELinux only logging the denials, but not enforcing them. " @@ -4383,11 +4588,11 @@ msgid "" "allowed." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:3928 +#: ../sepolicy/sepolicy/sepolicy.glade:3929 msgid "Disable all permissive processes?" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:3956 +#: ../sepolicy/sepolicy/sepolicy.glade:3957 msgid "" "A permissive domain is a process label that allows the process to do what it " "wants, with SELinux only logging the denials, but not enforcing them. " @@ -4396,171 +4601,189 @@ msgid "" "allowed." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:3994 +#: ../sepolicy/sepolicy/sepolicy.glade:3995 msgid "Deny all processes from ptracing or debugging other processes?" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:4031 +#: ../sepolicy/sepolicy/sepolicy.glade:4032 msgid "" "File equivalence cause the system to label content under the new path as if " "it were under the equivalence path." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:4087 +#: ../sepolicy/sepolicy/sepolicy.glade:4088 msgid "Files Equivalence" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:4100 +#: ../sepolicy/sepolicy/sepolicy.glade:4101 msgid "...SELECT TO VIEW DATA..." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:4131 +#: ../sepolicy/sepolicy/sepolicy.glade:4132 msgid "Delete" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:4147 +#: ../sepolicy/sepolicy/sepolicy.glade:4148 msgid "Modify" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:4208 +#: ../sepolicy/sepolicy/sepolicy.glade:4209 msgid "Revert" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:4213 +#: ../sepolicy/sepolicy/sepolicy.glade:4214 msgid "" "Revert button will launch a dialog window which allows you to revert changes " "within the current transaction." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:4225 ../sepolicy/sepolicy/gui.py:2379 +#: ../sepolicy/sepolicy/sepolicy.glade:4226 ../sepolicy/sepolicy/gui.py:2427 msgid "Update" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:4230 +#: ../sepolicy/sepolicy/sepolicy.glade:4231 msgid "Commit all changes in your current transaction to the server." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:4278 +#: ../sepolicy/sepolicy/sepolicy.glade:4279 msgid "Applications - Advanced Search" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:4331 -msgid "Installed" -msgstr "" - -#: ../sepolicy/sepolicy/sepolicy.glade:4383 +#: ../sepolicy/sepolicy/sepolicy.glade:4344 msgid "Process Types" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:4424 +#: ../sepolicy/sepolicy/sepolicy.glade:4385 msgid "More Details" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:4460 -#: ../sepolicy/sepolicy/sepolicy.glade:4754 +#: ../sepolicy/sepolicy/sepolicy.glade:4421 +#: ../sepolicy/sepolicy/sepolicy.glade:4715 msgid "Delete Modified File Labeling" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:4478 +#: ../sepolicy/sepolicy/sepolicy.glade:4439 msgid "" "Select file labeling to delete. File labeling will be deleted when update is " "applied." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:4525 +#: ../sepolicy/sepolicy/sepolicy.glade:4486 msgid "SELinux File Label" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:4564 -#: ../sepolicy/sepolicy/sepolicy.glade:4714 -#: ../sepolicy/sepolicy/sepolicy.glade:4844 +#: ../sepolicy/sepolicy/sepolicy.glade:4525 +#: ../sepolicy/sepolicy/sepolicy.glade:4675 +#: ../sepolicy/sepolicy/sepolicy.glade:4806 +#: ../sepolicy/sepolicy/sepolicy.glade:4940 +#: ../sepolicy/sepolicy/sepolicy.glade:5289 msgid "Save to Update" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:4604 +#: ../sepolicy/sepolicy/sepolicy.glade:4565 msgid "Delete Modified Ports" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:4622 +#: ../sepolicy/sepolicy/sepolicy.glade:4583 msgid "Select ports to delete. Ports will be deleted when update is applied." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:4771 +#: ../sepolicy/sepolicy/sepolicy.glade:4733 +msgid "" +"Select file equivalence labeling to delete. File equivalence labeling will " +"be deleted when update is applied." +msgstr "" + +#: ../sepolicy/sepolicy/sepolicy.glade:4849 +#: ../sepolicy/sepolicy/sepolicy.glade:5198 +msgid "Delete Modified Users Mapping." +msgstr "" + +#: ../sepolicy/sepolicy/sepolicy.glade:4867 msgid "" -"Select file equivalence labeling to delete.File equivalence labeling will be " -"deleted when update is applied." +"Select login user mapping to delete. Login user mapping will be deleted when " +"update is applied." +msgstr "" + +#: ../sepolicy/sepolicy/sepolicy.glade:4902 +msgid "Login name" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:4887 +#: ../sepolicy/sepolicy/sepolicy.glade:4983 msgid "More Types" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:4914 +#: ../sepolicy/sepolicy/sepolicy.glade:5010 msgid "Types" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:4973 +#: ../sepolicy/sepolicy/sepolicy.glade:5069 msgid "" "Review the updates you have made before committing them to the system. To " "reset an item, uncheck the checkbox. All items checked will be updated in " "the system when you select update." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:5036 +#: ../sepolicy/sepolicy/sepolicy.glade:5132 msgid "Action" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:5062 +#: ../sepolicy/sepolicy/sepolicy.glade:5158 msgid "Apply" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:5119 -#: ../sepolicy/sepolicy/sepolicy.glade:5360 +#: ../sepolicy/sepolicy/sepolicy.glade:5216 +msgid "" +"Select users mapping to delete.Users mapping will be deleted when update is " +"applied." +msgstr "" + +#: ../sepolicy/sepolicy/sepolicy.glade:5264 +msgid "SELinux Username" +msgstr "" + +#: ../sepolicy/sepolicy/sepolicy.glade:5349 msgid "" "Add User Roles. SELinux User Roles will be created when Update is applied." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:5144 -#: ../sepolicy/sepolicy/sepolicy.glade:5385 +#: ../sepolicy/sepolicy/sepolicy.glade:5374 msgid "SELinux User Name" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:5258 -#: ../sepolicy/sepolicy/sepolicy.glade:5499 +#: ../sepolicy/sepolicy/sepolicy.glade:5489 msgid "" "Enter MLS/MCS Range for this SELinux User.\n" "s0-s0:c1023" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:5289 -#: ../sepolicy/sepolicy/sepolicy.glade:5530 +#: ../sepolicy/sepolicy/sepolicy.glade:5520 msgid "" "Specify the default level that you would like this SELinux user to login " "with. Defaults to s0." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:5293 -#: ../sepolicy/sepolicy/sepolicy.glade:5534 +#: ../sepolicy/sepolicy/sepolicy.glade:5524 msgid "Enter Default Level for SELinux User to login with. Default s0" msgstr "" -#: ../sepolicy/sepolicy/gui.py:61 +#: ../sepolicy/sepolicy/gui.py:66 msgid "Disable" msgstr "" -#: ../sepolicy/sepolicy/gui.py:61 +#: ../sepolicy/sepolicy/gui.py:66 msgid "Enable" msgstr "" -#: ../sepolicy/sepolicy/gui.py:66 +#: ../sepolicy/sepolicy/gui.py:69 msgid "Advanced <<" msgstr "" -#: ../sepolicy/sepolicy/gui.py:67 +#: ../sepolicy/sepolicy/gui.py:70 msgid "Advanced Search <<" msgstr "" -#: ../sepolicy/sepolicy/gui.py:92 +#: ../sepolicy/sepolicy/gui.py:95 msgid "" "\n" "To change from Disabled to Enforcing mode\n" @@ -4570,512 +4793,536 @@ msgid "" " * Change the system mode to Enforcing\n" msgstr "" -#: ../sepolicy/sepolicy/gui.py:115 +#: ../sepolicy/sepolicy/gui.py:490 #, python-format msgid "%s is not a valid domain" msgstr "" -#: ../sepolicy/sepolicy/gui.py:624 +#: ../sepolicy/sepolicy/gui.py:638 msgid "System Status: Disabled" msgstr "" -#: ../sepolicy/sepolicy/gui.py:722 +#: ../sepolicy/sepolicy/gui.py:737 msgid "Help: Start Page" msgstr "" -#: ../sepolicy/sepolicy/gui.py:726 +#: ../sepolicy/sepolicy/gui.py:741 msgid "Help: Booleans Page" msgstr "" -#: ../sepolicy/sepolicy/gui.py:732 +#: ../sepolicy/sepolicy/gui.py:747 msgid "Help: Executable Files Page" msgstr "" -#: ../sepolicy/sepolicy/gui.py:735 +#: ../sepolicy/sepolicy/gui.py:750 msgid "Help: Writable Files Page" msgstr "" -#: ../sepolicy/sepolicy/gui.py:738 +#: ../sepolicy/sepolicy/gui.py:753 msgid "Help: Application Types Page" msgstr "" -#: ../sepolicy/sepolicy/gui.py:743 +#: ../sepolicy/sepolicy/gui.py:758 msgid "Help: Outbound Network Connections Page" msgstr "" -#: ../sepolicy/sepolicy/gui.py:746 +#: ../sepolicy/sepolicy/gui.py:761 msgid "Help: Inbound Network Connections Page" msgstr "" -#: ../sepolicy/sepolicy/gui.py:752 +#: ../sepolicy/sepolicy/gui.py:767 msgid "Help: Transition from application Page" msgstr "" -#: ../sepolicy/sepolicy/gui.py:755 +#: ../sepolicy/sepolicy/gui.py:770 msgid "Help: Transition into application Page" msgstr "" -#: ../sepolicy/sepolicy/gui.py:758 +#: ../sepolicy/sepolicy/gui.py:773 msgid "Help: Transition application file Page" msgstr "" -#: ../sepolicy/sepolicy/gui.py:762 +#: ../sepolicy/sepolicy/gui.py:777 msgid "Help: Systems Page" msgstr "" -#: ../sepolicy/sepolicy/gui.py:766 +#: ../sepolicy/sepolicy/gui.py:781 msgid "Help: Lockdown Page" msgstr "" -#: ../sepolicy/sepolicy/gui.py:770 +#: ../sepolicy/sepolicy/gui.py:785 msgid "Help: Login Page" msgstr "" -#: ../sepolicy/sepolicy/gui.py:774 +#: ../sepolicy/sepolicy/gui.py:789 msgid "Help: SELinux User Page" msgstr "" -#: ../sepolicy/sepolicy/gui.py:778 +#: ../sepolicy/sepolicy/gui.py:793 msgid "Help: File Equivalence Page" msgstr "" -#: ../sepolicy/sepolicy/gui.py:922 ../sepolicy/sepolicy/gui.py:1211 -#: ../sepolicy/sepolicy/gui.py:1644 ../sepolicy/sepolicy/gui.py:1885 -#: ../sepolicy/sepolicy/gui.py:2698 +#: ../sepolicy/sepolicy/gui.py:939 ../sepolicy/sepolicy/gui.py:1230 +#: ../sepolicy/sepolicy/gui.py:1674 ../sepolicy/sepolicy/gui.py:1921 +#: ../sepolicy/sepolicy/gui.py:2712 msgid "More..." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1031 +#: ../sepolicy/sepolicy/gui.py:1047 #, python-format msgid "File path used to enter the '%s' domain." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1032 +#: ../sepolicy/sepolicy/gui.py:1048 #, python-format msgid "Files to which the '%s' domain can write." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1033 +#: ../sepolicy/sepolicy/gui.py:1049 #, python-format msgid "Network Ports to which the '%s' is allowed to connect." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1034 +#: ../sepolicy/sepolicy/gui.py:1050 #, python-format msgid "Network Ports to which the '%s' is allowed to listen." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1035 +#: ../sepolicy/sepolicy/gui.py:1051 #, python-format msgid "File Types defined for the '%s'." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1036 +#: ../sepolicy/sepolicy/gui.py:1052 #, python-format msgid "" "Display boolean information that can be used to modify the policy for the " "'%s'." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1037 +#: ../sepolicy/sepolicy/gui.py:1053 #, python-format msgid "Display file type information that can be used by the '%s'." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1038 +#: ../sepolicy/sepolicy/gui.py:1054 #, python-format msgid "Display network ports to which the '%s' can connect or listen to." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1039 +#: ../sepolicy/sepolicy/gui.py:1055 #, python-format msgid "Application Transitions Into '%s'" msgstr "" -#: ../sepolicy/sepolicy/gui.py:1040 +#: ../sepolicy/sepolicy/gui.py:1056 #, python-format msgid "Application Transitions From '%s'" msgstr "" -#: ../sepolicy/sepolicy/gui.py:1041 +#: ../sepolicy/sepolicy/gui.py:1057 #, python-format msgid "File Transitions From '%s'" msgstr "" -#: ../sepolicy/sepolicy/gui.py:1042 +#: ../sepolicy/sepolicy/gui.py:1058 #, python-format msgid "" "Executables which will transition to the '%s', when executing a selected " "domains entrypoint." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1043 +#: ../sepolicy/sepolicy/gui.py:1059 #, python-format msgid "" "Executables which will transition to a different domain, when the '%s' " "executes them." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1044 +#: ../sepolicy/sepolicy/gui.py:1060 #, python-format msgid "Files by '%s' will transitions to a different label." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1045 +#: ../sepolicy/sepolicy/gui.py:1061 #, python-format msgid "Display applications that can transition into or out of the '%s'." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1149 +#: ../sepolicy/sepolicy/gui.py:1169 msgid "MISSING FILE PATH" msgstr "" -#: ../sepolicy/sepolicy/gui.py:1265 ../sepolicy/sepolicy/gui.py:1267 +#: ../sepolicy/sepolicy/gui.py:1284 ../sepolicy/sepolicy/gui.py:1286 msgid "Boolean section." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1265 +#: ../sepolicy/sepolicy/gui.py:1284 msgid "To disable this transition, go to the " msgstr "" -#: ../sepolicy/sepolicy/gui.py:1267 +#: ../sepolicy/sepolicy/gui.py:1286 msgid "To enable this transition, go to the " msgstr "" -#: ../sepolicy/sepolicy/gui.py:1324 +#: ../sepolicy/sepolicy/gui.py:1343 msgid "executable" msgstr "" -#: ../sepolicy/sepolicy/gui.py:1327 +#: ../sepolicy/sepolicy/gui.py:1346 msgid "writable" msgstr "" -#: ../sepolicy/sepolicy/gui.py:1330 +#: ../sepolicy/sepolicy/gui.py:1349 msgid "application" msgstr "" -#: ../sepolicy/sepolicy/gui.py:1331 +#: ../sepolicy/sepolicy/gui.py:1350 #, python-format -msgid "Add new %s file path for '%s' domains." +msgid "Add new %(TYPE)s file path for '%(DOMAIN)s' domains." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1332 +#: ../sepolicy/sepolicy/gui.py:1351 #, python-format -msgid "Delete modified %s file paths for '%s' domain." +msgid "Delete %(TYPE)s file paths for '%(DOMAIN)s' domain." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1333 +#: ../sepolicy/sepolicy/gui.py:1352 #, python-format msgid "" -"Modify selected modified %s file path for '%s' domain. Only bolded items in " -"the list can be selected, this indicates they were modified previously." +"Modify %(TYPE)s file path for '%(DOMAIN)s' domain. Only bolded items in the " +"list can be selected, this indicates they were modified previously." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1345 +#: ../sepolicy/sepolicy/gui.py:1364 msgid "connect" msgstr "" -#: ../sepolicy/sepolicy/gui.py:1348 +#: ../sepolicy/sepolicy/gui.py:1367 msgid "listen for inbound connections" msgstr "" -#: ../sepolicy/sepolicy/gui.py:1350 +#: ../sepolicy/sepolicy/gui.py:1369 #, python-format -msgid "Add new port definition to which the '%s' domains is allowed to %s." +msgid "" +"Add new port definition to which the '%(APP)s' domain is allowed to %(PERM)s." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1351 +#: ../sepolicy/sepolicy/gui.py:1370 #, python-format msgid "" -"Delete modified port definitions to which the '%s' domain is allowed to %s." +"Delete modified port definitions to which the '%(APP)s' domain is allowed to " +"%(PERM)s." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1352 +#: ../sepolicy/sepolicy/gui.py:1371 #, python-format -msgid "Modify port definitions to which the '%s' domain is allowed to %s." +msgid "" +"Modify port definitions to which the '%(APP)s' domain is allowed to %(PERM)s." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1381 +#: ../sepolicy/sepolicy/gui.py:1400 msgid "Add new SELinux User/Role definition." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1382 +#: ../sepolicy/sepolicy/gui.py:1401 msgid "Delete modified SELinux User/Role definitions." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1383 +#: ../sepolicy/sepolicy/gui.py:1402 msgid "Modify selected modified SELinux User/Role definitions." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1390 +#: ../sepolicy/sepolicy/gui.py:1409 msgid "Add new Login Mapping definition." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1391 +#: ../sepolicy/sepolicy/gui.py:1410 msgid "Delete modified Login Mapping definitions." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1392 +#: ../sepolicy/sepolicy/gui.py:1411 msgid "Modify selected modified Login Mapping definitions." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1399 +#: ../sepolicy/sepolicy/gui.py:1418 msgid "Add new File Equivalence definition." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1400 +#: ../sepolicy/sepolicy/gui.py:1419 msgid "Delete modified File Equivalence definitions." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1401 +#: ../sepolicy/sepolicy/gui.py:1420 msgid "" "Modify selected modified File Equivalence definitions. Only bolded items in " "the list can be selected, this indicates they were modified previously." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1429 +#: ../sepolicy/sepolicy/gui.py:1452 #, python-format msgid "Boolean %s Allow Rules" msgstr "" -#: ../sepolicy/sepolicy/gui.py:1442 +#: ../sepolicy/sepolicy/gui.py:1465 #, python-format msgid "Add Network Port for %s. Ports will be created when update is applied." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1443 +#: ../sepolicy/sepolicy/gui.py:1466 #, python-format msgid "Add Network Port for %s" msgstr "" -#: ../sepolicy/sepolicy/gui.py:1448 +#: ../sepolicy/sepolicy/gui.py:1471 #, python-format msgid "" "Add File Labeling for %s. File labels will be created when update is applied." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1449 ../sepolicy/sepolicy/gui.py:1500 +#: ../sepolicy/sepolicy/gui.py:1472 ../sepolicy/sepolicy/gui.py:1525 #, python-format msgid "Add File Labeling for %s" msgstr "" -#: ../sepolicy/sepolicy/gui.py:1459 +#: ../sepolicy/sepolicy/gui.py:1482 msgid "Add Login Mapping. User Mapping will be created when Update is applied." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1460 +#: ../sepolicy/sepolicy/gui.py:1483 msgid "Add Login Mapping" msgstr "" -#: ../sepolicy/sepolicy/gui.py:1465 +#: ../sepolicy/sepolicy/gui.py:1488 msgid "" "Add SELinux User Role. SELinux user roles will be created when update is " "applied." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1466 +#: ../sepolicy/sepolicy/gui.py:1489 msgid "Add SELinux Users" msgstr "" -#: ../sepolicy/sepolicy/gui.py:1473 +#: ../sepolicy/sepolicy/gui.py:1496 msgid "" "Add File Equivalency Mapping. Mapping will be created when update is applied." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1474 +#: ../sepolicy/sepolicy/gui.py:1497 msgid "Add SELinux File Equivalency" msgstr "" -#: ../sepolicy/sepolicy/gui.py:1499 +#: ../sepolicy/sepolicy/gui.py:1524 #, python-format msgid "" "Modify File Labeling for %s. File labels will be created when update is " "applied." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1566 +#: ../sepolicy/sepolicy/gui.py:1580 +msgid "" +"Modify SELinux User Role. SELinux user roles will be modified when update is " +"applied." +msgstr "" + +#: ../sepolicy/sepolicy/gui.py:1581 +msgid "Modify SELinux Users" +msgstr "" + +#: ../sepolicy/sepolicy/gui.py:1589 +msgid "" +"Modify Login Mapping. Login Mapping will be modified when Update is applied." +msgstr "" + +#: ../sepolicy/sepolicy/gui.py:1590 +msgid "Modify Login Mapping" +msgstr "" + +#: ../sepolicy/sepolicy/gui.py:1596 msgid "" "Modify File Equivalency Mapping. Mapping will be created when update is " "applied." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1567 +#: ../sepolicy/sepolicy/gui.py:1597 msgid "Modify SELinux File Equivalency" msgstr "" -#: ../sepolicy/sepolicy/gui.py:1652 +#: ../sepolicy/sepolicy/gui.py:1682 #, python-format msgid "" "Modify Network Port for %s. Ports will be created when update is applied." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1653 +#: ../sepolicy/sepolicy/gui.py:1683 #, python-format msgid "Modify Network Port for %s" msgstr "" -#: ../sepolicy/sepolicy/gui.py:1866 +#: ../sepolicy/sepolicy/gui.py:1902 #, python-format msgid "The entry '%s' is not a valid path. Paths must begin with a '/'." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1879 +#: ../sepolicy/sepolicy/gui.py:1915 msgid "Port number must be between 1 and 65536" msgstr "" -#: ../sepolicy/sepolicy/gui.py:2146 +#: ../sepolicy/sepolicy/gui.py:2191 #, python-format msgid "SELinux name: %s" msgstr "" -#: ../sepolicy/sepolicy/gui.py:2157 +#: ../sepolicy/sepolicy/gui.py:2202 #, python-format msgid "Add file labeling for %s" msgstr "" -#: ../sepolicy/sepolicy/gui.py:2159 +#: ../sepolicy/sepolicy/gui.py:2204 #, python-format msgid "Delete file labeling for %s" msgstr "" -#: ../sepolicy/sepolicy/gui.py:2161 +#: ../sepolicy/sepolicy/gui.py:2206 #, python-format msgid "Modify file labeling for %s" msgstr "" -#: ../sepolicy/sepolicy/gui.py:2165 +#: ../sepolicy/sepolicy/gui.py:2210 #, python-format msgid "File path: %s" msgstr "" -#: ../sepolicy/sepolicy/gui.py:2168 +#: ../sepolicy/sepolicy/gui.py:2213 #, python-format msgid "File class: %s" msgstr "" -#: ../sepolicy/sepolicy/gui.py:2171 ../sepolicy/sepolicy/gui.py:2195 +#: ../sepolicy/sepolicy/gui.py:2216 ../sepolicy/sepolicy/gui.py:2240 #, python-format msgid "SELinux file type: %s" msgstr "" -#: ../sepolicy/sepolicy/gui.py:2180 +#: ../sepolicy/sepolicy/gui.py:2225 #, python-format msgid "Add ports for %s" msgstr "" -#: ../sepolicy/sepolicy/gui.py:2182 +#: ../sepolicy/sepolicy/gui.py:2227 #, python-format msgid "Delete ports for %s" msgstr "" -#: ../sepolicy/sepolicy/gui.py:2184 +#: ../sepolicy/sepolicy/gui.py:2229 #, python-format msgid "Modify ports for %s" msgstr "" -#: ../sepolicy/sepolicy/gui.py:2187 +#: ../sepolicy/sepolicy/gui.py:2232 #, python-format msgid "Network ports: %s" msgstr "" -#: ../sepolicy/sepolicy/gui.py:2190 +#: ../sepolicy/sepolicy/gui.py:2235 #, python-format msgid "Network protocol: %s" msgstr "" -#: ../sepolicy/sepolicy/gui.py:2204 +#: ../sepolicy/sepolicy/gui.py:2249 msgid "Add user" msgstr "" -#: ../sepolicy/sepolicy/gui.py:2206 +#: ../sepolicy/sepolicy/gui.py:2251 msgid "Delete user" msgstr "" -#: ../sepolicy/sepolicy/gui.py:2208 +#: ../sepolicy/sepolicy/gui.py:2253 msgid "Modify user" msgstr "" -#: ../sepolicy/sepolicy/gui.py:2211 +#: ../sepolicy/sepolicy/gui.py:2256 #, python-format msgid "SELinux User : %s" msgstr "" -#: ../sepolicy/sepolicy/gui.py:2216 +#: ../sepolicy/sepolicy/gui.py:2261 #, python-format msgid "Roles: %s" msgstr "" -#: ../sepolicy/sepolicy/gui.py:2220 ../sepolicy/sepolicy/gui.py:2245 +#: ../sepolicy/sepolicy/gui.py:2265 ../sepolicy/sepolicy/gui.py:2290 #, python-format msgid "MLS/MCS Range: %s" msgstr "" -#: ../sepolicy/sepolicy/gui.py:2229 +#: ../sepolicy/sepolicy/gui.py:2274 msgid "Add login mapping" msgstr "" -#: ../sepolicy/sepolicy/gui.py:2231 +#: ../sepolicy/sepolicy/gui.py:2276 msgid "Delete login mapping" msgstr "" -#: ../sepolicy/sepolicy/gui.py:2233 +#: ../sepolicy/sepolicy/gui.py:2278 msgid "Modify login mapping" msgstr "" -#: ../sepolicy/sepolicy/gui.py:2237 +#: ../sepolicy/sepolicy/gui.py:2282 #, python-format -msgid "Linux User : %s" +msgid "Login Name : %s" msgstr "" -#: ../sepolicy/sepolicy/gui.py:2241 +#: ../sepolicy/sepolicy/gui.py:2286 #, python-format msgid "SELinux User: %s" msgstr "" -#: ../sepolicy/sepolicy/gui.py:2254 +#: ../sepolicy/sepolicy/gui.py:2299 msgid "Add file equiv labeling." msgstr "" -#: ../sepolicy/sepolicy/gui.py:2256 +#: ../sepolicy/sepolicy/gui.py:2301 msgid "Delete file equiv labeling." msgstr "" -#: ../sepolicy/sepolicy/gui.py:2258 +#: ../sepolicy/sepolicy/gui.py:2303 msgid "Modify file equiv labeling." msgstr "" -#: ../sepolicy/sepolicy/gui.py:2262 +#: ../sepolicy/sepolicy/gui.py:2307 #, python-format msgid "File path : %s" msgstr "" -#: ../sepolicy/sepolicy/gui.py:2266 +#: ../sepolicy/sepolicy/gui.py:2311 #, python-format msgid "Equivalence: %s" msgstr "" -#: ../sepolicy/sepolicy/gui.py:2369 +#: ../sepolicy/sepolicy/gui.py:2414 #, python-format -msgid "Run restorecon on %s to change its type from %s to the default %s?" +msgid "" +"Run restorecon on %(PATH)s to change its type from %(CUR_CONTEXT)s to the " +"default %(DEF_CONTEXT)s?" msgstr "" -#: ../sepolicy/sepolicy/gui.py:2381 +#: ../sepolicy/sepolicy/gui.py:2429 msgid "Update Changes" msgstr "" -#: ../sepolicy/sepolicy/gui.py:2383 +#: ../sepolicy/sepolicy/gui.py:2431 msgid "Revert Changes" msgstr "" -#: ../sepolicy/sepolicy/gui.py:2556 +#: ../sepolicy/sepolicy/gui.py:2558 msgid "System Status: Enforcing" msgstr "" -#: ../sepolicy/sepolicy/gui.py:2558 +#: ../sepolicy/sepolicy/gui.py:2560 msgid "System Status: Permissive" msgstr "" -#: ../sepolicy/sepolicy/gui.py:2749 +#: ../sepolicy/sepolicy/gui.py:2763 msgid "" "Changing to SELinux disabled requires a reboot. It is not recommended. If " "you later decide to turn SELinux back on, the system will be required to " @@ -5085,7 +5332,7 @@ msgid "" "wish to continue?" msgstr "" -#: ../sepolicy/sepolicy/gui.py:2783 +#: ../sepolicy/sepolicy/gui.py:2800 msgid "" "You are attempting to close the application without applying your changes.\n" " * To apply changes you have made during this session, click No and " @@ -5094,6 +5341,6 @@ msgid "" "All changes that you have made during this session will be lost." msgstr "" -#: ../sepolicy/sepolicy/gui.py:2783 +#: ../sepolicy/sepolicy/gui.py:2800 msgid "Loss of data Dialog" msgstr "" diff --git policycoreutils-2.5/po/aln.po policycoreutils-2.5/po/aln.po index 507644c..afd4473 100644 --- policycoreutils-2.5/po/aln.po +++ policycoreutils-2.5/po/aln.po @@ -7,9 +7,9 @@ msgid "" msgstr "" "Project-Id-Version: Policycoreutils\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2013-10-10 16:04-0400\n" -"PO-Revision-Date: 2012-03-30 18:14+0000\n" -"Last-Translator: FULL NAME \n" +"POT-Creation-Date: 2016-11-22 16:37+0100\n" +"PO-Revision-Date: 2014-01-03 21:04+0000\n" +"Last-Translator: dwalsh \n" "Language-Team: Albanian Gheg (http://www.transifex.com/projects/p/fedora/" "language/aln/)\n" "Language: aln\n" @@ -25,7 +25,7 @@ msgid "" " are the arguments to that script." msgstr "" -#: ../run_init/run_init.c:126 ../newrole/newrole.c:1128 +#: ../run_init/run_init.c:126 ../newrole/newrole.c:1149 #, c-format msgid "failed to initialize PAM\n" msgstr "" @@ -35,16 +35,16 @@ msgstr "" msgid "failed to get account information\n" msgstr "" -#: ../run_init/run_init.c:162 ../newrole/newrole.c:341 +#: ../run_init/run_init.c:162 ../newrole/newrole.c:340 msgid "Password:" msgstr "" -#: ../run_init/run_init.c:197 ../newrole/newrole.c:366 +#: ../run_init/run_init.c:197 ../newrole/newrole.c:365 #, c-format msgid "Cannot find your entry in the shadow passwd file.\n" msgstr "" -#: ../run_init/run_init.c:203 ../newrole/newrole.c:373 +#: ../run_init/run_init.c:203 ../newrole/newrole.c:372 #, c-format msgid "getpass cannot open /dev/tty\n" msgstr "" @@ -74,109 +74,152 @@ msgstr "" msgid "authentication failed.\n" msgstr "" -#: ../run_init/run_init.c:405 ../newrole/newrole.c:1270 +#: ../run_init/run_init.c:405 ../newrole/newrole.c:1291 #, c-format msgid "Could not set exec context to %s.\n" msgstr "" -#: ../audit2allow/audit2allow:232 +#: ../audit2allow/audit2allow:237 msgid "******************** IMPORTANT ***********************\n" msgstr "" -#: ../audit2allow/audit2allow:233 +#: ../audit2allow/audit2allow:238 msgid "To make this policy package active, execute:" msgstr "" -#: ../semanage/seobject.py:210 +#: ../semanage/seobject/__init__.py:258 msgid "Could not create semanage handle" msgstr "" -#: ../semanage/seobject.py:218 +#: ../semanage/seobject/__init__.py:266 msgid "SELinux policy is not managed or store cannot be accessed." msgstr "" -#: ../semanage/seobject.py:223 +#: ../semanage/seobject/__init__.py:271 msgid "Cannot read policy store." msgstr "" -#: ../semanage/seobject.py:228 +#: ../semanage/seobject/__init__.py:276 msgid "Could not establish semanage connection" msgstr "" -#: ../semanage/seobject.py:233 +#: ../semanage/seobject/__init__.py:281 msgid "Could not test MLS enabled status" msgstr "" -#: ../semanage/seobject.py:239 ../semanage/seobject.py:254 +#: ../semanage/seobject/__init__.py:287 ../semanage/seobject/__init__.py:303 msgid "Not yet implemented" msgstr "" -#: ../semanage/seobject.py:243 +#: ../semanage/seobject/__init__.py:291 msgid "Semanage transaction already in progress" msgstr "" -#: ../semanage/seobject.py:252 +#: ../semanage/seobject/__init__.py:300 msgid "Could not start semanage transaction" msgstr "" -#: ../semanage/seobject.py:264 +#: ../semanage/seobject/__init__.py:313 msgid "Could not commit semanage transaction" msgstr "" -#: ../semanage/seobject.py:269 +#: ../semanage/seobject/__init__.py:318 msgid "Semanage transaction not in progress" msgstr "" -#: ../semanage/seobject.py:281 ../semanage/seobject.py:376 +#: ../semanage/seobject/__init__.py:332 ../semanage/seobject/__init__.py:463 msgid "Could not list SELinux modules" msgstr "" -#: ../semanage/seobject.py:300 -msgid "Modules Name" +#: ../semanage/seobject/__init__.py:339 +msgid "Could not get module name" msgstr "" -#: ../semanage/seobject.py:300 ../gui/modulesPage.py:63 -msgid "Version" +#: ../semanage/seobject/__init__.py:343 +msgid "Could not get module enabled" +msgstr "" + +#: ../semanage/seobject/__init__.py:347 +msgid "Could not get module priority" +msgstr "" + +#: ../semanage/seobject/__init__.py:351 +msgid "Could not get module lang_ext" +msgstr "" + +#: ../semanage/seobject/__init__.py:372 ../gui/modulesPage.py:60 +msgid "Module Name" msgstr "" -#: ../semanage/seobject.py:303 ../gui/statusPage.py:75 -#: ../sepolicy/sepolicy/sepolicy.glade:3430 +#: ../semanage/seobject/__init__.py:372 +msgid "Priority" +msgstr "" + +#: ../semanage/seobject/__init__.py:372 +msgid "Language" +msgstr "" + +#: ../semanage/seobject/__init__.py:375 ../gui/statusPage.py:73 +#: ../sepolicy/sepolicy/sepolicy.glade:3431 msgid "Disabled" msgstr "" -#: ../semanage/seobject.py:312 +#: ../semanage/seobject/__init__.py:384 ../semanage/seobject/__init__.py:416 +#: ../semanage/seobject/__init__.py:423 +msgid "You did not define module name." +msgstr "" + +#: ../semanage/seobject/__init__.py:386 #, python-format msgid "Module does not exists %s " msgstr "" -#: ../semanage/seobject.py:322 +#: ../semanage/seobject/__init__.py:390 ../semanage/seobject/__init__.py:426 +#, python-format +msgid "Invalid priority %d (needs to be between 1 and 999)" +msgstr "" + +#: ../semanage/seobject/__init__.py:400 +msgid "Could not create module key" +msgstr "" + +#: ../semanage/seobject/__init__.py:404 +msgid "Could not set module key name" +msgstr "" + +#: ../semanage/seobject/__init__.py:409 #, python-format -msgid "Could not disable module %s (remove failed)" +msgid "Could not enable module %s" msgstr "" -#: ../semanage/seobject.py:333 +#: ../semanage/seobject/__init__.py:411 #, python-format -msgid "Could not enable module %s (remove failed)" +msgid "Could not disable module %s" msgstr "" -#: ../semanage/seobject.py:348 +#: ../semanage/seobject/__init__.py:431 #, python-format msgid "Could not remove module %s (remove failed)" msgstr "" -#: ../semanage/seobject.py:363 +#: ../semanage/seobject/__init__.py:448 msgid "dontaudit requires either 'on' or 'off'" msgstr "" -#: ../semanage/seobject.py:391 +#: ../semanage/seobject/__init__.py:479 +msgid "Customized Permissive Types" +msgstr "" + +#: ../semanage/seobject/__init__.py:487 msgid "Builtin Permissive Types" msgstr "" -#: ../semanage/seobject.py:401 -msgid "Customized Permissive Types" +#: ../semanage/seobject/__init__.py:496 +#, python-format +msgid "%s is not a domain type" msgstr "" -#: ../semanage/seobject.py:410 +#: ../semanage/seobject/__init__.py:501 msgid "" "The sepolgen python module is required to setup permissive domains.\n" "In some distributions it is included in the policycoreutils-devel patckage.\n" @@ -184,1068 +227,1087 @@ msgid "" "Or similar for your distro." msgstr "" -#: ../semanage/seobject.py:447 +#: ../semanage/seobject/__init__.py:511 #, python-format msgid "Could not set permissive domain %s (module installation failed)" msgstr "" -#: ../semanage/seobject.py:453 +#: ../semanage/seobject/__init__.py:517 #, python-format msgid "Could not remove permissive domain %s (remove failed)" msgstr "" -#: ../semanage/seobject.py:488 ../semanage/seobject.py:562 -#: ../semanage/seobject.py:608 ../semanage/seobject.py:730 -#: ../semanage/seobject.py:760 ../semanage/seobject.py:827 -#: ../semanage/seobject.py:884 ../semanage/seobject.py:1144 -#: ../semanage/seobject.py:1879 ../semanage/seobject.py:1942 -#: ../semanage/seobject.py:1961 ../semanage/seobject.py:2084 -#: ../semanage/seobject.py:2135 +#: ../semanage/seobject/__init__.py:551 ../semanage/seobject/__init__.py:626 +#: ../semanage/seobject/__init__.py:682 ../semanage/seobject/__init__.py:813 +#: ../semanage/seobject/__init__.py:852 ../semanage/seobject/__init__.py:919 +#: ../semanage/seobject/__init__.py:985 ../semanage/seobject/__init__.py:2242 +#: ../semanage/seobject/__init__.py:2301 #, python-format -msgid "Could not create a key for %s" +msgid "Could not create login mapping for %s" msgstr "" -#: ../semanage/seobject.py:492 ../semanage/seobject.py:566 -#: ../semanage/seobject.py:612 ../semanage/seobject.py:618 +#: ../semanage/seobject/__init__.py:555 ../semanage/seobject/__init__.py:630 +#: ../semanage/seobject/__init__.py:686 ../semanage/seobject/__init__.py:817 +#: ../semanage/seobject/__init__.py:856 ../semanage/seobject/__init__.py:923 +#: ../semanage/seobject/__init__.py:989 ../semanage/seobject/__init__.py:2245 +#: ../semanage/seobject/__init__.py:2304 #, python-format -msgid "Could not check if login mapping for %s is defined" +msgid "Could not set name for %s" msgstr "" -#: ../semanage/seobject.py:501 +#: ../semanage/seobject/__init__.py:559 ../semanage/seobject/__init__.py:634 +#: ../semanage/seobject/__init__.py:690 ../semanage/seobject/__init__.py:821 +#: ../semanage/seobject/__init__.py:860 ../semanage/seobject/__init__.py:927 +#: ../semanage/seobject/__init__.py:993 ../semanage/seobject/__init__.py:1263 +#: ../semanage/seobject/__init__.py:2025 ../semanage/seobject/__init__.py:2093 +#: ../semanage/seobject/__init__.py:2117 ../semanage/seobject/__init__.py:2249 +#: ../semanage/seobject/__init__.py:2308 #, python-format -msgid "Linux Group %s does not exist" +msgid "Could not create a key for %s" msgstr "" -#: ../semanage/seobject.py:506 +#: ../semanage/seobject/__init__.py:563 ../semanage/seobject/__init__.py:638 +#: ../semanage/seobject/__init__.py:694 ../semanage/seobject/__init__.py:700 #, python-format -msgid "Linux User %s does not exist" +msgid "Could not check if login mapping for %s is defined" msgstr "" -#: ../semanage/seobject.py:510 +#: ../semanage/seobject/__init__.py:573 #, python-format -msgid "Could not create login mapping for %s" +msgid "Linux Group %s does not exist" msgstr "" -#: ../semanage/seobject.py:514 ../semanage/seobject.py:775 +#: ../semanage/seobject/__init__.py:578 #, python-format -msgid "Could not set name for %s" +msgid "Linux User %s does not exist" msgstr "" -#: ../semanage/seobject.py:519 ../semanage/seobject.py:785 +#: ../semanage/seobject/__init__.py:583 ../semanage/seobject/__init__.py:878 #, python-format msgid "Could not set MLS range for %s" msgstr "" -#: ../semanage/seobject.py:523 +#: ../semanage/seobject/__init__.py:587 #, python-format msgid "Could not set SELinux user for %s" msgstr "" -#: ../semanage/seobject.py:527 +#: ../semanage/seobject/__init__.py:591 #, python-format msgid "Could not add login mapping for %s" msgstr "" -#: ../semanage/seobject.py:545 +#: ../semanage/seobject/__init__.py:609 msgid "Requires seuser or serange" msgstr "" -#: ../semanage/seobject.py:568 ../semanage/seobject.py:614 +#: ../semanage/seobject/__init__.py:640 ../semanage/seobject/__init__.py:696 #, python-format msgid "Login mapping for %s is not defined" msgstr "" -#: ../semanage/seobject.py:572 +#: ../semanage/seobject/__init__.py:644 #, python-format msgid "Could not query seuser for %s" msgstr "" -#: ../semanage/seobject.py:586 +#: ../semanage/seobject/__init__.py:659 #, python-format msgid "Could not modify login mapping for %s" msgstr "" -#: ../semanage/seobject.py:620 +#: ../semanage/seobject/__init__.py:702 #, python-format msgid "Login mapping for %s is defined in policy, cannot be deleted" msgstr "" -#: ../semanage/seobject.py:624 +#: ../semanage/seobject/__init__.py:706 #, python-format msgid "Could not delete login mapping for %s" msgstr "" -#: ../semanage/seobject.py:646 ../semanage/seobject.py:679 -#: ../semanage/seobject.py:927 +#: ../semanage/seobject/__init__.py:729 ../semanage/seobject/__init__.py:762 +#: ../semanage/seobject/__init__.py:1037 msgid "Could not list login mappings" msgstr "" -#: ../semanage/seobject.py:707 ../semanage/seobject.py:719 +#: ../semanage/seobject/__init__.py:790 ../semanage/seobject/__init__.py:802 #: ../gui/system-config-selinux.glade:100 -#: ../sepolicy/sepolicy/sepolicy.glade:1166 -#: ../sepolicy/sepolicy/sepolicy.glade:3155 +#: ../sepolicy/sepolicy/sepolicy.glade:1162 +#: ../sepolicy/sepolicy/sepolicy.glade:3156 msgid "Login Name" msgstr "" -#: ../semanage/seobject.py:707 ../semanage/seobject.py:719 -#: ../semanage/seobject.py:977 ../semanage/seobject.py:982 +#: ../semanage/seobject/__init__.py:790 ../semanage/seobject/__init__.py:802 +#: ../semanage/seobject/__init__.py:1090 ../semanage/seobject/__init__.py:1095 #: ../gui/system-config-selinux.glade:128 #: ../gui/system-config-selinux.glade:915 -#: ../gui/system-config-selinux.glade:2285 ../gui/usersPage.py:44 -#: ../sepolicy/sepolicy/sepolicy.glade:1192 -#: ../sepolicy/sepolicy/sepolicy.glade:3173 -#: ../sepolicy/sepolicy/sepolicy.glade:3259 +#: ../gui/system-config-selinux.glade:2285 ../gui/usersPage.py:43 +#: ../sepolicy/sepolicy/sepolicy.glade:1188 +#: ../sepolicy/sepolicy/sepolicy.glade:3174 +#: ../sepolicy/sepolicy/sepolicy.glade:3260 +#: ../sepolicy/sepolicy/sepolicy.glade:4915 msgid "SELinux User" msgstr "" -#: ../semanage/seobject.py:707 ../gui/system-config-selinux.glade:156 +#: ../semanage/seobject/__init__.py:790 ../gui/system-config-selinux.glade:156 #: ../gui/system-config-selinux.glade:943 msgid "MLS/MCS Range" msgstr "" -#: ../semanage/seobject.py:707 +#: ../semanage/seobject/__init__.py:790 msgid "Service" msgstr "" -#: ../semanage/seobject.py:733 ../semanage/seobject.py:764 -#: ../semanage/seobject.py:831 ../semanage/seobject.py:888 -#: ../semanage/seobject.py:894 +#: ../semanage/seobject/__init__.py:824 ../semanage/seobject/__init__.py:864 +#: ../semanage/seobject/__init__.py:931 ../semanage/seobject/__init__.py:997 +#: ../semanage/seobject/__init__.py:1003 #, python-format msgid "Could not check if SELinux user %s is defined" msgstr "" -#: ../semanage/seobject.py:736 ../semanage/seobject.py:837 -#: ../semanage/seobject.py:900 +#: ../semanage/seobject/__init__.py:827 ../semanage/seobject/__init__.py:937 +#: ../semanage/seobject/__init__.py:1009 #, python-format msgid "Could not query user for %s" msgstr "" -#: ../semanage/seobject.py:756 +#: ../semanage/seobject/__init__.py:848 #, python-format msgid "You must add at least one role for %s" msgstr "" -#: ../semanage/seobject.py:771 -#, python-format -msgid "Could not create SELinux user for %s" -msgstr "" - -#: ../semanage/seobject.py:780 +#: ../semanage/seobject/__init__.py:873 #, python-format -msgid "Could not add role %s for %s" +msgid "Could not add role %(ROLE)s for %(NAME)s" msgstr "" -#: ../semanage/seobject.py:789 +#: ../semanage/seobject/__init__.py:882 #, python-format msgid "Could not set MLS level for %s" msgstr "" -#: ../semanage/seobject.py:792 +#: ../semanage/seobject/__init__.py:885 #, python-format -msgid "Could not add prefix %s for %s" +msgid "Could not add prefix %(PREFIX)s for %(ROLE)s" msgstr "" -#: ../semanage/seobject.py:795 +#: ../semanage/seobject/__init__.py:888 #, python-format msgid "Could not extract key for %s" msgstr "" -#: ../semanage/seobject.py:799 +#: ../semanage/seobject/__init__.py:892 #, python-format msgid "Could not add SELinux user %s" msgstr "" -#: ../semanage/seobject.py:821 +#: ../semanage/seobject/__init__.py:913 msgid "Requires prefix, roles, level or range" msgstr "" -#: ../semanage/seobject.py:823 +#: ../semanage/seobject/__init__.py:915 msgid "Requires prefix or roles" msgstr "" -#: ../semanage/seobject.py:833 ../semanage/seobject.py:890 +#: ../semanage/seobject/__init__.py:933 ../semanage/seobject/__init__.py:999 #, python-format msgid "SELinux user %s is not defined" msgstr "" -#: ../semanage/seobject.py:862 +#: ../semanage/seobject/__init__.py:962 #, python-format msgid "Could not modify SELinux user %s" msgstr "" -#: ../semanage/seobject.py:896 +#: ../semanage/seobject/__init__.py:1005 #, python-format msgid "SELinux user %s is defined in policy, cannot be deleted" msgstr "" -#: ../semanage/seobject.py:907 +#: ../semanage/seobject/__init__.py:1016 #, python-format msgid "Could not delete SELinux user %s" msgstr "" -#: ../semanage/seobject.py:945 +#: ../semanage/seobject/__init__.py:1058 msgid "Could not list SELinux users" msgstr "" -#: ../semanage/seobject.py:951 +#: ../semanage/seobject/__init__.py:1064 #, python-format msgid "Could not list roles for user %s" msgstr "" -#: ../semanage/seobject.py:976 +#: ../semanage/seobject/__init__.py:1089 msgid "Labeling" msgstr "" -#: ../semanage/seobject.py:976 +#: ../semanage/seobject/__init__.py:1089 msgid "MLS/" msgstr "" -#: ../semanage/seobject.py:977 +#: ../semanage/seobject/__init__.py:1090 msgid "Prefix" msgstr "" -#: ../semanage/seobject.py:977 +#: ../semanage/seobject/__init__.py:1090 msgid "MCS Level" msgstr "" -#: ../semanage/seobject.py:977 +#: ../semanage/seobject/__init__.py:1090 msgid "MCS Range" msgstr "" -#: ../semanage/seobject.py:977 ../semanage/seobject.py:982 -#: ../gui/system-config-selinux.glade:992 ../gui/usersPage.py:59 -#: ../sepolicy/sepolicy/sepolicy.glade:3279 -#: ../sepolicy/sepolicy/sepolicy.glade:5170 -#: ../sepolicy/sepolicy/sepolicy.glade:5411 +#: ../semanage/seobject/__init__.py:1090 ../semanage/seobject/__init__.py:1095 +#: ../gui/system-config-selinux.glade:992 ../gui/usersPage.py:58 +#: ../sepolicy/sepolicy/sepolicy.glade:3280 +#: ../sepolicy/sepolicy/sepolicy.glade:5251 +#: ../sepolicy/sepolicy/sepolicy.glade:5400 msgid "SELinux Roles" msgstr "" -#: ../semanage/seobject.py:1002 +#: ../semanage/seobject/__init__.py:1115 msgid "Protocol udp or tcp is required" msgstr "" -#: ../semanage/seobject.py:1004 +#: ../semanage/seobject/__init__.py:1117 msgid "Port is required" msgstr "" -#: ../semanage/seobject.py:1014 +#: ../semanage/seobject/__init__.py:1127 msgid "Invalid Port" msgstr "" -#: ../semanage/seobject.py:1018 +#: ../semanage/seobject/__init__.py:1131 #, python-format -msgid "Could not create a key for %s/%s" +msgid "Could not create a key for %(PROTOTYPE)s/%(PORT)s" msgstr "" -#: ../semanage/seobject.py:1029 +#: ../semanage/seobject/__init__.py:1142 msgid "Type is required" msgstr "" -#: ../semanage/seobject.py:1032 ../semanage/seobject.py:1096 -#: ../semanage/seobject.py:1873 +#: ../semanage/seobject/__init__.py:1145 #, python-format msgid "Type %s is invalid, must be a port type" msgstr "" -#: ../semanage/seobject.py:1040 ../semanage/seobject.py:1102 -#: ../semanage/seobject.py:1157 ../semanage/seobject.py:1163 +#: ../semanage/seobject/__init__.py:1153 ../semanage/seobject/__init__.py:1281 +#: ../semanage/seobject/__init__.py:1287 #, python-format -msgid "Could not check if port %s/%s is defined" +msgid "Could not check if port %(PROTOCOL)s/%(PORT)s is defined" msgstr "" -#: ../semanage/seobject.py:1042 +#: ../semanage/seobject/__init__.py:1155 #, python-format -msgid "Port %s/%s already defined" +msgid "Port %(PROTOCOL)s/%(PORT)s already defined" msgstr "" -#: ../semanage/seobject.py:1046 +#: ../semanage/seobject/__init__.py:1159 #, python-format -msgid "Could not create port for %s/%s" +msgid "Could not create port for %(PROTOCOL)s/%(PORT)s" msgstr "" -#: ../semanage/seobject.py:1052 +#: ../semanage/seobject/__init__.py:1165 #, python-format -msgid "Could not create context for %s/%s" +msgid "Could not create context for %(PROTOCOL)s/%(PORT)s" msgstr "" -#: ../semanage/seobject.py:1056 +#: ../semanage/seobject/__init__.py:1169 #, python-format -msgid "Could not set user in port context for %s/%s" +msgid "Could not set user in port context for %(PROTOCOL)s/%(PORT)s" msgstr "" -#: ../semanage/seobject.py:1060 +#: ../semanage/seobject/__init__.py:1173 #, python-format -msgid "Could not set role in port context for %s/%s" +msgid "Could not set role in port context for %(PROTOCOL)s/%(PORT)s" msgstr "" -#: ../semanage/seobject.py:1064 +#: ../semanage/seobject/__init__.py:1177 #, python-format -msgid "Could not set type in port context for %s/%s" +msgid "Could not set type in port context for %(PROTOCOL)s/%(PORT)s" msgstr "" -#: ../semanage/seobject.py:1069 +#: ../semanage/seobject/__init__.py:1182 #, python-format -msgid "Could not set mls fields in port context for %s/%s" +msgid "Could not set mls fields in port context for %(PROTOCOL)s/%(PORT)s" msgstr "" -#: ../semanage/seobject.py:1073 +#: ../semanage/seobject/__init__.py:1186 #, python-format -msgid "Could not set port context for %s/%s" +msgid "Could not set port context for %(PROTOCOL)s/%(PORT)s" msgstr "" -#: ../semanage/seobject.py:1077 +#: ../semanage/seobject/__init__.py:1190 #, python-format -msgid "Could not add port %s/%s" +msgid "Could not add port %(PROTOCOL)s/%(PORT)s" msgstr "" -#: ../semanage/seobject.py:1091 ../semanage/seobject.py:1367 -#: ../semanage/seobject.py:1566 +#: ../semanage/seobject/__init__.py:1206 ../semanage/seobject/__init__.py:1495 +#: ../semanage/seobject/__init__.py:1700 msgid "Requires setype or serange" msgstr "" -#: ../semanage/seobject.py:1093 +#: ../semanage/seobject/__init__.py:1208 msgid "Requires setype" msgstr "" -#: ../semanage/seobject.py:1104 ../semanage/seobject.py:1159 +#: ../semanage/seobject/__init__.py:1211 ../semanage/seobject/__init__.py:1955 +#: ../semanage/seobject/__init__.py:2019 +#, python-format +msgid "Type %s is invalid, must be a file or device type" +msgstr "" + +#: ../semanage/seobject/__init__.py:1217 +#, python-format +msgid "Could not check if port @%(PROTOCOL)s/%(PORT)s is defined" +msgstr "" + +#: ../semanage/seobject/__init__.py:1219 #, python-format -msgid "Port %s/%s is not defined" +msgid "Port @%(PROTOCOL)s/%(PORT)s is not defined" msgstr "" -#: ../semanage/seobject.py:1108 +#: ../semanage/seobject/__init__.py:1223 #, python-format -msgid "Could not query port %s/%s" +msgid "Could not query port %(PROTOCOL)s/%(PORT)s" msgstr "" -#: ../semanage/seobject.py:1119 +#: ../semanage/seobject/__init__.py:1236 #, python-format -msgid "Could not modify port %s/%s" +msgid "Could not modify port %(PROTOCOL)s/%(PORT)s" msgstr "" -#: ../semanage/seobject.py:1132 +#: ../semanage/seobject/__init__.py:1251 msgid "Could not list the ports" msgstr "" -#: ../semanage/seobject.py:1148 +#: ../semanage/seobject/__init__.py:1267 #, python-format msgid "Could not delete the port %s" msgstr "" -#: ../semanage/seobject.py:1165 +#: ../semanage/seobject/__init__.py:1283 #, python-format -msgid "Port %s/%s is defined in policy, cannot be deleted" +msgid "Port %(PROTOCOL)s/%(PORT)s is not defined" msgstr "" -#: ../semanage/seobject.py:1169 +#: ../semanage/seobject/__init__.py:1289 #, python-format -msgid "Could not delete port %s/%s" +msgid "Port %(PROTOCOL)s/%(PORT)s is defined in policy, cannot be deleted" msgstr "" -#: ../semanage/seobject.py:1185 ../semanage/seobject.py:1207 +#: ../semanage/seobject/__init__.py:1293 +#, python-format +msgid "Could not delete port %(PROTOCOL)s/%(PORT)s" +msgstr "" + +#: ../semanage/seobject/__init__.py:1311 ../semanage/seobject/__init__.py:1333 msgid "Could not list ports" msgstr "" -#: ../semanage/seobject.py:1246 ../sepolicy/sepolicy/sepolicy.glade:2675 -#: ../sepolicy/sepolicy/sepolicy.glade:2773 -#: ../sepolicy/sepolicy/sepolicy.glade:4687 +#: ../semanage/seobject/__init__.py:1372 +#: ../sepolicy/sepolicy/sepolicy.glade:2676 +#: ../sepolicy/sepolicy/sepolicy.glade:2774 +#: ../sepolicy/sepolicy/sepolicy.glade:4648 msgid "SELinux Port Type" msgstr "" -#: ../semanage/seobject.py:1246 +#: ../semanage/seobject/__init__.py:1372 msgid "Proto" msgstr "" -#: ../semanage/seobject.py:1246 ../gui/system-config-selinux.glade:335 -#: ../sepolicy/sepolicy/sepolicy.glade:1417 +#: ../semanage/seobject/__init__.py:1372 +#: ../gui/system-config-selinux.glade:335 +#: ../sepolicy/sepolicy/sepolicy.glade:1413 msgid "Port Number" msgstr "" -#: ../semanage/seobject.py:1270 +#: ../semanage/seobject/__init__.py:1396 msgid "Node Address is required" msgstr "" -#: ../semanage/seobject.py:1285 +#: ../semanage/seobject/__init__.py:1411 msgid "Unknown or missing protocol" msgstr "" -#: ../semanage/seobject.py:1299 +#: ../semanage/seobject/__init__.py:1425 msgid "SELinux node type is required" msgstr "" -#: ../semanage/seobject.py:1302 ../semanage/seobject.py:1370 +#: ../semanage/seobject/__init__.py:1428 ../semanage/seobject/__init__.py:1498 #, python-format msgid "Type %s is invalid, must be a node type" msgstr "" -#: ../semanage/seobject.py:1306 ../semanage/seobject.py:1374 -#: ../semanage/seobject.py:1410 ../semanage/seobject.py:1508 -#: ../semanage/seobject.py:1570 ../semanage/seobject.py:1604 -#: ../semanage/seobject.py:1818 +#: ../semanage/seobject/__init__.py:1432 ../semanage/seobject/__init__.py:1502 +#: ../semanage/seobject/__init__.py:1540 ../semanage/seobject/__init__.py:1640 +#: ../semanage/seobject/__init__.py:1704 ../semanage/seobject/__init__.py:1740 +#: ../semanage/seobject/__init__.py:1959 #, python-format msgid "Could not create key for %s" msgstr "" -#: ../semanage/seobject.py:1308 ../semanage/seobject.py:1378 -#: ../semanage/seobject.py:1414 ../semanage/seobject.py:1420 +#: ../semanage/seobject/__init__.py:1434 ../semanage/seobject/__init__.py:1506 +#: ../semanage/seobject/__init__.py:1544 ../semanage/seobject/__init__.py:1550 #, python-format msgid "Could not check if addr %s is defined" msgstr "" -#: ../semanage/seobject.py:1317 +#: ../semanage/seobject/__init__.py:1443 #, python-format msgid "Could not create addr for %s" msgstr "" -#: ../semanage/seobject.py:1323 ../semanage/seobject.py:1524 -#: ../semanage/seobject.py:1767 +#: ../semanage/seobject/__init__.py:1449 ../semanage/seobject/__init__.py:1656 +#: ../semanage/seobject/__init__.py:1908 #, python-format msgid "Could not create context for %s" msgstr "" -#: ../semanage/seobject.py:1327 +#: ../semanage/seobject/__init__.py:1453 #, python-format msgid "Could not set mask for %s" msgstr "" -#: ../semanage/seobject.py:1331 +#: ../semanage/seobject/__init__.py:1457 #, python-format msgid "Could not set user in addr context for %s" msgstr "" -#: ../semanage/seobject.py:1335 +#: ../semanage/seobject/__init__.py:1461 #, python-format msgid "Could not set role in addr context for %s" msgstr "" -#: ../semanage/seobject.py:1339 +#: ../semanage/seobject/__init__.py:1465 #, python-format msgid "Could not set type in addr context for %s" msgstr "" -#: ../semanage/seobject.py:1344 +#: ../semanage/seobject/__init__.py:1470 #, python-format msgid "Could not set mls fields in addr context for %s" msgstr "" -#: ../semanage/seobject.py:1348 +#: ../semanage/seobject/__init__.py:1474 #, python-format msgid "Could not set addr context for %s" msgstr "" -#: ../semanage/seobject.py:1352 +#: ../semanage/seobject/__init__.py:1478 #, python-format msgid "Could not add addr %s" msgstr "" -#: ../semanage/seobject.py:1380 ../semanage/seobject.py:1416 +#: ../semanage/seobject/__init__.py:1508 ../semanage/seobject/__init__.py:1546 #, python-format msgid "Addr %s is not defined" msgstr "" -#: ../semanage/seobject.py:1384 +#: ../semanage/seobject/__init__.py:1512 #, python-format msgid "Could not query addr %s" msgstr "" -#: ../semanage/seobject.py:1394 +#: ../semanage/seobject/__init__.py:1522 #, python-format msgid "Could not modify addr %s" msgstr "" -#: ../semanage/seobject.py:1422 +#: ../semanage/seobject/__init__.py:1552 #, python-format msgid "Addr %s is defined in policy, cannot be deleted" msgstr "" -#: ../semanage/seobject.py:1426 +#: ../semanage/seobject/__init__.py:1556 #, python-format msgid "Could not delete addr %s" msgstr "" -#: ../semanage/seobject.py:1438 +#: ../semanage/seobject/__init__.py:1570 msgid "Could not deleteall node mappings" msgstr "" -#: ../semanage/seobject.py:1452 +#: ../semanage/seobject/__init__.py:1584 msgid "Could not list addrs" msgstr "" -#: ../semanage/seobject.py:1504 ../semanage/seobject.py:1811 +#: ../semanage/seobject/__init__.py:1636 ../semanage/seobject/__init__.py:1952 msgid "SELinux Type is required" msgstr "" -#: ../semanage/seobject.py:1512 ../semanage/seobject.py:1574 -#: ../semanage/seobject.py:1608 ../semanage/seobject.py:1614 +#: ../semanage/seobject/__init__.py:1644 ../semanage/seobject/__init__.py:1708 +#: ../semanage/seobject/__init__.py:1744 ../semanage/seobject/__init__.py:1750 #, python-format msgid "Could not check if interface %s is defined" msgstr "" -#: ../semanage/seobject.py:1519 +#: ../semanage/seobject/__init__.py:1651 #, python-format msgid "Could not create interface for %s" msgstr "" -#: ../semanage/seobject.py:1528 +#: ../semanage/seobject/__init__.py:1660 #, python-format msgid "Could not set user in interface context for %s" msgstr "" -#: ../semanage/seobject.py:1532 +#: ../semanage/seobject/__init__.py:1664 #, python-format msgid "Could not set role in interface context for %s" msgstr "" -#: ../semanage/seobject.py:1536 +#: ../semanage/seobject/__init__.py:1668 #, python-format msgid "Could not set type in interface context for %s" msgstr "" -#: ../semanage/seobject.py:1541 +#: ../semanage/seobject/__init__.py:1673 #, python-format msgid "Could not set mls fields in interface context for %s" msgstr "" -#: ../semanage/seobject.py:1545 +#: ../semanage/seobject/__init__.py:1677 #, python-format msgid "Could not set interface context for %s" msgstr "" -#: ../semanage/seobject.py:1549 +#: ../semanage/seobject/__init__.py:1681 #, python-format msgid "Could not set message context for %s" msgstr "" -#: ../semanage/seobject.py:1553 +#: ../semanage/seobject/__init__.py:1685 #, python-format msgid "Could not add interface %s" msgstr "" -#: ../semanage/seobject.py:1576 ../semanage/seobject.py:1610 +#: ../semanage/seobject/__init__.py:1710 ../semanage/seobject/__init__.py:1746 #, python-format msgid "Interface %s is not defined" msgstr "" -#: ../semanage/seobject.py:1580 +#: ../semanage/seobject/__init__.py:1714 #, python-format msgid "Could not query interface %s" msgstr "" -#: ../semanage/seobject.py:1591 +#: ../semanage/seobject/__init__.py:1725 #, python-format msgid "Could not modify interface %s" msgstr "" -#: ../semanage/seobject.py:1616 +#: ../semanage/seobject/__init__.py:1752 #, python-format msgid "Interface %s is defined in policy, cannot be deleted" msgstr "" -#: ../semanage/seobject.py:1620 +#: ../semanage/seobject/__init__.py:1756 #, python-format msgid "Could not delete interface %s" msgstr "" -#: ../semanage/seobject.py:1632 +#: ../semanage/seobject/__init__.py:1770 msgid "Could not delete all interface mappings" msgstr "" -#: ../semanage/seobject.py:1646 +#: ../semanage/seobject/__init__.py:1784 msgid "Could not list interfaces" msgstr "" -#: ../semanage/seobject.py:1671 +#: ../semanage/seobject/__init__.py:1809 msgid "SELinux Interface" msgstr "" -#: ../semanage/seobject.py:1671 ../semanage/seobject.py:2033 +#: ../semanage/seobject/__init__.py:1809 ../semanage/seobject/__init__.py:2191 msgid "Context" msgstr "" -#: ../semanage/seobject.py:1738 +#: ../semanage/seobject/__init__.py:1876 #, python-format msgid "Target %s is not valid. Target is not allowed to end with '/'" msgstr "" -#: ../semanage/seobject.py:1741 +#: ../semanage/seobject/__init__.py:1879 #, python-format -msgid "Substiture %s is not valid. Substitute is not allowed to end with '/'" +msgid "Substitute %s is not valid. Substitute is not allowed to end with '/'" msgstr "" -#: ../semanage/seobject.py:1744 +#: ../semanage/seobject/__init__.py:1882 #, python-format msgid "Equivalence class for %s already exists" msgstr "" -#: ../semanage/seobject.py:1750 +#: ../semanage/seobject/__init__.py:1888 #, python-format -msgid "File spec %s conflicts with equivalency rule '%s %s'" +msgid "" +"File spec %(TARGET)s conflicts with equivalency rule '%(SOURCE)s %(DEST)s'" msgstr "" -#: ../semanage/seobject.py:1759 +#: ../semanage/seobject/__init__.py:1899 #, python-format msgid "Equivalence class for %s does not exists" msgstr "" -#: ../semanage/seobject.py:1773 +#: ../semanage/seobject/__init__.py:1914 #, python-format msgid "Could not set user in file context for %s" msgstr "" -#: ../semanage/seobject.py:1777 +#: ../semanage/seobject/__init__.py:1918 #, python-format msgid "Could not set role in file context for %s" msgstr "" -#: ../semanage/seobject.py:1782 ../semanage/seobject.py:1848 +#: ../semanage/seobject/__init__.py:1923 ../semanage/seobject/__init__.py:1989 #, python-format msgid "Could not set mls fields in file context for %s" msgstr "" -#: ../semanage/seobject.py:1788 +#: ../semanage/seobject/__init__.py:1929 msgid "Invalid file specification" msgstr "" -#: ../semanage/seobject.py:1790 +#: ../semanage/seobject/__init__.py:1931 msgid "File specification can not include spaces" msgstr "" -#: ../semanage/seobject.py:1795 +#: ../semanage/seobject/__init__.py:1936 #, python-format msgid "" -"File spec %s conflicts with equivalency rule '%s %s'; Try adding '%s' instead" -msgstr "" - -#: ../semanage/seobject.py:1814 -#, python-format -msgid "Type %s is invalid, must be a file or device type" +"File spec %(TARGET)s conflicts with equivalency rule '%(SOURCE)s %(DEST)s'; " +"Try adding '%(DEST1)s' instead" msgstr "" -#: ../semanage/seobject.py:1822 ../semanage/seobject.py:1827 -#: ../semanage/seobject.py:1883 ../semanage/seobject.py:1965 -#: ../semanage/seobject.py:1969 +#: ../semanage/seobject/__init__.py:1963 ../semanage/seobject/__init__.py:1968 +#: ../semanage/seobject/__init__.py:2029 ../semanage/seobject/__init__.py:2121 +#: ../semanage/seobject/__init__.py:2125 #, python-format msgid "Could not check if file context for %s is defined" msgstr "" -#: ../semanage/seobject.py:1835 +#: ../semanage/seobject/__init__.py:1976 #, python-format msgid "Could not create file context for %s" msgstr "" -#: ../semanage/seobject.py:1843 +#: ../semanage/seobject/__init__.py:1984 #, python-format msgid "Could not set type in file context for %s" msgstr "" -#: ../semanage/seobject.py:1851 ../semanage/seobject.py:1911 -#: ../semanage/seobject.py:1915 +#: ../semanage/seobject/__init__.py:1992 ../semanage/seobject/__init__.py:2057 +#: ../semanage/seobject/__init__.py:2061 #, python-format msgid "Could not set file context for %s" msgstr "" -#: ../semanage/seobject.py:1857 +#: ../semanage/seobject/__init__.py:1998 #, python-format msgid "Could not add file context for %s" msgstr "" -#: ../semanage/seobject.py:1871 +#: ../semanage/seobject/__init__.py:2017 msgid "Requires setype, serange or seuser" msgstr "" -#: ../semanage/seobject.py:1887 ../semanage/seobject.py:1973 +#: ../semanage/seobject/__init__.py:2033 ../semanage/seobject/__init__.py:2129 #, python-format msgid "File context for %s is not defined" msgstr "" -#: ../semanage/seobject.py:1893 +#: ../semanage/seobject/__init__.py:2039 #, python-format msgid "Could not query file context for %s" msgstr "" -#: ../semanage/seobject.py:1919 +#: ../semanage/seobject/__init__.py:2065 #, python-format msgid "Could not modify file context for %s" msgstr "" -#: ../semanage/seobject.py:1932 +#: ../semanage/seobject/__init__.py:2083 msgid "Could not list the file contexts" msgstr "" -#: ../semanage/seobject.py:1946 +#: ../semanage/seobject/__init__.py:2097 #, python-format msgid "Could not delete the file context %s" msgstr "" -#: ../semanage/seobject.py:1971 +#: ../semanage/seobject/__init__.py:2127 #, python-format msgid "File context for %s is defined in policy, cannot be deleted" msgstr "" -#: ../semanage/seobject.py:1977 +#: ../semanage/seobject/__init__.py:2133 #, python-format msgid "Could not delete file context for %s" msgstr "" -#: ../semanage/seobject.py:1992 +#: ../semanage/seobject/__init__.py:2150 msgid "Could not list file contexts" msgstr "" -#: ../semanage/seobject.py:1996 +#: ../semanage/seobject/__init__.py:2154 msgid "Could not list local file contexts" msgstr "" -#: ../semanage/seobject.py:2033 +#: ../semanage/seobject/__init__.py:2191 msgid "SELinux fcontext" msgstr "" -#: ../semanage/seobject.py:2033 +#: ../semanage/seobject/__init__.py:2191 msgid "type" msgstr "" -#: ../semanage/seobject.py:2046 +#: ../semanage/seobject/__init__.py:2204 msgid "" "\n" "SELinux Distribution fcontext Equivalence \n" msgstr "" -#: ../semanage/seobject.py:2051 +#: ../semanage/seobject/__init__.py:2209 msgid "" "\n" "SELinux Local fcontext Equivalence \n" msgstr "" -#: ../semanage/seobject.py:2087 ../semanage/seobject.py:2138 -#: ../semanage/seobject.py:2144 +#: ../semanage/seobject/__init__.py:2252 ../semanage/seobject/__init__.py:2311 +#: ../semanage/seobject/__init__.py:2317 #, python-format msgid "Could not check if boolean %s is defined" msgstr "" -#: ../semanage/seobject.py:2089 ../semanage/seobject.py:2140 +#: ../semanage/seobject/__init__.py:2254 ../semanage/seobject/__init__.py:2313 #, python-format msgid "Boolean %s is not defined" msgstr "" -#: ../semanage/seobject.py:2093 +#: ../semanage/seobject/__init__.py:2258 #, python-format msgid "Could not query file context %s" msgstr "" -#: ../semanage/seobject.py:2098 +#: ../semanage/seobject/__init__.py:2263 #, python-format msgid "You must specify one of the following values: %s" msgstr "" -#: ../semanage/seobject.py:2103 +#: ../semanage/seobject/__init__.py:2268 #, python-format msgid "Could not set active value of boolean %s" msgstr "" -#: ../semanage/seobject.py:2106 +#: ../semanage/seobject/__init__.py:2271 #, python-format msgid "Could not modify boolean %s" msgstr "" -#: ../semanage/seobject.py:2122 +#: ../semanage/seobject/__init__.py:2288 #, python-format -msgid "Bad format %s: Record %s" +msgid "Bad format %(BOOLNAME)s: Record %(VALUE)s" msgstr "" -#: ../semanage/seobject.py:2146 +#: ../semanage/seobject/__init__.py:2319 #, python-format msgid "Boolean %s is defined in policy, cannot be deleted" msgstr "" -#: ../semanage/seobject.py:2150 +#: ../semanage/seobject/__init__.py:2323 #, python-format msgid "Could not delete boolean %s" msgstr "" -#: ../semanage/seobject.py:2162 ../semanage/seobject.py:2179 +#: ../semanage/seobject/__init__.py:2336 ../semanage/seobject/__init__.py:2353 msgid "Could not list booleans" msgstr "" -#: ../semanage/seobject.py:2214 +#: ../semanage/seobject/__init__.py:2388 msgid "off" msgstr "" -#: ../semanage/seobject.py:2214 +#: ../semanage/seobject/__init__.py:2388 msgid "on" msgstr "" -#: ../semanage/seobject.py:2228 +#: ../semanage/seobject/__init__.py:2402 msgid "SELinux boolean" msgstr "" -#: ../semanage/seobject.py:2228 +#: ../semanage/seobject/__init__.py:2402 msgid "State" msgstr "" -#: ../semanage/seobject.py:2228 +#: ../semanage/seobject/__init__.py:2402 msgid "Default" msgstr "" -#: ../semanage/seobject.py:2228 ../gui/polgen.glade:113 -#: ../gui/polgengui.py:274 ../sepolicy/sepolicy/sepolicy.glade:2147 -#: ../sepolicy/sepolicy/sepolicy.glade:2517 -#: ../sepolicy/sepolicy/sepolicy.glade:5021 +#: ../semanage/seobject/__init__.py:2402 ../gui/polgen.glade:113 +#: ../gui/polgengui.py:262 ../sepolicy/sepolicy/sepolicy.glade:2148 +#: ../sepolicy/sepolicy/sepolicy.glade:2518 +#: ../sepolicy/sepolicy/sepolicy.glade:5117 msgid "Description" msgstr "" -#: ../newrole/newrole.c:201 +#: ../newrole/newrole.c:200 #, c-format msgid "failed to set PAM_TTY\n" msgstr "" -#: ../newrole/newrole.c:290 +#: ../newrole/newrole.c:289 #, c-format msgid "newrole: service name configuration hashtable overflow\n" msgstr "" -#: ../newrole/newrole.c:300 +#: ../newrole/newrole.c:299 #, c-format msgid "newrole: %s: error on line %lu.\n" msgstr "" -#: ../newrole/newrole.c:439 +#: ../newrole/newrole.c:438 #, c-format msgid "cannot find valid entry in the passwd file.\n" msgstr "" -#: ../newrole/newrole.c:450 +#: ../newrole/newrole.c:449 #, c-format msgid "Out of memory!\n" msgstr "" -#: ../newrole/newrole.c:455 +#: ../newrole/newrole.c:454 #, c-format msgid "Error! Shell is not valid.\n" msgstr "" -#: ../newrole/newrole.c:512 +#: ../newrole/newrole.c:511 #, c-format msgid "Unable to clear environment\n" msgstr "" -#: ../newrole/newrole.c:554 ../newrole/newrole.c:585 ../newrole/newrole.c:616 +#: ../newrole/newrole.c:552 ../newrole/newrole.c:563 ../newrole/newrole.c:594 +#: ../newrole/newrole.c:605 ../newrole/newrole.c:632 #, c-format -msgid "Error changing uid, aborting.\n" +msgid "Error resetting KEEPCAPS, aborting\n" msgstr "" -#: ../newrole/newrole.c:611 +#: ../newrole/newrole.c:558 ../newrole/newrole.c:600 ../newrole/newrole.c:637 #, c-format -msgid "Error resetting KEEPCAPS, aborting\n" +msgid "Error changing uid, aborting.\n" msgstr "" -#: ../newrole/newrole.c:634 +#: ../newrole/newrole.c:655 #, c-format msgid "Error connecting to audit system.\n" msgstr "" -#: ../newrole/newrole.c:640 +#: ../newrole/newrole.c:661 #, c-format msgid "Error allocating memory.\n" msgstr "" -#: ../newrole/newrole.c:647 +#: ../newrole/newrole.c:668 #, c-format msgid "Error sending audit message.\n" msgstr "" -#: ../newrole/newrole.c:691 ../newrole/newrole.c:1063 +#: ../newrole/newrole.c:712 ../newrole/newrole.c:1084 #, c-format msgid "Could not determine enforcing mode.\n" msgstr "" -#: ../newrole/newrole.c:698 +#: ../newrole/newrole.c:719 #, c-format msgid "Error! Could not open %s.\n" msgstr "" -#: ../newrole/newrole.c:704 +#: ../newrole/newrole.c:725 #, c-format msgid "Error! Could not clear O_NONBLOCK on %s\n" msgstr "" -#: ../newrole/newrole.c:710 +#: ../newrole/newrole.c:731 #, c-format msgid "%s! Could not get current context for %s, not relabeling tty.\n" msgstr "" -#: ../newrole/newrole.c:720 +#: ../newrole/newrole.c:741 #, c-format msgid "%s! Could not get new context for %s, not relabeling tty.\n" msgstr "" -#: ../newrole/newrole.c:730 +#: ../newrole/newrole.c:751 #, c-format msgid "%s! Could not set new context for %s\n" msgstr "" -#: ../newrole/newrole.c:777 +#: ../newrole/newrole.c:798 #, c-format msgid "%s changed labels.\n" msgstr "" -#: ../newrole/newrole.c:783 +#: ../newrole/newrole.c:804 #, c-format msgid "Warning! Could not restore context for %s\n" msgstr "" -#: ../newrole/newrole.c:840 +#: ../newrole/newrole.c:861 #, c-format msgid "Error: multiple roles specified\n" msgstr "" -#: ../newrole/newrole.c:848 +#: ../newrole/newrole.c:869 #, c-format msgid "Error: multiple types specified\n" msgstr "" -#: ../newrole/newrole.c:855 +#: ../newrole/newrole.c:876 #, c-format msgid "Sorry, -l may be used with SELinux MLS support.\n" msgstr "" -#: ../newrole/newrole.c:860 +#: ../newrole/newrole.c:881 #, c-format msgid "Error: multiple levels specified\n" msgstr "" -#: ../newrole/newrole.c:870 +#: ../newrole/newrole.c:891 #, c-format msgid "Error: you are not allowed to change levels on a non secure terminal \n" msgstr "" -#: ../newrole/newrole.c:896 +#: ../newrole/newrole.c:917 #, c-format msgid "Couldn't get default type.\n" msgstr "" -#: ../newrole/newrole.c:906 +#: ../newrole/newrole.c:927 #, c-format msgid "failed to get new context.\n" msgstr "" -#: ../newrole/newrole.c:913 +#: ../newrole/newrole.c:934 #, c-format msgid "failed to set new role %s\n" msgstr "" -#: ../newrole/newrole.c:920 +#: ../newrole/newrole.c:941 #, c-format msgid "failed to set new type %s\n" msgstr "" -#: ../newrole/newrole.c:930 +#: ../newrole/newrole.c:951 #, c-format msgid "failed to build new range with level %s\n" msgstr "" -#: ../newrole/newrole.c:935 +#: ../newrole/newrole.c:956 #, c-format msgid "failed to set new range %s\n" msgstr "" -#: ../newrole/newrole.c:943 +#: ../newrole/newrole.c:964 #, c-format msgid "failed to convert new context to string\n" msgstr "" -#: ../newrole/newrole.c:948 +#: ../newrole/newrole.c:969 #, c-format msgid "%s is not a valid context\n" msgstr "" -#: ../newrole/newrole.c:955 +#: ../newrole/newrole.c:976 #, c-format msgid "Unable to allocate memory for new_context" msgstr "" -#: ../newrole/newrole.c:981 +#: ../newrole/newrole.c:1002 #, c-format msgid "Unable to obtain empty signal set\n" msgstr "" -#: ../newrole/newrole.c:989 +#: ../newrole/newrole.c:1010 #, c-format msgid "Unable to set SIGHUP handler\n" msgstr "" -#: ../newrole/newrole.c:1041 +#: ../newrole/newrole.c:1062 msgid "Sorry, newrole failed to drop capabilities\n" msgstr "" -#: ../newrole/newrole.c:1057 +#: ../newrole/newrole.c:1078 #, c-format msgid "Sorry, newrole may be used only on a SELinux kernel.\n" msgstr "" -#: ../newrole/newrole.c:1074 +#: ../newrole/newrole.c:1095 #, c-format msgid "failed to get old_context.\n" msgstr "" -#: ../newrole/newrole.c:1081 +#: ../newrole/newrole.c:1102 #, c-format msgid "Warning! Could not retrieve tty information.\n" msgstr "" -#: ../newrole/newrole.c:1102 +#: ../newrole/newrole.c:1123 #, c-format msgid "error on reading PAM service configuration.\n" msgstr "" -#: ../newrole/newrole.c:1137 +#: ../newrole/newrole.c:1158 #, c-format msgid "newrole: incorrect password for %s\n" msgstr "" -#: ../newrole/newrole.c:1164 +#: ../newrole/newrole.c:1185 #, c-format msgid "newrole: failure forking: %s" msgstr "" -#: ../newrole/newrole.c:1167 ../newrole/newrole.c:1190 +#: ../newrole/newrole.c:1188 ../newrole/newrole.c:1211 #, c-format msgid "Unable to restore tty label...\n" msgstr "" -#: ../newrole/newrole.c:1169 ../newrole/newrole.c:1196 +#: ../newrole/newrole.c:1190 ../newrole/newrole.c:1217 #, c-format msgid "Failed to close tty properly\n" msgstr "" -#: ../newrole/newrole.c:1228 +#: ../newrole/newrole.c:1249 #, c-format msgid "Could not close descriptors.\n" msgstr "" -#: ../newrole/newrole.c:1263 +#: ../newrole/newrole.c:1284 #, c-format msgid "Error allocating shell's argv0.\n" msgstr "" -#: ../newrole/newrole.c:1285 +#: ../newrole/newrole.c:1306 #, c-format msgid "Failed to send audit message" msgstr "" -#: ../newrole/newrole.c:1293 +#: ../newrole/newrole.c:1314 #, c-format msgid "Failed to transition to namespace\n" msgstr "" -#: ../newrole/newrole.c:1299 +#: ../newrole/newrole.c:1320 #, c-format msgid "Failed to drop capabilities %m\n" msgstr "" -#: ../newrole/newrole.c:1304 +#: ../newrole/newrole.c:1325 #, c-format msgid "Unable to restore the environment, aborting\n" msgstr "" -#: ../newrole/newrole.c:1315 +#: ../newrole/newrole.c:1336 msgid "failed to exec shell\n" msgstr "" @@ -1269,171 +1331,171 @@ msgstr "" msgid "%s: Can't load policy: %s\n" msgstr "" -#: ../scripts/chcat:92 ../scripts/chcat:169 +#: ../scripts/chcat:108 ../scripts/chcat:187 msgid "Requires at least one category" msgstr "" -#: ../scripts/chcat:106 ../scripts/chcat:183 +#: ../scripts/chcat:122 ../scripts/chcat:201 #, c-format msgid "Can not modify sensitivity levels using '+' on %s" msgstr "" -#: ../scripts/chcat:110 +#: ../scripts/chcat:126 #, c-format msgid "%s is already in %s" msgstr "" -#: ../scripts/chcat:188 ../scripts/chcat:198 +#: ../scripts/chcat:206 ../scripts/chcat:216 #, c-format msgid "%s is not in %s" msgstr "" -#: ../scripts/chcat:267 ../scripts/chcat:272 +#: ../scripts/chcat:288 ../scripts/chcat:293 msgid "Can not combine +/- with other types of categories" msgstr "" -#: ../scripts/chcat:319 +#: ../scripts/chcat:343 msgid "Can not have multiple sensitivities" msgstr "" -#: ../scripts/chcat:325 +#: ../scripts/chcat:350 #, c-format msgid "Usage %s CATEGORY File ..." msgstr "" -#: ../scripts/chcat:326 +#: ../scripts/chcat:351 #, c-format msgid "Usage %s -l CATEGORY user ..." msgstr "" -#: ../scripts/chcat:327 +#: ../scripts/chcat:352 #, c-format -msgid "Usage %s [[+|-]CATEGORY],...]q File ..." +msgid "Usage %s [[+|-]CATEGORY],...] File ..." msgstr "" -#: ../scripts/chcat:328 +#: ../scripts/chcat:353 #, c-format -msgid "Usage %s -l [[+|-]CATEGORY],...]q user ..." +msgid "Usage %s -l [[+|-]CATEGORY],...] user ..." msgstr "" -#: ../scripts/chcat:329 +#: ../scripts/chcat:354 #, c-format msgid "Usage %s -d File ..." msgstr "" -#: ../scripts/chcat:330 +#: ../scripts/chcat:355 #, c-format msgid "Usage %s -l -d user ..." msgstr "" -#: ../scripts/chcat:331 +#: ../scripts/chcat:356 #, c-format msgid "Usage %s -L" msgstr "" -#: ../scripts/chcat:332 +#: ../scripts/chcat:357 #, c-format msgid "Usage %s -L -l user" msgstr "" -#: ../scripts/chcat:333 +#: ../scripts/chcat:358 msgid "Use -- to end option list. For example" msgstr "" -#: ../scripts/chcat:334 +#: ../scripts/chcat:359 msgid "chcat -- -CompanyConfidential /docs/businessplan.odt" msgstr "" -#: ../scripts/chcat:335 +#: ../scripts/chcat:360 msgid "chcat -l +CompanyConfidential juser" msgstr "" -#: ../scripts/chcat:399 +#: ../scripts/chcat:429 #, c-format msgid "Options Error %s " msgstr "" -#: ../gui/booleansPage.py:194 ../gui/system-config-selinux.glade:1706 +#: ../gui/booleansPage.py:192 ../gui/system-config-selinux.glade:1706 msgid "Boolean" msgstr "" -#: ../gui/booleansPage.py:245 ../gui/semanagePage.py:162 +#: ../gui/booleansPage.py:250 ../gui/semanagePage.py:189 msgid "all" msgstr "" -#: ../gui/booleansPage.py:247 ../gui/semanagePage.py:164 +#: ../gui/booleansPage.py:252 ../gui/semanagePage.py:191 #: ../gui/system-config-selinux.glade:1615 #: ../gui/system-config-selinux.glade:1820 #: ../gui/system-config-selinux.glade:2437 msgid "Customized" msgstr "" -#: ../gui/fcontextPage.py:64 ../gui/system-config-selinux.glade:1911 +#: ../gui/fcontextPage.py:66 ../gui/system-config-selinux.glade:1911 msgid "File Labeling" msgstr "" -#: ../gui/fcontextPage.py:74 +#: ../gui/fcontextPage.py:76 msgid "" "File\n" "Specification" msgstr "" -#: ../gui/fcontextPage.py:81 +#: ../gui/fcontextPage.py:83 msgid "" "Selinux\n" "File Type" msgstr "" -#: ../gui/fcontextPage.py:88 +#: ../gui/fcontextPage.py:90 msgid "" "File\n" "Type" msgstr "" -#: ../gui/loginsPage.py:48 ../gui/system-config-selinux.glade:2098 +#: ../gui/loginsPage.py:47 ../gui/system-config-selinux.glade:2098 msgid "User Mapping" msgstr "" -#: ../gui/loginsPage.py:52 +#: ../gui/loginsPage.py:51 msgid "" "Login\n" "Name" msgstr "" -#: ../gui/loginsPage.py:56 ../gui/usersPage.py:50 +#: ../gui/loginsPage.py:55 ../gui/usersPage.py:49 msgid "" "SELinux\n" "User" msgstr "" -#: ../gui/loginsPage.py:59 ../gui/usersPage.py:55 +#: ../gui/loginsPage.py:58 ../gui/usersPage.py:54 msgid "" "MLS/\n" "MCS Range" msgstr "" -#: ../gui/loginsPage.py:133 +#: ../gui/loginsPage.py:131 #, python-format msgid "Login '%s' is required" msgstr "" -#: ../gui/modulesPage.py:49 ../gui/system-config-selinux.glade:2753 +#: ../gui/modulesPage.py:51 ../gui/system-config-selinux.glade:2753 msgid "Policy Module" msgstr "" -#: ../gui/modulesPage.py:58 -msgid "Module Name" +#: ../gui/modulesPage.py:65 +msgid "Version" msgstr "" -#: ../gui/modulesPage.py:135 +#: ../gui/modulesPage.py:132 msgid "Disable Audit" msgstr "" -#: ../gui/modulesPage.py:138 ../gui/system-config-selinux.glade:2662 +#: ../gui/modulesPage.py:135 ../gui/system-config-selinux.glade:2662 msgid "Enable Audit" msgstr "" -#: ../gui/modulesPage.py:163 +#: ../gui/modulesPage.py:162 msgid "Load Policy Module" msgstr "" @@ -1472,7 +1534,7 @@ msgstr "" msgid "Applications" msgstr "" -#: ../gui/polgen.glade:316 ../sepolicy/sepolicy/generate.py:130 +#: ../gui/polgen.glade:316 ../sepolicy/sepolicy/generate.py:144 msgid "Standard Init Daemon" msgstr "" @@ -1482,7 +1544,7 @@ msgid "" "requires a script in /etc/rc.d/init.d" msgstr "" -#: ../gui/polgen.glade:332 ../sepolicy/sepolicy/generate.py:131 +#: ../gui/polgen.glade:332 ../sepolicy/sepolicy/generate.py:145 msgid "DBUS System Daemon" msgstr "" @@ -1494,7 +1556,7 @@ msgstr "" msgid "Internet Services Daemon are daemons started by xinetd" msgstr "" -#: ../gui/polgen.glade:366 ../sepolicy/sepolicy/generate.py:133 +#: ../gui/polgen.glade:366 ../sepolicy/sepolicy/generate.py:147 msgid "Web Application/Script (CGI)" msgstr "" @@ -1503,7 +1565,7 @@ msgid "" "Web Applications/Script (CGI) CGI scripts started by the web server (apache)" msgstr "" -#: ../gui/polgen.glade:383 ../sepolicy/sepolicy/generate.py:135 +#: ../gui/polgen.glade:383 ../sepolicy/sepolicy/generate.py:149 msgid "User Application" msgstr "" @@ -1513,7 +1575,7 @@ msgid "" "started by a user" msgstr "" -#: ../gui/polgen.glade:400 ../sepolicy/sepolicy/generate.py:134 +#: ../gui/polgen.glade:400 ../sepolicy/sepolicy/generate.py:148 msgid "Sandbox" msgstr "" @@ -1588,8 +1650,8 @@ msgstr "" msgid "Enter name of application or user role:" msgstr "" -#: ../gui/polgen.glade:728 ../gui/polgengui.py:272 -#: ../sepolicy/sepolicy/sepolicy.glade:2182 +#: ../gui/polgen.glade:728 ../gui/polgengui.py:260 +#: ../sepolicy/sepolicy/sepolicy.glade:2183 msgid "Name" msgstr "" @@ -1673,7 +1735,7 @@ msgid "TCP Ports" msgstr "" #: ../gui/polgen.glade:1223 ../gui/polgen.glade:1390 ../gui/polgen.glade:1589 -#: ../gui/polgen.glade:1698 ../sepolicy/sepolicy/sepolicy.glade:4314 +#: ../gui/polgen.glade:1698 msgid "All" msgstr "" @@ -1804,105 +1866,105 @@ msgstr "" msgid "Policy Directory" msgstr "" -#: ../gui/polgengui.py:282 +#: ../gui/polgengui.py:270 msgid "Role" msgstr "" -#: ../gui/polgengui.py:289 +#: ../gui/polgengui.py:277 msgid "Existing_User" msgstr "" -#: ../gui/polgengui.py:303 ../gui/polgengui.py:311 ../gui/polgengui.py:325 +#: ../gui/polgengui.py:291 ../gui/polgengui.py:299 ../gui/polgengui.py:313 msgid "Application" msgstr "" -#: ../gui/polgengui.py:370 +#: ../gui/polgengui.py:358 #, python-format msgid "%s must be a directory" msgstr "" -#: ../gui/polgengui.py:430 ../gui/polgengui.py:711 +#: ../gui/polgengui.py:418 ../gui/polgengui.py:699 msgid "You must select a user" msgstr "" -#: ../gui/polgengui.py:560 +#: ../gui/polgengui.py:548 msgid "Select executable file to be confined." msgstr "" -#: ../gui/polgengui.py:571 +#: ../gui/polgengui.py:559 msgid "Select init script file to be confined." msgstr "" -#: ../gui/polgengui.py:581 +#: ../gui/polgengui.py:569 msgid "Select file(s) that confined application creates or writes" msgstr "" -#: ../gui/polgengui.py:588 +#: ../gui/polgengui.py:576 msgid "Select directory(s) that the confined application owns and writes into" msgstr "" -#: ../gui/polgengui.py:650 +#: ../gui/polgengui.py:638 msgid "Select directory to generate policy files in" msgstr "" -#: ../gui/polgengui.py:667 +#: ../gui/polgengui.py:655 #, python-format msgid "" "Type %s_t already defined in current policy.\n" "Do you want to continue?" msgstr "" -#: ../gui/polgengui.py:667 ../gui/polgengui.py:671 +#: ../gui/polgengui.py:655 ../gui/polgengui.py:659 msgid "Verify Name" msgstr "" -#: ../gui/polgengui.py:671 +#: ../gui/polgengui.py:659 #, python-format msgid "" -"Module %s.pp already loaded in current policy.\n" +"Module %s already loaded in current policy.\n" "Do you want to continue?" msgstr "" -#: ../gui/polgengui.py:717 +#: ../gui/polgengui.py:705 msgid "" "You must add a name made up of letters and numbers and containing no spaces." msgstr "" -#: ../gui/polgengui.py:731 +#: ../gui/polgengui.py:719 msgid "You must enter a executable" msgstr "" -#: ../gui/polgengui.py:756 ../gui/system-config-selinux.py:180 +#: ../gui/polgengui.py:744 ../gui/system-config-selinux.py:181 msgid "Configue SELinux" msgstr "" -#: ../gui/portsPage.py:51 ../gui/system-config-selinux.glade:2528 +#: ../gui/portsPage.py:50 ../gui/system-config-selinux.glade:2528 msgid "Network Port" msgstr "" -#: ../gui/portsPage.py:85 +#: ../gui/portsPage.py:84 msgid "" "SELinux Port\n" "Type" msgstr "" -#: ../gui/portsPage.py:91 ../gui/system-config-selinux.glade:363 -#: ../sepolicy/sepolicy/sepolicy.glade:1443 -#: ../sepolicy/sepolicy/sepolicy.glade:2657 -#: ../sepolicy/sepolicy/sepolicy.glade:2755 -#: ../sepolicy/sepolicy/sepolicy.glade:4672 +#: ../gui/portsPage.py:90 ../gui/system-config-selinux.glade:363 +#: ../sepolicy/sepolicy/sepolicy.glade:1439 +#: ../sepolicy/sepolicy/sepolicy.glade:2658 +#: ../sepolicy/sepolicy/sepolicy.glade:2756 +#: ../sepolicy/sepolicy/sepolicy.glade:4633 msgid "Protocol" msgstr "" -#: ../gui/portsPage.py:96 ../gui/system-config-selinux.glade:479 +#: ../gui/portsPage.py:95 ../gui/system-config-selinux.glade:479 msgid "" "MLS/MCS\n" "Level" msgstr "" -#: ../gui/portsPage.py:101 ../sepolicy/sepolicy/sepolicy.glade:2638 -#: ../sepolicy/sepolicy/sepolicy.glade:2737 -#: ../sepolicy/sepolicy/sepolicy.glade:4658 +#: ../gui/portsPage.py:100 ../sepolicy/sepolicy/sepolicy.glade:2639 +#: ../sepolicy/sepolicy/sepolicy.glade:2738 +#: ../sepolicy/sepolicy/sepolicy.glade:4619 msgid "Port" msgstr "" @@ -1911,58 +1973,58 @@ msgstr "" msgid "Port number \"%s\" is not valid. 0 < PORT_NUMBER < 65536 " msgstr "" -#: ../gui/portsPage.py:252 +#: ../gui/portsPage.py:260 msgid "List View" msgstr "" -#: ../gui/portsPage.py:255 ../gui/system-config-selinux.glade:2419 +#: ../gui/portsPage.py:263 ../gui/system-config-selinux.glade:2419 msgid "Group View" msgstr "" -#: ../gui/semanagePage.py:126 +#: ../gui/semanagePage.py:129 #, python-format msgid "Are you sure you want to delete %s '%s'?" msgstr "" -#: ../gui/semanagePage.py:126 +#: ../gui/semanagePage.py:129 #, python-format msgid "Delete %s" msgstr "" -#: ../gui/semanagePage.py:134 +#: ../gui/semanagePage.py:161 #, python-format msgid "Add %s" msgstr "" -#: ../gui/semanagePage.py:148 +#: ../gui/semanagePage.py:175 #, python-format msgid "Modify %s" msgstr "" -#: ../gui/statusPage.py:69 ../gui/system-config-selinux.glade:2819 -#: ../sepolicy/sepolicy/sepolicy.glade:3413 -#: ../sepolicy/sepolicy/sepolicy.glade:3486 +#: ../gui/statusPage.py:67 ../gui/system-config-selinux.glade:2819 +#: ../sepolicy/sepolicy/sepolicy.glade:3414 +#: ../sepolicy/sepolicy/sepolicy.glade:3487 msgid "Permissive" msgstr "" -#: ../gui/statusPage.py:70 ../gui/system-config-selinux.glade:2837 -#: ../sepolicy/sepolicy/sepolicy.glade:3394 -#: ../sepolicy/sepolicy/sepolicy.glade:3468 +#: ../gui/statusPage.py:68 ../gui/system-config-selinux.glade:2837 +#: ../sepolicy/sepolicy/sepolicy.glade:3395 +#: ../sepolicy/sepolicy/sepolicy.glade:3469 msgid "Enforcing" msgstr "" -#: ../gui/statusPage.py:94 +#: ../gui/statusPage.py:92 msgid "Status" msgstr "" -#: ../gui/statusPage.py:133 ../sepolicy/sepolicy/gui.py:2619 +#: ../gui/statusPage.py:131 ../sepolicy/sepolicy/gui.py:2627 msgid "" "Changing the policy type will cause a relabel of the entire file system on " "the next boot. Relabeling takes a long time depending on the size of the " "file system. Do you wish to continue?" msgstr "" -#: ../gui/statusPage.py:147 +#: ../gui/statusPage.py:145 msgid "" "Changing to SELinux disabled requires a reboot. It is not recommended. If " "you later decide to turn SELinux back on, the system will be required to " @@ -1972,7 +2034,7 @@ msgid "" "wish to continue?" msgstr "" -#: ../gui/statusPage.py:152 ../sepolicy/sepolicy/gui.py:2753 +#: ../gui/statusPage.py:150 ../sepolicy/sepolicy/gui.py:2767 msgid "" "Changing to SELinux enabled will cause a relabel of the entire file system " "on the next boot. Relabeling takes a long time depending on the size of the " @@ -2018,14 +2080,14 @@ msgid "" "directory\n" "character device\n" "block device\n" -"socket\n" +"socket file\n" "symbolic link\n" "named pipe\n" msgstr "" #: ../gui/system-config-selinux.glade:773 -#: ../sepolicy/sepolicy/sepolicy.glade:729 -#: ../sepolicy/sepolicy/sepolicy.glade:1489 +#: ../sepolicy/sepolicy/sepolicy.glade:711 +#: ../sepolicy/sepolicy/sepolicy.glade:1485 msgid "MLS" msgstr "" @@ -2038,7 +2100,7 @@ msgid "SELinux Administration" msgstr "" #: ../gui/system-config-selinux.glade:1122 -#: ../sepolicy/sepolicy/sepolicy.glade:4162 +#: ../sepolicy/sepolicy/sepolicy.glade:4163 msgid "Add" msgstr "" @@ -2108,7 +2170,7 @@ msgstr "" #: ../gui/system-config-selinux.glade:2467 #: ../gui/system-config-selinux.glade:2692 #: ../gui/system-config-selinux.glade:2867 -#: ../sepolicy/sepolicy/sepolicy.glade:1992 +#: ../sepolicy/sepolicy/sepolicy.glade:1993 msgid "Filter" msgstr "" @@ -2227,7 +2289,7 @@ msgstr "" msgid "label59" msgstr "" -#: ../gui/usersPage.py:138 +#: ../gui/usersPage.py:142 #, python-format msgid "SELinux user '%s' is required" msgstr "" @@ -2239,13 +2301,14 @@ msgstr "" #: booleans.py:2 msgid "" -"Allow ABRT to run in abrt_handle_event_t domain to handle ABRT event scripts" +"Determine whether ABRT can run in the abrt_handle_event_t domain to handle " +"ABRT event scripts." msgstr "" #: booleans.py:3 msgid "" -"Allow abrt-handle-upload to modify public files used for public file " -"transfer services in /var/spool/abrt-upload/." +"Determine whether abrt-handle-upload can modify public files used for public " +"file transfer services in /var/spool/abrt-upload/." msgstr "" #: booleans.py:4 @@ -2271,7 +2334,8 @@ msgid "Allow users to login using a radius server" msgstr "" #: booleans.py:9 -msgid "Allow users to login using a yubikey server" +msgid "" +"Allow users to login using a yubikey OTP server or challenge response mode" msgstr "" #: booleans.py:10 @@ -2279,7 +2343,7 @@ msgid "Determine whether awstats can purge httpd log files." msgstr "" #: booleans.py:11 -msgid "Allow boinc_domain execmem/execstack." +msgid "Determine whether boinc can execmem/execstack." msgstr "" #: booleans.py:12 @@ -2330,1472 +2394,1620 @@ msgid "Determine whether Condor can connect to the network using TCP." msgstr "" #: booleans.py:22 -msgid "" -"Allow system cron jobs to relabel filesystem for restoring file contexts." +msgid "Determine whether conman can connect to all TCP ports" msgstr "" #: booleans.py:23 -msgid "Determine whether cvs can read shadow password files." +msgid "" +"Allow system cron jobs to relabel filesystem for restoring file contexts." msgstr "" #: booleans.py:24 -msgid "Allow all daemons to write corefiles to /" +msgid "Allow system cronjob to be executed on on NFS, CIFS or FUSE filesystem." msgstr "" #: booleans.py:25 -msgid "Allow all daemons to use tcp wrappers." +msgid "" +"Determine whether crond can execute jobs in the user domain as opposed to " +"the the generic cronjob domain." msgstr "" #: booleans.py:26 -msgid "Allow all daemons the ability to read/write terminals" +msgid "Allow cups execmem/execstack" msgstr "" #: booleans.py:27 -msgid "Determine whether dbadm can manage generic user files." +msgid "Determine whether cvs can read shadow password files." msgstr "" #: booleans.py:28 -msgid "Determine whether dbadm can read generic user files." +msgid "Allow all daemons to write corefiles to /" msgstr "" #: booleans.py:29 -msgid "" -"Deny user domains applications to map a memory region as both executable and " -"writable, this is dangerous and the executable should be reported in bugzilla" +msgid "Enable cluster mode for daemons." msgstr "" #: booleans.py:30 -msgid "Deny any process from ptracing or debugging any other processes." +msgid "Allow all daemons to use tcp wrappers." msgstr "" #: booleans.py:31 -msgid "Allow dhcpc client applications to execute iptables commands" +msgid "Allow all daemons the ability to read/write terminals" msgstr "" #: booleans.py:32 -msgid "Determine whether DHCP daemon can use LDAP backends." +msgid "Allow dbadm to exec content" msgstr "" #: booleans.py:33 -msgid "Allow all domains to use other domains file descriptors" +msgid "Determine whether dbadm can manage generic user files." msgstr "" #: booleans.py:34 -msgid "Allow all domains to have the kernel load modules" +msgid "Determine whether dbadm can read generic user files." msgstr "" #: booleans.py:35 msgid "" -"Determine whether entropyd can use audio devices as the source for the " -"entropy feeds." +"Deny user domains applications to map a memory region as both executable and " +"writable, this is dangerous and the executable should be reported in bugzilla" msgstr "" #: booleans.py:36 -msgid "Determine whether exim can connect to databases." +msgid "Deny any process from ptracing or debugging any other processes." msgstr "" #: booleans.py:37 -msgid "" -"Determine whether exim can create, read, write, and delete generic user " -"content files." +msgid "Allow dhcpc client applications to execute iptables commands" msgstr "" #: booleans.py:38 -msgid "Determine whether exim can read generic user content files." +msgid "Determine whether DHCP daemon can use LDAP backends." msgstr "" #: booleans.py:39 -msgid "Enable extra rules in the cron domain to support fcron." +msgid "Determine whether docker can connect to all TCP ports." msgstr "" #: booleans.py:40 -msgid "Determine whether fenced can connect to the TCP network." +msgid "Allow all domains to use other domains file descriptors" msgstr "" #: booleans.py:41 -msgid "Determine whether fenced can use ssh." +msgid "Allow all domains to have the kernel load modules" msgstr "" #: booleans.py:42 -msgid "Allow all domains to execute in fips_mode" +msgid "" +"Determine whether entropyd can use audio devices as the source for the " +"entropy feeds." msgstr "" #: booleans.py:43 -msgid "" -"Determine whether ftpd can read and write files in user home directories." +msgid "Determine whether exim can connect to databases." msgstr "" #: booleans.py:44 msgid "" -"Determine whether ftpd can modify public files used for public file transfer " -"services. Directories/Files must be labeled public_content_rw_t." +"Determine whether exim can create, read, write, and delete generic user " +"content files." msgstr "" #: booleans.py:45 -msgid "Determine whether ftpd can connect to all unreserved ports." +msgid "Determine whether exim can read generic user content files." msgstr "" #: booleans.py:46 -msgid "Determine whether ftpd can connect to databases over the TCP network." +msgid "Enable extra rules in the cron domain to support fcron." msgstr "" #: booleans.py:47 -msgid "" -"Determine whether ftpd can login to local users and can read and write all " -"files on the system, governed by DAC." +msgid "Determine whether fenced can connect to the TCP network." msgstr "" #: booleans.py:48 -msgid "" -"Determine whether ftpd can use CIFS used for public file transfer services." +msgid "Determine whether fenced can use ssh." msgstr "" #: booleans.py:49 -msgid "Allow ftpd to use ntfs/fusefs volumes." +msgid "Allow all domains to execute in fips_mode" msgstr "" #: booleans.py:50 msgid "" -"Determine whether ftpd can use NFS used for public file transfer services." +"Determine whether ftpd can modify public files used for public file transfer " +"services. Directories/Files must be labeled public_content_rw_t." msgstr "" #: booleans.py:51 -msgid "" -"Determine whether ftpd can bind to all unreserved ports for passive mode." +msgid "Determine whether ftpd can connect to all unreserved ports." msgstr "" #: booleans.py:52 -msgid "Determine whether Git CGI can search home directories." +msgid "Determine whether ftpd can connect to databases over the TCP network." msgstr "" #: booleans.py:53 -msgid "Determine whether Git CGI can access cifs file systems." +msgid "" +"Determine whether ftpd can login to local users and can read and write all " +"files on the system, governed by DAC." msgstr "" #: booleans.py:54 -msgid "Determine whether Git CGI can access nfs file systems." +msgid "" +"Determine whether ftpd can use CIFS used for public file transfer services." msgstr "" #: booleans.py:55 -msgid "" -"Determine whether Git session daemon can bind TCP sockets to all unreserved " -"ports." +msgid "Allow ftpd to use ntfs/fusefs volumes." msgstr "" #: booleans.py:56 msgid "" -"Determine whether calling user domains can execute Git daemon in the " -"git_session_t domain." +"Determine whether ftpd can use NFS used for public file transfer services." msgstr "" #: booleans.py:57 -msgid "Determine whether Git system daemon can search home directories." +msgid "" +"Determine whether ftpd can bind to all unreserved ports for passive mode." msgstr "" #: booleans.py:58 -msgid "Determine whether Git system daemon can access cifs file systems." +msgid "Determine whether Git CGI can search home directories." msgstr "" #: booleans.py:59 -msgid "Determine whether Git system daemon can access nfs file systems." +msgid "Determine whether Git CGI can access cifs file systems." msgstr "" #: booleans.py:60 -msgid "Determine whether Gitosis can send mail." +msgid "Determine whether Git CGI can access nfs file systems." msgstr "" #: booleans.py:61 -msgid "Enable reading of urandom for all domains." +msgid "" +"Determine whether Git session daemon can bind TCP sockets to all unreserved " +"ports." msgstr "" #: booleans.py:62 msgid "" -"Allow glusterfsd to modify public files used for public file transfer " -"services. Files/Directories must be labeled public_content_rw_t." +"Determine whether calling user domains can execute Git daemon in the " +"git_session_t domain." msgstr "" #: booleans.py:63 -msgid "Allow glusterfsd to share any file/directory read only." +msgid "Determine whether Git system daemon can search home directories." msgstr "" #: booleans.py:64 -msgid "Allow glusterfsd to share any file/directory read/write." +msgid "Determine whether Git system daemon can access cifs file systems." msgstr "" #: booleans.py:65 -msgid "" -"Allow usage of the gpg-agent --write-env-file option. This also allows gpg-" -"agent to manage user files." +msgid "Determine whether Git system daemon can access nfs file systems." msgstr "" #: booleans.py:66 -msgid "" -"Allow gpg web domain to modify public files used for public file transfer " -"services." +msgid "Determine whether Gitosis can send mail." msgstr "" #: booleans.py:67 -msgid "" -"Allow gssd to list tmp directories and read the kerberos credential cache." +msgid "Determine whether glance-api can connect to all TCP ports" msgstr "" #: booleans.py:68 -msgid "Allow guest to exec content" +msgid "Allow glance domain to use executable memory and executable stack" msgstr "" #: booleans.py:69 -msgid "" -"Allow Apache to modify public files used for public file transfer services. " -"Directories/Files must be labeled public_content_rw_t." +msgid "Allow glance domain to manage fuse files" msgstr "" #: booleans.py:70 -msgid "Allow httpd to use built in scripting (usually php)" +msgid "Enable reading of urandom for all domains." msgstr "" #: booleans.py:71 -msgid "Allow http daemon to check spam" +msgid "" +"Allow glusterfsd to modify public files used for public file transfer " +"services. Files/Directories must be labeled public_content_rw_t." msgstr "" #: booleans.py:72 -msgid "" -"Allow httpd to act as a FTP client connecting to the ftp port and ephemeral " -"ports" +msgid "Allow glusterfsd to share any file/directory read only." msgstr "" #: booleans.py:73 -msgid "Allow httpd to connect to the ldap port" +msgid "Allow glusterfsd to share any file/directory read/write." msgstr "" #: booleans.py:74 -msgid "Allow http daemon to connect to mythtv" +msgid "" +"Allow gpg web domain to modify public files used for public file transfer " +"services." msgstr "" #: booleans.py:75 -msgid "Allow http daemon to connect to zabbix" +msgid "" +"Allow gssd to list tmp directories and read the kerberos credential cache." msgstr "" #: booleans.py:76 -msgid "Allow HTTPD scripts and modules to connect to the network using TCP." +msgid "Allow guest to exec content" msgstr "" #: booleans.py:77 -msgid "Allow HTTPD scripts and modules to connect to cobbler over the network." +msgid "Determine whether haproxy can connect to all TCP ports." msgstr "" #: booleans.py:78 msgid "" -"Allow HTTPD scripts and modules to connect to databases over the network." +"Allow Apache to modify public files used for public file transfer services. " +"Directories/Files must be labeled public_content_rw_t." msgstr "" #: booleans.py:79 -msgid "Allow httpd to connect to memcache server" +msgid "Allow httpd to use built in scripting (usually php)" msgstr "" #: booleans.py:80 -msgid "Allow httpd to act as a relay" +msgid "Allow http daemon to check spam" msgstr "" #: booleans.py:81 -msgid "Allow http daemon to send mail" +msgid "" +"Allow httpd to act as a FTP client connecting to the ftp port and ephemeral " +"ports" msgstr "" #: booleans.py:82 -msgid "Allow Apache to communicate with avahi service via dbus" +msgid "Allow httpd to connect to the ldap port" msgstr "" #: booleans.py:83 -msgid "Allow httpd cgi support" +msgid "Allow http daemon to connect to mythtv" msgstr "" #: booleans.py:84 -msgid "Allow httpd to act as a FTP server by listening on the ftp port." +msgid "Allow http daemon to connect to zabbix" msgstr "" #: booleans.py:85 -msgid "Allow httpd to read home directories" +msgid "Allow HTTPD scripts and modules to connect to the network using TCP." msgstr "" #: booleans.py:86 -msgid "Allow httpd scripts and modules execmem/execstack" +msgid "Allow HTTPD scripts and modules to connect to cobbler over the network." msgstr "" #: booleans.py:87 -msgid "Allow HTTPD to connect to port 80 for graceful shutdown" +msgid "" +"Allow HTTPD scripts and modules to connect to databases over the network." msgstr "" #: booleans.py:88 -msgid "Allow httpd processes to manage IPA content" +msgid "Allow httpd to connect to memcache server" msgstr "" #: booleans.py:89 -msgid "Allow Apache to use mod_auth_ntlm_winbind" +msgid "Allow httpd to act as a relay" msgstr "" #: booleans.py:90 -msgid "Allow Apache to use mod_auth_pam" +msgid "Allow http daemon to send mail" msgstr "" #: booleans.py:91 -msgid "Allow httpd to read user content" +msgid "Allow Apache to communicate with avahi service via dbus" msgstr "" #: booleans.py:92 -msgid "Allow Apache to run in stickshift mode, not transition to passenger" +msgid "Allow Apache to communicate with sssd service via dbus" msgstr "" #: booleans.py:93 -msgid "Allow HTTPD scripts and modules to server cobbler files." +msgid "Dontaudit Apache to search dirs." msgstr "" #: booleans.py:94 -msgid "Allow httpd daemon to change its resource limits" +msgid "Allow httpd cgi support" msgstr "" #: booleans.py:95 -msgid "" -"Allow HTTPD to run SSI executables in the same domain as system CGI scripts." +msgid "Allow httpd to act as a FTP server by listening on the ftp port." msgstr "" #: booleans.py:96 -msgid "" -"Allow apache scripts to write to public content, directories/files must be " -"labeled public_rw_content_t." +msgid "Allow httpd to read home directories" msgstr "" #: booleans.py:97 -msgid "Allow Apache to execute tmp content." +msgid "Allow httpd scripts and modules execmem/execstack" msgstr "" #: booleans.py:98 -msgid "" -"Unify HTTPD to communicate with the terminal. Needed for entering the " -"passphrase for certificates at the terminal." +msgid "Allow HTTPD to connect to port 80 for graceful shutdown" msgstr "" #: booleans.py:99 -msgid "Unify HTTPD handling of all content files." +msgid "Allow httpd processes to manage IPA content" msgstr "" #: booleans.py:100 -msgid "Allow httpd to access cifs file systems" +msgid "Allow Apache to use mod_auth_ntlm_winbind" msgstr "" #: booleans.py:101 -msgid "Allow httpd to access FUSE file systems" +msgid "Allow Apache to use mod_auth_pam" msgstr "" #: booleans.py:102 -msgid "Allow httpd to run gpg" +msgid "Allow httpd to read user content" msgstr "" #: booleans.py:103 -msgid "Allow httpd to access nfs file systems" +msgid "Allow httpd processes to run IPA helper." msgstr "" #: booleans.py:104 -msgid "Allow httpd to access openstack ports" +msgid "Allow Apache to run preupgrade" msgstr "" #: booleans.py:105 -msgid "Allow httpd to connect to sasl" +msgid "Allow Apache to run in stickshift mode, not transition to passenger" msgstr "" #: booleans.py:106 -msgid "Allow Apache to query NS records" +msgid "Allow HTTPD scripts and modules to server cobbler files." msgstr "" #: booleans.py:107 -msgid "Determine whether icecast can listen on and connect to any TCP port." +msgid "Allow httpd daemon to change its resource limits" msgstr "" #: booleans.py:108 msgid "" +"Allow HTTPD to run SSI executables in the same domain as system CGI scripts." +msgstr "" + +#: booleans.py:109 +msgid "" +"Allow apache scripts to write to public content, directories/files must be " +"labeled public_rw_content_t." +msgstr "" + +#: booleans.py:110 +msgid "Allow Apache to execute tmp content." +msgstr "" + +#: booleans.py:111 +msgid "" +"Unify HTTPD to communicate with the terminal. Needed for entering the " +"passphrase for certificates at the terminal." +msgstr "" + +#: booleans.py:112 +msgid "Unify HTTPD handling of all content files." +msgstr "" + +#: booleans.py:113 +msgid "Allow httpd to access cifs file systems" +msgstr "" + +#: booleans.py:114 +msgid "Allow httpd to access FUSE file systems" +msgstr "" + +#: booleans.py:115 +msgid "Allow httpd to run gpg" +msgstr "" + +#: booleans.py:116 +msgid "Allow httpd to access nfs file systems" +msgstr "" + +#: booleans.py:117 +msgid "Allow httpd to access openstack ports" +msgstr "" + +#: booleans.py:118 +msgid "Allow httpd to connect to sasl" +msgstr "" + +#: booleans.py:119 +msgid "Allow Apache to query NS records" +msgstr "" + +#: booleans.py:120 +msgid "Determine whether icecast can listen on and connect to any TCP port." +msgstr "" + +#: booleans.py:121 +msgid "" "Determine whether irc clients can listen on and connect to any unreserved " "TCP ports." msgstr "" -#: booleans.py:109 +#: booleans.py:122 msgid "" "Allow the Irssi IRC Client to connect to any port, and to bind to any " "unreserved port." msgstr "" -#: booleans.py:110 +#: booleans.py:123 +msgid "Allow s-c-kdump to run bootloader in bootloader_t." +msgstr "" + +#: booleans.py:124 msgid "Allow confined applications to run with kerberos." msgstr "" -#: booleans.py:111 +#: booleans.py:125 msgid "Allow ksmtuned to use cifs/Samba file systems" msgstr "" -#: booleans.py:112 +#: booleans.py:126 msgid "Allow ksmtuned to use nfs file systems" msgstr "" -#: booleans.py:113 +#: booleans.py:127 +msgid "Allow logadm to exec content" +msgstr "" + +#: booleans.py:128 msgid "Allow syslogd daemon to send mail" msgstr "" -#: booleans.py:114 +#: booleans.py:129 +msgid "" +"Allow syslogd the ability to call nagios plugins. It is turned on by omprog " +"rsyslog plugin." +msgstr "" + +#: booleans.py:130 msgid "Allow syslogd the ability to read/write terminals" msgstr "" -#: booleans.py:115 +#: booleans.py:131 msgid "Allow logging in and using the system from /dev/console." msgstr "" -#: booleans.py:116 -msgid "Allow epylog to send mail" +#: booleans.py:132 +msgid "Allow logrotate to read logs inside" msgstr "" -#: booleans.py:117 +#: booleans.py:133 +msgid "Allow logrotate to manage nfs files" +msgstr "" + +#: booleans.py:134 +msgid "Determine whether logwatch can connect to mail over the network." +msgstr "" + +#: booleans.py:135 +msgid "Determine whether lsmd_plugin can connect to all TCP ports." +msgstr "" + +#: booleans.py:136 msgid "Allow mailman to access FUSE file systems" msgstr "" -#: booleans.py:118 +#: booleans.py:137 msgid "Determine whether mcelog supports client mode." msgstr "" -#: booleans.py:119 +#: booleans.py:138 msgid "Determine whether mcelog can execute scripts." msgstr "" -#: booleans.py:120 +#: booleans.py:139 msgid "Determine whether mcelog can use all the user ttys." msgstr "" -#: booleans.py:121 +#: booleans.py:140 msgid "Determine whether mcelog supports server mode." msgstr "" -#: booleans.py:122 +#: booleans.py:141 +msgid "Determine whether minidlna can read generic user content." +msgstr "" + +#: booleans.py:142 msgid "" "Control the ability to mmap a low area of the address space, as configured " -"by /proc/sys/kernel/mmap_min_addr." +"by /proc/sys/vm/mmap_min_addr." msgstr "" -#: booleans.py:123 +#: booleans.py:143 msgid "Allow mock to read files in home directories." msgstr "" -#: booleans.py:124 +#: booleans.py:144 msgid "Allow the mount commands to mount any directory or file." msgstr "" -#: booleans.py:125 +#: booleans.py:145 +msgid "Allow mozilla plugin domain to bind unreserved tcp/udp ports." +msgstr "" + +#: booleans.py:146 msgid "Allow mozilla plugin domain to connect to the network using TCP." msgstr "" -#: booleans.py:126 +#: booleans.py:147 +msgid "Allow mozilla plugin to use Bluejeans." +msgstr "" + +#: booleans.py:148 msgid "Allow mozilla plugin to support GPS." msgstr "" -#: booleans.py:127 +#: booleans.py:149 msgid "Allow mozilla plugin to support spice protocols." msgstr "" -#: booleans.py:128 +#: booleans.py:150 msgid "Allow confined web browsers to read home directory content" msgstr "" -#: booleans.py:129 +#: booleans.py:151 msgid "Determine whether mpd can traverse user home directories." msgstr "" -#: booleans.py:130 +#: booleans.py:152 msgid "Determine whether mpd can use cifs file systems." msgstr "" -#: booleans.py:131 +#: booleans.py:153 msgid "Determine whether mpd can use nfs file systems." msgstr "" -#: booleans.py:132 +#: booleans.py:154 msgid "Determine whether mplayer can make its stack executable." msgstr "" -#: booleans.py:133 +#: booleans.py:155 msgid "Allow mysqld to connect to all ports" msgstr "" -#: booleans.py:134 +#: booleans.py:156 +msgid "Allow nagios run in conjunction with PNP4Nagios." +msgstr "" + +#: booleans.py:157 +msgid "Allow nagios/nrpe to call sudo from NRPE utils scripts." +msgstr "" + +#: booleans.py:158 msgid "Determine whether Bind can bind tcp socket to http ports." msgstr "" -#: booleans.py:135 +#: booleans.py:159 msgid "" "Determine whether Bind can write to master zone files. Generally this is " "used for dynamic DNS or zone transfers." msgstr "" -#: booleans.py:136 +#: booleans.py:160 +msgid "Determine whether neutron can connect to all TCP ports" +msgstr "" + +#: booleans.py:161 msgid "Allow any files/directories to be exported read/only via NFS." msgstr "" -#: booleans.py:137 +#: booleans.py:162 msgid "Allow any files/directories to be exported read/write via NFS." msgstr "" -#: booleans.py:138 +#: booleans.py:163 msgid "" "Allow nfs servers to modify public files used for public file transfer " "services. Files/Directories must be labeled public_content_rw_t." msgstr "" -#: booleans.py:139 +#: booleans.py:164 msgid "Allow system to run with NIS" msgstr "" -#: booleans.py:140 +#: booleans.py:165 msgid "Allow confined applications to use nscd shared memory." msgstr "" -#: booleans.py:141 -msgid "Allow openshift to lockdown app" +#: booleans.py:166 +msgid "Allow openshift to access nfs file systems without labels" msgstr "" -#: booleans.py:142 +#: booleans.py:167 msgid "Determine whether openvpn can connect to the TCP network." msgstr "" -#: booleans.py:143 +#: booleans.py:168 msgid "Determine whether openvpn can read generic user home content files." msgstr "" -#: booleans.py:144 +#: booleans.py:169 msgid "Allow openvpn to run unconfined scripts" msgstr "" -#: booleans.py:145 +#: booleans.py:170 +msgid "Allow pcp to bind to all unreserved_ports" +msgstr "" + +#: booleans.py:171 +msgid "Allow pcp to read generic logs" +msgstr "" + +#: booleans.py:172 msgid "Allow piranha-lvs domain to connect to the network using TCP." msgstr "" -#: booleans.py:146 +#: booleans.py:173 msgid "Allow polipo to connect to all ports > 1023" msgstr "" -#: booleans.py:147 +#: booleans.py:174 msgid "" "Determine whether Polipo session daemon can bind tcp sockets to all " "unreserved ports." msgstr "" -#: booleans.py:148 +#: booleans.py:175 msgid "" "Determine whether calling user domains can execute Polipo daemon in the " "polipo_session_t domain." msgstr "" -#: booleans.py:149 +#: booleans.py:176 msgid "Determine whether polipo can access cifs file systems." msgstr "" -#: booleans.py:150 +#: booleans.py:177 msgid "Determine whether Polipo can access nfs file systems." msgstr "" -#: booleans.py:151 +#: booleans.py:178 msgid "Enable polyinstantiated directory support." msgstr "" -#: booleans.py:152 +#: booleans.py:179 msgid "Allow postfix_local domain full write access to mail_spool directories" msgstr "" -#: booleans.py:153 +#: booleans.py:180 msgid "Allow postgresql to use ssh and rsync for point-in-time recovery" msgstr "" -#: booleans.py:154 +#: booleans.py:181 msgid "Allow transmit client label to foreign database" msgstr "" -#: booleans.py:155 +#: booleans.py:182 msgid "Allow database admins to execute DML statement" msgstr "" -#: booleans.py:156 +#: booleans.py:183 msgid "Allow unprivileged users to execute DDL statement" msgstr "" -#: booleans.py:157 +#: booleans.py:184 msgid "Allow pppd to load kernel modules for certain modems" msgstr "" -#: booleans.py:158 +#: booleans.py:185 msgid "Allow pppd to be run for a regular user" msgstr "" -#: booleans.py:159 +#: booleans.py:186 msgid "Determine whether privoxy can connect to all tcp ports." msgstr "" -#: booleans.py:160 +#: booleans.py:187 msgid "" "Permit to prosody to bind apache port. Need to be activated to use BOSH." msgstr "" -#: booleans.py:161 +#: booleans.py:188 msgid "Allow Puppet client to manage all file types." msgstr "" -#: booleans.py:162 +#: booleans.py:189 msgid "Allow Puppet master to use connect to MySQL and PostgreSQL database" msgstr "" -#: booleans.py:163 +#: booleans.py:190 msgid "Allow racoon to read shadow" msgstr "" -#: booleans.py:164 +#: booleans.py:191 +msgid "Allow rpcd_t to manage fuse files" +msgstr "" + +#: booleans.py:192 msgid "" "Allow rsync to modify public files used for public file transfer services. " "Files/Directories must be labeled public_content_rw_t." msgstr "" -#: booleans.py:165 +#: booleans.py:193 msgid "Allow rsync to run as a client" msgstr "" -#: booleans.py:166 +#: booleans.py:194 msgid "Allow rsync to export any files/directories read only." msgstr "" -#: booleans.py:167 +#: booleans.py:195 msgid "Allow rsync server to manage all files/directories on the system." msgstr "" -#: booleans.py:168 +#: booleans.py:196 msgid "Allow samba to create new home directories (e.g. via PAM)" msgstr "" -#: booleans.py:169 +#: booleans.py:197 msgid "" "Allow samba to act as the domain controller, add users, groups and change " "passwords." msgstr "" -#: booleans.py:170 +#: booleans.py:198 msgid "Allow samba to share users home directories." msgstr "" -#: booleans.py:171 +#: booleans.py:199 msgid "Allow samba to share any file/directory read only." msgstr "" -#: booleans.py:172 +#: booleans.py:200 msgid "Allow samba to share any file/directory read/write." msgstr "" -#: booleans.py:173 +#: booleans.py:201 +msgid "Allow smbd to load libgfapi from gluster." +msgstr "" + +#: booleans.py:202 msgid "Allow samba to act as a portmapper" msgstr "" -#: booleans.py:174 +#: booleans.py:203 msgid "Allow samba to run unconfined scripts" msgstr "" -#: booleans.py:175 +#: booleans.py:204 msgid "Allow samba to export ntfs/fusefs volumes." msgstr "" -#: booleans.py:176 +#: booleans.py:205 msgid "Allow samba to export NFS volumes." msgstr "" -#: booleans.py:177 +#: booleans.py:206 msgid "Allow sanlock to read/write fuse files" msgstr "" -#: booleans.py:178 +#: booleans.py:207 msgid "Allow sanlock to manage nfs files" msgstr "" -#: booleans.py:179 +#: booleans.py:208 msgid "Allow sanlock to manage cifs files" msgstr "" -#: booleans.py:180 +#: booleans.py:209 msgid "Allow sasl to read shadow" msgstr "" -#: booleans.py:181 +#: booleans.py:210 msgid "Allow secadm to exec content" msgstr "" -#: booleans.py:182 +#: booleans.py:211 msgid "" "disallow programs, such as newrole, from transitioning to administrative " "user domains." msgstr "" -#: booleans.py:183 +#: booleans.py:212 msgid "Disable kernel module loading." msgstr "" -#: booleans.py:184 +#: booleans.py:213 msgid "" "Boolean to determine whether the system permits loading policy, setting " "enforcing mode, and changing boolean values. Set this to true and you have " "to reboot to set it back." msgstr "" -#: booleans.py:185 +#: booleans.py:214 msgid "Allow regular users direct dri device access" msgstr "" -#: booleans.py:186 +#: booleans.py:215 msgid "" "Allow unconfined executables to make their heap memory executable. Doing " "this is a really bad idea. Probably indicates a badly coded executable, but " "could indicate an attack. This executable should be reported in bugzilla" msgstr "" -#: booleans.py:187 +#: booleans.py:216 msgid "" "Allow all unconfined executables to use libraries requiring text relocation " "that are not labeled textrel_shlib_t" msgstr "" -#: booleans.py:188 +#: booleans.py:217 msgid "" "Allow unconfined executables to make their stack executable. This should " "never, ever be necessary. Probably indicates a badly coded executable, but " "could indicate an attack. This executable should be reported in bugzilla" msgstr "" -#: booleans.py:189 +#: booleans.py:218 msgid "Allow users to connect to the local mysql server" msgstr "" -#: booleans.py:190 +#: booleans.py:219 msgid "" "Allow confined users the ability to execute the ping and traceroute commands." msgstr "" -#: booleans.py:191 +#: booleans.py:220 msgid "Allow users to connect to PostgreSQL" msgstr "" -#: booleans.py:192 +#: booleans.py:221 msgid "" "Allow user to r/w files on filesystems that do not have extended attributes " "(FAT, CDROM, FLOPPY)" msgstr "" -#: booleans.py:193 +#: booleans.py:222 msgid "Allow user music sharing" msgstr "" -#: booleans.py:194 +#: booleans.py:223 msgid "" "Allow users to run TCP servers (bind to ports and accept connection from the " "same domain and outside users) disabling this forces FTP passive mode and " "may change other protocols." msgstr "" -#: booleans.py:195 -msgid "Allow user to use ssh chroot environment." -msgstr "" - -#: booleans.py:196 -msgid "" -"Determine whether sftpd can modify public files used for public file " -"transfer services. Directories/Files must be labeled public_content_rw_t." -msgstr "" - -#: booleans.py:197 -msgid "" -"Determine whether sftpd-can read and write files in user home directories." -msgstr "" - -#: booleans.py:198 +#: booleans.py:224 msgid "" -"Determine whether sftpd-can login to local users and read and write all " -"files on the system, governed by DAC." +"Allow users to run UDP servers (bind to ports and accept connection from the " +"same domain and outside users) disabling this may break avahi discovering " +"services on the network and other udp related services." msgstr "" -#: booleans.py:199 -msgid "" -"Determine whether sftpd can read and write files in user ssh home " -"directories." +#: booleans.py:225 +msgid "Allow user to use ssh chroot environment." msgstr "" -#: booleans.py:200 +#: booleans.py:226 msgid "Allow sge to connect to the network using any TCP port" msgstr "" -#: booleans.py:201 +#: booleans.py:227 msgid "Allow sge to access nfs file systems." msgstr "" -#: booleans.py:202 +#: booleans.py:228 msgid "Determine whether smartmon can support devices on 3ware controllers." msgstr "" -#: booleans.py:203 +#: booleans.py:229 msgid "" "Allow samba to modify public files used for public file transfer services. " "Files/Directories must be labeled public_content_rw_t." msgstr "" -#: booleans.py:204 +#: booleans.py:230 msgid "Allow user spamassassin clients to use the network." msgstr "" -#: booleans.py:205 +#: booleans.py:231 msgid "Allow spamd to read/write user home directories." msgstr "" -#: booleans.py:206 +#: booleans.py:232 +msgid "Allow spamd_update to connect to all ports." +msgstr "" + +#: booleans.py:233 msgid "Determine whether squid can connect to all TCP ports." msgstr "" -#: booleans.py:207 +#: booleans.py:234 msgid "Determine whether squid can run as a transparent proxy." msgstr "" -#: booleans.py:208 +#: booleans.py:235 msgid "" "Allow ssh with chroot env to read and write files in the user home " "directories" msgstr "" -#: booleans.py:209 +#: booleans.py:236 msgid "allow host key based authentication" msgstr "" -#: booleans.py:210 +#: booleans.py:237 msgid "Allow ssh logins as sysadm_r:sysadm_t" msgstr "" -#: booleans.py:211 +#: booleans.py:238 msgid "Allow staff to exec content" msgstr "" -#: booleans.py:212 +#: booleans.py:239 msgid "allow staff user to create and transition to svirt domains." msgstr "" -#: booleans.py:213 +#: booleans.py:240 +msgid "Determine whether swift can connect to all TCP ports" +msgstr "" + +#: booleans.py:241 msgid "Allow sysadm to exec content" msgstr "" -#: booleans.py:214 +#: booleans.py:242 msgid "Allow the Telepathy connection managers to connect to any network port." msgstr "" -#: booleans.py:215 +#: booleans.py:243 msgid "" "Allow the Telepathy connection managers to connect to any generic TCP port." msgstr "" -#: booleans.py:216 -msgid "Allow testpolicy to exec content" -msgstr "" - -#: booleans.py:217 +#: booleans.py:244 msgid "" "Allow tftp to modify public files used for public file transfer services." msgstr "" -#: booleans.py:218 +#: booleans.py:245 msgid "Allow tftp to read and write files in the user home directories" msgstr "" -#: booleans.py:219 +#: booleans.py:246 +msgid "Determine whether tmpreaper can use cifs file systems." +msgstr "" + +#: booleans.py:247 +msgid "Determine whether tmpreaper can use nfs file systems." +msgstr "" + +#: booleans.py:248 +msgid "Determine whether tmpreaper can use samba_share files" +msgstr "" + +#: booleans.py:249 msgid "Determine whether tor can bind tcp sockets to all unreserved ports." msgstr "" -#: booleans.py:220 +#: booleans.py:250 msgid "Allow tor to act as a relay" msgstr "" -#: booleans.py:221 +#: booleans.py:251 msgid "" "allow unconfined users to transition to the chrome sandbox domains when " "running chrome-sandbox" msgstr "" -#: booleans.py:222 +#: booleans.py:252 msgid "Allow a user to login as an unconfined domain" msgstr "" -#: booleans.py:223 +#: booleans.py:253 msgid "" "Allow unconfined users to transition to the Mozilla plugin domain when " "running xulrunner plugin-container." msgstr "" -#: booleans.py:224 -msgid "Allow unprivledged user to create and transition to svirt domains." +#: booleans.py:254 +msgid "Allow unprivileged user to create and transition to svirt domains." msgstr "" -#: booleans.py:225 +#: booleans.py:255 msgid "Support ecryptfs home directories" msgstr "" -#: booleans.py:226 +#: booleans.py:256 msgid "Support fusefs home directories" msgstr "" -#: booleans.py:227 +#: booleans.py:257 msgid "Determine whether to support lpd server." msgstr "" -#: booleans.py:228 +#: booleans.py:258 msgid "Support NFS home directories" msgstr "" -#: booleans.py:229 +#: booleans.py:259 msgid "Support SAMBA home directories" msgstr "" -#: booleans.py:230 +#: booleans.py:260 msgid "Allow user to exec content" msgstr "" -#: booleans.py:231 +#: booleans.py:261 msgid "Determine whether varnishd can use the full TCP network." msgstr "" -#: booleans.py:232 +#: booleans.py:262 +msgid "Allow qemu-ga to read qemu-ga date." +msgstr "" + +#: booleans.py:263 +msgid "Allow qemu-ga to manage qemu-ga date." +msgstr "" + +#: booleans.py:264 +msgid "Allow sandbox containers to use all capabilities" +msgstr "" + +#: booleans.py:265 +msgid "Allow sandbox containers to send audit messages" +msgstr "" + +#: booleans.py:266 +msgid "Allow sandbox containers manage fuse files" +msgstr "" + +#: booleans.py:267 +msgid "Allow sandbox containers to use mknod system calls" +msgstr "" + +#: booleans.py:268 +msgid "Allow sandbox containers to use netlink system calls" +msgstr "" + +#: booleans.py:269 msgid "" -"Determine whether attempts by vbetool to mmap low regions should be silently " -"blocked." +"Allow sandbox containers to use sys_admin system calls, for example mount" msgstr "" -#: booleans.py:233 +#: booleans.py:270 msgid "Allow virtual processes to run as userdomains" msgstr "" -#: booleans.py:234 +#: booleans.py:271 msgid "" "Allow confined virtual guests to use serial/parallel communication ports" msgstr "" -#: booleans.py:235 +#: booleans.py:272 msgid "" "Allow confined virtual guests to use executable memory and executable stack" msgstr "" -#: booleans.py:236 +#: booleans.py:273 msgid "Allow confined virtual guests to read fuse files" msgstr "" -#: booleans.py:237 +#: booleans.py:274 msgid "Allow confined virtual guests to manage nfs files" msgstr "" -#: booleans.py:238 +#: booleans.py:275 msgid "Allow confined virtual guests to interact with rawip sockets" msgstr "" -#: booleans.py:239 +#: booleans.py:276 msgid "Allow confined virtual guests to manage cifs files" msgstr "" -#: booleans.py:240 +#: booleans.py:277 msgid "Allow confined virtual guests to interact with the sanlock" msgstr "" -#: booleans.py:241 +#: booleans.py:278 msgid "Allow confined virtual guests to use usb devices" msgstr "" -#: booleans.py:242 +#: booleans.py:279 msgid "Allow confined virtual guests to interact with the xserver" msgstr "" -#: booleans.py:243 +#: booleans.py:280 msgid "Determine whether webadm can manage generic user files." msgstr "" -#: booleans.py:244 +#: booleans.py:281 msgid "Determine whether webadm can read generic user files." msgstr "" -#: booleans.py:245 +#: booleans.py:282 msgid "" "Determine whether attempts by wine to mmap low regions should be silently " "blocked." msgstr "" -#: booleans.py:246 +#: booleans.py:283 +msgid "Allows xdm_t to bind on vnc_port_t(5910)" +msgstr "" + +#: booleans.py:284 msgid "Allow the graphical login program to execute bootloader" msgstr "" -#: booleans.py:247 +#: booleans.py:285 msgid "" "Allow the graphical login program to login directly as sysadm_r:sysadm_t" msgstr "" -#: booleans.py:248 +#: booleans.py:286 msgid "" "Allow the graphical login program to create files in HOME dirs as xdm_home_t." msgstr "" -#: booleans.py:249 +#: booleans.py:287 msgid "Allow xen to manage nfs files" msgstr "" -#: booleans.py:250 +#: booleans.py:288 msgid "" "Allow xend to run blktapctrl/tapdisk. Not required if using dedicated " "logical volumes for disk images." msgstr "" -#: booleans.py:251 +#: booleans.py:289 msgid "Allow xend to run qemu-dm. Not required if using paravirt and no vfb." msgstr "" -#: booleans.py:252 +#: booleans.py:290 msgid "" "Allow xguest users to configure Network Manager and connect to apache ports" msgstr "" -#: booleans.py:253 +#: booleans.py:291 msgid "Allow xguest to exec content" msgstr "" -#: booleans.py:254 +#: booleans.py:292 msgid "Allow xguest users to mount removable media" msgstr "" -#: booleans.py:255 +#: booleans.py:293 msgid "Allow xguest to use blue tooth devices" msgstr "" -#: booleans.py:256 +#: booleans.py:294 msgid "Allows clients to write to the X server shared memory segments." msgstr "" -#: booleans.py:257 +#: booleans.py:295 msgid "Allows XServer to execute writable memory" msgstr "" -#: booleans.py:258 +#: booleans.py:296 msgid "Support X userspace object manager" msgstr "" -#: booleans.py:259 +#: booleans.py:297 msgid "Determine whether zabbix can connect to all TCP ports" msgstr "" -#: booleans.py:260 -msgid "Allow zarafa domains to setrlimit/sys_rouserce." +#: booleans.py:298 +msgid "Allow zarafa domains to setrlimit/sys_resource." msgstr "" -#: booleans.py:261 +#: booleans.py:299 msgid "Allow zebra daemon to write it configuration files" msgstr "" -#: booleans.py:262 +#: booleans.py:300 msgid "" "Allow ZoneMinder to modify public files used for public file transfer " "services." msgstr "" -#: booleans.py:263 +#: booleans.py:301 msgid "Allow ZoneMinder to run su/sudo." msgstr "" -#: ../sepolicy/sepolicy.py:194 +#: ../sepolicy/sepolicy.py:224 #, python-format msgid "Interface %s does not exist." msgstr "" -#: ../sepolicy/sepolicy.py:292 +#: ../sepolicy/sepolicy.py:327 msgid "You need to install policycoreutils-gui package to use the gui option" msgstr "" -#: ../sepolicy/sepolicy.py:296 +#: ../sepolicy/sepolicy.py:332 msgid "Graphical User Interface for SELinux Policy" msgstr "" -#: ../sepolicy/sepolicy.py:299 ../sepolicy/sepolicy.py:345 +#: ../sepolicy/sepolicy.py:335 ../sepolicy/sepolicy.py:383 msgid "Domain name(s) of man pages to be created" msgstr "" -#: ../sepolicy/sepolicy.py:311 +#: ../sepolicy/sepolicy.py:348 msgid "Alternative root needs to be setup" msgstr "" -#: ../sepolicy/sepolicy.py:327 +#: ../sepolicy/sepolicy.py:365 msgid "Generate SELinux man pages" msgstr "" -#: ../sepolicy/sepolicy.py:330 +#: ../sepolicy/sepolicy.py:368 msgid "path in which the generated SELinux man pages will be stored" msgstr "" -#: ../sepolicy/sepolicy.py:332 +#: ../sepolicy/sepolicy.py:370 msgid "name of the OS for man pages" msgstr "" -#: ../sepolicy/sepolicy.py:334 +#: ../sepolicy/sepolicy.py:372 msgid "Generate HTML man pages structure for selected SELinux man page" msgstr "" -#: ../sepolicy/sepolicy.py:336 +#: ../sepolicy/sepolicy.py:374 msgid "Alternate root directory, defaults to /" msgstr "" -#: ../sepolicy/sepolicy.py:338 +#: ../sepolicy/sepolicy.py:376 msgid "" "With this flag, alternative root path needs to include file context files " "and policy.xml file" msgstr "" -#: ../sepolicy/sepolicy.py:342 +#: ../sepolicy/sepolicy.py:380 msgid "All domains" msgstr "" -#: ../sepolicy/sepolicy.py:350 +#: ../sepolicy/sepolicy.py:389 msgid "Query SELinux policy network information" msgstr "" -#: ../sepolicy/sepolicy.py:355 +#: ../sepolicy/sepolicy.py:394 msgid "list all SELinux port types" msgstr "" -#: ../sepolicy/sepolicy.py:358 +#: ../sepolicy/sepolicy.py:397 msgid "show SELinux type related to the port" msgstr "" -#: ../sepolicy/sepolicy.py:361 +#: ../sepolicy/sepolicy.py:400 msgid "Show ports defined for this SELinux type" msgstr "" -#: ../sepolicy/sepolicy.py:364 +#: ../sepolicy/sepolicy.py:403 msgid "show ports to which this domain can bind and/or connect" msgstr "" -#: ../sepolicy/sepolicy.py:367 +#: ../sepolicy/sepolicy.py:406 msgid "show ports to which this application can bind and/or connect" msgstr "" -#: ../sepolicy/sepolicy.py:382 +#: ../sepolicy/sepolicy.py:423 msgid "query SELinux policy to see if domains can communicate with each other" msgstr "" -#: ../sepolicy/sepolicy.py:385 +#: ../sepolicy/sepolicy.py:426 msgid "Source Domain" msgstr "" -#: ../sepolicy/sepolicy.py:388 +#: ../sepolicy/sepolicy.py:429 msgid "Target Domain" msgstr "" -#: ../sepolicy/sepolicy.py:407 +#: ../sepolicy/sepolicy.py:452 msgid "query SELinux Policy to see description of booleans" msgstr "" -#: ../sepolicy/sepolicy.py:411 +#: ../sepolicy/sepolicy.py:456 msgid "get all booleans descriptions" msgstr "" -#: ../sepolicy/sepolicy.py:414 +#: ../sepolicy/sepolicy.py:459 msgid "boolean to get description" msgstr "" -#: ../sepolicy/sepolicy.py:424 +#: ../sepolicy/sepolicy.py:471 msgid "" "query SELinux Policy to see how a source process domain can transition to " "the target process domain" msgstr "" -#: ../sepolicy/sepolicy.py:427 +#: ../sepolicy/sepolicy.py:474 msgid "source process domain" msgstr "" -#: ../sepolicy/sepolicy.py:430 +#: ../sepolicy/sepolicy.py:477 msgid "target process domain" msgstr "" -#: ../sepolicy/sepolicy.py:472 +#: ../sepolicy/sepolicy.py:522 #, python-format msgid "sepolicy generate: error: one of the arguments %s is required" msgstr "" -#: ../sepolicy/sepolicy.py:477 +#: ../sepolicy/sepolicy.py:527 msgid "Command required for this type of policy" msgstr "" -#: ../sepolicy/sepolicy.py:488 +#: ../sepolicy/sepolicy.py:538 #, python-format msgid "" "-t option can not be used with '%s' domains. Read usage for more details." msgstr "" -#: ../sepolicy/sepolicy.py:493 +#: ../sepolicy/sepolicy.py:543 #, python-format msgid "" "-d option can not be used with '%s' domains. Read usage for more details." msgstr "" -#: ../sepolicy/sepolicy.py:497 +#: ../sepolicy/sepolicy.py:547 #, python-format msgid "" "-a option can not be used with '%s' domains. Read usage for more details." msgstr "" -#: ../sepolicy/sepolicy.py:501 +#: ../sepolicy/sepolicy.py:551 msgid "-w option can not be used with the --newtype option" msgstr "" -#: ../sepolicy/sepolicy.py:521 +#: ../sepolicy/sepolicy.py:572 msgid "List SELinux Policy interfaces" msgstr "" -#: ../sepolicy/sepolicy.py:541 +#: ../sepolicy/sepolicy.py:592 msgid "Enter interface names, you wish to query" msgstr "" -#: ../sepolicy/sepolicy.py:550 +#: ../sepolicy/sepolicy.py:602 msgid "Generate SELinux Policy module template" msgstr "" -#: ../sepolicy/sepolicy.py:553 +#: ../sepolicy/sepolicy.py:605 msgid "Enter domain type which you will be extending" msgstr "" -#: ../sepolicy/sepolicy.py:556 +#: ../sepolicy/sepolicy.py:608 msgid "Enter SELinux user(s) which will transition to this domain" msgstr "" -#: ../sepolicy/sepolicy.py:559 +#: ../sepolicy/sepolicy.py:611 msgid "Enter SELinux role(s) to which the administror domain will transition" msgstr "" -#: ../sepolicy/sepolicy.py:562 +#: ../sepolicy/sepolicy.py:614 msgid "Enter domain(s) which this confined admin will administrate" msgstr "" -#: ../sepolicy/sepolicy.py:565 +#: ../sepolicy/sepolicy.py:617 msgid "name of policy to generate" msgstr "" -#: ../sepolicy/sepolicy.py:572 +#: ../sepolicy/sepolicy.py:624 msgid "path in which the generated policy files will be stored" msgstr "" -#: ../sepolicy/sepolicy.py:574 +#: ../sepolicy/sepolicy.py:626 msgid "path to which the confined processes will need to write" msgstr "" -#: ../sepolicy/sepolicy.py:575 +#: ../sepolicy/sepolicy.py:627 msgid "Policy types which require a command" msgstr "" -#: ../sepolicy/sepolicy.py:579 ../sepolicy/sepolicy.py:582 -#: ../sepolicy/sepolicy.py:585 ../sepolicy/sepolicy.py:588 -#: ../sepolicy/sepolicy.py:591 ../sepolicy/sepolicy.py:597 -#: ../sepolicy/sepolicy.py:600 ../sepolicy/sepolicy.py:603 -#: ../sepolicy/sepolicy.py:609 ../sepolicy/sepolicy.py:612 -#: ../sepolicy/sepolicy.py:615 ../sepolicy/sepolicy.py:618 +#: ../sepolicy/sepolicy.py:631 ../sepolicy/sepolicy.py:634 +#: ../sepolicy/sepolicy.py:637 ../sepolicy/sepolicy.py:640 +#: ../sepolicy/sepolicy.py:643 ../sepolicy/sepolicy.py:649 +#: ../sepolicy/sepolicy.py:652 ../sepolicy/sepolicy.py:655 +#: ../sepolicy/sepolicy.py:661 ../sepolicy/sepolicy.py:664 +#: ../sepolicy/sepolicy.py:667 ../sepolicy/sepolicy.py:670 #, python-format msgid "Generate '%s' policy" msgstr "" -#: ../sepolicy/sepolicy.py:606 +#: ../sepolicy/sepolicy.py:658 #, python-format msgid "Generate '%s' policy " msgstr "" -#: ../sepolicy/sepolicy.py:620 +#: ../sepolicy/sepolicy.py:672 msgid "executable to confine" msgstr "" -#: ../sepolicy/sepolicy.py:625 +#: ../sepolicy/sepolicy.py:677 msgid "commands" msgstr "" -#: ../sepolicy/sepolicy.py:628 +#: ../sepolicy/sepolicy.py:680 msgid "Alternate SELinux policy, defaults to /sys/fs/selinux/policy" msgstr "" -#: ../sepolicy/sepolicy/__init__.py:89 +#: ../sepolicy/sepolicy/__init__.py:106 #, python-format msgid "-- Allowed %s [ %s ]" msgstr "" -#: ../sepolicy/sepolicy/__init__.py:95 ../sepolicy/sepolicy/gui.py:1135 +#: ../sepolicy/sepolicy/__init__.py:149 ../sepolicy/sepolicy/gui.py:1155 msgid "all files" msgstr "" -#: ../sepolicy/sepolicy/__init__.py:96 +#: ../sepolicy/sepolicy/__init__.py:150 msgid "regular file" msgstr "" -#: ../sepolicy/sepolicy/__init__.py:97 +#: ../sepolicy/sepolicy/__init__.py:151 msgid "directory" msgstr "" -#: ../sepolicy/sepolicy/__init__.py:98 +#: ../sepolicy/sepolicy/__init__.py:152 msgid "character device" msgstr "" -#: ../sepolicy/sepolicy/__init__.py:99 +#: ../sepolicy/sepolicy/__init__.py:153 msgid "block device" msgstr "" -#: ../sepolicy/sepolicy/__init__.py:100 +#: ../sepolicy/sepolicy/__init__.py:154 msgid "socket file" msgstr "" -#: ../sepolicy/sepolicy/__init__.py:101 +#: ../sepolicy/sepolicy/__init__.py:155 msgid "symbolic link" msgstr "" -#: ../sepolicy/sepolicy/__init__.py:102 +#: ../sepolicy/sepolicy/__init__.py:156 msgid "named pipe" msgstr "" -#: ../sepolicy/sepolicy/__init__.py:398 +#: ../sepolicy/sepolicy/__init__.py:524 msgid "No SELinux Policy installed" msgstr "" -#: ../sepolicy/sepolicy/__init__.py:478 +#: ../sepolicy/sepolicy/__init__.py:613 msgid "You must regenerate interface info by running /usr/bin/sepolgen-ifgen" msgstr "" -#: ../sepolicy/sepolicy/__init__.py:724 +#: ../sepolicy/sepolicy/__init__.py:900 #, python-format msgid "Failed to read %s policy file" msgstr "" -#: ../sepolicy/sepolicy/__init__.py:829 +#: ../sepolicy/sepolicy/__init__.py:1016 msgid "unknown" msgstr "" -#: ../sepolicy/sepolicy/generate.py:132 +#: ../sepolicy/sepolicy/generate.py:146 msgid "Internet Services Daemon" msgstr "" -#: ../sepolicy/sepolicy/generate.py:136 +#: ../sepolicy/sepolicy/generate.py:150 msgid "Existing Domain Type" msgstr "" -#: ../sepolicy/sepolicy/generate.py:137 +#: ../sepolicy/sepolicy/generate.py:151 msgid "Minimal Terminal Login User Role" msgstr "" -#: ../sepolicy/sepolicy/generate.py:138 +#: ../sepolicy/sepolicy/generate.py:152 msgid "Minimal X Windows Login User Role" msgstr "" -#: ../sepolicy/sepolicy/generate.py:139 +#: ../sepolicy/sepolicy/generate.py:153 msgid "Desktop Login User Role" msgstr "" -#: ../sepolicy/sepolicy/generate.py:140 +#: ../sepolicy/sepolicy/generate.py:154 msgid "Administrator Login User Role" msgstr "" -#: ../sepolicy/sepolicy/generate.py:141 +#: ../sepolicy/sepolicy/generate.py:155 msgid "Confined Root Administrator Role" msgstr "" -#: ../sepolicy/sepolicy/generate.py:142 +#: ../sepolicy/sepolicy/generate.py:156 msgid "Module information for a new type" msgstr "" -#: ../sepolicy/sepolicy/generate.py:147 +#: ../sepolicy/sepolicy/generate.py:162 msgid "Valid Types:\n" msgstr "" -#: ../sepolicy/sepolicy/generate.py:181 +#: ../sepolicy/sepolicy/generate.py:197 #, python-format msgid "Ports must be numbers or ranges of numbers from 1 to %d " msgstr "" -#: ../sepolicy/sepolicy/generate.py:192 +#: ../sepolicy/sepolicy/generate.py:209 msgid "You must enter a valid policy type" msgstr "" -#: ../sepolicy/sepolicy/generate.py:195 +#: ../sepolicy/sepolicy/generate.py:212 #, python-format msgid "You must enter a name for your policy module for your '%s'." msgstr "" -#: ../sepolicy/sepolicy/generate.py:333 +#: ../sepolicy/sepolicy/generate.py:350 msgid "" "Name must be alpha numberic with no spaces. Consider using option \"-n " "MODULENAME\"" msgstr "" -#: ../sepolicy/sepolicy/generate.py:425 +#: ../sepolicy/sepolicy/generate.py:442 msgid "User Role types can not be assigned executables." msgstr "" -#: ../sepolicy/sepolicy/generate.py:431 +#: ../sepolicy/sepolicy/generate.py:448 msgid "Only Daemon apps can use an init script.." msgstr "" -#: ../sepolicy/sepolicy/generate.py:449 +#: ../sepolicy/sepolicy/generate.py:466 msgid "use_resolve must be a boolean value " msgstr "" -#: ../sepolicy/sepolicy/generate.py:455 +#: ../sepolicy/sepolicy/generate.py:472 msgid "use_syslog must be a boolean value " msgstr "" -#: ../sepolicy/sepolicy/generate.py:461 +#: ../sepolicy/sepolicy/generate.py:478 msgid "use_kerberos must be a boolean value " msgstr "" -#: ../sepolicy/sepolicy/generate.py:467 +#: ../sepolicy/sepolicy/generate.py:484 msgid "manage_krb5_rcache must be a boolean value " msgstr "" -#: ../sepolicy/sepolicy/generate.py:497 +#: ../sepolicy/sepolicy/generate.py:514 msgid "USER Types automatically get a tmp type" msgstr "" -#: ../sepolicy/sepolicy/generate.py:838 +#: ../sepolicy/sepolicy/generate.py:851 #, python-format msgid "'%s' policy modules require existing domains" msgstr "" -#: ../sepolicy/sepolicy/generate.py:863 +#: ../sepolicy/sepolicy/generate.py:876 msgid "Type field required" msgstr "" -#: ../sepolicy/sepolicy/generate.py:876 +#: ../sepolicy/sepolicy/generate.py:889 #, python-format msgid "" "You need to define a new type which ends with: \n" " %s" msgstr "" -#: ../sepolicy/sepolicy/generate.py:1104 +#: ../sepolicy/sepolicy/generate.py:1117 msgid "You must enter the executable path for your confined process" msgstr "" -#: ../sepolicy/sepolicy/generate.py:1363 +#: ../sepolicy/sepolicy/generate.py:1386 msgid "Type Enforcement file" msgstr "" -#: ../sepolicy/sepolicy/generate.py:1364 +#: ../sepolicy/sepolicy/generate.py:1387 msgid "Interface file" msgstr "" -#: ../sepolicy/sepolicy/generate.py:1365 +#: ../sepolicy/sepolicy/generate.py:1388 msgid "File Contexts file" msgstr "" -#: ../sepolicy/sepolicy/generate.py:1367 +#: ../sepolicy/sepolicy/generate.py:1390 msgid "Spec file" msgstr "" -#: ../sepolicy/sepolicy/generate.py:1368 +#: ../sepolicy/sepolicy/generate.py:1391 msgid "Setup Script" msgstr "" #: ../sepolicy/sepolicy/sepolicy.glade:25 -#: ../sepolicy/sepolicy/sepolicy.glade:4369 +#: ../sepolicy/sepolicy/sepolicy.glade:4330 msgid "Applications" msgstr "" @@ -3803,562 +4015,555 @@ msgstr "" msgid "Select domain" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:80 ../sepolicy/sepolicy/gui.py:67 +#: ../sepolicy/sepolicy/sepolicy.glade:80 ../sepolicy/sepolicy/gui.py:70 msgid "Advanced Search >>" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:95 ../sepolicy/sepolicy/gui.py:2306 +#: ../sepolicy/sepolicy/sepolicy.glade:95 ../sepolicy/sepolicy/gui.py:2351 msgid "File Equivalence" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:112 ../sepolicy/sepolicy/gui.py:2316 +#: ../sepolicy/sepolicy/sepolicy.glade:112 ../sepolicy/sepolicy/gui.py:2361 msgid "Users" msgstr "" #: ../sepolicy/sepolicy/sepolicy.glade:129 -#: ../sepolicy/sepolicy/sepolicy.glade:1897 -#: ../sepolicy/sepolicy/sepolicy.glade:3802 ../sepolicy/sepolicy/gui.py:2297 +#: ../sepolicy/sepolicy/sepolicy.glade:1898 +#: ../sepolicy/sepolicy/sepolicy.glade:3803 ../sepolicy/sepolicy/gui.py:2342 msgid "System" msgstr "" #: ../sepolicy/sepolicy/sepolicy.glade:189 -#: ../sepolicy/sepolicy/sepolicy.glade:4406 -#: ../sepolicy/sepolicy/sepolicy.glade:4499 -#: ../sepolicy/sepolicy/sepolicy.glade:4645 -#: ../sepolicy/sepolicy/sepolicy.glade:4793 -#: ../sepolicy/sepolicy/sepolicy.glade:4934 -#: ../sepolicy/sepolicy/sepolicy.glade:5007 +#: ../sepolicy/sepolicy/sepolicy.glade:4367 +#: ../sepolicy/sepolicy/sepolicy.glade:4460 +#: ../sepolicy/sepolicy/sepolicy.glade:4606 +#: ../sepolicy/sepolicy/sepolicy.glade:4755 +#: ../sepolicy/sepolicy/sepolicy.glade:4889 +#: ../sepolicy/sepolicy/sepolicy.glade:5030 +#: ../sepolicy/sepolicy/sepolicy.glade:5103 +#: ../sepolicy/sepolicy/sepolicy.glade:5238 msgid "Select" msgstr "" #: ../sepolicy/sepolicy/sepolicy.glade:204 -#: ../sepolicy/sepolicy/sepolicy.glade:557 -#: ../sepolicy/sepolicy/sepolicy.glade:702 -#: ../sepolicy/sepolicy/sepolicy.glade:1243 -#: ../sepolicy/sepolicy/sepolicy.glade:1539 -#: ../sepolicy/sepolicy/sepolicy.glade:4579 -#: ../sepolicy/sepolicy/sepolicy.glade:4729 -#: ../sepolicy/sepolicy/sepolicy.glade:4859 -#: ../sepolicy/sepolicy/sepolicy.glade:5077 -#: ../sepolicy/sepolicy/sepolicy.glade:5233 -#: ../sepolicy/sepolicy/sepolicy.glade:5474 +#: ../sepolicy/sepolicy/sepolicy.glade:539 +#: ../sepolicy/sepolicy/sepolicy.glade:684 +#: ../sepolicy/sepolicy/sepolicy.glade:1239 +#: ../sepolicy/sepolicy/sepolicy.glade:1535 +#: ../sepolicy/sepolicy/sepolicy.glade:4540 +#: ../sepolicy/sepolicy/sepolicy.glade:4690 +#: ../sepolicy/sepolicy/sepolicy.glade:4821 +#: ../sepolicy/sepolicy/sepolicy.glade:4955 +#: ../sepolicy/sepolicy/sepolicy.glade:5173 +#: ../sepolicy/sepolicy/sepolicy.glade:5304 +#: ../sepolicy/sepolicy/sepolicy.glade:5464 msgid "Cancel" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:350 +#: ../sepolicy/sepolicy/sepolicy.glade:332 msgid "" "The entry that was entered is incorrect. Please try again in the " "ex:/.../... format." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:376 +#: ../sepolicy/sepolicy/sepolicy.glade:358 msgid "Retry" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:460 -#: ../sepolicy/sepolicy/sepolicy.glade:1124 -#: ../sepolicy/sepolicy/sepolicy.glade:1372 -#: ../sepolicy/sepolicy/sepolicy.glade:5102 -#: ../sepolicy/sepolicy/sepolicy.glade:5343 +#: ../sepolicy/sepolicy/sepolicy.glade:442 +#: ../sepolicy/sepolicy/sepolicy.glade:1120 +#: ../sepolicy/sepolicy/sepolicy.glade:1368 +#: ../sepolicy/sepolicy/sepolicy.glade:5332 msgid "Network Port Definitions" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:476 +#: ../sepolicy/sepolicy/sepolicy.glade:458 msgid "" -"Add file Equivilence Mapping. Mapping will be created when Update is " +"Add file Equivalence Mapping. Mapping will be created when Update is " "applied." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:501 -#: ../sepolicy/sepolicy/sepolicy.glade:4045 +#: ../sepolicy/sepolicy/sepolicy.glade:483 +#: ../sepolicy/sepolicy/sepolicy.glade:4046 msgid "Path" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:511 -#: ../sepolicy/sepolicy/sepolicy.glade:5154 -#: ../sepolicy/sepolicy/sepolicy.glade:5395 +#: ../sepolicy/sepolicy/sepolicy.glade:493 +#: ../sepolicy/sepolicy/sepolicy.glade:5384 msgid "" "Specify a new SELinux user name. By convention SELinux User names usually " "end in an _u." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:515 +#: ../sepolicy/sepolicy/sepolicy.glade:497 msgid "Enter the path to which you want to setup an equivalence label." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:528 -#: ../sepolicy/sepolicy/sepolicy.glade:4062 -#: ../sepolicy/sepolicy/sepolicy.glade:4819 +#: ../sepolicy/sepolicy/sepolicy.glade:510 +#: ../sepolicy/sepolicy/sepolicy.glade:4063 +#: ../sepolicy/sepolicy/sepolicy.glade:4781 msgid "Equivalence Path" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:542 -#: ../sepolicy/sepolicy/sepolicy.glade:687 -#: ../sepolicy/sepolicy/sepolicy.glade:1228 -#: ../sepolicy/sepolicy/sepolicy.glade:1524 -#: ../sepolicy/sepolicy/sepolicy.glade:5218 -#: ../sepolicy/sepolicy/sepolicy.glade:5459 +#: ../sepolicy/sepolicy/sepolicy.glade:524 +#: ../sepolicy/sepolicy/sepolicy.glade:669 +#: ../sepolicy/sepolicy/sepolicy.glade:1224 +#: ../sepolicy/sepolicy/sepolicy.glade:1520 +#: ../sepolicy/sepolicy/sepolicy.glade:5449 msgid "Save to update" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:582 +#: ../sepolicy/sepolicy/sepolicy.glade:564 msgid "" "Specify the mapping between the new path and the equivalence path. " "Everything under this new path will be labeled as if they were under the " "equivalence path." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:639 +#: ../sepolicy/sepolicy/sepolicy.glade:621 msgid "Add a file" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:656 +#: ../sepolicy/sepolicy/sepolicy.glade:638 msgid "" " File Labeling for . File labels will be created " "when update is applied." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:744 -#: ../sepolicy/sepolicy/sepolicy.glade:1471 -#: ../sepolicy/sepolicy/sepolicy.glade:3510 ../sepolicy/sepolicy/gui.py:66 +#: ../sepolicy/sepolicy/sepolicy.glade:726 +#: ../sepolicy/sepolicy/sepolicy.glade:1467 +#: ../sepolicy/sepolicy/sepolicy.glade:3511 ../sepolicy/sepolicy/gui.py:69 msgid "Advanced >>" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:765 -#: ../sepolicy/sepolicy/sepolicy.glade:2305 -#: ../sepolicy/sepolicy/sepolicy.glade:2417 -#: ../sepolicy/sepolicy/sepolicy.glade:2539 -#: ../sepolicy/sepolicy/sepolicy.glade:4539 +#: ../sepolicy/sepolicy/sepolicy.glade:747 +#: ../sepolicy/sepolicy/sepolicy.glade:2306 +#: ../sepolicy/sepolicy/sepolicy.glade:2418 +#: ../sepolicy/sepolicy/sepolicy.glade:2540 +#: ../sepolicy/sepolicy/sepolicy.glade:4500 msgid "Class" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:781 +#: ../sepolicy/sepolicy/sepolicy.glade:763 msgid "Type" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:795 +#: ../sepolicy/sepolicy/sepolicy.glade:777 msgid "" "Select the file class to which this label will be applied. Defaults to all " "classes." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:822 +#: ../sepolicy/sepolicy/sepolicy.glade:804 msgid "Make Path Recursive" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:826 +#: ../sepolicy/sepolicy/sepolicy.glade:808 msgid "" -"Select Make Path Recursive iff you want to apply this label to all children " +"Select Make Path Recursive if you want to apply this label to all children " "of the specified directory path. objects under the directory to have this " "label." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:839 +#: ../sepolicy/sepolicy/sepolicy.glade:821 msgid "Browse" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:843 +#: ../sepolicy/sepolicy/sepolicy.glade:825 msgid "Browse to select the file/directory for labeling." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:887 +#: ../sepolicy/sepolicy/sepolicy.glade:869 msgid "Path " msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:898 +#: ../sepolicy/sepolicy/sepolicy.glade:880 msgid "" "Specify the path using regular expressions that you would like to modify the " "labeling." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:920 +#: ../sepolicy/sepolicy/sepolicy.glade:902 msgid "Select the SELinux file type to assign to this path." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:947 +#: ../sepolicy/sepolicy/sepolicy.glade:929 msgid "Enter the MLS Label to assign to this file path." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:951 +#: ../sepolicy/sepolicy/sepolicy.glade:933 msgid "SELinux MLS Label you wish to assign to this path." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:1088 +#: ../sepolicy/sepolicy/sepolicy.glade:1070 msgid "Analyzing Policy..." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:1141 +#: ../sepolicy/sepolicy/sepolicy.glade:1137 msgid "" "Add Login Mapping. Login Mapping will be created when update is applied." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:1176 +#: ../sepolicy/sepolicy/sepolicy.glade:1172 msgid "" "Enter the login user name of the user to which you wish to add SELinux User " "confinement." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:1205 +#: ../sepolicy/sepolicy/sepolicy.glade:1201 msgid "" "Select the SELinux User to assign to this login user. Login users by " "default get assigned by the __default__ user." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:1268 +#: ../sepolicy/sepolicy/sepolicy.glade:1264 msgid "" "Enter MLS/MCS Range for this login User. Defaults to the range for the " "Selected SELinux User." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:1271 -#: ../sepolicy/sepolicy/sepolicy.glade:3191 -#: ../sepolicy/sepolicy/sepolicy.glade:3312 -#: ../sepolicy/sepolicy/sepolicy.glade:5184 -#: ../sepolicy/sepolicy/sepolicy.glade:5425 +#: ../sepolicy/sepolicy/sepolicy.glade:1267 +#: ../sepolicy/sepolicy/sepolicy.glade:3192 +#: ../sepolicy/sepolicy/sepolicy.glade:3313 +#: ../sepolicy/sepolicy/sepolicy.glade:5414 msgid "MLS Range" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:1283 +#: ../sepolicy/sepolicy/sepolicy.glade:1279 msgid "" "Specify the MLS Range for this user to login in with. Defaults to the " "selected SELinux Users MLS Range." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:1389 +#: ../sepolicy/sepolicy/sepolicy.glade:1385 msgid "" " Network Port for . Ports will be created when " "update is applied." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:1427 +#: ../sepolicy/sepolicy/sepolicy.glade:1423 msgid "Enter the port number or range to which you want to add a port type." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:1457 +#: ../sepolicy/sepolicy/sepolicy.glade:1453 msgid "Port Type" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:1502 +#: ../sepolicy/sepolicy/sepolicy.glade:1498 msgid "Select the port type you want to assign to the specified port number." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:1566 +#: ../sepolicy/sepolicy/sepolicy.glade:1562 msgid "tcp" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:1570 +#: ../sepolicy/sepolicy/sepolicy.glade:1566 msgid "" "Select tcp if the port type should be assigned to tcp port numbers." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:1583 +#: ../sepolicy/sepolicy/sepolicy.glade:1579 msgid "udp" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:1587 +#: ../sepolicy/sepolicy/sepolicy.glade:1583 msgid "" "Select udp if the port type should be assigned to udp port numbers." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:1609 +#: ../sepolicy/sepolicy/sepolicy.glade:1605 msgid "Enter the MLS Label to assign to this port." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:1706 +#: ../sepolicy/sepolicy/sepolicy.glade:1707 msgid "SELinux Configuration" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:1742 +#: ../sepolicy/sepolicy/sepolicy.glade:1743 msgid "Select..." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:1791 -#: ../sepolicy/sepolicy/sepolicy.glade:2211 +#: ../sepolicy/sepolicy/sepolicy.glade:1792 +#: ../sepolicy/sepolicy/sepolicy.glade:2212 msgid "Booleans" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:1795 +#: ../sepolicy/sepolicy/sepolicy.glade:1796 msgid "" "Display boolean information that can be used to modify the policy for the " "'selected domain'." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:1809 -#: ../sepolicy/sepolicy/sepolicy.glade:2596 +#: ../sepolicy/sepolicy/sepolicy.glade:1810 +#: ../sepolicy/sepolicy/sepolicy.glade:2597 msgid "Files" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:1813 +#: ../sepolicy/sepolicy/sepolicy.glade:1814 msgid "" "Display file type information that can be used by the 'selected domain'." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:1827 -#: ../sepolicy/sepolicy/sepolicy.glade:2829 +#: ../sepolicy/sepolicy/sepolicy.glade:1828 +#: ../sepolicy/sepolicy/sepolicy.glade:2830 msgid "Network" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:1831 +#: ../sepolicy/sepolicy/sepolicy.glade:1832 msgid "" "Display network ports to which the 'selected domain' can connect or listen " "to." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:1845 -#: ../sepolicy/sepolicy/sepolicy.glade:3120 +#: ../sepolicy/sepolicy/sepolicy.glade:1846 +#: ../sepolicy/sepolicy/sepolicy.glade:3121 msgid "Transitions" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:1849 +#: ../sepolicy/sepolicy/sepolicy.glade:1850 msgid "" "Display applications that can transition into or out of the 'selected " "domain'." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:1863 -#: ../sepolicy/sepolicy/sepolicy.glade:3221 +#: ../sepolicy/sepolicy/sepolicy.glade:1864 +#: ../sepolicy/sepolicy/sepolicy.glade:3222 msgid "Login Mapping" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:1866 -#: ../sepolicy/sepolicy/sepolicy.glade:1883 -#: ../sepolicy/sepolicy/sepolicy.glade:1900 +#: ../sepolicy/sepolicy/sepolicy.glade:1867 +#: ../sepolicy/sepolicy/sepolicy.glade:1884 +#: ../sepolicy/sepolicy/sepolicy.glade:1901 msgid "Manage the SELinux configuration" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:1880 -#: ../sepolicy/sepolicy/sepolicy.glade:3343 +#: ../sepolicy/sepolicy/sepolicy.glade:1881 +#: ../sepolicy/sepolicy/sepolicy.glade:3344 msgid "SELinux Users" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:1914 -#: ../sepolicy/sepolicy/sepolicy.glade:4015 +#: ../sepolicy/sepolicy/sepolicy.glade:1915 +#: ../sepolicy/sepolicy/sepolicy.glade:4016 msgid "Lockdown" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:1917 +#: ../sepolicy/sepolicy/sepolicy.glade:1918 msgid "" "Lockdown the SELinux System.\n" "This screen can be used to turn up the SELinux Protections." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:1932 +#: ../sepolicy/sepolicy/sepolicy.glade:1933 msgid "radiobutton" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:2020 +#: ../sepolicy/sepolicy/sepolicy.glade:2021 msgid "Show Modified Only" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:2059 +#: ../sepolicy/sepolicy/sepolicy.glade:2060 msgid "Mislabeled files exist" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:2079 +#: ../sepolicy/sepolicy/sepolicy.glade:2080 msgid "Show mislabeled files only" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:2119 -#: ../sepolicy/sepolicy/sepolicy.glade:3243 +#: ../sepolicy/sepolicy/sepolicy.glade:2120 +#: ../sepolicy/sepolicy/sepolicy.glade:3244 msgid "" -"If-Then-Else rules written in policy that can \n" +"If-Then-Else rules written in policy that can\n" "allow alternative access control." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:2131 +#: ../sepolicy/sepolicy/sepolicy.glade:2132 msgid "Enabled" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:2251 -#: ../sepolicy/sepolicy/sepolicy.glade:2363 -#: ../sepolicy/sepolicy/sepolicy.glade:2481 -#: ../sepolicy/sepolicy/sepolicy.glade:4512 -#: ../sepolicy/sepolicy/sepolicy.glade:4806 +#: ../sepolicy/sepolicy/sepolicy.glade:2252 +#: ../sepolicy/sepolicy/sepolicy.glade:2364 +#: ../sepolicy/sepolicy/sepolicy.glade:2482 +#: ../sepolicy/sepolicy/sepolicy.glade:4473 +#: ../sepolicy/sepolicy/sepolicy.glade:4768 msgid "File Path" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:2287 -#: ../sepolicy/sepolicy/sepolicy.glade:2398 +#: ../sepolicy/sepolicy/sepolicy.glade:2288 +#: ../sepolicy/sepolicy/sepolicy.glade:2399 msgid "SELinux File Type" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:2331 +#: ../sepolicy/sepolicy/sepolicy.glade:2332 msgid "File path used to enter the 'selected domain'." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:2332 +#: ../sepolicy/sepolicy/sepolicy.glade:2333 msgid "Executable Files" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:2447 +#: ../sepolicy/sepolicy/sepolicy.glade:2448 msgid "Files to which the 'selected domain' can write." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:2448 +#: ../sepolicy/sepolicy/sepolicy.glade:2449 msgid "Writable files" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:2570 +#: ../sepolicy/sepolicy/sepolicy.glade:2571 msgid "File Types defined for the 'selected domain'." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:2571 +#: ../sepolicy/sepolicy/sepolicy.glade:2572 msgid "Application File Types" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:2703 +#: ../sepolicy/sepolicy/sepolicy.glade:2704 msgid "Network Ports to which the 'selected domain' is allowed to connect." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:2704 +#: ../sepolicy/sepolicy/sepolicy.glade:2705 msgid "Outbound" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:2803 +#: ../sepolicy/sepolicy/sepolicy.glade:2804 msgid "Network Ports to which the 'selected domain' is allowed to listen." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:2804 +#: ../sepolicy/sepolicy/sepolicy.glade:2805 msgid "Inbound" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:2865 +#: ../sepolicy/sepolicy/sepolicy.glade:2866 +#: ../sepolicy/sepolicy/sepolicy.glade:2956 msgid "" -"Boolean \n" +"Boolean\n" "Enabled" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:2891 +#: ../sepolicy/sepolicy/sepolicy.glade:2892 msgid "Boolean name" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:2908 +#: ../sepolicy/sepolicy/sepolicy.glade:2909 msgid "SELinux Application Type" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:2929 +#: ../sepolicy/sepolicy/sepolicy.glade:2930 msgid "" "Executables which will transition to a different domain, when the 'selected " "domain' executes them." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:2932 -msgid "Applicaton Transitions From 'select domain'" -msgstr "" - -#: ../sepolicy/sepolicy/sepolicy.glade:2955 -msgid "" -"Boolean\n" -"Enabled" +#: ../sepolicy/sepolicy/sepolicy.glade:2933 +msgid "Application Transitions From 'select domain'" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:2971 +#: ../sepolicy/sepolicy/sepolicy.glade:2972 msgid "Calling Process Domain" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:2987 +#: ../sepolicy/sepolicy/sepolicy.glade:2988 msgid "Executable File" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:3011 +#: ../sepolicy/sepolicy/sepolicy.glade:3012 msgid "" "Executables which will transition to the 'selected domain', when executing a " "selected domains entrypoint." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:3012 +#: ../sepolicy/sepolicy/sepolicy.glade:3013 msgid "Application Transitions Into 'select domain'" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:3027 +#: ../sepolicy/sepolicy/sepolicy.glade:3028 msgid "" "File Transitions define what happens when the current domain creates the " "content of a particular class in a directory of the destination type. " "Optionally a file name could be specified for the transition." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:3035 +#: ../sepolicy/sepolicy/sepolicy.glade:3036 msgid "SELinux Directory Type" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:3048 +#: ../sepolicy/sepolicy/sepolicy.glade:3049 msgid "Destination Class" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:3062 +#: ../sepolicy/sepolicy/sepolicy.glade:3063 msgid "SELinux Destination Type" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:3075 +#: ../sepolicy/sepolicy/sepolicy.glade:3076 msgid "File Name" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:3097 +#: ../sepolicy/sepolicy/sepolicy.glade:3098 msgid "File Transitions From 'select domain'" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:3296 -#: ../sepolicy/sepolicy/sepolicy.glade:5277 -#: ../sepolicy/sepolicy/sepolicy.glade:5518 +#: ../sepolicy/sepolicy/sepolicy.glade:3297 +#: ../sepolicy/sepolicy/sepolicy.glade:5508 msgid "Default Level" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:3382 +#: ../sepolicy/sepolicy/sepolicy.glade:3383 msgid "Select the system mode when the system first boots up" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:3455 +#: ../sepolicy/sepolicy/sepolicy.glade:3456 msgid "Select the system mode for the current session" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:3532 +#: ../sepolicy/sepolicy/sepolicy.glade:3533 msgid "System Policy Type:" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:3593 +#: ../sepolicy/sepolicy/sepolicy.glade:3594 msgid "System Mode" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:3631 +#: ../sepolicy/sepolicy/sepolicy.glade:3632 msgid "Import system settings from another machine" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:3639 +#: ../sepolicy/sepolicy/sepolicy.glade:3640 msgid "Import" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:3658 +#: ../sepolicy/sepolicy/sepolicy.glade:3659 msgid "Export system settings to a file" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:3668 +#: ../sepolicy/sepolicy/sepolicy.glade:3669 msgid "Export" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:3687 +#: ../sepolicy/sepolicy/sepolicy.glade:3688 msgid "Relabel all files back to system defaults on reboot" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:3724 -#: ../sepolicy/sepolicy/sepolicy.glade:3825 -#: ../sepolicy/sepolicy/sepolicy.glade:3889 -#: ../sepolicy/sepolicy/sepolicy.glade:3952 ../sepolicy/sepolicy/gui.py:60 +#: ../sepolicy/sepolicy/sepolicy.glade:3725 +#: ../sepolicy/sepolicy/sepolicy.glade:3826 +#: ../sepolicy/sepolicy/sepolicy.glade:3890 +#: ../sepolicy/sepolicy/sepolicy.glade:3953 ../sepolicy/sepolicy/gui.py:65 msgid "Yes" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:3741 -#: ../sepolicy/sepolicy/sepolicy.glade:3843 -#: ../sepolicy/sepolicy/sepolicy.glade:3906 -#: ../sepolicy/sepolicy/sepolicy.glade:3969 ../sepolicy/sepolicy/gui.py:60 +#: ../sepolicy/sepolicy/sepolicy.glade:3742 +#: ../sepolicy/sepolicy/sepolicy.glade:3844 +#: ../sepolicy/sepolicy/sepolicy.glade:3907 +#: ../sepolicy/sepolicy/sepolicy.glade:3970 ../sepolicy/sepolicy/gui.py:65 msgid "No" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:3782 +#: ../sepolicy/sepolicy/sepolicy.glade:3783 msgid "System Configuration" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:3829 -#: ../sepolicy/sepolicy/sepolicy.glade:3847 +#: ../sepolicy/sepolicy/sepolicy.glade:3830 +#: ../sepolicy/sepolicy/sepolicy.glade:3848 msgid "" "An unconfined domain is a process label that allows the process to do what " "it wants, without SELinux interfering. Applications started at boot by the " @@ -4368,13 +4573,13 @@ msgid "" "unconfined_t from the users/login screens." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:3865 +#: ../sepolicy/sepolicy/sepolicy.glade:3866 msgid "Disable ability to run unconfined system processes?" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:3893 -#: ../sepolicy/sepolicy/sepolicy.glade:3910 -#: ../sepolicy/sepolicy/sepolicy.glade:3973 +#: ../sepolicy/sepolicy/sepolicy.glade:3894 +#: ../sepolicy/sepolicy/sepolicy.glade:3911 +#: ../sepolicy/sepolicy/sepolicy.glade:3974 msgid "" "An permissive domain is a process label that allows the process to do what " "it wants, with SELinux only logging the denials, but not enforcing them. " @@ -4383,11 +4588,11 @@ msgid "" "allowed." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:3928 +#: ../sepolicy/sepolicy/sepolicy.glade:3929 msgid "Disable all permissive processes?" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:3956 +#: ../sepolicy/sepolicy/sepolicy.glade:3957 msgid "" "A permissive domain is a process label that allows the process to do what it " "wants, with SELinux only logging the denials, but not enforcing them. " @@ -4396,171 +4601,189 @@ msgid "" "allowed." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:3994 +#: ../sepolicy/sepolicy/sepolicy.glade:3995 msgid "Deny all processes from ptracing or debugging other processes?" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:4031 +#: ../sepolicy/sepolicy/sepolicy.glade:4032 msgid "" "File equivalence cause the system to label content under the new path as if " "it were under the equivalence path." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:4087 +#: ../sepolicy/sepolicy/sepolicy.glade:4088 msgid "Files Equivalence" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:4100 +#: ../sepolicy/sepolicy/sepolicy.glade:4101 msgid "...SELECT TO VIEW DATA..." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:4131 +#: ../sepolicy/sepolicy/sepolicy.glade:4132 msgid "Delete" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:4147 +#: ../sepolicy/sepolicy/sepolicy.glade:4148 msgid "Modify" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:4208 +#: ../sepolicy/sepolicy/sepolicy.glade:4209 msgid "Revert" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:4213 +#: ../sepolicy/sepolicy/sepolicy.glade:4214 msgid "" "Revert button will launch a dialog window which allows you to revert changes " "within the current transaction." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:4225 ../sepolicy/sepolicy/gui.py:2379 +#: ../sepolicy/sepolicy/sepolicy.glade:4226 ../sepolicy/sepolicy/gui.py:2427 msgid "Update" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:4230 +#: ../sepolicy/sepolicy/sepolicy.glade:4231 msgid "Commit all changes in your current transaction to the server." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:4278 +#: ../sepolicy/sepolicy/sepolicy.glade:4279 msgid "Applications - Advanced Search" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:4331 -msgid "Installed" -msgstr "" - -#: ../sepolicy/sepolicy/sepolicy.glade:4383 +#: ../sepolicy/sepolicy/sepolicy.glade:4344 msgid "Process Types" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:4424 +#: ../sepolicy/sepolicy/sepolicy.glade:4385 msgid "More Details" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:4460 -#: ../sepolicy/sepolicy/sepolicy.glade:4754 +#: ../sepolicy/sepolicy/sepolicy.glade:4421 +#: ../sepolicy/sepolicy/sepolicy.glade:4715 msgid "Delete Modified File Labeling" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:4478 +#: ../sepolicy/sepolicy/sepolicy.glade:4439 msgid "" "Select file labeling to delete. File labeling will be deleted when update is " "applied." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:4525 +#: ../sepolicy/sepolicy/sepolicy.glade:4486 msgid "SELinux File Label" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:4564 -#: ../sepolicy/sepolicy/sepolicy.glade:4714 -#: ../sepolicy/sepolicy/sepolicy.glade:4844 +#: ../sepolicy/sepolicy/sepolicy.glade:4525 +#: ../sepolicy/sepolicy/sepolicy.glade:4675 +#: ../sepolicy/sepolicy/sepolicy.glade:4806 +#: ../sepolicy/sepolicy/sepolicy.glade:4940 +#: ../sepolicy/sepolicy/sepolicy.glade:5289 msgid "Save to Update" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:4604 +#: ../sepolicy/sepolicy/sepolicy.glade:4565 msgid "Delete Modified Ports" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:4622 +#: ../sepolicy/sepolicy/sepolicy.glade:4583 msgid "Select ports to delete. Ports will be deleted when update is applied." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:4771 +#: ../sepolicy/sepolicy/sepolicy.glade:4733 +msgid "" +"Select file equivalence labeling to delete. File equivalence labeling will " +"be deleted when update is applied." +msgstr "" + +#: ../sepolicy/sepolicy/sepolicy.glade:4849 +#: ../sepolicy/sepolicy/sepolicy.glade:5198 +msgid "Delete Modified Users Mapping." +msgstr "" + +#: ../sepolicy/sepolicy/sepolicy.glade:4867 msgid "" -"Select file equivalence labeling to delete.File equivalence labeling will be " -"deleted when update is applied." +"Select login user mapping to delete. Login user mapping will be deleted when " +"update is applied." +msgstr "" + +#: ../sepolicy/sepolicy/sepolicy.glade:4902 +msgid "Login name" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:4887 +#: ../sepolicy/sepolicy/sepolicy.glade:4983 msgid "More Types" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:4914 +#: ../sepolicy/sepolicy/sepolicy.glade:5010 msgid "Types" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:4973 +#: ../sepolicy/sepolicy/sepolicy.glade:5069 msgid "" "Review the updates you have made before committing them to the system. To " "reset an item, uncheck the checkbox. All items checked will be updated in " "the system when you select update." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:5036 +#: ../sepolicy/sepolicy/sepolicy.glade:5132 msgid "Action" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:5062 +#: ../sepolicy/sepolicy/sepolicy.glade:5158 msgid "Apply" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:5119 -#: ../sepolicy/sepolicy/sepolicy.glade:5360 +#: ../sepolicy/sepolicy/sepolicy.glade:5216 +msgid "" +"Select users mapping to delete.Users mapping will be deleted when update is " +"applied." +msgstr "" + +#: ../sepolicy/sepolicy/sepolicy.glade:5264 +msgid "SELinux Username" +msgstr "" + +#: ../sepolicy/sepolicy/sepolicy.glade:5349 msgid "" "Add User Roles. SELinux User Roles will be created when Update is applied." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:5144 -#: ../sepolicy/sepolicy/sepolicy.glade:5385 +#: ../sepolicy/sepolicy/sepolicy.glade:5374 msgid "SELinux User Name" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:5258 -#: ../sepolicy/sepolicy/sepolicy.glade:5499 +#: ../sepolicy/sepolicy/sepolicy.glade:5489 msgid "" "Enter MLS/MCS Range for this SELinux User.\n" "s0-s0:c1023" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:5289 -#: ../sepolicy/sepolicy/sepolicy.glade:5530 +#: ../sepolicy/sepolicy/sepolicy.glade:5520 msgid "" "Specify the default level that you would like this SELinux user to login " "with. Defaults to s0." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:5293 -#: ../sepolicy/sepolicy/sepolicy.glade:5534 +#: ../sepolicy/sepolicy/sepolicy.glade:5524 msgid "Enter Default Level for SELinux User to login with. Default s0" msgstr "" -#: ../sepolicy/sepolicy/gui.py:61 +#: ../sepolicy/sepolicy/gui.py:66 msgid "Disable" msgstr "" -#: ../sepolicy/sepolicy/gui.py:61 +#: ../sepolicy/sepolicy/gui.py:66 msgid "Enable" msgstr "" -#: ../sepolicy/sepolicy/gui.py:66 +#: ../sepolicy/sepolicy/gui.py:69 msgid "Advanced <<" msgstr "" -#: ../sepolicy/sepolicy/gui.py:67 +#: ../sepolicy/sepolicy/gui.py:70 msgid "Advanced Search <<" msgstr "" -#: ../sepolicy/sepolicy/gui.py:92 +#: ../sepolicy/sepolicy/gui.py:95 msgid "" "\n" "To change from Disabled to Enforcing mode\n" @@ -4570,512 +4793,536 @@ msgid "" " * Change the system mode to Enforcing\n" msgstr "" -#: ../sepolicy/sepolicy/gui.py:115 +#: ../sepolicy/sepolicy/gui.py:490 #, python-format msgid "%s is not a valid domain" msgstr "" -#: ../sepolicy/sepolicy/gui.py:624 +#: ../sepolicy/sepolicy/gui.py:638 msgid "System Status: Disabled" msgstr "" -#: ../sepolicy/sepolicy/gui.py:722 +#: ../sepolicy/sepolicy/gui.py:737 msgid "Help: Start Page" msgstr "" -#: ../sepolicy/sepolicy/gui.py:726 +#: ../sepolicy/sepolicy/gui.py:741 msgid "Help: Booleans Page" msgstr "" -#: ../sepolicy/sepolicy/gui.py:732 +#: ../sepolicy/sepolicy/gui.py:747 msgid "Help: Executable Files Page" msgstr "" -#: ../sepolicy/sepolicy/gui.py:735 +#: ../sepolicy/sepolicy/gui.py:750 msgid "Help: Writable Files Page" msgstr "" -#: ../sepolicy/sepolicy/gui.py:738 +#: ../sepolicy/sepolicy/gui.py:753 msgid "Help: Application Types Page" msgstr "" -#: ../sepolicy/sepolicy/gui.py:743 +#: ../sepolicy/sepolicy/gui.py:758 msgid "Help: Outbound Network Connections Page" msgstr "" -#: ../sepolicy/sepolicy/gui.py:746 +#: ../sepolicy/sepolicy/gui.py:761 msgid "Help: Inbound Network Connections Page" msgstr "" -#: ../sepolicy/sepolicy/gui.py:752 +#: ../sepolicy/sepolicy/gui.py:767 msgid "Help: Transition from application Page" msgstr "" -#: ../sepolicy/sepolicy/gui.py:755 +#: ../sepolicy/sepolicy/gui.py:770 msgid "Help: Transition into application Page" msgstr "" -#: ../sepolicy/sepolicy/gui.py:758 +#: ../sepolicy/sepolicy/gui.py:773 msgid "Help: Transition application file Page" msgstr "" -#: ../sepolicy/sepolicy/gui.py:762 +#: ../sepolicy/sepolicy/gui.py:777 msgid "Help: Systems Page" msgstr "" -#: ../sepolicy/sepolicy/gui.py:766 +#: ../sepolicy/sepolicy/gui.py:781 msgid "Help: Lockdown Page" msgstr "" -#: ../sepolicy/sepolicy/gui.py:770 +#: ../sepolicy/sepolicy/gui.py:785 msgid "Help: Login Page" msgstr "" -#: ../sepolicy/sepolicy/gui.py:774 +#: ../sepolicy/sepolicy/gui.py:789 msgid "Help: SELinux User Page" msgstr "" -#: ../sepolicy/sepolicy/gui.py:778 +#: ../sepolicy/sepolicy/gui.py:793 msgid "Help: File Equivalence Page" msgstr "" -#: ../sepolicy/sepolicy/gui.py:922 ../sepolicy/sepolicy/gui.py:1211 -#: ../sepolicy/sepolicy/gui.py:1644 ../sepolicy/sepolicy/gui.py:1885 -#: ../sepolicy/sepolicy/gui.py:2698 +#: ../sepolicy/sepolicy/gui.py:939 ../sepolicy/sepolicy/gui.py:1230 +#: ../sepolicy/sepolicy/gui.py:1674 ../sepolicy/sepolicy/gui.py:1921 +#: ../sepolicy/sepolicy/gui.py:2712 msgid "More..." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1031 +#: ../sepolicy/sepolicy/gui.py:1047 #, python-format msgid "File path used to enter the '%s' domain." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1032 +#: ../sepolicy/sepolicy/gui.py:1048 #, python-format msgid "Files to which the '%s' domain can write." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1033 +#: ../sepolicy/sepolicy/gui.py:1049 #, python-format msgid "Network Ports to which the '%s' is allowed to connect." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1034 +#: ../sepolicy/sepolicy/gui.py:1050 #, python-format msgid "Network Ports to which the '%s' is allowed to listen." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1035 +#: ../sepolicy/sepolicy/gui.py:1051 #, python-format msgid "File Types defined for the '%s'." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1036 +#: ../sepolicy/sepolicy/gui.py:1052 #, python-format msgid "" "Display boolean information that can be used to modify the policy for the " "'%s'." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1037 +#: ../sepolicy/sepolicy/gui.py:1053 #, python-format msgid "Display file type information that can be used by the '%s'." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1038 +#: ../sepolicy/sepolicy/gui.py:1054 #, python-format msgid "Display network ports to which the '%s' can connect or listen to." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1039 +#: ../sepolicy/sepolicy/gui.py:1055 #, python-format msgid "Application Transitions Into '%s'" msgstr "" -#: ../sepolicy/sepolicy/gui.py:1040 +#: ../sepolicy/sepolicy/gui.py:1056 #, python-format msgid "Application Transitions From '%s'" msgstr "" -#: ../sepolicy/sepolicy/gui.py:1041 +#: ../sepolicy/sepolicy/gui.py:1057 #, python-format msgid "File Transitions From '%s'" msgstr "" -#: ../sepolicy/sepolicy/gui.py:1042 +#: ../sepolicy/sepolicy/gui.py:1058 #, python-format msgid "" "Executables which will transition to the '%s', when executing a selected " "domains entrypoint." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1043 +#: ../sepolicy/sepolicy/gui.py:1059 #, python-format msgid "" "Executables which will transition to a different domain, when the '%s' " "executes them." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1044 +#: ../sepolicy/sepolicy/gui.py:1060 #, python-format msgid "Files by '%s' will transitions to a different label." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1045 +#: ../sepolicy/sepolicy/gui.py:1061 #, python-format msgid "Display applications that can transition into or out of the '%s'." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1149 +#: ../sepolicy/sepolicy/gui.py:1169 msgid "MISSING FILE PATH" msgstr "" -#: ../sepolicy/sepolicy/gui.py:1265 ../sepolicy/sepolicy/gui.py:1267 +#: ../sepolicy/sepolicy/gui.py:1284 ../sepolicy/sepolicy/gui.py:1286 msgid "Boolean section." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1265 +#: ../sepolicy/sepolicy/gui.py:1284 msgid "To disable this transition, go to the " msgstr "" -#: ../sepolicy/sepolicy/gui.py:1267 +#: ../sepolicy/sepolicy/gui.py:1286 msgid "To enable this transition, go to the " msgstr "" -#: ../sepolicy/sepolicy/gui.py:1324 +#: ../sepolicy/sepolicy/gui.py:1343 msgid "executable" msgstr "" -#: ../sepolicy/sepolicy/gui.py:1327 +#: ../sepolicy/sepolicy/gui.py:1346 msgid "writable" msgstr "" -#: ../sepolicy/sepolicy/gui.py:1330 +#: ../sepolicy/sepolicy/gui.py:1349 msgid "application" msgstr "" -#: ../sepolicy/sepolicy/gui.py:1331 +#: ../sepolicy/sepolicy/gui.py:1350 #, python-format -msgid "Add new %s file path for '%s' domains." +msgid "Add new %(TYPE)s file path for '%(DOMAIN)s' domains." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1332 +#: ../sepolicy/sepolicy/gui.py:1351 #, python-format -msgid "Delete modified %s file paths for '%s' domain." +msgid "Delete %(TYPE)s file paths for '%(DOMAIN)s' domain." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1333 +#: ../sepolicy/sepolicy/gui.py:1352 #, python-format msgid "" -"Modify selected modified %s file path for '%s' domain. Only bolded items in " -"the list can be selected, this indicates they were modified previously." +"Modify %(TYPE)s file path for '%(DOMAIN)s' domain. Only bolded items in the " +"list can be selected, this indicates they were modified previously." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1345 +#: ../sepolicy/sepolicy/gui.py:1364 msgid "connect" msgstr "" -#: ../sepolicy/sepolicy/gui.py:1348 +#: ../sepolicy/sepolicy/gui.py:1367 msgid "listen for inbound connections" msgstr "" -#: ../sepolicy/sepolicy/gui.py:1350 +#: ../sepolicy/sepolicy/gui.py:1369 #, python-format -msgid "Add new port definition to which the '%s' domains is allowed to %s." +msgid "" +"Add new port definition to which the '%(APP)s' domain is allowed to %(PERM)s." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1351 +#: ../sepolicy/sepolicy/gui.py:1370 #, python-format msgid "" -"Delete modified port definitions to which the '%s' domain is allowed to %s." +"Delete modified port definitions to which the '%(APP)s' domain is allowed to " +"%(PERM)s." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1352 +#: ../sepolicy/sepolicy/gui.py:1371 #, python-format -msgid "Modify port definitions to which the '%s' domain is allowed to %s." +msgid "" +"Modify port definitions to which the '%(APP)s' domain is allowed to %(PERM)s." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1381 +#: ../sepolicy/sepolicy/gui.py:1400 msgid "Add new SELinux User/Role definition." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1382 +#: ../sepolicy/sepolicy/gui.py:1401 msgid "Delete modified SELinux User/Role definitions." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1383 +#: ../sepolicy/sepolicy/gui.py:1402 msgid "Modify selected modified SELinux User/Role definitions." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1390 +#: ../sepolicy/sepolicy/gui.py:1409 msgid "Add new Login Mapping definition." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1391 +#: ../sepolicy/sepolicy/gui.py:1410 msgid "Delete modified Login Mapping definitions." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1392 +#: ../sepolicy/sepolicy/gui.py:1411 msgid "Modify selected modified Login Mapping definitions." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1399 +#: ../sepolicy/sepolicy/gui.py:1418 msgid "Add new File Equivalence definition." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1400 +#: ../sepolicy/sepolicy/gui.py:1419 msgid "Delete modified File Equivalence definitions." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1401 +#: ../sepolicy/sepolicy/gui.py:1420 msgid "" "Modify selected modified File Equivalence definitions. Only bolded items in " "the list can be selected, this indicates they were modified previously." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1429 +#: ../sepolicy/sepolicy/gui.py:1452 #, python-format msgid "Boolean %s Allow Rules" msgstr "" -#: ../sepolicy/sepolicy/gui.py:1442 +#: ../sepolicy/sepolicy/gui.py:1465 #, python-format msgid "Add Network Port for %s. Ports will be created when update is applied." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1443 +#: ../sepolicy/sepolicy/gui.py:1466 #, python-format msgid "Add Network Port for %s" msgstr "" -#: ../sepolicy/sepolicy/gui.py:1448 +#: ../sepolicy/sepolicy/gui.py:1471 #, python-format msgid "" "Add File Labeling for %s. File labels will be created when update is applied." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1449 ../sepolicy/sepolicy/gui.py:1500 +#: ../sepolicy/sepolicy/gui.py:1472 ../sepolicy/sepolicy/gui.py:1525 #, python-format msgid "Add File Labeling for %s" msgstr "" -#: ../sepolicy/sepolicy/gui.py:1459 +#: ../sepolicy/sepolicy/gui.py:1482 msgid "Add Login Mapping. User Mapping will be created when Update is applied." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1460 +#: ../sepolicy/sepolicy/gui.py:1483 msgid "Add Login Mapping" msgstr "" -#: ../sepolicy/sepolicy/gui.py:1465 +#: ../sepolicy/sepolicy/gui.py:1488 msgid "" "Add SELinux User Role. SELinux user roles will be created when update is " "applied." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1466 +#: ../sepolicy/sepolicy/gui.py:1489 msgid "Add SELinux Users" msgstr "" -#: ../sepolicy/sepolicy/gui.py:1473 +#: ../sepolicy/sepolicy/gui.py:1496 msgid "" "Add File Equivalency Mapping. Mapping will be created when update is applied." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1474 +#: ../sepolicy/sepolicy/gui.py:1497 msgid "Add SELinux File Equivalency" msgstr "" -#: ../sepolicy/sepolicy/gui.py:1499 +#: ../sepolicy/sepolicy/gui.py:1524 #, python-format msgid "" "Modify File Labeling for %s. File labels will be created when update is " "applied." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1566 +#: ../sepolicy/sepolicy/gui.py:1580 +msgid "" +"Modify SELinux User Role. SELinux user roles will be modified when update is " +"applied." +msgstr "" + +#: ../sepolicy/sepolicy/gui.py:1581 +msgid "Modify SELinux Users" +msgstr "" + +#: ../sepolicy/sepolicy/gui.py:1589 +msgid "" +"Modify Login Mapping. Login Mapping will be modified when Update is applied." +msgstr "" + +#: ../sepolicy/sepolicy/gui.py:1590 +msgid "Modify Login Mapping" +msgstr "" + +#: ../sepolicy/sepolicy/gui.py:1596 msgid "" "Modify File Equivalency Mapping. Mapping will be created when update is " "applied." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1567 +#: ../sepolicy/sepolicy/gui.py:1597 msgid "Modify SELinux File Equivalency" msgstr "" -#: ../sepolicy/sepolicy/gui.py:1652 +#: ../sepolicy/sepolicy/gui.py:1682 #, python-format msgid "" "Modify Network Port for %s. Ports will be created when update is applied." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1653 +#: ../sepolicy/sepolicy/gui.py:1683 #, python-format msgid "Modify Network Port for %s" msgstr "" -#: ../sepolicy/sepolicy/gui.py:1866 +#: ../sepolicy/sepolicy/gui.py:1902 #, python-format msgid "The entry '%s' is not a valid path. Paths must begin with a '/'." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1879 +#: ../sepolicy/sepolicy/gui.py:1915 msgid "Port number must be between 1 and 65536" msgstr "" -#: ../sepolicy/sepolicy/gui.py:2146 +#: ../sepolicy/sepolicy/gui.py:2191 #, python-format msgid "SELinux name: %s" msgstr "" -#: ../sepolicy/sepolicy/gui.py:2157 +#: ../sepolicy/sepolicy/gui.py:2202 #, python-format msgid "Add file labeling for %s" msgstr "" -#: ../sepolicy/sepolicy/gui.py:2159 +#: ../sepolicy/sepolicy/gui.py:2204 #, python-format msgid "Delete file labeling for %s" msgstr "" -#: ../sepolicy/sepolicy/gui.py:2161 +#: ../sepolicy/sepolicy/gui.py:2206 #, python-format msgid "Modify file labeling for %s" msgstr "" -#: ../sepolicy/sepolicy/gui.py:2165 +#: ../sepolicy/sepolicy/gui.py:2210 #, python-format msgid "File path: %s" msgstr "" -#: ../sepolicy/sepolicy/gui.py:2168 +#: ../sepolicy/sepolicy/gui.py:2213 #, python-format msgid "File class: %s" msgstr "" -#: ../sepolicy/sepolicy/gui.py:2171 ../sepolicy/sepolicy/gui.py:2195 +#: ../sepolicy/sepolicy/gui.py:2216 ../sepolicy/sepolicy/gui.py:2240 #, python-format msgid "SELinux file type: %s" msgstr "" -#: ../sepolicy/sepolicy/gui.py:2180 +#: ../sepolicy/sepolicy/gui.py:2225 #, python-format msgid "Add ports for %s" msgstr "" -#: ../sepolicy/sepolicy/gui.py:2182 +#: ../sepolicy/sepolicy/gui.py:2227 #, python-format msgid "Delete ports for %s" msgstr "" -#: ../sepolicy/sepolicy/gui.py:2184 +#: ../sepolicy/sepolicy/gui.py:2229 #, python-format msgid "Modify ports for %s" msgstr "" -#: ../sepolicy/sepolicy/gui.py:2187 +#: ../sepolicy/sepolicy/gui.py:2232 #, python-format msgid "Network ports: %s" msgstr "" -#: ../sepolicy/sepolicy/gui.py:2190 +#: ../sepolicy/sepolicy/gui.py:2235 #, python-format msgid "Network protocol: %s" msgstr "" -#: ../sepolicy/sepolicy/gui.py:2204 +#: ../sepolicy/sepolicy/gui.py:2249 msgid "Add user" msgstr "" -#: ../sepolicy/sepolicy/gui.py:2206 +#: ../sepolicy/sepolicy/gui.py:2251 msgid "Delete user" msgstr "" -#: ../sepolicy/sepolicy/gui.py:2208 +#: ../sepolicy/sepolicy/gui.py:2253 msgid "Modify user" msgstr "" -#: ../sepolicy/sepolicy/gui.py:2211 +#: ../sepolicy/sepolicy/gui.py:2256 #, python-format msgid "SELinux User : %s" msgstr "" -#: ../sepolicy/sepolicy/gui.py:2216 +#: ../sepolicy/sepolicy/gui.py:2261 #, python-format msgid "Roles: %s" msgstr "" -#: ../sepolicy/sepolicy/gui.py:2220 ../sepolicy/sepolicy/gui.py:2245 +#: ../sepolicy/sepolicy/gui.py:2265 ../sepolicy/sepolicy/gui.py:2290 #, python-format msgid "MLS/MCS Range: %s" msgstr "" -#: ../sepolicy/sepolicy/gui.py:2229 +#: ../sepolicy/sepolicy/gui.py:2274 msgid "Add login mapping" msgstr "" -#: ../sepolicy/sepolicy/gui.py:2231 +#: ../sepolicy/sepolicy/gui.py:2276 msgid "Delete login mapping" msgstr "" -#: ../sepolicy/sepolicy/gui.py:2233 +#: ../sepolicy/sepolicy/gui.py:2278 msgid "Modify login mapping" msgstr "" -#: ../sepolicy/sepolicy/gui.py:2237 +#: ../sepolicy/sepolicy/gui.py:2282 #, python-format -msgid "Linux User : %s" +msgid "Login Name : %s" msgstr "" -#: ../sepolicy/sepolicy/gui.py:2241 +#: ../sepolicy/sepolicy/gui.py:2286 #, python-format msgid "SELinux User: %s" msgstr "" -#: ../sepolicy/sepolicy/gui.py:2254 +#: ../sepolicy/sepolicy/gui.py:2299 msgid "Add file equiv labeling." msgstr "" -#: ../sepolicy/sepolicy/gui.py:2256 +#: ../sepolicy/sepolicy/gui.py:2301 msgid "Delete file equiv labeling." msgstr "" -#: ../sepolicy/sepolicy/gui.py:2258 +#: ../sepolicy/sepolicy/gui.py:2303 msgid "Modify file equiv labeling." msgstr "" -#: ../sepolicy/sepolicy/gui.py:2262 +#: ../sepolicy/sepolicy/gui.py:2307 #, python-format msgid "File path : %s" msgstr "" -#: ../sepolicy/sepolicy/gui.py:2266 +#: ../sepolicy/sepolicy/gui.py:2311 #, python-format msgid "Equivalence: %s" msgstr "" -#: ../sepolicy/sepolicy/gui.py:2369 +#: ../sepolicy/sepolicy/gui.py:2414 #, python-format -msgid "Run restorecon on %s to change its type from %s to the default %s?" +msgid "" +"Run restorecon on %(PATH)s to change its type from %(CUR_CONTEXT)s to the " +"default %(DEF_CONTEXT)s?" msgstr "" -#: ../sepolicy/sepolicy/gui.py:2381 +#: ../sepolicy/sepolicy/gui.py:2429 msgid "Update Changes" msgstr "" -#: ../sepolicy/sepolicy/gui.py:2383 +#: ../sepolicy/sepolicy/gui.py:2431 msgid "Revert Changes" msgstr "" -#: ../sepolicy/sepolicy/gui.py:2556 +#: ../sepolicy/sepolicy/gui.py:2558 msgid "System Status: Enforcing" msgstr "" -#: ../sepolicy/sepolicy/gui.py:2558 +#: ../sepolicy/sepolicy/gui.py:2560 msgid "System Status: Permissive" msgstr "" -#: ../sepolicy/sepolicy/gui.py:2749 +#: ../sepolicy/sepolicy/gui.py:2763 msgid "" "Changing to SELinux disabled requires a reboot. It is not recommended. If " "you later decide to turn SELinux back on, the system will be required to " @@ -5085,7 +5332,7 @@ msgid "" "wish to continue?" msgstr "" -#: ../sepolicy/sepolicy/gui.py:2783 +#: ../sepolicy/sepolicy/gui.py:2800 msgid "" "You are attempting to close the application without applying your changes.\n" " * To apply changes you have made during this session, click No and " @@ -5094,6 +5341,6 @@ msgid "" "All changes that you have made during this session will be lost." msgstr "" -#: ../sepolicy/sepolicy/gui.py:2783 +#: ../sepolicy/sepolicy/gui.py:2800 msgid "Loss of data Dialog" msgstr "" diff --git policycoreutils-2.5/po/am.po policycoreutils-2.5/po/am.po index db49486..9aba904 100644 --- policycoreutils-2.5/po/am.po +++ policycoreutils-2.5/po/am.po @@ -1,22 +1,22 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. # -# Translators: msgid "" msgstr "" -"Project-Id-Version: Policycoreutils\n" +"Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2013-10-10 16:04-0400\n" -"PO-Revision-Date: 2012-03-30 18:14+0000\n" -"Last-Translator: FULL NAME \n" -"Language-Team: Amharic (http://www.transifex.com/projects/p/fedora/language/" -"am/)\n" +"POT-Creation-Date: 2016-11-22 16:37+0100\n" +"PO-Revision-Date: \n" +"Last-Translator: \n" +"Language-Team: Amharic\n" "Language: am\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"Plural-Forms: nplurals=2; plural=(n > 1)\n" +"X-Generator: Zanata 3.8.4\n" #: ../run_init/run_init.c:67 msgid "" @@ -25,7 +25,7 @@ msgid "" " are the arguments to that script." msgstr "" -#: ../run_init/run_init.c:126 ../newrole/newrole.c:1128 +#: ../run_init/run_init.c:126 ../newrole/newrole.c:1149 #, c-format msgid "failed to initialize PAM\n" msgstr "" @@ -35,16 +35,16 @@ msgstr "" msgid "failed to get account information\n" msgstr "" -#: ../run_init/run_init.c:162 ../newrole/newrole.c:341 +#: ../run_init/run_init.c:162 ../newrole/newrole.c:340 msgid "Password:" msgstr "" -#: ../run_init/run_init.c:197 ../newrole/newrole.c:366 +#: ../run_init/run_init.c:197 ../newrole/newrole.c:365 #, c-format msgid "Cannot find your entry in the shadow passwd file.\n" msgstr "" -#: ../run_init/run_init.c:203 ../newrole/newrole.c:373 +#: ../run_init/run_init.c:203 ../newrole/newrole.c:372 #, c-format msgid "getpass cannot open /dev/tty\n" msgstr "" @@ -74,109 +74,152 @@ msgstr "" msgid "authentication failed.\n" msgstr "" -#: ../run_init/run_init.c:405 ../newrole/newrole.c:1270 +#: ../run_init/run_init.c:405 ../newrole/newrole.c:1291 #, c-format msgid "Could not set exec context to %s.\n" msgstr "" -#: ../audit2allow/audit2allow:232 +#: ../audit2allow/audit2allow:237 msgid "******************** IMPORTANT ***********************\n" msgstr "" -#: ../audit2allow/audit2allow:233 +#: ../audit2allow/audit2allow:238 msgid "To make this policy package active, execute:" msgstr "" -#: ../semanage/seobject.py:210 +#: ../semanage/seobject/__init__.py:258 msgid "Could not create semanage handle" msgstr "" -#: ../semanage/seobject.py:218 +#: ../semanage/seobject/__init__.py:266 msgid "SELinux policy is not managed or store cannot be accessed." msgstr "" -#: ../semanage/seobject.py:223 +#: ../semanage/seobject/__init__.py:271 msgid "Cannot read policy store." msgstr "" -#: ../semanage/seobject.py:228 +#: ../semanage/seobject/__init__.py:276 msgid "Could not establish semanage connection" msgstr "" -#: ../semanage/seobject.py:233 +#: ../semanage/seobject/__init__.py:281 msgid "Could not test MLS enabled status" msgstr "" -#: ../semanage/seobject.py:239 ../semanage/seobject.py:254 +#: ../semanage/seobject/__init__.py:287 ../semanage/seobject/__init__.py:303 msgid "Not yet implemented" msgstr "" -#: ../semanage/seobject.py:243 +#: ../semanage/seobject/__init__.py:291 msgid "Semanage transaction already in progress" msgstr "" -#: ../semanage/seobject.py:252 +#: ../semanage/seobject/__init__.py:300 msgid "Could not start semanage transaction" msgstr "" -#: ../semanage/seobject.py:264 +#: ../semanage/seobject/__init__.py:313 msgid "Could not commit semanage transaction" msgstr "" -#: ../semanage/seobject.py:269 +#: ../semanage/seobject/__init__.py:318 msgid "Semanage transaction not in progress" msgstr "" -#: ../semanage/seobject.py:281 ../semanage/seobject.py:376 +#: ../semanage/seobject/__init__.py:332 ../semanage/seobject/__init__.py:463 msgid "Could not list SELinux modules" msgstr "" -#: ../semanage/seobject.py:300 -msgid "Modules Name" +#: ../semanage/seobject/__init__.py:339 +msgid "Could not get module name" msgstr "" -#: ../semanage/seobject.py:300 ../gui/modulesPage.py:63 -msgid "Version" +#: ../semanage/seobject/__init__.py:343 +msgid "Could not get module enabled" +msgstr "" + +#: ../semanage/seobject/__init__.py:347 +msgid "Could not get module priority" +msgstr "" + +#: ../semanage/seobject/__init__.py:351 +msgid "Could not get module lang_ext" +msgstr "" + +#: ../semanage/seobject/__init__.py:372 ../gui/modulesPage.py:60 +msgid "Module Name" msgstr "" -#: ../semanage/seobject.py:303 ../gui/statusPage.py:75 -#: ../sepolicy/sepolicy/sepolicy.glade:3430 +#: ../semanage/seobject/__init__.py:372 +msgid "Priority" +msgstr "" + +#: ../semanage/seobject/__init__.py:372 +msgid "Language" +msgstr "" + +#: ../semanage/seobject/__init__.py:375 ../gui/statusPage.py:73 +#: ../sepolicy/sepolicy/sepolicy.glade:3431 msgid "Disabled" msgstr "" -#: ../semanage/seobject.py:312 +#: ../semanage/seobject/__init__.py:384 ../semanage/seobject/__init__.py:416 +#: ../semanage/seobject/__init__.py:423 +msgid "You did not define module name." +msgstr "" + +#: ../semanage/seobject/__init__.py:386 #, python-format msgid "Module does not exists %s " msgstr "" -#: ../semanage/seobject.py:322 +#: ../semanage/seobject/__init__.py:390 ../semanage/seobject/__init__.py:426 +#, python-format +msgid "Invalid priority %d (needs to be between 1 and 999)" +msgstr "" + +#: ../semanage/seobject/__init__.py:400 +msgid "Could not create module key" +msgstr "" + +#: ../semanage/seobject/__init__.py:404 +msgid "Could not set module key name" +msgstr "" + +#: ../semanage/seobject/__init__.py:409 #, python-format -msgid "Could not disable module %s (remove failed)" +msgid "Could not enable module %s" msgstr "" -#: ../semanage/seobject.py:333 +#: ../semanage/seobject/__init__.py:411 #, python-format -msgid "Could not enable module %s (remove failed)" +msgid "Could not disable module %s" msgstr "" -#: ../semanage/seobject.py:348 +#: ../semanage/seobject/__init__.py:431 #, python-format msgid "Could not remove module %s (remove failed)" msgstr "" -#: ../semanage/seobject.py:363 +#: ../semanage/seobject/__init__.py:448 msgid "dontaudit requires either 'on' or 'off'" msgstr "" -#: ../semanage/seobject.py:391 +#: ../semanage/seobject/__init__.py:479 +msgid "Customized Permissive Types" +msgstr "" + +#: ../semanage/seobject/__init__.py:487 msgid "Builtin Permissive Types" msgstr "" -#: ../semanage/seobject.py:401 -msgid "Customized Permissive Types" +#: ../semanage/seobject/__init__.py:496 +#, python-format +msgid "%s is not a domain type" msgstr "" -#: ../semanage/seobject.py:410 +#: ../semanage/seobject/__init__.py:501 msgid "" "The sepolgen python module is required to setup permissive domains.\n" "In some distributions it is included in the policycoreutils-devel patckage.\n" @@ -184,1068 +227,1087 @@ msgid "" "Or similar for your distro." msgstr "" -#: ../semanage/seobject.py:447 +#: ../semanage/seobject/__init__.py:511 #, python-format msgid "Could not set permissive domain %s (module installation failed)" msgstr "" -#: ../semanage/seobject.py:453 +#: ../semanage/seobject/__init__.py:517 #, python-format msgid "Could not remove permissive domain %s (remove failed)" msgstr "" -#: ../semanage/seobject.py:488 ../semanage/seobject.py:562 -#: ../semanage/seobject.py:608 ../semanage/seobject.py:730 -#: ../semanage/seobject.py:760 ../semanage/seobject.py:827 -#: ../semanage/seobject.py:884 ../semanage/seobject.py:1144 -#: ../semanage/seobject.py:1879 ../semanage/seobject.py:1942 -#: ../semanage/seobject.py:1961 ../semanage/seobject.py:2084 -#: ../semanage/seobject.py:2135 +#: ../semanage/seobject/__init__.py:551 ../semanage/seobject/__init__.py:626 +#: ../semanage/seobject/__init__.py:682 ../semanage/seobject/__init__.py:813 +#: ../semanage/seobject/__init__.py:852 ../semanage/seobject/__init__.py:919 +#: ../semanage/seobject/__init__.py:985 ../semanage/seobject/__init__.py:2242 +#: ../semanage/seobject/__init__.py:2301 #, python-format -msgid "Could not create a key for %s" +msgid "Could not create login mapping for %s" msgstr "" -#: ../semanage/seobject.py:492 ../semanage/seobject.py:566 -#: ../semanage/seobject.py:612 ../semanage/seobject.py:618 +#: ../semanage/seobject/__init__.py:555 ../semanage/seobject/__init__.py:630 +#: ../semanage/seobject/__init__.py:686 ../semanage/seobject/__init__.py:817 +#: ../semanage/seobject/__init__.py:856 ../semanage/seobject/__init__.py:923 +#: ../semanage/seobject/__init__.py:989 ../semanage/seobject/__init__.py:2245 +#: ../semanage/seobject/__init__.py:2304 #, python-format -msgid "Could not check if login mapping for %s is defined" +msgid "Could not set name for %s" msgstr "" -#: ../semanage/seobject.py:501 +#: ../semanage/seobject/__init__.py:559 ../semanage/seobject/__init__.py:634 +#: ../semanage/seobject/__init__.py:690 ../semanage/seobject/__init__.py:821 +#: ../semanage/seobject/__init__.py:860 ../semanage/seobject/__init__.py:927 +#: ../semanage/seobject/__init__.py:993 ../semanage/seobject/__init__.py:1263 +#: ../semanage/seobject/__init__.py:2025 ../semanage/seobject/__init__.py:2093 +#: ../semanage/seobject/__init__.py:2117 ../semanage/seobject/__init__.py:2249 +#: ../semanage/seobject/__init__.py:2308 #, python-format -msgid "Linux Group %s does not exist" +msgid "Could not create a key for %s" msgstr "" -#: ../semanage/seobject.py:506 +#: ../semanage/seobject/__init__.py:563 ../semanage/seobject/__init__.py:638 +#: ../semanage/seobject/__init__.py:694 ../semanage/seobject/__init__.py:700 #, python-format -msgid "Linux User %s does not exist" +msgid "Could not check if login mapping for %s is defined" msgstr "" -#: ../semanage/seobject.py:510 +#: ../semanage/seobject/__init__.py:573 #, python-format -msgid "Could not create login mapping for %s" +msgid "Linux Group %s does not exist" msgstr "" -#: ../semanage/seobject.py:514 ../semanage/seobject.py:775 +#: ../semanage/seobject/__init__.py:578 #, python-format -msgid "Could not set name for %s" +msgid "Linux User %s does not exist" msgstr "" -#: ../semanage/seobject.py:519 ../semanage/seobject.py:785 +#: ../semanage/seobject/__init__.py:583 ../semanage/seobject/__init__.py:878 #, python-format msgid "Could not set MLS range for %s" msgstr "" -#: ../semanage/seobject.py:523 +#: ../semanage/seobject/__init__.py:587 #, python-format msgid "Could not set SELinux user for %s" msgstr "" -#: ../semanage/seobject.py:527 +#: ../semanage/seobject/__init__.py:591 #, python-format msgid "Could not add login mapping for %s" msgstr "" -#: ../semanage/seobject.py:545 +#: ../semanage/seobject/__init__.py:609 msgid "Requires seuser or serange" msgstr "" -#: ../semanage/seobject.py:568 ../semanage/seobject.py:614 +#: ../semanage/seobject/__init__.py:640 ../semanage/seobject/__init__.py:696 #, python-format msgid "Login mapping for %s is not defined" msgstr "" -#: ../semanage/seobject.py:572 +#: ../semanage/seobject/__init__.py:644 #, python-format msgid "Could not query seuser for %s" msgstr "" -#: ../semanage/seobject.py:586 +#: ../semanage/seobject/__init__.py:659 #, python-format msgid "Could not modify login mapping for %s" msgstr "" -#: ../semanage/seobject.py:620 +#: ../semanage/seobject/__init__.py:702 #, python-format msgid "Login mapping for %s is defined in policy, cannot be deleted" msgstr "" -#: ../semanage/seobject.py:624 +#: ../semanage/seobject/__init__.py:706 #, python-format msgid "Could not delete login mapping for %s" msgstr "" -#: ../semanage/seobject.py:646 ../semanage/seobject.py:679 -#: ../semanage/seobject.py:927 +#: ../semanage/seobject/__init__.py:729 ../semanage/seobject/__init__.py:762 +#: ../semanage/seobject/__init__.py:1037 msgid "Could not list login mappings" msgstr "" -#: ../semanage/seobject.py:707 ../semanage/seobject.py:719 +#: ../semanage/seobject/__init__.py:790 ../semanage/seobject/__init__.py:802 #: ../gui/system-config-selinux.glade:100 -#: ../sepolicy/sepolicy/sepolicy.glade:1166 -#: ../sepolicy/sepolicy/sepolicy.glade:3155 +#: ../sepolicy/sepolicy/sepolicy.glade:1162 +#: ../sepolicy/sepolicy/sepolicy.glade:3156 msgid "Login Name" msgstr "" -#: ../semanage/seobject.py:707 ../semanage/seobject.py:719 -#: ../semanage/seobject.py:977 ../semanage/seobject.py:982 +#: ../semanage/seobject/__init__.py:790 ../semanage/seobject/__init__.py:802 +#: ../semanage/seobject/__init__.py:1090 ../semanage/seobject/__init__.py:1095 #: ../gui/system-config-selinux.glade:128 #: ../gui/system-config-selinux.glade:915 -#: ../gui/system-config-selinux.glade:2285 ../gui/usersPage.py:44 -#: ../sepolicy/sepolicy/sepolicy.glade:1192 -#: ../sepolicy/sepolicy/sepolicy.glade:3173 -#: ../sepolicy/sepolicy/sepolicy.glade:3259 +#: ../gui/system-config-selinux.glade:2285 ../gui/usersPage.py:43 +#: ../sepolicy/sepolicy/sepolicy.glade:1188 +#: ../sepolicy/sepolicy/sepolicy.glade:3174 +#: ../sepolicy/sepolicy/sepolicy.glade:3260 +#: ../sepolicy/sepolicy/sepolicy.glade:4915 msgid "SELinux User" msgstr "" -#: ../semanage/seobject.py:707 ../gui/system-config-selinux.glade:156 +#: ../semanage/seobject/__init__.py:790 ../gui/system-config-selinux.glade:156 #: ../gui/system-config-selinux.glade:943 msgid "MLS/MCS Range" msgstr "" -#: ../semanage/seobject.py:707 +#: ../semanage/seobject/__init__.py:790 msgid "Service" msgstr "" -#: ../semanage/seobject.py:733 ../semanage/seobject.py:764 -#: ../semanage/seobject.py:831 ../semanage/seobject.py:888 -#: ../semanage/seobject.py:894 +#: ../semanage/seobject/__init__.py:824 ../semanage/seobject/__init__.py:864 +#: ../semanage/seobject/__init__.py:931 ../semanage/seobject/__init__.py:997 +#: ../semanage/seobject/__init__.py:1003 #, python-format msgid "Could not check if SELinux user %s is defined" msgstr "" -#: ../semanage/seobject.py:736 ../semanage/seobject.py:837 -#: ../semanage/seobject.py:900 +#: ../semanage/seobject/__init__.py:827 ../semanage/seobject/__init__.py:937 +#: ../semanage/seobject/__init__.py:1009 #, python-format msgid "Could not query user for %s" msgstr "" -#: ../semanage/seobject.py:756 +#: ../semanage/seobject/__init__.py:848 #, python-format msgid "You must add at least one role for %s" msgstr "" -#: ../semanage/seobject.py:771 -#, python-format -msgid "Could not create SELinux user for %s" -msgstr "" - -#: ../semanage/seobject.py:780 +#: ../semanage/seobject/__init__.py:873 #, python-format -msgid "Could not add role %s for %s" +msgid "Could not add role %(ROLE)s for %(NAME)s" msgstr "" -#: ../semanage/seobject.py:789 +#: ../semanage/seobject/__init__.py:882 #, python-format msgid "Could not set MLS level for %s" msgstr "" -#: ../semanage/seobject.py:792 +#: ../semanage/seobject/__init__.py:885 #, python-format -msgid "Could not add prefix %s for %s" +msgid "Could not add prefix %(PREFIX)s for %(ROLE)s" msgstr "" -#: ../semanage/seobject.py:795 +#: ../semanage/seobject/__init__.py:888 #, python-format msgid "Could not extract key for %s" msgstr "" -#: ../semanage/seobject.py:799 +#: ../semanage/seobject/__init__.py:892 #, python-format msgid "Could not add SELinux user %s" msgstr "" -#: ../semanage/seobject.py:821 +#: ../semanage/seobject/__init__.py:913 msgid "Requires prefix, roles, level or range" msgstr "" -#: ../semanage/seobject.py:823 +#: ../semanage/seobject/__init__.py:915 msgid "Requires prefix or roles" msgstr "" -#: ../semanage/seobject.py:833 ../semanage/seobject.py:890 +#: ../semanage/seobject/__init__.py:933 ../semanage/seobject/__init__.py:999 #, python-format msgid "SELinux user %s is not defined" msgstr "" -#: ../semanage/seobject.py:862 +#: ../semanage/seobject/__init__.py:962 #, python-format msgid "Could not modify SELinux user %s" msgstr "" -#: ../semanage/seobject.py:896 +#: ../semanage/seobject/__init__.py:1005 #, python-format msgid "SELinux user %s is defined in policy, cannot be deleted" msgstr "" -#: ../semanage/seobject.py:907 +#: ../semanage/seobject/__init__.py:1016 #, python-format msgid "Could not delete SELinux user %s" msgstr "" -#: ../semanage/seobject.py:945 +#: ../semanage/seobject/__init__.py:1058 msgid "Could not list SELinux users" msgstr "" -#: ../semanage/seobject.py:951 +#: ../semanage/seobject/__init__.py:1064 #, python-format msgid "Could not list roles for user %s" msgstr "" -#: ../semanage/seobject.py:976 +#: ../semanage/seobject/__init__.py:1089 msgid "Labeling" msgstr "" -#: ../semanage/seobject.py:976 +#: ../semanage/seobject/__init__.py:1089 msgid "MLS/" msgstr "" -#: ../semanage/seobject.py:977 +#: ../semanage/seobject/__init__.py:1090 msgid "Prefix" msgstr "" -#: ../semanage/seobject.py:977 +#: ../semanage/seobject/__init__.py:1090 msgid "MCS Level" msgstr "" -#: ../semanage/seobject.py:977 +#: ../semanage/seobject/__init__.py:1090 msgid "MCS Range" msgstr "" -#: ../semanage/seobject.py:977 ../semanage/seobject.py:982 -#: ../gui/system-config-selinux.glade:992 ../gui/usersPage.py:59 -#: ../sepolicy/sepolicy/sepolicy.glade:3279 -#: ../sepolicy/sepolicy/sepolicy.glade:5170 -#: ../sepolicy/sepolicy/sepolicy.glade:5411 +#: ../semanage/seobject/__init__.py:1090 ../semanage/seobject/__init__.py:1095 +#: ../gui/system-config-selinux.glade:992 ../gui/usersPage.py:58 +#: ../sepolicy/sepolicy/sepolicy.glade:3280 +#: ../sepolicy/sepolicy/sepolicy.glade:5251 +#: ../sepolicy/sepolicy/sepolicy.glade:5400 msgid "SELinux Roles" msgstr "" -#: ../semanage/seobject.py:1002 +#: ../semanage/seobject/__init__.py:1115 msgid "Protocol udp or tcp is required" msgstr "" -#: ../semanage/seobject.py:1004 +#: ../semanage/seobject/__init__.py:1117 msgid "Port is required" msgstr "" -#: ../semanage/seobject.py:1014 +#: ../semanage/seobject/__init__.py:1127 msgid "Invalid Port" msgstr "" -#: ../semanage/seobject.py:1018 +#: ../semanage/seobject/__init__.py:1131 #, python-format -msgid "Could not create a key for %s/%s" +msgid "Could not create a key for %(PROTOTYPE)s/%(PORT)s" msgstr "" -#: ../semanage/seobject.py:1029 +#: ../semanage/seobject/__init__.py:1142 msgid "Type is required" msgstr "" -#: ../semanage/seobject.py:1032 ../semanage/seobject.py:1096 -#: ../semanage/seobject.py:1873 +#: ../semanage/seobject/__init__.py:1145 #, python-format msgid "Type %s is invalid, must be a port type" msgstr "" -#: ../semanage/seobject.py:1040 ../semanage/seobject.py:1102 -#: ../semanage/seobject.py:1157 ../semanage/seobject.py:1163 +#: ../semanage/seobject/__init__.py:1153 ../semanage/seobject/__init__.py:1281 +#: ../semanage/seobject/__init__.py:1287 #, python-format -msgid "Could not check if port %s/%s is defined" +msgid "Could not check if port %(PROTOCOL)s/%(PORT)s is defined" msgstr "" -#: ../semanage/seobject.py:1042 +#: ../semanage/seobject/__init__.py:1155 #, python-format -msgid "Port %s/%s already defined" +msgid "Port %(PROTOCOL)s/%(PORT)s already defined" msgstr "" -#: ../semanage/seobject.py:1046 +#: ../semanage/seobject/__init__.py:1159 #, python-format -msgid "Could not create port for %s/%s" +msgid "Could not create port for %(PROTOCOL)s/%(PORT)s" msgstr "" -#: ../semanage/seobject.py:1052 +#: ../semanage/seobject/__init__.py:1165 #, python-format -msgid "Could not create context for %s/%s" +msgid "Could not create context for %(PROTOCOL)s/%(PORT)s" msgstr "" -#: ../semanage/seobject.py:1056 +#: ../semanage/seobject/__init__.py:1169 #, python-format -msgid "Could not set user in port context for %s/%s" +msgid "Could not set user in port context for %(PROTOCOL)s/%(PORT)s" msgstr "" -#: ../semanage/seobject.py:1060 +#: ../semanage/seobject/__init__.py:1173 #, python-format -msgid "Could not set role in port context for %s/%s" +msgid "Could not set role in port context for %(PROTOCOL)s/%(PORT)s" msgstr "" -#: ../semanage/seobject.py:1064 +#: ../semanage/seobject/__init__.py:1177 #, python-format -msgid "Could not set type in port context for %s/%s" +msgid "Could not set type in port context for %(PROTOCOL)s/%(PORT)s" msgstr "" -#: ../semanage/seobject.py:1069 +#: ../semanage/seobject/__init__.py:1182 #, python-format -msgid "Could not set mls fields in port context for %s/%s" +msgid "Could not set mls fields in port context for %(PROTOCOL)s/%(PORT)s" msgstr "" -#: ../semanage/seobject.py:1073 +#: ../semanage/seobject/__init__.py:1186 #, python-format -msgid "Could not set port context for %s/%s" +msgid "Could not set port context for %(PROTOCOL)s/%(PORT)s" msgstr "" -#: ../semanage/seobject.py:1077 +#: ../semanage/seobject/__init__.py:1190 #, python-format -msgid "Could not add port %s/%s" +msgid "Could not add port %(PROTOCOL)s/%(PORT)s" msgstr "" -#: ../semanage/seobject.py:1091 ../semanage/seobject.py:1367 -#: ../semanage/seobject.py:1566 +#: ../semanage/seobject/__init__.py:1206 ../semanage/seobject/__init__.py:1495 +#: ../semanage/seobject/__init__.py:1700 msgid "Requires setype or serange" msgstr "" -#: ../semanage/seobject.py:1093 +#: ../semanage/seobject/__init__.py:1208 msgid "Requires setype" msgstr "" -#: ../semanage/seobject.py:1104 ../semanage/seobject.py:1159 +#: ../semanage/seobject/__init__.py:1211 ../semanage/seobject/__init__.py:1955 +#: ../semanage/seobject/__init__.py:2019 +#, python-format +msgid "Type %s is invalid, must be a file or device type" +msgstr "" + +#: ../semanage/seobject/__init__.py:1217 +#, python-format +msgid "Could not check if port @%(PROTOCOL)s/%(PORT)s is defined" +msgstr "" + +#: ../semanage/seobject/__init__.py:1219 #, python-format -msgid "Port %s/%s is not defined" +msgid "Port @%(PROTOCOL)s/%(PORT)s is not defined" msgstr "" -#: ../semanage/seobject.py:1108 +#: ../semanage/seobject/__init__.py:1223 #, python-format -msgid "Could not query port %s/%s" +msgid "Could not query port %(PROTOCOL)s/%(PORT)s" msgstr "" -#: ../semanage/seobject.py:1119 +#: ../semanage/seobject/__init__.py:1236 #, python-format -msgid "Could not modify port %s/%s" +msgid "Could not modify port %(PROTOCOL)s/%(PORT)s" msgstr "" -#: ../semanage/seobject.py:1132 +#: ../semanage/seobject/__init__.py:1251 msgid "Could not list the ports" msgstr "" -#: ../semanage/seobject.py:1148 +#: ../semanage/seobject/__init__.py:1267 #, python-format msgid "Could not delete the port %s" msgstr "" -#: ../semanage/seobject.py:1165 +#: ../semanage/seobject/__init__.py:1283 #, python-format -msgid "Port %s/%s is defined in policy, cannot be deleted" +msgid "Port %(PROTOCOL)s/%(PORT)s is not defined" msgstr "" -#: ../semanage/seobject.py:1169 +#: ../semanage/seobject/__init__.py:1289 #, python-format -msgid "Could not delete port %s/%s" +msgid "Port %(PROTOCOL)s/%(PORT)s is defined in policy, cannot be deleted" msgstr "" -#: ../semanage/seobject.py:1185 ../semanage/seobject.py:1207 +#: ../semanage/seobject/__init__.py:1293 +#, python-format +msgid "Could not delete port %(PROTOCOL)s/%(PORT)s" +msgstr "" + +#: ../semanage/seobject/__init__.py:1311 ../semanage/seobject/__init__.py:1333 msgid "Could not list ports" msgstr "" -#: ../semanage/seobject.py:1246 ../sepolicy/sepolicy/sepolicy.glade:2675 -#: ../sepolicy/sepolicy/sepolicy.glade:2773 -#: ../sepolicy/sepolicy/sepolicy.glade:4687 +#: ../semanage/seobject/__init__.py:1372 +#: ../sepolicy/sepolicy/sepolicy.glade:2676 +#: ../sepolicy/sepolicy/sepolicy.glade:2774 +#: ../sepolicy/sepolicy/sepolicy.glade:4648 msgid "SELinux Port Type" msgstr "" -#: ../semanage/seobject.py:1246 +#: ../semanage/seobject/__init__.py:1372 msgid "Proto" msgstr "" -#: ../semanage/seobject.py:1246 ../gui/system-config-selinux.glade:335 -#: ../sepolicy/sepolicy/sepolicy.glade:1417 +#: ../semanage/seobject/__init__.py:1372 +#: ../gui/system-config-selinux.glade:335 +#: ../sepolicy/sepolicy/sepolicy.glade:1413 msgid "Port Number" msgstr "" -#: ../semanage/seobject.py:1270 +#: ../semanage/seobject/__init__.py:1396 msgid "Node Address is required" msgstr "" -#: ../semanage/seobject.py:1285 +#: ../semanage/seobject/__init__.py:1411 msgid "Unknown or missing protocol" msgstr "" -#: ../semanage/seobject.py:1299 +#: ../semanage/seobject/__init__.py:1425 msgid "SELinux node type is required" msgstr "" -#: ../semanage/seobject.py:1302 ../semanage/seobject.py:1370 +#: ../semanage/seobject/__init__.py:1428 ../semanage/seobject/__init__.py:1498 #, python-format msgid "Type %s is invalid, must be a node type" msgstr "" -#: ../semanage/seobject.py:1306 ../semanage/seobject.py:1374 -#: ../semanage/seobject.py:1410 ../semanage/seobject.py:1508 -#: ../semanage/seobject.py:1570 ../semanage/seobject.py:1604 -#: ../semanage/seobject.py:1818 +#: ../semanage/seobject/__init__.py:1432 ../semanage/seobject/__init__.py:1502 +#: ../semanage/seobject/__init__.py:1540 ../semanage/seobject/__init__.py:1640 +#: ../semanage/seobject/__init__.py:1704 ../semanage/seobject/__init__.py:1740 +#: ../semanage/seobject/__init__.py:1959 #, python-format msgid "Could not create key for %s" msgstr "" -#: ../semanage/seobject.py:1308 ../semanage/seobject.py:1378 -#: ../semanage/seobject.py:1414 ../semanage/seobject.py:1420 +#: ../semanage/seobject/__init__.py:1434 ../semanage/seobject/__init__.py:1506 +#: ../semanage/seobject/__init__.py:1544 ../semanage/seobject/__init__.py:1550 #, python-format msgid "Could not check if addr %s is defined" msgstr "" -#: ../semanage/seobject.py:1317 +#: ../semanage/seobject/__init__.py:1443 #, python-format msgid "Could not create addr for %s" msgstr "" -#: ../semanage/seobject.py:1323 ../semanage/seobject.py:1524 -#: ../semanage/seobject.py:1767 +#: ../semanage/seobject/__init__.py:1449 ../semanage/seobject/__init__.py:1656 +#: ../semanage/seobject/__init__.py:1908 #, python-format msgid "Could not create context for %s" msgstr "" -#: ../semanage/seobject.py:1327 +#: ../semanage/seobject/__init__.py:1453 #, python-format msgid "Could not set mask for %s" msgstr "" -#: ../semanage/seobject.py:1331 +#: ../semanage/seobject/__init__.py:1457 #, python-format msgid "Could not set user in addr context for %s" msgstr "" -#: ../semanage/seobject.py:1335 +#: ../semanage/seobject/__init__.py:1461 #, python-format msgid "Could not set role in addr context for %s" msgstr "" -#: ../semanage/seobject.py:1339 +#: ../semanage/seobject/__init__.py:1465 #, python-format msgid "Could not set type in addr context for %s" msgstr "" -#: ../semanage/seobject.py:1344 +#: ../semanage/seobject/__init__.py:1470 #, python-format msgid "Could not set mls fields in addr context for %s" msgstr "" -#: ../semanage/seobject.py:1348 +#: ../semanage/seobject/__init__.py:1474 #, python-format msgid "Could not set addr context for %s" msgstr "" -#: ../semanage/seobject.py:1352 +#: ../semanage/seobject/__init__.py:1478 #, python-format msgid "Could not add addr %s" msgstr "" -#: ../semanage/seobject.py:1380 ../semanage/seobject.py:1416 +#: ../semanage/seobject/__init__.py:1508 ../semanage/seobject/__init__.py:1546 #, python-format msgid "Addr %s is not defined" msgstr "" -#: ../semanage/seobject.py:1384 +#: ../semanage/seobject/__init__.py:1512 #, python-format msgid "Could not query addr %s" msgstr "" -#: ../semanage/seobject.py:1394 +#: ../semanage/seobject/__init__.py:1522 #, python-format msgid "Could not modify addr %s" msgstr "" -#: ../semanage/seobject.py:1422 +#: ../semanage/seobject/__init__.py:1552 #, python-format msgid "Addr %s is defined in policy, cannot be deleted" msgstr "" -#: ../semanage/seobject.py:1426 +#: ../semanage/seobject/__init__.py:1556 #, python-format msgid "Could not delete addr %s" msgstr "" -#: ../semanage/seobject.py:1438 +#: ../semanage/seobject/__init__.py:1570 msgid "Could not deleteall node mappings" msgstr "" -#: ../semanage/seobject.py:1452 +#: ../semanage/seobject/__init__.py:1584 msgid "Could not list addrs" msgstr "" -#: ../semanage/seobject.py:1504 ../semanage/seobject.py:1811 +#: ../semanage/seobject/__init__.py:1636 ../semanage/seobject/__init__.py:1952 msgid "SELinux Type is required" msgstr "" -#: ../semanage/seobject.py:1512 ../semanage/seobject.py:1574 -#: ../semanage/seobject.py:1608 ../semanage/seobject.py:1614 +#: ../semanage/seobject/__init__.py:1644 ../semanage/seobject/__init__.py:1708 +#: ../semanage/seobject/__init__.py:1744 ../semanage/seobject/__init__.py:1750 #, python-format msgid "Could not check if interface %s is defined" msgstr "" -#: ../semanage/seobject.py:1519 +#: ../semanage/seobject/__init__.py:1651 #, python-format msgid "Could not create interface for %s" msgstr "" -#: ../semanage/seobject.py:1528 +#: ../semanage/seobject/__init__.py:1660 #, python-format msgid "Could not set user in interface context for %s" msgstr "" -#: ../semanage/seobject.py:1532 +#: ../semanage/seobject/__init__.py:1664 #, python-format msgid "Could not set role in interface context for %s" msgstr "" -#: ../semanage/seobject.py:1536 +#: ../semanage/seobject/__init__.py:1668 #, python-format msgid "Could not set type in interface context for %s" msgstr "" -#: ../semanage/seobject.py:1541 +#: ../semanage/seobject/__init__.py:1673 #, python-format msgid "Could not set mls fields in interface context for %s" msgstr "" -#: ../semanage/seobject.py:1545 +#: ../semanage/seobject/__init__.py:1677 #, python-format msgid "Could not set interface context for %s" msgstr "" -#: ../semanage/seobject.py:1549 +#: ../semanage/seobject/__init__.py:1681 #, python-format msgid "Could not set message context for %s" msgstr "" -#: ../semanage/seobject.py:1553 +#: ../semanage/seobject/__init__.py:1685 #, python-format msgid "Could not add interface %s" msgstr "" -#: ../semanage/seobject.py:1576 ../semanage/seobject.py:1610 +#: ../semanage/seobject/__init__.py:1710 ../semanage/seobject/__init__.py:1746 #, python-format msgid "Interface %s is not defined" msgstr "" -#: ../semanage/seobject.py:1580 +#: ../semanage/seobject/__init__.py:1714 #, python-format msgid "Could not query interface %s" msgstr "" -#: ../semanage/seobject.py:1591 +#: ../semanage/seobject/__init__.py:1725 #, python-format msgid "Could not modify interface %s" msgstr "" -#: ../semanage/seobject.py:1616 +#: ../semanage/seobject/__init__.py:1752 #, python-format msgid "Interface %s is defined in policy, cannot be deleted" msgstr "" -#: ../semanage/seobject.py:1620 +#: ../semanage/seobject/__init__.py:1756 #, python-format msgid "Could not delete interface %s" msgstr "" -#: ../semanage/seobject.py:1632 +#: ../semanage/seobject/__init__.py:1770 msgid "Could not delete all interface mappings" msgstr "" -#: ../semanage/seobject.py:1646 +#: ../semanage/seobject/__init__.py:1784 msgid "Could not list interfaces" msgstr "" -#: ../semanage/seobject.py:1671 +#: ../semanage/seobject/__init__.py:1809 msgid "SELinux Interface" msgstr "" -#: ../semanage/seobject.py:1671 ../semanage/seobject.py:2033 +#: ../semanage/seobject/__init__.py:1809 ../semanage/seobject/__init__.py:2191 msgid "Context" msgstr "" -#: ../semanage/seobject.py:1738 +#: ../semanage/seobject/__init__.py:1876 #, python-format msgid "Target %s is not valid. Target is not allowed to end with '/'" msgstr "" -#: ../semanage/seobject.py:1741 +#: ../semanage/seobject/__init__.py:1879 #, python-format -msgid "Substiture %s is not valid. Substitute is not allowed to end with '/'" +msgid "Substitute %s is not valid. Substitute is not allowed to end with '/'" msgstr "" -#: ../semanage/seobject.py:1744 +#: ../semanage/seobject/__init__.py:1882 #, python-format msgid "Equivalence class for %s already exists" msgstr "" -#: ../semanage/seobject.py:1750 +#: ../semanage/seobject/__init__.py:1888 #, python-format -msgid "File spec %s conflicts with equivalency rule '%s %s'" +msgid "" +"File spec %(TARGET)s conflicts with equivalency rule '%(SOURCE)s %(DEST)s'" msgstr "" -#: ../semanage/seobject.py:1759 +#: ../semanage/seobject/__init__.py:1899 #, python-format msgid "Equivalence class for %s does not exists" msgstr "" -#: ../semanage/seobject.py:1773 +#: ../semanage/seobject/__init__.py:1914 #, python-format msgid "Could not set user in file context for %s" msgstr "" -#: ../semanage/seobject.py:1777 +#: ../semanage/seobject/__init__.py:1918 #, python-format msgid "Could not set role in file context for %s" msgstr "" -#: ../semanage/seobject.py:1782 ../semanage/seobject.py:1848 +#: ../semanage/seobject/__init__.py:1923 ../semanage/seobject/__init__.py:1989 #, python-format msgid "Could not set mls fields in file context for %s" msgstr "" -#: ../semanage/seobject.py:1788 +#: ../semanage/seobject/__init__.py:1929 msgid "Invalid file specification" msgstr "" -#: ../semanage/seobject.py:1790 +#: ../semanage/seobject/__init__.py:1931 msgid "File specification can not include spaces" msgstr "" -#: ../semanage/seobject.py:1795 +#: ../semanage/seobject/__init__.py:1936 #, python-format msgid "" -"File spec %s conflicts with equivalency rule '%s %s'; Try adding '%s' instead" -msgstr "" - -#: ../semanage/seobject.py:1814 -#, python-format -msgid "Type %s is invalid, must be a file or device type" +"File spec %(TARGET)s conflicts with equivalency rule '%(SOURCE)s %(DEST)s'; " +"Try adding '%(DEST1)s' instead" msgstr "" -#: ../semanage/seobject.py:1822 ../semanage/seobject.py:1827 -#: ../semanage/seobject.py:1883 ../semanage/seobject.py:1965 -#: ../semanage/seobject.py:1969 +#: ../semanage/seobject/__init__.py:1963 ../semanage/seobject/__init__.py:1968 +#: ../semanage/seobject/__init__.py:2029 ../semanage/seobject/__init__.py:2121 +#: ../semanage/seobject/__init__.py:2125 #, python-format msgid "Could not check if file context for %s is defined" msgstr "" -#: ../semanage/seobject.py:1835 +#: ../semanage/seobject/__init__.py:1976 #, python-format msgid "Could not create file context for %s" msgstr "" -#: ../semanage/seobject.py:1843 +#: ../semanage/seobject/__init__.py:1984 #, python-format msgid "Could not set type in file context for %s" msgstr "" -#: ../semanage/seobject.py:1851 ../semanage/seobject.py:1911 -#: ../semanage/seobject.py:1915 +#: ../semanage/seobject/__init__.py:1992 ../semanage/seobject/__init__.py:2057 +#: ../semanage/seobject/__init__.py:2061 #, python-format msgid "Could not set file context for %s" msgstr "" -#: ../semanage/seobject.py:1857 +#: ../semanage/seobject/__init__.py:1998 #, python-format msgid "Could not add file context for %s" msgstr "" -#: ../semanage/seobject.py:1871 +#: ../semanage/seobject/__init__.py:2017 msgid "Requires setype, serange or seuser" msgstr "" -#: ../semanage/seobject.py:1887 ../semanage/seobject.py:1973 +#: ../semanage/seobject/__init__.py:2033 ../semanage/seobject/__init__.py:2129 #, python-format msgid "File context for %s is not defined" msgstr "" -#: ../semanage/seobject.py:1893 +#: ../semanage/seobject/__init__.py:2039 #, python-format msgid "Could not query file context for %s" msgstr "" -#: ../semanage/seobject.py:1919 +#: ../semanage/seobject/__init__.py:2065 #, python-format msgid "Could not modify file context for %s" msgstr "" -#: ../semanage/seobject.py:1932 +#: ../semanage/seobject/__init__.py:2083 msgid "Could not list the file contexts" msgstr "" -#: ../semanage/seobject.py:1946 +#: ../semanage/seobject/__init__.py:2097 #, python-format msgid "Could not delete the file context %s" msgstr "" -#: ../semanage/seobject.py:1971 +#: ../semanage/seobject/__init__.py:2127 #, python-format msgid "File context for %s is defined in policy, cannot be deleted" msgstr "" -#: ../semanage/seobject.py:1977 +#: ../semanage/seobject/__init__.py:2133 #, python-format msgid "Could not delete file context for %s" msgstr "" -#: ../semanage/seobject.py:1992 +#: ../semanage/seobject/__init__.py:2150 msgid "Could not list file contexts" msgstr "" -#: ../semanage/seobject.py:1996 +#: ../semanage/seobject/__init__.py:2154 msgid "Could not list local file contexts" msgstr "" -#: ../semanage/seobject.py:2033 +#: ../semanage/seobject/__init__.py:2191 msgid "SELinux fcontext" msgstr "" -#: ../semanage/seobject.py:2033 +#: ../semanage/seobject/__init__.py:2191 msgid "type" msgstr "" -#: ../semanage/seobject.py:2046 +#: ../semanage/seobject/__init__.py:2204 msgid "" "\n" "SELinux Distribution fcontext Equivalence \n" msgstr "" -#: ../semanage/seobject.py:2051 +#: ../semanage/seobject/__init__.py:2209 msgid "" "\n" "SELinux Local fcontext Equivalence \n" msgstr "" -#: ../semanage/seobject.py:2087 ../semanage/seobject.py:2138 -#: ../semanage/seobject.py:2144 +#: ../semanage/seobject/__init__.py:2252 ../semanage/seobject/__init__.py:2311 +#: ../semanage/seobject/__init__.py:2317 #, python-format msgid "Could not check if boolean %s is defined" msgstr "" -#: ../semanage/seobject.py:2089 ../semanage/seobject.py:2140 +#: ../semanage/seobject/__init__.py:2254 ../semanage/seobject/__init__.py:2313 #, python-format msgid "Boolean %s is not defined" msgstr "" -#: ../semanage/seobject.py:2093 +#: ../semanage/seobject/__init__.py:2258 #, python-format msgid "Could not query file context %s" msgstr "" -#: ../semanage/seobject.py:2098 +#: ../semanage/seobject/__init__.py:2263 #, python-format msgid "You must specify one of the following values: %s" msgstr "" -#: ../semanage/seobject.py:2103 +#: ../semanage/seobject/__init__.py:2268 #, python-format msgid "Could not set active value of boolean %s" msgstr "" -#: ../semanage/seobject.py:2106 +#: ../semanage/seobject/__init__.py:2271 #, python-format msgid "Could not modify boolean %s" msgstr "" -#: ../semanage/seobject.py:2122 +#: ../semanage/seobject/__init__.py:2288 #, python-format -msgid "Bad format %s: Record %s" +msgid "Bad format %(BOOLNAME)s: Record %(VALUE)s" msgstr "" -#: ../semanage/seobject.py:2146 +#: ../semanage/seobject/__init__.py:2319 #, python-format msgid "Boolean %s is defined in policy, cannot be deleted" msgstr "" -#: ../semanage/seobject.py:2150 +#: ../semanage/seobject/__init__.py:2323 #, python-format msgid "Could not delete boolean %s" msgstr "" -#: ../semanage/seobject.py:2162 ../semanage/seobject.py:2179 +#: ../semanage/seobject/__init__.py:2336 ../semanage/seobject/__init__.py:2353 msgid "Could not list booleans" msgstr "" -#: ../semanage/seobject.py:2214 +#: ../semanage/seobject/__init__.py:2388 msgid "off" msgstr "" -#: ../semanage/seobject.py:2214 +#: ../semanage/seobject/__init__.py:2388 msgid "on" msgstr "" -#: ../semanage/seobject.py:2228 +#: ../semanage/seobject/__init__.py:2402 msgid "SELinux boolean" msgstr "" -#: ../semanage/seobject.py:2228 +#: ../semanage/seobject/__init__.py:2402 msgid "State" msgstr "" -#: ../semanage/seobject.py:2228 +#: ../semanage/seobject/__init__.py:2402 msgid "Default" msgstr "" -#: ../semanage/seobject.py:2228 ../gui/polgen.glade:113 -#: ../gui/polgengui.py:274 ../sepolicy/sepolicy/sepolicy.glade:2147 -#: ../sepolicy/sepolicy/sepolicy.glade:2517 -#: ../sepolicy/sepolicy/sepolicy.glade:5021 +#: ../semanage/seobject/__init__.py:2402 ../gui/polgen.glade:113 +#: ../gui/polgengui.py:262 ../sepolicy/sepolicy/sepolicy.glade:2148 +#: ../sepolicy/sepolicy/sepolicy.glade:2518 +#: ../sepolicy/sepolicy/sepolicy.glade:5117 msgid "Description" msgstr "" -#: ../newrole/newrole.c:201 +#: ../newrole/newrole.c:200 #, c-format msgid "failed to set PAM_TTY\n" msgstr "" -#: ../newrole/newrole.c:290 +#: ../newrole/newrole.c:289 #, c-format msgid "newrole: service name configuration hashtable overflow\n" msgstr "" -#: ../newrole/newrole.c:300 +#: ../newrole/newrole.c:299 #, c-format msgid "newrole: %s: error on line %lu.\n" msgstr "" -#: ../newrole/newrole.c:439 +#: ../newrole/newrole.c:438 #, c-format msgid "cannot find valid entry in the passwd file.\n" msgstr "" -#: ../newrole/newrole.c:450 +#: ../newrole/newrole.c:449 #, c-format msgid "Out of memory!\n" msgstr "" -#: ../newrole/newrole.c:455 +#: ../newrole/newrole.c:454 #, c-format msgid "Error! Shell is not valid.\n" msgstr "" -#: ../newrole/newrole.c:512 +#: ../newrole/newrole.c:511 #, c-format msgid "Unable to clear environment\n" msgstr "" -#: ../newrole/newrole.c:554 ../newrole/newrole.c:585 ../newrole/newrole.c:616 +#: ../newrole/newrole.c:552 ../newrole/newrole.c:563 ../newrole/newrole.c:594 +#: ../newrole/newrole.c:605 ../newrole/newrole.c:632 #, c-format -msgid "Error changing uid, aborting.\n" +msgid "Error resetting KEEPCAPS, aborting\n" msgstr "" -#: ../newrole/newrole.c:611 +#: ../newrole/newrole.c:558 ../newrole/newrole.c:600 ../newrole/newrole.c:637 #, c-format -msgid "Error resetting KEEPCAPS, aborting\n" +msgid "Error changing uid, aborting.\n" msgstr "" -#: ../newrole/newrole.c:634 +#: ../newrole/newrole.c:655 #, c-format msgid "Error connecting to audit system.\n" msgstr "" -#: ../newrole/newrole.c:640 +#: ../newrole/newrole.c:661 #, c-format msgid "Error allocating memory.\n" msgstr "" -#: ../newrole/newrole.c:647 +#: ../newrole/newrole.c:668 #, c-format msgid "Error sending audit message.\n" msgstr "" -#: ../newrole/newrole.c:691 ../newrole/newrole.c:1063 +#: ../newrole/newrole.c:712 ../newrole/newrole.c:1084 #, c-format msgid "Could not determine enforcing mode.\n" msgstr "" -#: ../newrole/newrole.c:698 +#: ../newrole/newrole.c:719 #, c-format msgid "Error! Could not open %s.\n" msgstr "" -#: ../newrole/newrole.c:704 +#: ../newrole/newrole.c:725 #, c-format msgid "Error! Could not clear O_NONBLOCK on %s\n" msgstr "" -#: ../newrole/newrole.c:710 +#: ../newrole/newrole.c:731 #, c-format msgid "%s! Could not get current context for %s, not relabeling tty.\n" msgstr "" -#: ../newrole/newrole.c:720 +#: ../newrole/newrole.c:741 #, c-format msgid "%s! Could not get new context for %s, not relabeling tty.\n" msgstr "" -#: ../newrole/newrole.c:730 +#: ../newrole/newrole.c:751 #, c-format msgid "%s! Could not set new context for %s\n" msgstr "" -#: ../newrole/newrole.c:777 +#: ../newrole/newrole.c:798 #, c-format msgid "%s changed labels.\n" msgstr "" -#: ../newrole/newrole.c:783 +#: ../newrole/newrole.c:804 #, c-format msgid "Warning! Could not restore context for %s\n" msgstr "" -#: ../newrole/newrole.c:840 +#: ../newrole/newrole.c:861 #, c-format msgid "Error: multiple roles specified\n" msgstr "" -#: ../newrole/newrole.c:848 +#: ../newrole/newrole.c:869 #, c-format msgid "Error: multiple types specified\n" msgstr "" -#: ../newrole/newrole.c:855 +#: ../newrole/newrole.c:876 #, c-format msgid "Sorry, -l may be used with SELinux MLS support.\n" msgstr "" -#: ../newrole/newrole.c:860 +#: ../newrole/newrole.c:881 #, c-format msgid "Error: multiple levels specified\n" msgstr "" -#: ../newrole/newrole.c:870 +#: ../newrole/newrole.c:891 #, c-format msgid "Error: you are not allowed to change levels on a non secure terminal \n" msgstr "" -#: ../newrole/newrole.c:896 +#: ../newrole/newrole.c:917 #, c-format msgid "Couldn't get default type.\n" msgstr "" -#: ../newrole/newrole.c:906 +#: ../newrole/newrole.c:927 #, c-format msgid "failed to get new context.\n" msgstr "" -#: ../newrole/newrole.c:913 +#: ../newrole/newrole.c:934 #, c-format msgid "failed to set new role %s\n" msgstr "" -#: ../newrole/newrole.c:920 +#: ../newrole/newrole.c:941 #, c-format msgid "failed to set new type %s\n" msgstr "" -#: ../newrole/newrole.c:930 +#: ../newrole/newrole.c:951 #, c-format msgid "failed to build new range with level %s\n" msgstr "" -#: ../newrole/newrole.c:935 +#: ../newrole/newrole.c:956 #, c-format msgid "failed to set new range %s\n" msgstr "" -#: ../newrole/newrole.c:943 +#: ../newrole/newrole.c:964 #, c-format msgid "failed to convert new context to string\n" msgstr "" -#: ../newrole/newrole.c:948 +#: ../newrole/newrole.c:969 #, c-format msgid "%s is not a valid context\n" msgstr "" -#: ../newrole/newrole.c:955 +#: ../newrole/newrole.c:976 #, c-format msgid "Unable to allocate memory for new_context" msgstr "" -#: ../newrole/newrole.c:981 +#: ../newrole/newrole.c:1002 #, c-format msgid "Unable to obtain empty signal set\n" msgstr "" -#: ../newrole/newrole.c:989 +#: ../newrole/newrole.c:1010 #, c-format msgid "Unable to set SIGHUP handler\n" msgstr "" -#: ../newrole/newrole.c:1041 +#: ../newrole/newrole.c:1062 msgid "Sorry, newrole failed to drop capabilities\n" msgstr "" -#: ../newrole/newrole.c:1057 +#: ../newrole/newrole.c:1078 #, c-format msgid "Sorry, newrole may be used only on a SELinux kernel.\n" msgstr "" -#: ../newrole/newrole.c:1074 +#: ../newrole/newrole.c:1095 #, c-format msgid "failed to get old_context.\n" msgstr "" -#: ../newrole/newrole.c:1081 +#: ../newrole/newrole.c:1102 #, c-format msgid "Warning! Could not retrieve tty information.\n" msgstr "" -#: ../newrole/newrole.c:1102 +#: ../newrole/newrole.c:1123 #, c-format msgid "error on reading PAM service configuration.\n" msgstr "" -#: ../newrole/newrole.c:1137 +#: ../newrole/newrole.c:1158 #, c-format msgid "newrole: incorrect password for %s\n" msgstr "" -#: ../newrole/newrole.c:1164 +#: ../newrole/newrole.c:1185 #, c-format msgid "newrole: failure forking: %s" msgstr "" -#: ../newrole/newrole.c:1167 ../newrole/newrole.c:1190 +#: ../newrole/newrole.c:1188 ../newrole/newrole.c:1211 #, c-format msgid "Unable to restore tty label...\n" msgstr "" -#: ../newrole/newrole.c:1169 ../newrole/newrole.c:1196 +#: ../newrole/newrole.c:1190 ../newrole/newrole.c:1217 #, c-format msgid "Failed to close tty properly\n" msgstr "" -#: ../newrole/newrole.c:1228 +#: ../newrole/newrole.c:1249 #, c-format msgid "Could not close descriptors.\n" msgstr "" -#: ../newrole/newrole.c:1263 +#: ../newrole/newrole.c:1284 #, c-format msgid "Error allocating shell's argv0.\n" msgstr "" -#: ../newrole/newrole.c:1285 +#: ../newrole/newrole.c:1306 #, c-format msgid "Failed to send audit message" msgstr "" -#: ../newrole/newrole.c:1293 +#: ../newrole/newrole.c:1314 #, c-format msgid "Failed to transition to namespace\n" msgstr "" -#: ../newrole/newrole.c:1299 +#: ../newrole/newrole.c:1320 #, c-format msgid "Failed to drop capabilities %m\n" msgstr "" -#: ../newrole/newrole.c:1304 +#: ../newrole/newrole.c:1325 #, c-format msgid "Unable to restore the environment, aborting\n" msgstr "" -#: ../newrole/newrole.c:1315 +#: ../newrole/newrole.c:1336 msgid "failed to exec shell\n" msgstr "" @@ -1269,171 +1331,171 @@ msgstr "" msgid "%s: Can't load policy: %s\n" msgstr "" -#: ../scripts/chcat:92 ../scripts/chcat:169 +#: ../scripts/chcat:108 ../scripts/chcat:187 msgid "Requires at least one category" msgstr "" -#: ../scripts/chcat:106 ../scripts/chcat:183 +#: ../scripts/chcat:122 ../scripts/chcat:201 #, c-format msgid "Can not modify sensitivity levels using '+' on %s" msgstr "" -#: ../scripts/chcat:110 +#: ../scripts/chcat:126 #, c-format msgid "%s is already in %s" msgstr "" -#: ../scripts/chcat:188 ../scripts/chcat:198 +#: ../scripts/chcat:206 ../scripts/chcat:216 #, c-format msgid "%s is not in %s" msgstr "" -#: ../scripts/chcat:267 ../scripts/chcat:272 +#: ../scripts/chcat:288 ../scripts/chcat:293 msgid "Can not combine +/- with other types of categories" msgstr "" -#: ../scripts/chcat:319 +#: ../scripts/chcat:343 msgid "Can not have multiple sensitivities" msgstr "" -#: ../scripts/chcat:325 +#: ../scripts/chcat:350 #, c-format msgid "Usage %s CATEGORY File ..." msgstr "" -#: ../scripts/chcat:326 +#: ../scripts/chcat:351 #, c-format msgid "Usage %s -l CATEGORY user ..." msgstr "" -#: ../scripts/chcat:327 +#: ../scripts/chcat:352 #, c-format -msgid "Usage %s [[+|-]CATEGORY],...]q File ..." +msgid "Usage %s [[+|-]CATEGORY],...] File ..." msgstr "" -#: ../scripts/chcat:328 +#: ../scripts/chcat:353 #, c-format -msgid "Usage %s -l [[+|-]CATEGORY],...]q user ..." +msgid "Usage %s -l [[+|-]CATEGORY],...] user ..." msgstr "" -#: ../scripts/chcat:329 +#: ../scripts/chcat:354 #, c-format msgid "Usage %s -d File ..." msgstr "" -#: ../scripts/chcat:330 +#: ../scripts/chcat:355 #, c-format msgid "Usage %s -l -d user ..." msgstr "" -#: ../scripts/chcat:331 +#: ../scripts/chcat:356 #, c-format msgid "Usage %s -L" msgstr "" -#: ../scripts/chcat:332 +#: ../scripts/chcat:357 #, c-format msgid "Usage %s -L -l user" msgstr "" -#: ../scripts/chcat:333 +#: ../scripts/chcat:358 msgid "Use -- to end option list. For example" msgstr "" -#: ../scripts/chcat:334 +#: ../scripts/chcat:359 msgid "chcat -- -CompanyConfidential /docs/businessplan.odt" msgstr "" -#: ../scripts/chcat:335 +#: ../scripts/chcat:360 msgid "chcat -l +CompanyConfidential juser" msgstr "" -#: ../scripts/chcat:399 +#: ../scripts/chcat:429 #, c-format msgid "Options Error %s " msgstr "" -#: ../gui/booleansPage.py:194 ../gui/system-config-selinux.glade:1706 +#: ../gui/booleansPage.py:192 ../gui/system-config-selinux.glade:1706 msgid "Boolean" msgstr "" -#: ../gui/booleansPage.py:245 ../gui/semanagePage.py:162 +#: ../gui/booleansPage.py:250 ../gui/semanagePage.py:189 msgid "all" msgstr "" -#: ../gui/booleansPage.py:247 ../gui/semanagePage.py:164 +#: ../gui/booleansPage.py:252 ../gui/semanagePage.py:191 #: ../gui/system-config-selinux.glade:1615 #: ../gui/system-config-selinux.glade:1820 #: ../gui/system-config-selinux.glade:2437 msgid "Customized" msgstr "" -#: ../gui/fcontextPage.py:64 ../gui/system-config-selinux.glade:1911 +#: ../gui/fcontextPage.py:66 ../gui/system-config-selinux.glade:1911 msgid "File Labeling" msgstr "" -#: ../gui/fcontextPage.py:74 +#: ../gui/fcontextPage.py:76 msgid "" "File\n" "Specification" msgstr "" -#: ../gui/fcontextPage.py:81 +#: ../gui/fcontextPage.py:83 msgid "" "Selinux\n" "File Type" msgstr "" -#: ../gui/fcontextPage.py:88 +#: ../gui/fcontextPage.py:90 msgid "" "File\n" "Type" msgstr "" -#: ../gui/loginsPage.py:48 ../gui/system-config-selinux.glade:2098 +#: ../gui/loginsPage.py:47 ../gui/system-config-selinux.glade:2098 msgid "User Mapping" msgstr "" -#: ../gui/loginsPage.py:52 +#: ../gui/loginsPage.py:51 msgid "" "Login\n" "Name" msgstr "" -#: ../gui/loginsPage.py:56 ../gui/usersPage.py:50 +#: ../gui/loginsPage.py:55 ../gui/usersPage.py:49 msgid "" "SELinux\n" "User" msgstr "" -#: ../gui/loginsPage.py:59 ../gui/usersPage.py:55 +#: ../gui/loginsPage.py:58 ../gui/usersPage.py:54 msgid "" "MLS/\n" "MCS Range" msgstr "" -#: ../gui/loginsPage.py:133 +#: ../gui/loginsPage.py:131 #, python-format msgid "Login '%s' is required" msgstr "" -#: ../gui/modulesPage.py:49 ../gui/system-config-selinux.glade:2753 +#: ../gui/modulesPage.py:51 ../gui/system-config-selinux.glade:2753 msgid "Policy Module" msgstr "" -#: ../gui/modulesPage.py:58 -msgid "Module Name" +#: ../gui/modulesPage.py:65 +msgid "Version" msgstr "" -#: ../gui/modulesPage.py:135 +#: ../gui/modulesPage.py:132 msgid "Disable Audit" msgstr "" -#: ../gui/modulesPage.py:138 ../gui/system-config-selinux.glade:2662 +#: ../gui/modulesPage.py:135 ../gui/system-config-selinux.glade:2662 msgid "Enable Audit" msgstr "" -#: ../gui/modulesPage.py:163 +#: ../gui/modulesPage.py:162 msgid "Load Policy Module" msgstr "" @@ -1472,7 +1534,7 @@ msgstr "" msgid "Applications" msgstr "" -#: ../gui/polgen.glade:316 ../sepolicy/sepolicy/generate.py:130 +#: ../gui/polgen.glade:316 ../sepolicy/sepolicy/generate.py:144 msgid "Standard Init Daemon" msgstr "" @@ -1482,7 +1544,7 @@ msgid "" "requires a script in /etc/rc.d/init.d" msgstr "" -#: ../gui/polgen.glade:332 ../sepolicy/sepolicy/generate.py:131 +#: ../gui/polgen.glade:332 ../sepolicy/sepolicy/generate.py:145 msgid "DBUS System Daemon" msgstr "" @@ -1494,7 +1556,7 @@ msgstr "" msgid "Internet Services Daemon are daemons started by xinetd" msgstr "" -#: ../gui/polgen.glade:366 ../sepolicy/sepolicy/generate.py:133 +#: ../gui/polgen.glade:366 ../sepolicy/sepolicy/generate.py:147 msgid "Web Application/Script (CGI)" msgstr "" @@ -1503,7 +1565,7 @@ msgid "" "Web Applications/Script (CGI) CGI scripts started by the web server (apache)" msgstr "" -#: ../gui/polgen.glade:383 ../sepolicy/sepolicy/generate.py:135 +#: ../gui/polgen.glade:383 ../sepolicy/sepolicy/generate.py:149 msgid "User Application" msgstr "" @@ -1513,7 +1575,7 @@ msgid "" "started by a user" msgstr "" -#: ../gui/polgen.glade:400 ../sepolicy/sepolicy/generate.py:134 +#: ../gui/polgen.glade:400 ../sepolicy/sepolicy/generate.py:148 msgid "Sandbox" msgstr "" @@ -1588,8 +1650,8 @@ msgstr "" msgid "Enter name of application or user role:" msgstr "" -#: ../gui/polgen.glade:728 ../gui/polgengui.py:272 -#: ../sepolicy/sepolicy/sepolicy.glade:2182 +#: ../gui/polgen.glade:728 ../gui/polgengui.py:260 +#: ../sepolicy/sepolicy/sepolicy.glade:2183 msgid "Name" msgstr "" @@ -1673,7 +1735,7 @@ msgid "TCP Ports" msgstr "" #: ../gui/polgen.glade:1223 ../gui/polgen.glade:1390 ../gui/polgen.glade:1589 -#: ../gui/polgen.glade:1698 ../sepolicy/sepolicy/sepolicy.glade:4314 +#: ../gui/polgen.glade:1698 msgid "All" msgstr "" @@ -1804,105 +1866,105 @@ msgstr "" msgid "Policy Directory" msgstr "" -#: ../gui/polgengui.py:282 +#: ../gui/polgengui.py:270 msgid "Role" msgstr "" -#: ../gui/polgengui.py:289 +#: ../gui/polgengui.py:277 msgid "Existing_User" msgstr "" -#: ../gui/polgengui.py:303 ../gui/polgengui.py:311 ../gui/polgengui.py:325 +#: ../gui/polgengui.py:291 ../gui/polgengui.py:299 ../gui/polgengui.py:313 msgid "Application" msgstr "" -#: ../gui/polgengui.py:370 +#: ../gui/polgengui.py:358 #, python-format msgid "%s must be a directory" msgstr "" -#: ../gui/polgengui.py:430 ../gui/polgengui.py:711 +#: ../gui/polgengui.py:418 ../gui/polgengui.py:699 msgid "You must select a user" msgstr "" -#: ../gui/polgengui.py:560 +#: ../gui/polgengui.py:548 msgid "Select executable file to be confined." msgstr "" -#: ../gui/polgengui.py:571 +#: ../gui/polgengui.py:559 msgid "Select init script file to be confined." msgstr "" -#: ../gui/polgengui.py:581 +#: ../gui/polgengui.py:569 msgid "Select file(s) that confined application creates or writes" msgstr "" -#: ../gui/polgengui.py:588 +#: ../gui/polgengui.py:576 msgid "Select directory(s) that the confined application owns and writes into" msgstr "" -#: ../gui/polgengui.py:650 +#: ../gui/polgengui.py:638 msgid "Select directory to generate policy files in" msgstr "" -#: ../gui/polgengui.py:667 +#: ../gui/polgengui.py:655 #, python-format msgid "" "Type %s_t already defined in current policy.\n" "Do you want to continue?" msgstr "" -#: ../gui/polgengui.py:667 ../gui/polgengui.py:671 +#: ../gui/polgengui.py:655 ../gui/polgengui.py:659 msgid "Verify Name" msgstr "" -#: ../gui/polgengui.py:671 +#: ../gui/polgengui.py:659 #, python-format msgid "" -"Module %s.pp already loaded in current policy.\n" +"Module %s already loaded in current policy.\n" "Do you want to continue?" msgstr "" -#: ../gui/polgengui.py:717 +#: ../gui/polgengui.py:705 msgid "" "You must add a name made up of letters and numbers and containing no spaces." msgstr "" -#: ../gui/polgengui.py:731 +#: ../gui/polgengui.py:719 msgid "You must enter a executable" msgstr "" -#: ../gui/polgengui.py:756 ../gui/system-config-selinux.py:180 +#: ../gui/polgengui.py:744 ../gui/system-config-selinux.py:181 msgid "Configue SELinux" msgstr "" -#: ../gui/portsPage.py:51 ../gui/system-config-selinux.glade:2528 +#: ../gui/portsPage.py:50 ../gui/system-config-selinux.glade:2528 msgid "Network Port" msgstr "" -#: ../gui/portsPage.py:85 +#: ../gui/portsPage.py:84 msgid "" "SELinux Port\n" "Type" msgstr "" -#: ../gui/portsPage.py:91 ../gui/system-config-selinux.glade:363 -#: ../sepolicy/sepolicy/sepolicy.glade:1443 -#: ../sepolicy/sepolicy/sepolicy.glade:2657 -#: ../sepolicy/sepolicy/sepolicy.glade:2755 -#: ../sepolicy/sepolicy/sepolicy.glade:4672 +#: ../gui/portsPage.py:90 ../gui/system-config-selinux.glade:363 +#: ../sepolicy/sepolicy/sepolicy.glade:1439 +#: ../sepolicy/sepolicy/sepolicy.glade:2658 +#: ../sepolicy/sepolicy/sepolicy.glade:2756 +#: ../sepolicy/sepolicy/sepolicy.glade:4633 msgid "Protocol" msgstr "" -#: ../gui/portsPage.py:96 ../gui/system-config-selinux.glade:479 +#: ../gui/portsPage.py:95 ../gui/system-config-selinux.glade:479 msgid "" "MLS/MCS\n" "Level" msgstr "" -#: ../gui/portsPage.py:101 ../sepolicy/sepolicy/sepolicy.glade:2638 -#: ../sepolicy/sepolicy/sepolicy.glade:2737 -#: ../sepolicy/sepolicy/sepolicy.glade:4658 +#: ../gui/portsPage.py:100 ../sepolicy/sepolicy/sepolicy.glade:2639 +#: ../sepolicy/sepolicy/sepolicy.glade:2738 +#: ../sepolicy/sepolicy/sepolicy.glade:4619 msgid "Port" msgstr "" @@ -1911,58 +1973,58 @@ msgstr "" msgid "Port number \"%s\" is not valid. 0 < PORT_NUMBER < 65536 " msgstr "" -#: ../gui/portsPage.py:252 +#: ../gui/portsPage.py:260 msgid "List View" msgstr "" -#: ../gui/portsPage.py:255 ../gui/system-config-selinux.glade:2419 +#: ../gui/portsPage.py:263 ../gui/system-config-selinux.glade:2419 msgid "Group View" msgstr "" -#: ../gui/semanagePage.py:126 +#: ../gui/semanagePage.py:129 #, python-format msgid "Are you sure you want to delete %s '%s'?" msgstr "" -#: ../gui/semanagePage.py:126 +#: ../gui/semanagePage.py:129 #, python-format msgid "Delete %s" msgstr "" -#: ../gui/semanagePage.py:134 +#: ../gui/semanagePage.py:161 #, python-format msgid "Add %s" msgstr "" -#: ../gui/semanagePage.py:148 +#: ../gui/semanagePage.py:175 #, python-format msgid "Modify %s" msgstr "" -#: ../gui/statusPage.py:69 ../gui/system-config-selinux.glade:2819 -#: ../sepolicy/sepolicy/sepolicy.glade:3413 -#: ../sepolicy/sepolicy/sepolicy.glade:3486 +#: ../gui/statusPage.py:67 ../gui/system-config-selinux.glade:2819 +#: ../sepolicy/sepolicy/sepolicy.glade:3414 +#: ../sepolicy/sepolicy/sepolicy.glade:3487 msgid "Permissive" msgstr "" -#: ../gui/statusPage.py:70 ../gui/system-config-selinux.glade:2837 -#: ../sepolicy/sepolicy/sepolicy.glade:3394 -#: ../sepolicy/sepolicy/sepolicy.glade:3468 +#: ../gui/statusPage.py:68 ../gui/system-config-selinux.glade:2837 +#: ../sepolicy/sepolicy/sepolicy.glade:3395 +#: ../sepolicy/sepolicy/sepolicy.glade:3469 msgid "Enforcing" msgstr "" -#: ../gui/statusPage.py:94 +#: ../gui/statusPage.py:92 msgid "Status" msgstr "" -#: ../gui/statusPage.py:133 ../sepolicy/sepolicy/gui.py:2619 +#: ../gui/statusPage.py:131 ../sepolicy/sepolicy/gui.py:2627 msgid "" "Changing the policy type will cause a relabel of the entire file system on " "the next boot. Relabeling takes a long time depending on the size of the " "file system. Do you wish to continue?" msgstr "" -#: ../gui/statusPage.py:147 +#: ../gui/statusPage.py:145 msgid "" "Changing to SELinux disabled requires a reboot. It is not recommended. If " "you later decide to turn SELinux back on, the system will be required to " @@ -1972,7 +2034,7 @@ msgid "" "wish to continue?" msgstr "" -#: ../gui/statusPage.py:152 ../sepolicy/sepolicy/gui.py:2753 +#: ../gui/statusPage.py:150 ../sepolicy/sepolicy/gui.py:2767 msgid "" "Changing to SELinux enabled will cause a relabel of the entire file system " "on the next boot. Relabeling takes a long time depending on the size of the " @@ -2018,14 +2080,14 @@ msgid "" "directory\n" "character device\n" "block device\n" -"socket\n" +"socket file\n" "symbolic link\n" "named pipe\n" msgstr "" #: ../gui/system-config-selinux.glade:773 -#: ../sepolicy/sepolicy/sepolicy.glade:729 -#: ../sepolicy/sepolicy/sepolicy.glade:1489 +#: ../sepolicy/sepolicy/sepolicy.glade:711 +#: ../sepolicy/sepolicy/sepolicy.glade:1485 msgid "MLS" msgstr "" @@ -2038,7 +2100,7 @@ msgid "SELinux Administration" msgstr "" #: ../gui/system-config-selinux.glade:1122 -#: ../sepolicy/sepolicy/sepolicy.glade:4162 +#: ../sepolicy/sepolicy/sepolicy.glade:4163 msgid "Add" msgstr "" @@ -2108,7 +2170,7 @@ msgstr "" #: ../gui/system-config-selinux.glade:2467 #: ../gui/system-config-selinux.glade:2692 #: ../gui/system-config-selinux.glade:2867 -#: ../sepolicy/sepolicy/sepolicy.glade:1992 +#: ../sepolicy/sepolicy/sepolicy.glade:1993 msgid "Filter" msgstr "" @@ -2227,7 +2289,7 @@ msgstr "" msgid "label59" msgstr "" -#: ../gui/usersPage.py:138 +#: ../gui/usersPage.py:142 #, python-format msgid "SELinux user '%s' is required" msgstr "" @@ -2239,13 +2301,14 @@ msgstr "" #: booleans.py:2 msgid "" -"Allow ABRT to run in abrt_handle_event_t domain to handle ABRT event scripts" +"Determine whether ABRT can run in the abrt_handle_event_t domain to handle " +"ABRT event scripts." msgstr "" #: booleans.py:3 msgid "" -"Allow abrt-handle-upload to modify public files used for public file " -"transfer services in /var/spool/abrt-upload/." +"Determine whether abrt-handle-upload can modify public files used for public " +"file transfer services in /var/spool/abrt-upload/." msgstr "" #: booleans.py:4 @@ -2271,7 +2334,8 @@ msgid "Allow users to login using a radius server" msgstr "" #: booleans.py:9 -msgid "Allow users to login using a yubikey server" +msgid "" +"Allow users to login using a yubikey OTP server or challenge response mode" msgstr "" #: booleans.py:10 @@ -2279,7 +2343,7 @@ msgid "Determine whether awstats can purge httpd log files." msgstr "" #: booleans.py:11 -msgid "Allow boinc_domain execmem/execstack." +msgid "Determine whether boinc can execmem/execstack." msgstr "" #: booleans.py:12 @@ -2330,1472 +2394,1620 @@ msgid "Determine whether Condor can connect to the network using TCP." msgstr "" #: booleans.py:22 -msgid "" -"Allow system cron jobs to relabel filesystem for restoring file contexts." +msgid "Determine whether conman can connect to all TCP ports" msgstr "" #: booleans.py:23 -msgid "Determine whether cvs can read shadow password files." +msgid "" +"Allow system cron jobs to relabel filesystem for restoring file contexts." msgstr "" #: booleans.py:24 -msgid "Allow all daemons to write corefiles to /" +msgid "Allow system cronjob to be executed on on NFS, CIFS or FUSE filesystem." msgstr "" #: booleans.py:25 -msgid "Allow all daemons to use tcp wrappers." +msgid "" +"Determine whether crond can execute jobs in the user domain as opposed to " +"the the generic cronjob domain." msgstr "" #: booleans.py:26 -msgid "Allow all daemons the ability to read/write terminals" +msgid "Allow cups execmem/execstack" msgstr "" #: booleans.py:27 -msgid "Determine whether dbadm can manage generic user files." +msgid "Determine whether cvs can read shadow password files." msgstr "" #: booleans.py:28 -msgid "Determine whether dbadm can read generic user files." +msgid "Allow all daemons to write corefiles to /" msgstr "" #: booleans.py:29 -msgid "" -"Deny user domains applications to map a memory region as both executable and " -"writable, this is dangerous and the executable should be reported in bugzilla" +msgid "Enable cluster mode for daemons." msgstr "" #: booleans.py:30 -msgid "Deny any process from ptracing or debugging any other processes." +msgid "Allow all daemons to use tcp wrappers." msgstr "" #: booleans.py:31 -msgid "Allow dhcpc client applications to execute iptables commands" +msgid "Allow all daemons the ability to read/write terminals" msgstr "" #: booleans.py:32 -msgid "Determine whether DHCP daemon can use LDAP backends." +msgid "Allow dbadm to exec content" msgstr "" #: booleans.py:33 -msgid "Allow all domains to use other domains file descriptors" +msgid "Determine whether dbadm can manage generic user files." msgstr "" #: booleans.py:34 -msgid "Allow all domains to have the kernel load modules" +msgid "Determine whether dbadm can read generic user files." msgstr "" #: booleans.py:35 msgid "" -"Determine whether entropyd can use audio devices as the source for the " -"entropy feeds." +"Deny user domains applications to map a memory region as both executable and " +"writable, this is dangerous and the executable should be reported in bugzilla" msgstr "" #: booleans.py:36 -msgid "Determine whether exim can connect to databases." +msgid "Deny any process from ptracing or debugging any other processes." msgstr "" #: booleans.py:37 -msgid "" -"Determine whether exim can create, read, write, and delete generic user " -"content files." +msgid "Allow dhcpc client applications to execute iptables commands" msgstr "" #: booleans.py:38 -msgid "Determine whether exim can read generic user content files." +msgid "Determine whether DHCP daemon can use LDAP backends." msgstr "" #: booleans.py:39 -msgid "Enable extra rules in the cron domain to support fcron." +msgid "Determine whether docker can connect to all TCP ports." msgstr "" #: booleans.py:40 -msgid "Determine whether fenced can connect to the TCP network." +msgid "Allow all domains to use other domains file descriptors" msgstr "" #: booleans.py:41 -msgid "Determine whether fenced can use ssh." +msgid "Allow all domains to have the kernel load modules" msgstr "" #: booleans.py:42 -msgid "Allow all domains to execute in fips_mode" +msgid "" +"Determine whether entropyd can use audio devices as the source for the " +"entropy feeds." msgstr "" #: booleans.py:43 -msgid "" -"Determine whether ftpd can read and write files in user home directories." +msgid "Determine whether exim can connect to databases." msgstr "" #: booleans.py:44 msgid "" -"Determine whether ftpd can modify public files used for public file transfer " -"services. Directories/Files must be labeled public_content_rw_t." +"Determine whether exim can create, read, write, and delete generic user " +"content files." msgstr "" #: booleans.py:45 -msgid "Determine whether ftpd can connect to all unreserved ports." +msgid "Determine whether exim can read generic user content files." msgstr "" #: booleans.py:46 -msgid "Determine whether ftpd can connect to databases over the TCP network." +msgid "Enable extra rules in the cron domain to support fcron." msgstr "" #: booleans.py:47 -msgid "" -"Determine whether ftpd can login to local users and can read and write all " -"files on the system, governed by DAC." +msgid "Determine whether fenced can connect to the TCP network." msgstr "" #: booleans.py:48 -msgid "" -"Determine whether ftpd can use CIFS used for public file transfer services." +msgid "Determine whether fenced can use ssh." msgstr "" #: booleans.py:49 -msgid "Allow ftpd to use ntfs/fusefs volumes." +msgid "Allow all domains to execute in fips_mode" msgstr "" #: booleans.py:50 msgid "" -"Determine whether ftpd can use NFS used for public file transfer services." +"Determine whether ftpd can modify public files used for public file transfer " +"services. Directories/Files must be labeled public_content_rw_t." msgstr "" #: booleans.py:51 -msgid "" -"Determine whether ftpd can bind to all unreserved ports for passive mode." +msgid "Determine whether ftpd can connect to all unreserved ports." msgstr "" #: booleans.py:52 -msgid "Determine whether Git CGI can search home directories." +msgid "Determine whether ftpd can connect to databases over the TCP network." msgstr "" #: booleans.py:53 -msgid "Determine whether Git CGI can access cifs file systems." +msgid "" +"Determine whether ftpd can login to local users and can read and write all " +"files on the system, governed by DAC." msgstr "" #: booleans.py:54 -msgid "Determine whether Git CGI can access nfs file systems." +msgid "" +"Determine whether ftpd can use CIFS used for public file transfer services." msgstr "" #: booleans.py:55 -msgid "" -"Determine whether Git session daemon can bind TCP sockets to all unreserved " -"ports." +msgid "Allow ftpd to use ntfs/fusefs volumes." msgstr "" #: booleans.py:56 msgid "" -"Determine whether calling user domains can execute Git daemon in the " -"git_session_t domain." +"Determine whether ftpd can use NFS used for public file transfer services." msgstr "" #: booleans.py:57 -msgid "Determine whether Git system daemon can search home directories." +msgid "" +"Determine whether ftpd can bind to all unreserved ports for passive mode." msgstr "" #: booleans.py:58 -msgid "Determine whether Git system daemon can access cifs file systems." +msgid "Determine whether Git CGI can search home directories." msgstr "" #: booleans.py:59 -msgid "Determine whether Git system daemon can access nfs file systems." +msgid "Determine whether Git CGI can access cifs file systems." msgstr "" #: booleans.py:60 -msgid "Determine whether Gitosis can send mail." +msgid "Determine whether Git CGI can access nfs file systems." msgstr "" #: booleans.py:61 -msgid "Enable reading of urandom for all domains." +msgid "" +"Determine whether Git session daemon can bind TCP sockets to all unreserved " +"ports." msgstr "" #: booleans.py:62 msgid "" -"Allow glusterfsd to modify public files used for public file transfer " -"services. Files/Directories must be labeled public_content_rw_t." +"Determine whether calling user domains can execute Git daemon in the " +"git_session_t domain." msgstr "" #: booleans.py:63 -msgid "Allow glusterfsd to share any file/directory read only." +msgid "Determine whether Git system daemon can search home directories." msgstr "" #: booleans.py:64 -msgid "Allow glusterfsd to share any file/directory read/write." +msgid "Determine whether Git system daemon can access cifs file systems." msgstr "" #: booleans.py:65 -msgid "" -"Allow usage of the gpg-agent --write-env-file option. This also allows gpg-" -"agent to manage user files." +msgid "Determine whether Git system daemon can access nfs file systems." msgstr "" #: booleans.py:66 -msgid "" -"Allow gpg web domain to modify public files used for public file transfer " -"services." +msgid "Determine whether Gitosis can send mail." msgstr "" #: booleans.py:67 -msgid "" -"Allow gssd to list tmp directories and read the kerberos credential cache." +msgid "Determine whether glance-api can connect to all TCP ports" msgstr "" #: booleans.py:68 -msgid "Allow guest to exec content" +msgid "Allow glance domain to use executable memory and executable stack" msgstr "" #: booleans.py:69 -msgid "" -"Allow Apache to modify public files used for public file transfer services. " -"Directories/Files must be labeled public_content_rw_t." +msgid "Allow glance domain to manage fuse files" msgstr "" #: booleans.py:70 -msgid "Allow httpd to use built in scripting (usually php)" +msgid "Enable reading of urandom for all domains." msgstr "" #: booleans.py:71 -msgid "Allow http daemon to check spam" +msgid "" +"Allow glusterfsd to modify public files used for public file transfer " +"services. Files/Directories must be labeled public_content_rw_t." msgstr "" #: booleans.py:72 -msgid "" -"Allow httpd to act as a FTP client connecting to the ftp port and ephemeral " -"ports" +msgid "Allow glusterfsd to share any file/directory read only." msgstr "" #: booleans.py:73 -msgid "Allow httpd to connect to the ldap port" +msgid "Allow glusterfsd to share any file/directory read/write." msgstr "" #: booleans.py:74 -msgid "Allow http daemon to connect to mythtv" +msgid "" +"Allow gpg web domain to modify public files used for public file transfer " +"services." msgstr "" #: booleans.py:75 -msgid "Allow http daemon to connect to zabbix" +msgid "" +"Allow gssd to list tmp directories and read the kerberos credential cache." msgstr "" #: booleans.py:76 -msgid "Allow HTTPD scripts and modules to connect to the network using TCP." +msgid "Allow guest to exec content" msgstr "" #: booleans.py:77 -msgid "Allow HTTPD scripts and modules to connect to cobbler over the network." +msgid "Determine whether haproxy can connect to all TCP ports." msgstr "" #: booleans.py:78 msgid "" -"Allow HTTPD scripts and modules to connect to databases over the network." +"Allow Apache to modify public files used for public file transfer services. " +"Directories/Files must be labeled public_content_rw_t." msgstr "" #: booleans.py:79 -msgid "Allow httpd to connect to memcache server" +msgid "Allow httpd to use built in scripting (usually php)" msgstr "" #: booleans.py:80 -msgid "Allow httpd to act as a relay" +msgid "Allow http daemon to check spam" msgstr "" #: booleans.py:81 -msgid "Allow http daemon to send mail" +msgid "" +"Allow httpd to act as a FTP client connecting to the ftp port and ephemeral " +"ports" msgstr "" #: booleans.py:82 -msgid "Allow Apache to communicate with avahi service via dbus" +msgid "Allow httpd to connect to the ldap port" msgstr "" #: booleans.py:83 -msgid "Allow httpd cgi support" +msgid "Allow http daemon to connect to mythtv" msgstr "" #: booleans.py:84 -msgid "Allow httpd to act as a FTP server by listening on the ftp port." +msgid "Allow http daemon to connect to zabbix" msgstr "" #: booleans.py:85 -msgid "Allow httpd to read home directories" +msgid "Allow HTTPD scripts and modules to connect to the network using TCP." msgstr "" #: booleans.py:86 -msgid "Allow httpd scripts and modules execmem/execstack" +msgid "Allow HTTPD scripts and modules to connect to cobbler over the network." msgstr "" #: booleans.py:87 -msgid "Allow HTTPD to connect to port 80 for graceful shutdown" +msgid "" +"Allow HTTPD scripts and modules to connect to databases over the network." msgstr "" #: booleans.py:88 -msgid "Allow httpd processes to manage IPA content" +msgid "Allow httpd to connect to memcache server" msgstr "" #: booleans.py:89 -msgid "Allow Apache to use mod_auth_ntlm_winbind" +msgid "Allow httpd to act as a relay" msgstr "" #: booleans.py:90 -msgid "Allow Apache to use mod_auth_pam" +msgid "Allow http daemon to send mail" msgstr "" #: booleans.py:91 -msgid "Allow httpd to read user content" +msgid "Allow Apache to communicate with avahi service via dbus" msgstr "" #: booleans.py:92 -msgid "Allow Apache to run in stickshift mode, not transition to passenger" +msgid "Allow Apache to communicate with sssd service via dbus" msgstr "" #: booleans.py:93 -msgid "Allow HTTPD scripts and modules to server cobbler files." +msgid "Dontaudit Apache to search dirs." msgstr "" #: booleans.py:94 -msgid "Allow httpd daemon to change its resource limits" +msgid "Allow httpd cgi support" msgstr "" #: booleans.py:95 -msgid "" -"Allow HTTPD to run SSI executables in the same domain as system CGI scripts." +msgid "Allow httpd to act as a FTP server by listening on the ftp port." msgstr "" #: booleans.py:96 -msgid "" -"Allow apache scripts to write to public content, directories/files must be " -"labeled public_rw_content_t." +msgid "Allow httpd to read home directories" msgstr "" #: booleans.py:97 -msgid "Allow Apache to execute tmp content." +msgid "Allow httpd scripts and modules execmem/execstack" msgstr "" #: booleans.py:98 -msgid "" -"Unify HTTPD to communicate with the terminal. Needed for entering the " -"passphrase for certificates at the terminal." +msgid "Allow HTTPD to connect to port 80 for graceful shutdown" msgstr "" #: booleans.py:99 -msgid "Unify HTTPD handling of all content files." +msgid "Allow httpd processes to manage IPA content" msgstr "" #: booleans.py:100 -msgid "Allow httpd to access cifs file systems" +msgid "Allow Apache to use mod_auth_ntlm_winbind" msgstr "" #: booleans.py:101 -msgid "Allow httpd to access FUSE file systems" +msgid "Allow Apache to use mod_auth_pam" msgstr "" #: booleans.py:102 -msgid "Allow httpd to run gpg" +msgid "Allow httpd to read user content" msgstr "" #: booleans.py:103 -msgid "Allow httpd to access nfs file systems" +msgid "Allow httpd processes to run IPA helper." msgstr "" #: booleans.py:104 -msgid "Allow httpd to access openstack ports" +msgid "Allow Apache to run preupgrade" msgstr "" #: booleans.py:105 -msgid "Allow httpd to connect to sasl" +msgid "Allow Apache to run in stickshift mode, not transition to passenger" msgstr "" #: booleans.py:106 -msgid "Allow Apache to query NS records" +msgid "Allow HTTPD scripts and modules to server cobbler files." msgstr "" #: booleans.py:107 -msgid "Determine whether icecast can listen on and connect to any TCP port." +msgid "Allow httpd daemon to change its resource limits" msgstr "" #: booleans.py:108 msgid "" +"Allow HTTPD to run SSI executables in the same domain as system CGI scripts." +msgstr "" + +#: booleans.py:109 +msgid "" +"Allow apache scripts to write to public content, directories/files must be " +"labeled public_rw_content_t." +msgstr "" + +#: booleans.py:110 +msgid "Allow Apache to execute tmp content." +msgstr "" + +#: booleans.py:111 +msgid "" +"Unify HTTPD to communicate with the terminal. Needed for entering the " +"passphrase for certificates at the terminal." +msgstr "" + +#: booleans.py:112 +msgid "Unify HTTPD handling of all content files." +msgstr "" + +#: booleans.py:113 +msgid "Allow httpd to access cifs file systems" +msgstr "" + +#: booleans.py:114 +msgid "Allow httpd to access FUSE file systems" +msgstr "" + +#: booleans.py:115 +msgid "Allow httpd to run gpg" +msgstr "" + +#: booleans.py:116 +msgid "Allow httpd to access nfs file systems" +msgstr "" + +#: booleans.py:117 +msgid "Allow httpd to access openstack ports" +msgstr "" + +#: booleans.py:118 +msgid "Allow httpd to connect to sasl" +msgstr "" + +#: booleans.py:119 +msgid "Allow Apache to query NS records" +msgstr "" + +#: booleans.py:120 +msgid "Determine whether icecast can listen on and connect to any TCP port." +msgstr "" + +#: booleans.py:121 +msgid "" "Determine whether irc clients can listen on and connect to any unreserved " "TCP ports." msgstr "" -#: booleans.py:109 +#: booleans.py:122 msgid "" "Allow the Irssi IRC Client to connect to any port, and to bind to any " "unreserved port." msgstr "" -#: booleans.py:110 +#: booleans.py:123 +msgid "Allow s-c-kdump to run bootloader in bootloader_t." +msgstr "" + +#: booleans.py:124 msgid "Allow confined applications to run with kerberos." msgstr "" -#: booleans.py:111 +#: booleans.py:125 msgid "Allow ksmtuned to use cifs/Samba file systems" msgstr "" -#: booleans.py:112 +#: booleans.py:126 msgid "Allow ksmtuned to use nfs file systems" msgstr "" -#: booleans.py:113 +#: booleans.py:127 +msgid "Allow logadm to exec content" +msgstr "" + +#: booleans.py:128 msgid "Allow syslogd daemon to send mail" msgstr "" -#: booleans.py:114 +#: booleans.py:129 +msgid "" +"Allow syslogd the ability to call nagios plugins. It is turned on by omprog " +"rsyslog plugin." +msgstr "" + +#: booleans.py:130 msgid "Allow syslogd the ability to read/write terminals" msgstr "" -#: booleans.py:115 +#: booleans.py:131 msgid "Allow logging in and using the system from /dev/console." msgstr "" -#: booleans.py:116 -msgid "Allow epylog to send mail" +#: booleans.py:132 +msgid "Allow logrotate to read logs inside" msgstr "" -#: booleans.py:117 +#: booleans.py:133 +msgid "Allow logrotate to manage nfs files" +msgstr "" + +#: booleans.py:134 +msgid "Determine whether logwatch can connect to mail over the network." +msgstr "" + +#: booleans.py:135 +msgid "Determine whether lsmd_plugin can connect to all TCP ports." +msgstr "" + +#: booleans.py:136 msgid "Allow mailman to access FUSE file systems" msgstr "" -#: booleans.py:118 +#: booleans.py:137 msgid "Determine whether mcelog supports client mode." msgstr "" -#: booleans.py:119 +#: booleans.py:138 msgid "Determine whether mcelog can execute scripts." msgstr "" -#: booleans.py:120 +#: booleans.py:139 msgid "Determine whether mcelog can use all the user ttys." msgstr "" -#: booleans.py:121 +#: booleans.py:140 msgid "Determine whether mcelog supports server mode." msgstr "" -#: booleans.py:122 +#: booleans.py:141 +msgid "Determine whether minidlna can read generic user content." +msgstr "" + +#: booleans.py:142 msgid "" "Control the ability to mmap a low area of the address space, as configured " -"by /proc/sys/kernel/mmap_min_addr." +"by /proc/sys/vm/mmap_min_addr." msgstr "" -#: booleans.py:123 +#: booleans.py:143 msgid "Allow mock to read files in home directories." msgstr "" -#: booleans.py:124 +#: booleans.py:144 msgid "Allow the mount commands to mount any directory or file." msgstr "" -#: booleans.py:125 +#: booleans.py:145 +msgid "Allow mozilla plugin domain to bind unreserved tcp/udp ports." +msgstr "" + +#: booleans.py:146 msgid "Allow mozilla plugin domain to connect to the network using TCP." msgstr "" -#: booleans.py:126 +#: booleans.py:147 +msgid "Allow mozilla plugin to use Bluejeans." +msgstr "" + +#: booleans.py:148 msgid "Allow mozilla plugin to support GPS." msgstr "" -#: booleans.py:127 +#: booleans.py:149 msgid "Allow mozilla plugin to support spice protocols." msgstr "" -#: booleans.py:128 +#: booleans.py:150 msgid "Allow confined web browsers to read home directory content" msgstr "" -#: booleans.py:129 +#: booleans.py:151 msgid "Determine whether mpd can traverse user home directories." msgstr "" -#: booleans.py:130 +#: booleans.py:152 msgid "Determine whether mpd can use cifs file systems." msgstr "" -#: booleans.py:131 +#: booleans.py:153 msgid "Determine whether mpd can use nfs file systems." msgstr "" -#: booleans.py:132 +#: booleans.py:154 msgid "Determine whether mplayer can make its stack executable." msgstr "" -#: booleans.py:133 +#: booleans.py:155 msgid "Allow mysqld to connect to all ports" msgstr "" -#: booleans.py:134 +#: booleans.py:156 +msgid "Allow nagios run in conjunction with PNP4Nagios." +msgstr "" + +#: booleans.py:157 +msgid "Allow nagios/nrpe to call sudo from NRPE utils scripts." +msgstr "" + +#: booleans.py:158 msgid "Determine whether Bind can bind tcp socket to http ports." msgstr "" -#: booleans.py:135 +#: booleans.py:159 msgid "" "Determine whether Bind can write to master zone files. Generally this is " "used for dynamic DNS or zone transfers." msgstr "" -#: booleans.py:136 +#: booleans.py:160 +msgid "Determine whether neutron can connect to all TCP ports" +msgstr "" + +#: booleans.py:161 msgid "Allow any files/directories to be exported read/only via NFS." msgstr "" -#: booleans.py:137 +#: booleans.py:162 msgid "Allow any files/directories to be exported read/write via NFS." msgstr "" -#: booleans.py:138 +#: booleans.py:163 msgid "" "Allow nfs servers to modify public files used for public file transfer " "services. Files/Directories must be labeled public_content_rw_t." msgstr "" -#: booleans.py:139 +#: booleans.py:164 msgid "Allow system to run with NIS" msgstr "" -#: booleans.py:140 +#: booleans.py:165 msgid "Allow confined applications to use nscd shared memory." msgstr "" -#: booleans.py:141 -msgid "Allow openshift to lockdown app" +#: booleans.py:166 +msgid "Allow openshift to access nfs file systems without labels" msgstr "" -#: booleans.py:142 +#: booleans.py:167 msgid "Determine whether openvpn can connect to the TCP network." msgstr "" -#: booleans.py:143 +#: booleans.py:168 msgid "Determine whether openvpn can read generic user home content files." msgstr "" -#: booleans.py:144 +#: booleans.py:169 msgid "Allow openvpn to run unconfined scripts" msgstr "" -#: booleans.py:145 +#: booleans.py:170 +msgid "Allow pcp to bind to all unreserved_ports" +msgstr "" + +#: booleans.py:171 +msgid "Allow pcp to read generic logs" +msgstr "" + +#: booleans.py:172 msgid "Allow piranha-lvs domain to connect to the network using TCP." msgstr "" -#: booleans.py:146 +#: booleans.py:173 msgid "Allow polipo to connect to all ports > 1023" msgstr "" -#: booleans.py:147 +#: booleans.py:174 msgid "" "Determine whether Polipo session daemon can bind tcp sockets to all " "unreserved ports." msgstr "" -#: booleans.py:148 +#: booleans.py:175 msgid "" "Determine whether calling user domains can execute Polipo daemon in the " "polipo_session_t domain." msgstr "" -#: booleans.py:149 +#: booleans.py:176 msgid "Determine whether polipo can access cifs file systems." msgstr "" -#: booleans.py:150 +#: booleans.py:177 msgid "Determine whether Polipo can access nfs file systems." msgstr "" -#: booleans.py:151 +#: booleans.py:178 msgid "Enable polyinstantiated directory support." msgstr "" -#: booleans.py:152 +#: booleans.py:179 msgid "Allow postfix_local domain full write access to mail_spool directories" msgstr "" -#: booleans.py:153 +#: booleans.py:180 msgid "Allow postgresql to use ssh and rsync for point-in-time recovery" msgstr "" -#: booleans.py:154 +#: booleans.py:181 msgid "Allow transmit client label to foreign database" msgstr "" -#: booleans.py:155 +#: booleans.py:182 msgid "Allow database admins to execute DML statement" msgstr "" -#: booleans.py:156 +#: booleans.py:183 msgid "Allow unprivileged users to execute DDL statement" msgstr "" -#: booleans.py:157 +#: booleans.py:184 msgid "Allow pppd to load kernel modules for certain modems" msgstr "" -#: booleans.py:158 +#: booleans.py:185 msgid "Allow pppd to be run for a regular user" msgstr "" -#: booleans.py:159 +#: booleans.py:186 msgid "Determine whether privoxy can connect to all tcp ports." msgstr "" -#: booleans.py:160 +#: booleans.py:187 msgid "" "Permit to prosody to bind apache port. Need to be activated to use BOSH." msgstr "" -#: booleans.py:161 +#: booleans.py:188 msgid "Allow Puppet client to manage all file types." msgstr "" -#: booleans.py:162 +#: booleans.py:189 msgid "Allow Puppet master to use connect to MySQL and PostgreSQL database" msgstr "" -#: booleans.py:163 +#: booleans.py:190 msgid "Allow racoon to read shadow" msgstr "" -#: booleans.py:164 +#: booleans.py:191 +msgid "Allow rpcd_t to manage fuse files" +msgstr "" + +#: booleans.py:192 msgid "" "Allow rsync to modify public files used for public file transfer services. " "Files/Directories must be labeled public_content_rw_t." msgstr "" -#: booleans.py:165 +#: booleans.py:193 msgid "Allow rsync to run as a client" msgstr "" -#: booleans.py:166 +#: booleans.py:194 msgid "Allow rsync to export any files/directories read only." msgstr "" -#: booleans.py:167 +#: booleans.py:195 msgid "Allow rsync server to manage all files/directories on the system." msgstr "" -#: booleans.py:168 +#: booleans.py:196 msgid "Allow samba to create new home directories (e.g. via PAM)" msgstr "" -#: booleans.py:169 +#: booleans.py:197 msgid "" "Allow samba to act as the domain controller, add users, groups and change " "passwords." msgstr "" -#: booleans.py:170 +#: booleans.py:198 msgid "Allow samba to share users home directories." msgstr "" -#: booleans.py:171 +#: booleans.py:199 msgid "Allow samba to share any file/directory read only." msgstr "" -#: booleans.py:172 +#: booleans.py:200 msgid "Allow samba to share any file/directory read/write." msgstr "" -#: booleans.py:173 +#: booleans.py:201 +msgid "Allow smbd to load libgfapi from gluster." +msgstr "" + +#: booleans.py:202 msgid "Allow samba to act as a portmapper" msgstr "" -#: booleans.py:174 +#: booleans.py:203 msgid "Allow samba to run unconfined scripts" msgstr "" -#: booleans.py:175 +#: booleans.py:204 msgid "Allow samba to export ntfs/fusefs volumes." msgstr "" -#: booleans.py:176 +#: booleans.py:205 msgid "Allow samba to export NFS volumes." msgstr "" -#: booleans.py:177 +#: booleans.py:206 msgid "Allow sanlock to read/write fuse files" msgstr "" -#: booleans.py:178 +#: booleans.py:207 msgid "Allow sanlock to manage nfs files" msgstr "" -#: booleans.py:179 +#: booleans.py:208 msgid "Allow sanlock to manage cifs files" msgstr "" -#: booleans.py:180 +#: booleans.py:209 msgid "Allow sasl to read shadow" msgstr "" -#: booleans.py:181 +#: booleans.py:210 msgid "Allow secadm to exec content" msgstr "" -#: booleans.py:182 +#: booleans.py:211 msgid "" "disallow programs, such as newrole, from transitioning to administrative " "user domains." msgstr "" -#: booleans.py:183 +#: booleans.py:212 msgid "Disable kernel module loading." msgstr "" -#: booleans.py:184 +#: booleans.py:213 msgid "" "Boolean to determine whether the system permits loading policy, setting " "enforcing mode, and changing boolean values. Set this to true and you have " "to reboot to set it back." msgstr "" -#: booleans.py:185 +#: booleans.py:214 msgid "Allow regular users direct dri device access" msgstr "" -#: booleans.py:186 +#: booleans.py:215 msgid "" "Allow unconfined executables to make their heap memory executable. Doing " "this is a really bad idea. Probably indicates a badly coded executable, but " "could indicate an attack. This executable should be reported in bugzilla" msgstr "" -#: booleans.py:187 +#: booleans.py:216 msgid "" "Allow all unconfined executables to use libraries requiring text relocation " "that are not labeled textrel_shlib_t" msgstr "" -#: booleans.py:188 +#: booleans.py:217 msgid "" "Allow unconfined executables to make their stack executable. This should " "never, ever be necessary. Probably indicates a badly coded executable, but " "could indicate an attack. This executable should be reported in bugzilla" msgstr "" -#: booleans.py:189 +#: booleans.py:218 msgid "Allow users to connect to the local mysql server" msgstr "" -#: booleans.py:190 +#: booleans.py:219 msgid "" "Allow confined users the ability to execute the ping and traceroute commands." msgstr "" -#: booleans.py:191 +#: booleans.py:220 msgid "Allow users to connect to PostgreSQL" msgstr "" -#: booleans.py:192 +#: booleans.py:221 msgid "" "Allow user to r/w files on filesystems that do not have extended attributes " "(FAT, CDROM, FLOPPY)" msgstr "" -#: booleans.py:193 +#: booleans.py:222 msgid "Allow user music sharing" msgstr "" -#: booleans.py:194 +#: booleans.py:223 msgid "" "Allow users to run TCP servers (bind to ports and accept connection from the " "same domain and outside users) disabling this forces FTP passive mode and " "may change other protocols." msgstr "" -#: booleans.py:195 -msgid "Allow user to use ssh chroot environment." -msgstr "" - -#: booleans.py:196 -msgid "" -"Determine whether sftpd can modify public files used for public file " -"transfer services. Directories/Files must be labeled public_content_rw_t." -msgstr "" - -#: booleans.py:197 -msgid "" -"Determine whether sftpd-can read and write files in user home directories." -msgstr "" - -#: booleans.py:198 +#: booleans.py:224 msgid "" -"Determine whether sftpd-can login to local users and read and write all " -"files on the system, governed by DAC." +"Allow users to run UDP servers (bind to ports and accept connection from the " +"same domain and outside users) disabling this may break avahi discovering " +"services on the network and other udp related services." msgstr "" -#: booleans.py:199 -msgid "" -"Determine whether sftpd can read and write files in user ssh home " -"directories." +#: booleans.py:225 +msgid "Allow user to use ssh chroot environment." msgstr "" -#: booleans.py:200 +#: booleans.py:226 msgid "Allow sge to connect to the network using any TCP port" msgstr "" -#: booleans.py:201 +#: booleans.py:227 msgid "Allow sge to access nfs file systems." msgstr "" -#: booleans.py:202 +#: booleans.py:228 msgid "Determine whether smartmon can support devices on 3ware controllers." msgstr "" -#: booleans.py:203 +#: booleans.py:229 msgid "" "Allow samba to modify public files used for public file transfer services. " "Files/Directories must be labeled public_content_rw_t." msgstr "" -#: booleans.py:204 +#: booleans.py:230 msgid "Allow user spamassassin clients to use the network." msgstr "" -#: booleans.py:205 +#: booleans.py:231 msgid "Allow spamd to read/write user home directories." msgstr "" -#: booleans.py:206 +#: booleans.py:232 +msgid "Allow spamd_update to connect to all ports." +msgstr "" + +#: booleans.py:233 msgid "Determine whether squid can connect to all TCP ports." msgstr "" -#: booleans.py:207 +#: booleans.py:234 msgid "Determine whether squid can run as a transparent proxy." msgstr "" -#: booleans.py:208 +#: booleans.py:235 msgid "" "Allow ssh with chroot env to read and write files in the user home " "directories" msgstr "" -#: booleans.py:209 +#: booleans.py:236 msgid "allow host key based authentication" msgstr "" -#: booleans.py:210 +#: booleans.py:237 msgid "Allow ssh logins as sysadm_r:sysadm_t" msgstr "" -#: booleans.py:211 +#: booleans.py:238 msgid "Allow staff to exec content" msgstr "" -#: booleans.py:212 +#: booleans.py:239 msgid "allow staff user to create and transition to svirt domains." msgstr "" -#: booleans.py:213 +#: booleans.py:240 +msgid "Determine whether swift can connect to all TCP ports" +msgstr "" + +#: booleans.py:241 msgid "Allow sysadm to exec content" msgstr "" -#: booleans.py:214 +#: booleans.py:242 msgid "Allow the Telepathy connection managers to connect to any network port." msgstr "" -#: booleans.py:215 +#: booleans.py:243 msgid "" "Allow the Telepathy connection managers to connect to any generic TCP port." msgstr "" -#: booleans.py:216 -msgid "Allow testpolicy to exec content" -msgstr "" - -#: booleans.py:217 +#: booleans.py:244 msgid "" "Allow tftp to modify public files used for public file transfer services." msgstr "" -#: booleans.py:218 +#: booleans.py:245 msgid "Allow tftp to read and write files in the user home directories" msgstr "" -#: booleans.py:219 +#: booleans.py:246 +msgid "Determine whether tmpreaper can use cifs file systems." +msgstr "" + +#: booleans.py:247 +msgid "Determine whether tmpreaper can use nfs file systems." +msgstr "" + +#: booleans.py:248 +msgid "Determine whether tmpreaper can use samba_share files" +msgstr "" + +#: booleans.py:249 msgid "Determine whether tor can bind tcp sockets to all unreserved ports." msgstr "" -#: booleans.py:220 +#: booleans.py:250 msgid "Allow tor to act as a relay" msgstr "" -#: booleans.py:221 +#: booleans.py:251 msgid "" "allow unconfined users to transition to the chrome sandbox domains when " "running chrome-sandbox" msgstr "" -#: booleans.py:222 +#: booleans.py:252 msgid "Allow a user to login as an unconfined domain" msgstr "" -#: booleans.py:223 +#: booleans.py:253 msgid "" "Allow unconfined users to transition to the Mozilla plugin domain when " "running xulrunner plugin-container." msgstr "" -#: booleans.py:224 -msgid "Allow unprivledged user to create and transition to svirt domains." +#: booleans.py:254 +msgid "Allow unprivileged user to create and transition to svirt domains." msgstr "" -#: booleans.py:225 +#: booleans.py:255 msgid "Support ecryptfs home directories" msgstr "" -#: booleans.py:226 +#: booleans.py:256 msgid "Support fusefs home directories" msgstr "" -#: booleans.py:227 +#: booleans.py:257 msgid "Determine whether to support lpd server." msgstr "" -#: booleans.py:228 +#: booleans.py:258 msgid "Support NFS home directories" msgstr "" -#: booleans.py:229 +#: booleans.py:259 msgid "Support SAMBA home directories" msgstr "" -#: booleans.py:230 +#: booleans.py:260 msgid "Allow user to exec content" msgstr "" -#: booleans.py:231 +#: booleans.py:261 msgid "Determine whether varnishd can use the full TCP network." msgstr "" -#: booleans.py:232 +#: booleans.py:262 +msgid "Allow qemu-ga to read qemu-ga date." +msgstr "" + +#: booleans.py:263 +msgid "Allow qemu-ga to manage qemu-ga date." +msgstr "" + +#: booleans.py:264 +msgid "Allow sandbox containers to use all capabilities" +msgstr "" + +#: booleans.py:265 +msgid "Allow sandbox containers to send audit messages" +msgstr "" + +#: booleans.py:266 +msgid "Allow sandbox containers manage fuse files" +msgstr "" + +#: booleans.py:267 +msgid "Allow sandbox containers to use mknod system calls" +msgstr "" + +#: booleans.py:268 +msgid "Allow sandbox containers to use netlink system calls" +msgstr "" + +#: booleans.py:269 msgid "" -"Determine whether attempts by vbetool to mmap low regions should be silently " -"blocked." +"Allow sandbox containers to use sys_admin system calls, for example mount" msgstr "" -#: booleans.py:233 +#: booleans.py:270 msgid "Allow virtual processes to run as userdomains" msgstr "" -#: booleans.py:234 +#: booleans.py:271 msgid "" "Allow confined virtual guests to use serial/parallel communication ports" msgstr "" -#: booleans.py:235 +#: booleans.py:272 msgid "" "Allow confined virtual guests to use executable memory and executable stack" msgstr "" -#: booleans.py:236 +#: booleans.py:273 msgid "Allow confined virtual guests to read fuse files" msgstr "" -#: booleans.py:237 +#: booleans.py:274 msgid "Allow confined virtual guests to manage nfs files" msgstr "" -#: booleans.py:238 +#: booleans.py:275 msgid "Allow confined virtual guests to interact with rawip sockets" msgstr "" -#: booleans.py:239 +#: booleans.py:276 msgid "Allow confined virtual guests to manage cifs files" msgstr "" -#: booleans.py:240 +#: booleans.py:277 msgid "Allow confined virtual guests to interact with the sanlock" msgstr "" -#: booleans.py:241 +#: booleans.py:278 msgid "Allow confined virtual guests to use usb devices" msgstr "" -#: booleans.py:242 +#: booleans.py:279 msgid "Allow confined virtual guests to interact with the xserver" msgstr "" -#: booleans.py:243 +#: booleans.py:280 msgid "Determine whether webadm can manage generic user files." msgstr "" -#: booleans.py:244 +#: booleans.py:281 msgid "Determine whether webadm can read generic user files." msgstr "" -#: booleans.py:245 +#: booleans.py:282 msgid "" "Determine whether attempts by wine to mmap low regions should be silently " "blocked." msgstr "" -#: booleans.py:246 +#: booleans.py:283 +msgid "Allows xdm_t to bind on vnc_port_t(5910)" +msgstr "" + +#: booleans.py:284 msgid "Allow the graphical login program to execute bootloader" msgstr "" -#: booleans.py:247 +#: booleans.py:285 msgid "" "Allow the graphical login program to login directly as sysadm_r:sysadm_t" msgstr "" -#: booleans.py:248 +#: booleans.py:286 msgid "" "Allow the graphical login program to create files in HOME dirs as xdm_home_t." msgstr "" -#: booleans.py:249 +#: booleans.py:287 msgid "Allow xen to manage nfs files" msgstr "" -#: booleans.py:250 +#: booleans.py:288 msgid "" "Allow xend to run blktapctrl/tapdisk. Not required if using dedicated " "logical volumes for disk images." msgstr "" -#: booleans.py:251 +#: booleans.py:289 msgid "Allow xend to run qemu-dm. Not required if using paravirt and no vfb." msgstr "" -#: booleans.py:252 +#: booleans.py:290 msgid "" "Allow xguest users to configure Network Manager and connect to apache ports" msgstr "" -#: booleans.py:253 +#: booleans.py:291 msgid "Allow xguest to exec content" msgstr "" -#: booleans.py:254 +#: booleans.py:292 msgid "Allow xguest users to mount removable media" msgstr "" -#: booleans.py:255 +#: booleans.py:293 msgid "Allow xguest to use blue tooth devices" msgstr "" -#: booleans.py:256 +#: booleans.py:294 msgid "Allows clients to write to the X server shared memory segments." msgstr "" -#: booleans.py:257 +#: booleans.py:295 msgid "Allows XServer to execute writable memory" msgstr "" -#: booleans.py:258 +#: booleans.py:296 msgid "Support X userspace object manager" msgstr "" -#: booleans.py:259 +#: booleans.py:297 msgid "Determine whether zabbix can connect to all TCP ports" msgstr "" -#: booleans.py:260 -msgid "Allow zarafa domains to setrlimit/sys_rouserce." +#: booleans.py:298 +msgid "Allow zarafa domains to setrlimit/sys_resource." msgstr "" -#: booleans.py:261 +#: booleans.py:299 msgid "Allow zebra daemon to write it configuration files" msgstr "" -#: booleans.py:262 +#: booleans.py:300 msgid "" "Allow ZoneMinder to modify public files used for public file transfer " "services." msgstr "" -#: booleans.py:263 +#: booleans.py:301 msgid "Allow ZoneMinder to run su/sudo." msgstr "" -#: ../sepolicy/sepolicy.py:194 +#: ../sepolicy/sepolicy.py:224 #, python-format msgid "Interface %s does not exist." msgstr "" -#: ../sepolicy/sepolicy.py:292 +#: ../sepolicy/sepolicy.py:327 msgid "You need to install policycoreutils-gui package to use the gui option" msgstr "" -#: ../sepolicy/sepolicy.py:296 +#: ../sepolicy/sepolicy.py:332 msgid "Graphical User Interface for SELinux Policy" msgstr "" -#: ../sepolicy/sepolicy.py:299 ../sepolicy/sepolicy.py:345 +#: ../sepolicy/sepolicy.py:335 ../sepolicy/sepolicy.py:383 msgid "Domain name(s) of man pages to be created" msgstr "" -#: ../sepolicy/sepolicy.py:311 +#: ../sepolicy/sepolicy.py:348 msgid "Alternative root needs to be setup" msgstr "" -#: ../sepolicy/sepolicy.py:327 +#: ../sepolicy/sepolicy.py:365 msgid "Generate SELinux man pages" msgstr "" -#: ../sepolicy/sepolicy.py:330 +#: ../sepolicy/sepolicy.py:368 msgid "path in which the generated SELinux man pages will be stored" msgstr "" -#: ../sepolicy/sepolicy.py:332 +#: ../sepolicy/sepolicy.py:370 msgid "name of the OS for man pages" msgstr "" -#: ../sepolicy/sepolicy.py:334 +#: ../sepolicy/sepolicy.py:372 msgid "Generate HTML man pages structure for selected SELinux man page" msgstr "" -#: ../sepolicy/sepolicy.py:336 +#: ../sepolicy/sepolicy.py:374 msgid "Alternate root directory, defaults to /" msgstr "" -#: ../sepolicy/sepolicy.py:338 +#: ../sepolicy/sepolicy.py:376 msgid "" "With this flag, alternative root path needs to include file context files " "and policy.xml file" msgstr "" -#: ../sepolicy/sepolicy.py:342 +#: ../sepolicy/sepolicy.py:380 msgid "All domains" msgstr "" -#: ../sepolicy/sepolicy.py:350 +#: ../sepolicy/sepolicy.py:389 msgid "Query SELinux policy network information" msgstr "" -#: ../sepolicy/sepolicy.py:355 +#: ../sepolicy/sepolicy.py:394 msgid "list all SELinux port types" msgstr "" -#: ../sepolicy/sepolicy.py:358 +#: ../sepolicy/sepolicy.py:397 msgid "show SELinux type related to the port" msgstr "" -#: ../sepolicy/sepolicy.py:361 +#: ../sepolicy/sepolicy.py:400 msgid "Show ports defined for this SELinux type" msgstr "" -#: ../sepolicy/sepolicy.py:364 +#: ../sepolicy/sepolicy.py:403 msgid "show ports to which this domain can bind and/or connect" msgstr "" -#: ../sepolicy/sepolicy.py:367 +#: ../sepolicy/sepolicy.py:406 msgid "show ports to which this application can bind and/or connect" msgstr "" -#: ../sepolicy/sepolicy.py:382 +#: ../sepolicy/sepolicy.py:423 msgid "query SELinux policy to see if domains can communicate with each other" msgstr "" -#: ../sepolicy/sepolicy.py:385 +#: ../sepolicy/sepolicy.py:426 msgid "Source Domain" msgstr "" -#: ../sepolicy/sepolicy.py:388 +#: ../sepolicy/sepolicy.py:429 msgid "Target Domain" msgstr "" -#: ../sepolicy/sepolicy.py:407 +#: ../sepolicy/sepolicy.py:452 msgid "query SELinux Policy to see description of booleans" msgstr "" -#: ../sepolicy/sepolicy.py:411 +#: ../sepolicy/sepolicy.py:456 msgid "get all booleans descriptions" msgstr "" -#: ../sepolicy/sepolicy.py:414 +#: ../sepolicy/sepolicy.py:459 msgid "boolean to get description" msgstr "" -#: ../sepolicy/sepolicy.py:424 +#: ../sepolicy/sepolicy.py:471 msgid "" "query SELinux Policy to see how a source process domain can transition to " "the target process domain" msgstr "" -#: ../sepolicy/sepolicy.py:427 +#: ../sepolicy/sepolicy.py:474 msgid "source process domain" msgstr "" -#: ../sepolicy/sepolicy.py:430 +#: ../sepolicy/sepolicy.py:477 msgid "target process domain" msgstr "" -#: ../sepolicy/sepolicy.py:472 +#: ../sepolicy/sepolicy.py:522 #, python-format msgid "sepolicy generate: error: one of the arguments %s is required" msgstr "" -#: ../sepolicy/sepolicy.py:477 +#: ../sepolicy/sepolicy.py:527 msgid "Command required for this type of policy" msgstr "" -#: ../sepolicy/sepolicy.py:488 +#: ../sepolicy/sepolicy.py:538 #, python-format msgid "" "-t option can not be used with '%s' domains. Read usage for more details." msgstr "" -#: ../sepolicy/sepolicy.py:493 +#: ../sepolicy/sepolicy.py:543 #, python-format msgid "" "-d option can not be used with '%s' domains. Read usage for more details." msgstr "" -#: ../sepolicy/sepolicy.py:497 +#: ../sepolicy/sepolicy.py:547 #, python-format msgid "" "-a option can not be used with '%s' domains. Read usage for more details." msgstr "" -#: ../sepolicy/sepolicy.py:501 +#: ../sepolicy/sepolicy.py:551 msgid "-w option can not be used with the --newtype option" msgstr "" -#: ../sepolicy/sepolicy.py:521 +#: ../sepolicy/sepolicy.py:572 msgid "List SELinux Policy interfaces" msgstr "" -#: ../sepolicy/sepolicy.py:541 +#: ../sepolicy/sepolicy.py:592 msgid "Enter interface names, you wish to query" msgstr "" -#: ../sepolicy/sepolicy.py:550 +#: ../sepolicy/sepolicy.py:602 msgid "Generate SELinux Policy module template" msgstr "" -#: ../sepolicy/sepolicy.py:553 +#: ../sepolicy/sepolicy.py:605 msgid "Enter domain type which you will be extending" msgstr "" -#: ../sepolicy/sepolicy.py:556 +#: ../sepolicy/sepolicy.py:608 msgid "Enter SELinux user(s) which will transition to this domain" msgstr "" -#: ../sepolicy/sepolicy.py:559 +#: ../sepolicy/sepolicy.py:611 msgid "Enter SELinux role(s) to which the administror domain will transition" msgstr "" -#: ../sepolicy/sepolicy.py:562 +#: ../sepolicy/sepolicy.py:614 msgid "Enter domain(s) which this confined admin will administrate" msgstr "" -#: ../sepolicy/sepolicy.py:565 +#: ../sepolicy/sepolicy.py:617 msgid "name of policy to generate" msgstr "" -#: ../sepolicy/sepolicy.py:572 +#: ../sepolicy/sepolicy.py:624 msgid "path in which the generated policy files will be stored" msgstr "" -#: ../sepolicy/sepolicy.py:574 +#: ../sepolicy/sepolicy.py:626 msgid "path to which the confined processes will need to write" msgstr "" -#: ../sepolicy/sepolicy.py:575 +#: ../sepolicy/sepolicy.py:627 msgid "Policy types which require a command" msgstr "" -#: ../sepolicy/sepolicy.py:579 ../sepolicy/sepolicy.py:582 -#: ../sepolicy/sepolicy.py:585 ../sepolicy/sepolicy.py:588 -#: ../sepolicy/sepolicy.py:591 ../sepolicy/sepolicy.py:597 -#: ../sepolicy/sepolicy.py:600 ../sepolicy/sepolicy.py:603 -#: ../sepolicy/sepolicy.py:609 ../sepolicy/sepolicy.py:612 -#: ../sepolicy/sepolicy.py:615 ../sepolicy/sepolicy.py:618 +#: ../sepolicy/sepolicy.py:631 ../sepolicy/sepolicy.py:634 +#: ../sepolicy/sepolicy.py:637 ../sepolicy/sepolicy.py:640 +#: ../sepolicy/sepolicy.py:643 ../sepolicy/sepolicy.py:649 +#: ../sepolicy/sepolicy.py:652 ../sepolicy/sepolicy.py:655 +#: ../sepolicy/sepolicy.py:661 ../sepolicy/sepolicy.py:664 +#: ../sepolicy/sepolicy.py:667 ../sepolicy/sepolicy.py:670 #, python-format msgid "Generate '%s' policy" msgstr "" -#: ../sepolicy/sepolicy.py:606 +#: ../sepolicy/sepolicy.py:658 #, python-format msgid "Generate '%s' policy " msgstr "" -#: ../sepolicy/sepolicy.py:620 +#: ../sepolicy/sepolicy.py:672 msgid "executable to confine" msgstr "" -#: ../sepolicy/sepolicy.py:625 +#: ../sepolicy/sepolicy.py:677 msgid "commands" msgstr "" -#: ../sepolicy/sepolicy.py:628 +#: ../sepolicy/sepolicy.py:680 msgid "Alternate SELinux policy, defaults to /sys/fs/selinux/policy" msgstr "" -#: ../sepolicy/sepolicy/__init__.py:89 +#: ../sepolicy/sepolicy/__init__.py:106 #, python-format msgid "-- Allowed %s [ %s ]" msgstr "" -#: ../sepolicy/sepolicy/__init__.py:95 ../sepolicy/sepolicy/gui.py:1135 +#: ../sepolicy/sepolicy/__init__.py:149 ../sepolicy/sepolicy/gui.py:1155 msgid "all files" msgstr "" -#: ../sepolicy/sepolicy/__init__.py:96 +#: ../sepolicy/sepolicy/__init__.py:150 msgid "regular file" msgstr "" -#: ../sepolicy/sepolicy/__init__.py:97 +#: ../sepolicy/sepolicy/__init__.py:151 msgid "directory" msgstr "" -#: ../sepolicy/sepolicy/__init__.py:98 +#: ../sepolicy/sepolicy/__init__.py:152 msgid "character device" msgstr "" -#: ../sepolicy/sepolicy/__init__.py:99 +#: ../sepolicy/sepolicy/__init__.py:153 msgid "block device" msgstr "" -#: ../sepolicy/sepolicy/__init__.py:100 +#: ../sepolicy/sepolicy/__init__.py:154 msgid "socket file" msgstr "" -#: ../sepolicy/sepolicy/__init__.py:101 +#: ../sepolicy/sepolicy/__init__.py:155 msgid "symbolic link" msgstr "" -#: ../sepolicy/sepolicy/__init__.py:102 +#: ../sepolicy/sepolicy/__init__.py:156 msgid "named pipe" msgstr "" -#: ../sepolicy/sepolicy/__init__.py:398 +#: ../sepolicy/sepolicy/__init__.py:524 msgid "No SELinux Policy installed" msgstr "" -#: ../sepolicy/sepolicy/__init__.py:478 +#: ../sepolicy/sepolicy/__init__.py:613 msgid "You must regenerate interface info by running /usr/bin/sepolgen-ifgen" msgstr "" -#: ../sepolicy/sepolicy/__init__.py:724 +#: ../sepolicy/sepolicy/__init__.py:900 #, python-format msgid "Failed to read %s policy file" msgstr "" -#: ../sepolicy/sepolicy/__init__.py:829 +#: ../sepolicy/sepolicy/__init__.py:1016 msgid "unknown" msgstr "" -#: ../sepolicy/sepolicy/generate.py:132 +#: ../sepolicy/sepolicy/generate.py:146 msgid "Internet Services Daemon" msgstr "" -#: ../sepolicy/sepolicy/generate.py:136 +#: ../sepolicy/sepolicy/generate.py:150 msgid "Existing Domain Type" msgstr "" -#: ../sepolicy/sepolicy/generate.py:137 +#: ../sepolicy/sepolicy/generate.py:151 msgid "Minimal Terminal Login User Role" msgstr "" -#: ../sepolicy/sepolicy/generate.py:138 +#: ../sepolicy/sepolicy/generate.py:152 msgid "Minimal X Windows Login User Role" msgstr "" -#: ../sepolicy/sepolicy/generate.py:139 +#: ../sepolicy/sepolicy/generate.py:153 msgid "Desktop Login User Role" msgstr "" -#: ../sepolicy/sepolicy/generate.py:140 +#: ../sepolicy/sepolicy/generate.py:154 msgid "Administrator Login User Role" msgstr "" -#: ../sepolicy/sepolicy/generate.py:141 +#: ../sepolicy/sepolicy/generate.py:155 msgid "Confined Root Administrator Role" msgstr "" -#: ../sepolicy/sepolicy/generate.py:142 +#: ../sepolicy/sepolicy/generate.py:156 msgid "Module information for a new type" msgstr "" -#: ../sepolicy/sepolicy/generate.py:147 +#: ../sepolicy/sepolicy/generate.py:162 msgid "Valid Types:\n" msgstr "" -#: ../sepolicy/sepolicy/generate.py:181 +#: ../sepolicy/sepolicy/generate.py:197 #, python-format msgid "Ports must be numbers or ranges of numbers from 1 to %d " msgstr "" -#: ../sepolicy/sepolicy/generate.py:192 +#: ../sepolicy/sepolicy/generate.py:209 msgid "You must enter a valid policy type" msgstr "" -#: ../sepolicy/sepolicy/generate.py:195 +#: ../sepolicy/sepolicy/generate.py:212 #, python-format msgid "You must enter a name for your policy module for your '%s'." msgstr "" -#: ../sepolicy/sepolicy/generate.py:333 +#: ../sepolicy/sepolicy/generate.py:350 msgid "" "Name must be alpha numberic with no spaces. Consider using option \"-n " "MODULENAME\"" msgstr "" -#: ../sepolicy/sepolicy/generate.py:425 +#: ../sepolicy/sepolicy/generate.py:442 msgid "User Role types can not be assigned executables." msgstr "" -#: ../sepolicy/sepolicy/generate.py:431 +#: ../sepolicy/sepolicy/generate.py:448 msgid "Only Daemon apps can use an init script.." msgstr "" -#: ../sepolicy/sepolicy/generate.py:449 +#: ../sepolicy/sepolicy/generate.py:466 msgid "use_resolve must be a boolean value " msgstr "" -#: ../sepolicy/sepolicy/generate.py:455 +#: ../sepolicy/sepolicy/generate.py:472 msgid "use_syslog must be a boolean value " msgstr "" -#: ../sepolicy/sepolicy/generate.py:461 +#: ../sepolicy/sepolicy/generate.py:478 msgid "use_kerberos must be a boolean value " msgstr "" -#: ../sepolicy/sepolicy/generate.py:467 +#: ../sepolicy/sepolicy/generate.py:484 msgid "manage_krb5_rcache must be a boolean value " msgstr "" -#: ../sepolicy/sepolicy/generate.py:497 +#: ../sepolicy/sepolicy/generate.py:514 msgid "USER Types automatically get a tmp type" msgstr "" -#: ../sepolicy/sepolicy/generate.py:838 +#: ../sepolicy/sepolicy/generate.py:851 #, python-format msgid "'%s' policy modules require existing domains" msgstr "" -#: ../sepolicy/sepolicy/generate.py:863 +#: ../sepolicy/sepolicy/generate.py:876 msgid "Type field required" msgstr "" -#: ../sepolicy/sepolicy/generate.py:876 +#: ../sepolicy/sepolicy/generate.py:889 #, python-format msgid "" "You need to define a new type which ends with: \n" " %s" msgstr "" -#: ../sepolicy/sepolicy/generate.py:1104 +#: ../sepolicy/sepolicy/generate.py:1117 msgid "You must enter the executable path for your confined process" msgstr "" -#: ../sepolicy/sepolicy/generate.py:1363 +#: ../sepolicy/sepolicy/generate.py:1386 msgid "Type Enforcement file" msgstr "" -#: ../sepolicy/sepolicy/generate.py:1364 +#: ../sepolicy/sepolicy/generate.py:1387 msgid "Interface file" msgstr "" -#: ../sepolicy/sepolicy/generate.py:1365 +#: ../sepolicy/sepolicy/generate.py:1388 msgid "File Contexts file" msgstr "" -#: ../sepolicy/sepolicy/generate.py:1367 +#: ../sepolicy/sepolicy/generate.py:1390 msgid "Spec file" msgstr "" -#: ../sepolicy/sepolicy/generate.py:1368 +#: ../sepolicy/sepolicy/generate.py:1391 msgid "Setup Script" msgstr "" #: ../sepolicy/sepolicy/sepolicy.glade:25 -#: ../sepolicy/sepolicy/sepolicy.glade:4369 +#: ../sepolicy/sepolicy/sepolicy.glade:4330 msgid "Applications" msgstr "" @@ -3803,562 +4015,555 @@ msgstr "" msgid "Select domain" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:80 ../sepolicy/sepolicy/gui.py:67 +#: ../sepolicy/sepolicy/sepolicy.glade:80 ../sepolicy/sepolicy/gui.py:70 msgid "Advanced Search >>" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:95 ../sepolicy/sepolicy/gui.py:2306 +#: ../sepolicy/sepolicy/sepolicy.glade:95 ../sepolicy/sepolicy/gui.py:2351 msgid "File Equivalence" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:112 ../sepolicy/sepolicy/gui.py:2316 +#: ../sepolicy/sepolicy/sepolicy.glade:112 ../sepolicy/sepolicy/gui.py:2361 msgid "Users" msgstr "" #: ../sepolicy/sepolicy/sepolicy.glade:129 -#: ../sepolicy/sepolicy/sepolicy.glade:1897 -#: ../sepolicy/sepolicy/sepolicy.glade:3802 ../sepolicy/sepolicy/gui.py:2297 +#: ../sepolicy/sepolicy/sepolicy.glade:1898 +#: ../sepolicy/sepolicy/sepolicy.glade:3803 ../sepolicy/sepolicy/gui.py:2342 msgid "System" msgstr "" #: ../sepolicy/sepolicy/sepolicy.glade:189 -#: ../sepolicy/sepolicy/sepolicy.glade:4406 -#: ../sepolicy/sepolicy/sepolicy.glade:4499 -#: ../sepolicy/sepolicy/sepolicy.glade:4645 -#: ../sepolicy/sepolicy/sepolicy.glade:4793 -#: ../sepolicy/sepolicy/sepolicy.glade:4934 -#: ../sepolicy/sepolicy/sepolicy.glade:5007 +#: ../sepolicy/sepolicy/sepolicy.glade:4367 +#: ../sepolicy/sepolicy/sepolicy.glade:4460 +#: ../sepolicy/sepolicy/sepolicy.glade:4606 +#: ../sepolicy/sepolicy/sepolicy.glade:4755 +#: ../sepolicy/sepolicy/sepolicy.glade:4889 +#: ../sepolicy/sepolicy/sepolicy.glade:5030 +#: ../sepolicy/sepolicy/sepolicy.glade:5103 +#: ../sepolicy/sepolicy/sepolicy.glade:5238 msgid "Select" msgstr "" #: ../sepolicy/sepolicy/sepolicy.glade:204 -#: ../sepolicy/sepolicy/sepolicy.glade:557 -#: ../sepolicy/sepolicy/sepolicy.glade:702 -#: ../sepolicy/sepolicy/sepolicy.glade:1243 -#: ../sepolicy/sepolicy/sepolicy.glade:1539 -#: ../sepolicy/sepolicy/sepolicy.glade:4579 -#: ../sepolicy/sepolicy/sepolicy.glade:4729 -#: ../sepolicy/sepolicy/sepolicy.glade:4859 -#: ../sepolicy/sepolicy/sepolicy.glade:5077 -#: ../sepolicy/sepolicy/sepolicy.glade:5233 -#: ../sepolicy/sepolicy/sepolicy.glade:5474 +#: ../sepolicy/sepolicy/sepolicy.glade:539 +#: ../sepolicy/sepolicy/sepolicy.glade:684 +#: ../sepolicy/sepolicy/sepolicy.glade:1239 +#: ../sepolicy/sepolicy/sepolicy.glade:1535 +#: ../sepolicy/sepolicy/sepolicy.glade:4540 +#: ../sepolicy/sepolicy/sepolicy.glade:4690 +#: ../sepolicy/sepolicy/sepolicy.glade:4821 +#: ../sepolicy/sepolicy/sepolicy.glade:4955 +#: ../sepolicy/sepolicy/sepolicy.glade:5173 +#: ../sepolicy/sepolicy/sepolicy.glade:5304 +#: ../sepolicy/sepolicy/sepolicy.glade:5464 msgid "Cancel" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:350 +#: ../sepolicy/sepolicy/sepolicy.glade:332 msgid "" "The entry that was entered is incorrect. Please try again in the " "ex:/.../... format." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:376 +#: ../sepolicy/sepolicy/sepolicy.glade:358 msgid "Retry" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:460 -#: ../sepolicy/sepolicy/sepolicy.glade:1124 -#: ../sepolicy/sepolicy/sepolicy.glade:1372 -#: ../sepolicy/sepolicy/sepolicy.glade:5102 -#: ../sepolicy/sepolicy/sepolicy.glade:5343 +#: ../sepolicy/sepolicy/sepolicy.glade:442 +#: ../sepolicy/sepolicy/sepolicy.glade:1120 +#: ../sepolicy/sepolicy/sepolicy.glade:1368 +#: ../sepolicy/sepolicy/sepolicy.glade:5332 msgid "Network Port Definitions" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:476 +#: ../sepolicy/sepolicy/sepolicy.glade:458 msgid "" -"Add file Equivilence Mapping. Mapping will be created when Update is " +"Add file Equivalence Mapping. Mapping will be created when Update is " "applied." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:501 -#: ../sepolicy/sepolicy/sepolicy.glade:4045 +#: ../sepolicy/sepolicy/sepolicy.glade:483 +#: ../sepolicy/sepolicy/sepolicy.glade:4046 msgid "Path" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:511 -#: ../sepolicy/sepolicy/sepolicy.glade:5154 -#: ../sepolicy/sepolicy/sepolicy.glade:5395 +#: ../sepolicy/sepolicy/sepolicy.glade:493 +#: ../sepolicy/sepolicy/sepolicy.glade:5384 msgid "" "Specify a new SELinux user name. By convention SELinux User names usually " "end in an _u." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:515 +#: ../sepolicy/sepolicy/sepolicy.glade:497 msgid "Enter the path to which you want to setup an equivalence label." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:528 -#: ../sepolicy/sepolicy/sepolicy.glade:4062 -#: ../sepolicy/sepolicy/sepolicy.glade:4819 +#: ../sepolicy/sepolicy/sepolicy.glade:510 +#: ../sepolicy/sepolicy/sepolicy.glade:4063 +#: ../sepolicy/sepolicy/sepolicy.glade:4781 msgid "Equivalence Path" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:542 -#: ../sepolicy/sepolicy/sepolicy.glade:687 -#: ../sepolicy/sepolicy/sepolicy.glade:1228 -#: ../sepolicy/sepolicy/sepolicy.glade:1524 -#: ../sepolicy/sepolicy/sepolicy.glade:5218 -#: ../sepolicy/sepolicy/sepolicy.glade:5459 +#: ../sepolicy/sepolicy/sepolicy.glade:524 +#: ../sepolicy/sepolicy/sepolicy.glade:669 +#: ../sepolicy/sepolicy/sepolicy.glade:1224 +#: ../sepolicy/sepolicy/sepolicy.glade:1520 +#: ../sepolicy/sepolicy/sepolicy.glade:5449 msgid "Save to update" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:582 +#: ../sepolicy/sepolicy/sepolicy.glade:564 msgid "" "Specify the mapping between the new path and the equivalence path. " "Everything under this new path will be labeled as if they were under the " "equivalence path." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:639 +#: ../sepolicy/sepolicy/sepolicy.glade:621 msgid "Add a file" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:656 +#: ../sepolicy/sepolicy/sepolicy.glade:638 msgid "" " File Labeling for . File labels will be created " "when update is applied." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:744 -#: ../sepolicy/sepolicy/sepolicy.glade:1471 -#: ../sepolicy/sepolicy/sepolicy.glade:3510 ../sepolicy/sepolicy/gui.py:66 +#: ../sepolicy/sepolicy/sepolicy.glade:726 +#: ../sepolicy/sepolicy/sepolicy.glade:1467 +#: ../sepolicy/sepolicy/sepolicy.glade:3511 ../sepolicy/sepolicy/gui.py:69 msgid "Advanced >>" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:765 -#: ../sepolicy/sepolicy/sepolicy.glade:2305 -#: ../sepolicy/sepolicy/sepolicy.glade:2417 -#: ../sepolicy/sepolicy/sepolicy.glade:2539 -#: ../sepolicy/sepolicy/sepolicy.glade:4539 +#: ../sepolicy/sepolicy/sepolicy.glade:747 +#: ../sepolicy/sepolicy/sepolicy.glade:2306 +#: ../sepolicy/sepolicy/sepolicy.glade:2418 +#: ../sepolicy/sepolicy/sepolicy.glade:2540 +#: ../sepolicy/sepolicy/sepolicy.glade:4500 msgid "Class" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:781 +#: ../sepolicy/sepolicy/sepolicy.glade:763 msgid "Type" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:795 +#: ../sepolicy/sepolicy/sepolicy.glade:777 msgid "" "Select the file class to which this label will be applied. Defaults to all " "classes." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:822 +#: ../sepolicy/sepolicy/sepolicy.glade:804 msgid "Make Path Recursive" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:826 +#: ../sepolicy/sepolicy/sepolicy.glade:808 msgid "" -"Select Make Path Recursive iff you want to apply this label to all children " +"Select Make Path Recursive if you want to apply this label to all children " "of the specified directory path. objects under the directory to have this " "label." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:839 +#: ../sepolicy/sepolicy/sepolicy.glade:821 msgid "Browse" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:843 +#: ../sepolicy/sepolicy/sepolicy.glade:825 msgid "Browse to select the file/directory for labeling." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:887 +#: ../sepolicy/sepolicy/sepolicy.glade:869 msgid "Path " msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:898 +#: ../sepolicy/sepolicy/sepolicy.glade:880 msgid "" "Specify the path using regular expressions that you would like to modify the " "labeling." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:920 +#: ../sepolicy/sepolicy/sepolicy.glade:902 msgid "Select the SELinux file type to assign to this path." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:947 +#: ../sepolicy/sepolicy/sepolicy.glade:929 msgid "Enter the MLS Label to assign to this file path." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:951 +#: ../sepolicy/sepolicy/sepolicy.glade:933 msgid "SELinux MLS Label you wish to assign to this path." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:1088 +#: ../sepolicy/sepolicy/sepolicy.glade:1070 msgid "Analyzing Policy..." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:1141 +#: ../sepolicy/sepolicy/sepolicy.glade:1137 msgid "" "Add Login Mapping. Login Mapping will be created when update is applied." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:1176 +#: ../sepolicy/sepolicy/sepolicy.glade:1172 msgid "" "Enter the login user name of the user to which you wish to add SELinux User " "confinement." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:1205 +#: ../sepolicy/sepolicy/sepolicy.glade:1201 msgid "" "Select the SELinux User to assign to this login user. Login users by " "default get assigned by the __default__ user." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:1268 +#: ../sepolicy/sepolicy/sepolicy.glade:1264 msgid "" "Enter MLS/MCS Range for this login User. Defaults to the range for the " "Selected SELinux User." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:1271 -#: ../sepolicy/sepolicy/sepolicy.glade:3191 -#: ../sepolicy/sepolicy/sepolicy.glade:3312 -#: ../sepolicy/sepolicy/sepolicy.glade:5184 -#: ../sepolicy/sepolicy/sepolicy.glade:5425 +#: ../sepolicy/sepolicy/sepolicy.glade:1267 +#: ../sepolicy/sepolicy/sepolicy.glade:3192 +#: ../sepolicy/sepolicy/sepolicy.glade:3313 +#: ../sepolicy/sepolicy/sepolicy.glade:5414 msgid "MLS Range" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:1283 +#: ../sepolicy/sepolicy/sepolicy.glade:1279 msgid "" "Specify the MLS Range for this user to login in with. Defaults to the " "selected SELinux Users MLS Range." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:1389 +#: ../sepolicy/sepolicy/sepolicy.glade:1385 msgid "" " Network Port for . Ports will be created when " "update is applied." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:1427 +#: ../sepolicy/sepolicy/sepolicy.glade:1423 msgid "Enter the port number or range to which you want to add a port type." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:1457 +#: ../sepolicy/sepolicy/sepolicy.glade:1453 msgid "Port Type" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:1502 +#: ../sepolicy/sepolicy/sepolicy.glade:1498 msgid "Select the port type you want to assign to the specified port number." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:1566 +#: ../sepolicy/sepolicy/sepolicy.glade:1562 msgid "tcp" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:1570 +#: ../sepolicy/sepolicy/sepolicy.glade:1566 msgid "" "Select tcp if the port type should be assigned to tcp port numbers." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:1583 +#: ../sepolicy/sepolicy/sepolicy.glade:1579 msgid "udp" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:1587 +#: ../sepolicy/sepolicy/sepolicy.glade:1583 msgid "" "Select udp if the port type should be assigned to udp port numbers." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:1609 +#: ../sepolicy/sepolicy/sepolicy.glade:1605 msgid "Enter the MLS Label to assign to this port." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:1706 +#: ../sepolicy/sepolicy/sepolicy.glade:1707 msgid "SELinux Configuration" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:1742 +#: ../sepolicy/sepolicy/sepolicy.glade:1743 msgid "Select..." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:1791 -#: ../sepolicy/sepolicy/sepolicy.glade:2211 +#: ../sepolicy/sepolicy/sepolicy.glade:1792 +#: ../sepolicy/sepolicy/sepolicy.glade:2212 msgid "Booleans" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:1795 +#: ../sepolicy/sepolicy/sepolicy.glade:1796 msgid "" "Display boolean information that can be used to modify the policy for the " "'selected domain'." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:1809 -#: ../sepolicy/sepolicy/sepolicy.glade:2596 +#: ../sepolicy/sepolicy/sepolicy.glade:1810 +#: ../sepolicy/sepolicy/sepolicy.glade:2597 msgid "Files" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:1813 +#: ../sepolicy/sepolicy/sepolicy.glade:1814 msgid "" "Display file type information that can be used by the 'selected domain'." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:1827 -#: ../sepolicy/sepolicy/sepolicy.glade:2829 +#: ../sepolicy/sepolicy/sepolicy.glade:1828 +#: ../sepolicy/sepolicy/sepolicy.glade:2830 msgid "Network" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:1831 +#: ../sepolicy/sepolicy/sepolicy.glade:1832 msgid "" "Display network ports to which the 'selected domain' can connect or listen " "to." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:1845 -#: ../sepolicy/sepolicy/sepolicy.glade:3120 +#: ../sepolicy/sepolicy/sepolicy.glade:1846 +#: ../sepolicy/sepolicy/sepolicy.glade:3121 msgid "Transitions" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:1849 +#: ../sepolicy/sepolicy/sepolicy.glade:1850 msgid "" "Display applications that can transition into or out of the 'selected " "domain'." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:1863 -#: ../sepolicy/sepolicy/sepolicy.glade:3221 +#: ../sepolicy/sepolicy/sepolicy.glade:1864 +#: ../sepolicy/sepolicy/sepolicy.glade:3222 msgid "Login Mapping" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:1866 -#: ../sepolicy/sepolicy/sepolicy.glade:1883 -#: ../sepolicy/sepolicy/sepolicy.glade:1900 +#: ../sepolicy/sepolicy/sepolicy.glade:1867 +#: ../sepolicy/sepolicy/sepolicy.glade:1884 +#: ../sepolicy/sepolicy/sepolicy.glade:1901 msgid "Manage the SELinux configuration" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:1880 -#: ../sepolicy/sepolicy/sepolicy.glade:3343 +#: ../sepolicy/sepolicy/sepolicy.glade:1881 +#: ../sepolicy/sepolicy/sepolicy.glade:3344 msgid "SELinux Users" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:1914 -#: ../sepolicy/sepolicy/sepolicy.glade:4015 +#: ../sepolicy/sepolicy/sepolicy.glade:1915 +#: ../sepolicy/sepolicy/sepolicy.glade:4016 msgid "Lockdown" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:1917 +#: ../sepolicy/sepolicy/sepolicy.glade:1918 msgid "" "Lockdown the SELinux System.\n" "This screen can be used to turn up the SELinux Protections." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:1932 +#: ../sepolicy/sepolicy/sepolicy.glade:1933 msgid "radiobutton" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:2020 +#: ../sepolicy/sepolicy/sepolicy.glade:2021 msgid "Show Modified Only" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:2059 +#: ../sepolicy/sepolicy/sepolicy.glade:2060 msgid "Mislabeled files exist" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:2079 +#: ../sepolicy/sepolicy/sepolicy.glade:2080 msgid "Show mislabeled files only" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:2119 -#: ../sepolicy/sepolicy/sepolicy.glade:3243 +#: ../sepolicy/sepolicy/sepolicy.glade:2120 +#: ../sepolicy/sepolicy/sepolicy.glade:3244 msgid "" -"If-Then-Else rules written in policy that can \n" +"If-Then-Else rules written in policy that can\n" "allow alternative access control." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:2131 +#: ../sepolicy/sepolicy/sepolicy.glade:2132 msgid "Enabled" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:2251 -#: ../sepolicy/sepolicy/sepolicy.glade:2363 -#: ../sepolicy/sepolicy/sepolicy.glade:2481 -#: ../sepolicy/sepolicy/sepolicy.glade:4512 -#: ../sepolicy/sepolicy/sepolicy.glade:4806 +#: ../sepolicy/sepolicy/sepolicy.glade:2252 +#: ../sepolicy/sepolicy/sepolicy.glade:2364 +#: ../sepolicy/sepolicy/sepolicy.glade:2482 +#: ../sepolicy/sepolicy/sepolicy.glade:4473 +#: ../sepolicy/sepolicy/sepolicy.glade:4768 msgid "File Path" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:2287 -#: ../sepolicy/sepolicy/sepolicy.glade:2398 +#: ../sepolicy/sepolicy/sepolicy.glade:2288 +#: ../sepolicy/sepolicy/sepolicy.glade:2399 msgid "SELinux File Type" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:2331 +#: ../sepolicy/sepolicy/sepolicy.glade:2332 msgid "File path used to enter the 'selected domain'." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:2332 +#: ../sepolicy/sepolicy/sepolicy.glade:2333 msgid "Executable Files" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:2447 +#: ../sepolicy/sepolicy/sepolicy.glade:2448 msgid "Files to which the 'selected domain' can write." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:2448 +#: ../sepolicy/sepolicy/sepolicy.glade:2449 msgid "Writable files" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:2570 +#: ../sepolicy/sepolicy/sepolicy.glade:2571 msgid "File Types defined for the 'selected domain'." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:2571 +#: ../sepolicy/sepolicy/sepolicy.glade:2572 msgid "Application File Types" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:2703 +#: ../sepolicy/sepolicy/sepolicy.glade:2704 msgid "Network Ports to which the 'selected domain' is allowed to connect." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:2704 +#: ../sepolicy/sepolicy/sepolicy.glade:2705 msgid "Outbound" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:2803 +#: ../sepolicy/sepolicy/sepolicy.glade:2804 msgid "Network Ports to which the 'selected domain' is allowed to listen." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:2804 +#: ../sepolicy/sepolicy/sepolicy.glade:2805 msgid "Inbound" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:2865 +#: ../sepolicy/sepolicy/sepolicy.glade:2866 +#: ../sepolicy/sepolicy/sepolicy.glade:2956 msgid "" -"Boolean \n" +"Boolean\n" "Enabled" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:2891 +#: ../sepolicy/sepolicy/sepolicy.glade:2892 msgid "Boolean name" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:2908 +#: ../sepolicy/sepolicy/sepolicy.glade:2909 msgid "SELinux Application Type" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:2929 +#: ../sepolicy/sepolicy/sepolicy.glade:2930 msgid "" "Executables which will transition to a different domain, when the 'selected " "domain' executes them." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:2932 -msgid "Applicaton Transitions From 'select domain'" -msgstr "" - -#: ../sepolicy/sepolicy/sepolicy.glade:2955 -msgid "" -"Boolean\n" -"Enabled" +#: ../sepolicy/sepolicy/sepolicy.glade:2933 +msgid "Application Transitions From 'select domain'" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:2971 +#: ../sepolicy/sepolicy/sepolicy.glade:2972 msgid "Calling Process Domain" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:2987 +#: ../sepolicy/sepolicy/sepolicy.glade:2988 msgid "Executable File" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:3011 +#: ../sepolicy/sepolicy/sepolicy.glade:3012 msgid "" "Executables which will transition to the 'selected domain', when executing a " "selected domains entrypoint." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:3012 +#: ../sepolicy/sepolicy/sepolicy.glade:3013 msgid "Application Transitions Into 'select domain'" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:3027 +#: ../sepolicy/sepolicy/sepolicy.glade:3028 msgid "" "File Transitions define what happens when the current domain creates the " "content of a particular class in a directory of the destination type. " "Optionally a file name could be specified for the transition." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:3035 +#: ../sepolicy/sepolicy/sepolicy.glade:3036 msgid "SELinux Directory Type" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:3048 +#: ../sepolicy/sepolicy/sepolicy.glade:3049 msgid "Destination Class" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:3062 +#: ../sepolicy/sepolicy/sepolicy.glade:3063 msgid "SELinux Destination Type" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:3075 +#: ../sepolicy/sepolicy/sepolicy.glade:3076 msgid "File Name" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:3097 +#: ../sepolicy/sepolicy/sepolicy.glade:3098 msgid "File Transitions From 'select domain'" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:3296 -#: ../sepolicy/sepolicy/sepolicy.glade:5277 -#: ../sepolicy/sepolicy/sepolicy.glade:5518 +#: ../sepolicy/sepolicy/sepolicy.glade:3297 +#: ../sepolicy/sepolicy/sepolicy.glade:5508 msgid "Default Level" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:3382 +#: ../sepolicy/sepolicy/sepolicy.glade:3383 msgid "Select the system mode when the system first boots up" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:3455 +#: ../sepolicy/sepolicy/sepolicy.glade:3456 msgid "Select the system mode for the current session" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:3532 +#: ../sepolicy/sepolicy/sepolicy.glade:3533 msgid "System Policy Type:" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:3593 +#: ../sepolicy/sepolicy/sepolicy.glade:3594 msgid "System Mode" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:3631 +#: ../sepolicy/sepolicy/sepolicy.glade:3632 msgid "Import system settings from another machine" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:3639 +#: ../sepolicy/sepolicy/sepolicy.glade:3640 msgid "Import" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:3658 +#: ../sepolicy/sepolicy/sepolicy.glade:3659 msgid "Export system settings to a file" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:3668 +#: ../sepolicy/sepolicy/sepolicy.glade:3669 msgid "Export" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:3687 +#: ../sepolicy/sepolicy/sepolicy.glade:3688 msgid "Relabel all files back to system defaults on reboot" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:3724 -#: ../sepolicy/sepolicy/sepolicy.glade:3825 -#: ../sepolicy/sepolicy/sepolicy.glade:3889 -#: ../sepolicy/sepolicy/sepolicy.glade:3952 ../sepolicy/sepolicy/gui.py:60 +#: ../sepolicy/sepolicy/sepolicy.glade:3725 +#: ../sepolicy/sepolicy/sepolicy.glade:3826 +#: ../sepolicy/sepolicy/sepolicy.glade:3890 +#: ../sepolicy/sepolicy/sepolicy.glade:3953 ../sepolicy/sepolicy/gui.py:65 msgid "Yes" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:3741 -#: ../sepolicy/sepolicy/sepolicy.glade:3843 -#: ../sepolicy/sepolicy/sepolicy.glade:3906 -#: ../sepolicy/sepolicy/sepolicy.glade:3969 ../sepolicy/sepolicy/gui.py:60 +#: ../sepolicy/sepolicy/sepolicy.glade:3742 +#: ../sepolicy/sepolicy/sepolicy.glade:3844 +#: ../sepolicy/sepolicy/sepolicy.glade:3907 +#: ../sepolicy/sepolicy/sepolicy.glade:3970 ../sepolicy/sepolicy/gui.py:65 msgid "No" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:3782 +#: ../sepolicy/sepolicy/sepolicy.glade:3783 msgid "System Configuration" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:3829 -#: ../sepolicy/sepolicy/sepolicy.glade:3847 +#: ../sepolicy/sepolicy/sepolicy.glade:3830 +#: ../sepolicy/sepolicy/sepolicy.glade:3848 msgid "" "An unconfined domain is a process label that allows the process to do what " "it wants, without SELinux interfering. Applications started at boot by the " @@ -4368,13 +4573,13 @@ msgid "" "unconfined_t from the users/login screens." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:3865 +#: ../sepolicy/sepolicy/sepolicy.glade:3866 msgid "Disable ability to run unconfined system processes?" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:3893 -#: ../sepolicy/sepolicy/sepolicy.glade:3910 -#: ../sepolicy/sepolicy/sepolicy.glade:3973 +#: ../sepolicy/sepolicy/sepolicy.glade:3894 +#: ../sepolicy/sepolicy/sepolicy.glade:3911 +#: ../sepolicy/sepolicy/sepolicy.glade:3974 msgid "" "An permissive domain is a process label that allows the process to do what " "it wants, with SELinux only logging the denials, but not enforcing them. " @@ -4383,11 +4588,11 @@ msgid "" "allowed." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:3928 +#: ../sepolicy/sepolicy/sepolicy.glade:3929 msgid "Disable all permissive processes?" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:3956 +#: ../sepolicy/sepolicy/sepolicy.glade:3957 msgid "" "A permissive domain is a process label that allows the process to do what it " "wants, with SELinux only logging the denials, but not enforcing them. " @@ -4396,171 +4601,189 @@ msgid "" "allowed." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:3994 +#: ../sepolicy/sepolicy/sepolicy.glade:3995 msgid "Deny all processes from ptracing or debugging other processes?" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:4031 +#: ../sepolicy/sepolicy/sepolicy.glade:4032 msgid "" "File equivalence cause the system to label content under the new path as if " "it were under the equivalence path." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:4087 +#: ../sepolicy/sepolicy/sepolicy.glade:4088 msgid "Files Equivalence" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:4100 +#: ../sepolicy/sepolicy/sepolicy.glade:4101 msgid "...SELECT TO VIEW DATA..." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:4131 +#: ../sepolicy/sepolicy/sepolicy.glade:4132 msgid "Delete" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:4147 +#: ../sepolicy/sepolicy/sepolicy.glade:4148 msgid "Modify" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:4208 +#: ../sepolicy/sepolicy/sepolicy.glade:4209 msgid "Revert" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:4213 +#: ../sepolicy/sepolicy/sepolicy.glade:4214 msgid "" "Revert button will launch a dialog window which allows you to revert changes " "within the current transaction." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:4225 ../sepolicy/sepolicy/gui.py:2379 +#: ../sepolicy/sepolicy/sepolicy.glade:4226 ../sepolicy/sepolicy/gui.py:2427 msgid "Update" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:4230 +#: ../sepolicy/sepolicy/sepolicy.glade:4231 msgid "Commit all changes in your current transaction to the server." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:4278 +#: ../sepolicy/sepolicy/sepolicy.glade:4279 msgid "Applications - Advanced Search" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:4331 -msgid "Installed" -msgstr "" - -#: ../sepolicy/sepolicy/sepolicy.glade:4383 +#: ../sepolicy/sepolicy/sepolicy.glade:4344 msgid "Process Types" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:4424 +#: ../sepolicy/sepolicy/sepolicy.glade:4385 msgid "More Details" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:4460 -#: ../sepolicy/sepolicy/sepolicy.glade:4754 +#: ../sepolicy/sepolicy/sepolicy.glade:4421 +#: ../sepolicy/sepolicy/sepolicy.glade:4715 msgid "Delete Modified File Labeling" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:4478 +#: ../sepolicy/sepolicy/sepolicy.glade:4439 msgid "" "Select file labeling to delete. File labeling will be deleted when update is " "applied." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:4525 +#: ../sepolicy/sepolicy/sepolicy.glade:4486 msgid "SELinux File Label" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:4564 -#: ../sepolicy/sepolicy/sepolicy.glade:4714 -#: ../sepolicy/sepolicy/sepolicy.glade:4844 +#: ../sepolicy/sepolicy/sepolicy.glade:4525 +#: ../sepolicy/sepolicy/sepolicy.glade:4675 +#: ../sepolicy/sepolicy/sepolicy.glade:4806 +#: ../sepolicy/sepolicy/sepolicy.glade:4940 +#: ../sepolicy/sepolicy/sepolicy.glade:5289 msgid "Save to Update" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:4604 +#: ../sepolicy/sepolicy/sepolicy.glade:4565 msgid "Delete Modified Ports" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:4622 +#: ../sepolicy/sepolicy/sepolicy.glade:4583 msgid "Select ports to delete. Ports will be deleted when update is applied." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:4771 +#: ../sepolicy/sepolicy/sepolicy.glade:4733 +msgid "" +"Select file equivalence labeling to delete. File equivalence labeling will " +"be deleted when update is applied." +msgstr "" + +#: ../sepolicy/sepolicy/sepolicy.glade:4849 +#: ../sepolicy/sepolicy/sepolicy.glade:5198 +msgid "Delete Modified Users Mapping." +msgstr "" + +#: ../sepolicy/sepolicy/sepolicy.glade:4867 msgid "" -"Select file equivalence labeling to delete.File equivalence labeling will be " -"deleted when update is applied." +"Select login user mapping to delete. Login user mapping will be deleted when " +"update is applied." +msgstr "" + +#: ../sepolicy/sepolicy/sepolicy.glade:4902 +msgid "Login name" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:4887 +#: ../sepolicy/sepolicy/sepolicy.glade:4983 msgid "More Types" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:4914 +#: ../sepolicy/sepolicy/sepolicy.glade:5010 msgid "Types" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:4973 +#: ../sepolicy/sepolicy/sepolicy.glade:5069 msgid "" "Review the updates you have made before committing them to the system. To " "reset an item, uncheck the checkbox. All items checked will be updated in " "the system when you select update." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:5036 +#: ../sepolicy/sepolicy/sepolicy.glade:5132 msgid "Action" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:5062 +#: ../sepolicy/sepolicy/sepolicy.glade:5158 msgid "Apply" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:5119 -#: ../sepolicy/sepolicy/sepolicy.glade:5360 +#: ../sepolicy/sepolicy/sepolicy.glade:5216 +msgid "" +"Select users mapping to delete.Users mapping will be deleted when update is " +"applied." +msgstr "" + +#: ../sepolicy/sepolicy/sepolicy.glade:5264 +msgid "SELinux Username" +msgstr "" + +#: ../sepolicy/sepolicy/sepolicy.glade:5349 msgid "" "Add User Roles. SELinux User Roles will be created when Update is applied." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:5144 -#: ../sepolicy/sepolicy/sepolicy.glade:5385 +#: ../sepolicy/sepolicy/sepolicy.glade:5374 msgid "SELinux User Name" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:5258 -#: ../sepolicy/sepolicy/sepolicy.glade:5499 +#: ../sepolicy/sepolicy/sepolicy.glade:5489 msgid "" "Enter MLS/MCS Range for this SELinux User.\n" "s0-s0:c1023" msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:5289 -#: ../sepolicy/sepolicy/sepolicy.glade:5530 +#: ../sepolicy/sepolicy/sepolicy.glade:5520 msgid "" "Specify the default level that you would like this SELinux user to login " "with. Defaults to s0." msgstr "" -#: ../sepolicy/sepolicy/sepolicy.glade:5293 -#: ../sepolicy/sepolicy/sepolicy.glade:5534 +#: ../sepolicy/sepolicy/sepolicy.glade:5524 msgid "Enter Default Level for SELinux User to login with. Default s0" msgstr "" -#: ../sepolicy/sepolicy/gui.py:61 +#: ../sepolicy/sepolicy/gui.py:66 msgid "Disable" msgstr "" -#: ../sepolicy/sepolicy/gui.py:61 +#: ../sepolicy/sepolicy/gui.py:66 msgid "Enable" msgstr "" -#: ../sepolicy/sepolicy/gui.py:66 +#: ../sepolicy/sepolicy/gui.py:69 msgid "Advanced <<" msgstr "" -#: ../sepolicy/sepolicy/gui.py:67 +#: ../sepolicy/sepolicy/gui.py:70 msgid "Advanced Search <<" msgstr "" -#: ../sepolicy/sepolicy/gui.py:92 +#: ../sepolicy/sepolicy/gui.py:95 msgid "" "\n" "To change from Disabled to Enforcing mode\n" @@ -4570,512 +4793,536 @@ msgid "" " * Change the system mode to Enforcing\n" msgstr "" -#: ../sepolicy/sepolicy/gui.py:115 +#: ../sepolicy/sepolicy/gui.py:490 #, python-format msgid "%s is not a valid domain" msgstr "" -#: ../sepolicy/sepolicy/gui.py:624 +#: ../sepolicy/sepolicy/gui.py:638 msgid "System Status: Disabled" msgstr "" -#: ../sepolicy/sepolicy/gui.py:722 +#: ../sepolicy/sepolicy/gui.py:737 msgid "Help: Start Page" msgstr "" -#: ../sepolicy/sepolicy/gui.py:726 +#: ../sepolicy/sepolicy/gui.py:741 msgid "Help: Booleans Page" msgstr "" -#: ../sepolicy/sepolicy/gui.py:732 +#: ../sepolicy/sepolicy/gui.py:747 msgid "Help: Executable Files Page" msgstr "" -#: ../sepolicy/sepolicy/gui.py:735 +#: ../sepolicy/sepolicy/gui.py:750 msgid "Help: Writable Files Page" msgstr "" -#: ../sepolicy/sepolicy/gui.py:738 +#: ../sepolicy/sepolicy/gui.py:753 msgid "Help: Application Types Page" msgstr "" -#: ../sepolicy/sepolicy/gui.py:743 +#: ../sepolicy/sepolicy/gui.py:758 msgid "Help: Outbound Network Connections Page" msgstr "" -#: ../sepolicy/sepolicy/gui.py:746 +#: ../sepolicy/sepolicy/gui.py:761 msgid "Help: Inbound Network Connections Page" msgstr "" -#: ../sepolicy/sepolicy/gui.py:752 +#: ../sepolicy/sepolicy/gui.py:767 msgid "Help: Transition from application Page" msgstr "" -#: ../sepolicy/sepolicy/gui.py:755 +#: ../sepolicy/sepolicy/gui.py:770 msgid "Help: Transition into application Page" msgstr "" -#: ../sepolicy/sepolicy/gui.py:758 +#: ../sepolicy/sepolicy/gui.py:773 msgid "Help: Transition application file Page" msgstr "" -#: ../sepolicy/sepolicy/gui.py:762 +#: ../sepolicy/sepolicy/gui.py:777 msgid "Help: Systems Page" msgstr "" -#: ../sepolicy/sepolicy/gui.py:766 +#: ../sepolicy/sepolicy/gui.py:781 msgid "Help: Lockdown Page" msgstr "" -#: ../sepolicy/sepolicy/gui.py:770 +#: ../sepolicy/sepolicy/gui.py:785 msgid "Help: Login Page" msgstr "" -#: ../sepolicy/sepolicy/gui.py:774 +#: ../sepolicy/sepolicy/gui.py:789 msgid "Help: SELinux User Page" msgstr "" -#: ../sepolicy/sepolicy/gui.py:778 +#: ../sepolicy/sepolicy/gui.py:793 msgid "Help: File Equivalence Page" msgstr "" -#: ../sepolicy/sepolicy/gui.py:922 ../sepolicy/sepolicy/gui.py:1211 -#: ../sepolicy/sepolicy/gui.py:1644 ../sepolicy/sepolicy/gui.py:1885 -#: ../sepolicy/sepolicy/gui.py:2698 +#: ../sepolicy/sepolicy/gui.py:939 ../sepolicy/sepolicy/gui.py:1230 +#: ../sepolicy/sepolicy/gui.py:1674 ../sepolicy/sepolicy/gui.py:1921 +#: ../sepolicy/sepolicy/gui.py:2712 msgid "More..." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1031 +#: ../sepolicy/sepolicy/gui.py:1047 #, python-format msgid "File path used to enter the '%s' domain." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1032 +#: ../sepolicy/sepolicy/gui.py:1048 #, python-format msgid "Files to which the '%s' domain can write." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1033 +#: ../sepolicy/sepolicy/gui.py:1049 #, python-format msgid "Network Ports to which the '%s' is allowed to connect." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1034 +#: ../sepolicy/sepolicy/gui.py:1050 #, python-format msgid "Network Ports to which the '%s' is allowed to listen." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1035 +#: ../sepolicy/sepolicy/gui.py:1051 #, python-format msgid "File Types defined for the '%s'." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1036 +#: ../sepolicy/sepolicy/gui.py:1052 #, python-format msgid "" "Display boolean information that can be used to modify the policy for the " "'%s'." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1037 +#: ../sepolicy/sepolicy/gui.py:1053 #, python-format msgid "Display file type information that can be used by the '%s'." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1038 +#: ../sepolicy/sepolicy/gui.py:1054 #, python-format msgid "Display network ports to which the '%s' can connect or listen to." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1039 +#: ../sepolicy/sepolicy/gui.py:1055 #, python-format msgid "Application Transitions Into '%s'" msgstr "" -#: ../sepolicy/sepolicy/gui.py:1040 +#: ../sepolicy/sepolicy/gui.py:1056 #, python-format msgid "Application Transitions From '%s'" msgstr "" -#: ../sepolicy/sepolicy/gui.py:1041 +#: ../sepolicy/sepolicy/gui.py:1057 #, python-format msgid "File Transitions From '%s'" msgstr "" -#: ../sepolicy/sepolicy/gui.py:1042 +#: ../sepolicy/sepolicy/gui.py:1058 #, python-format msgid "" "Executables which will transition to the '%s', when executing a selected " "domains entrypoint." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1043 +#: ../sepolicy/sepolicy/gui.py:1059 #, python-format msgid "" "Executables which will transition to a different domain, when the '%s' " "executes them." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1044 +#: ../sepolicy/sepolicy/gui.py:1060 #, python-format msgid "Files by '%s' will transitions to a different label." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1045 +#: ../sepolicy/sepolicy/gui.py:1061 #, python-format msgid "Display applications that can transition into or out of the '%s'." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1149 +#: ../sepolicy/sepolicy/gui.py:1169 msgid "MISSING FILE PATH" msgstr "" -#: ../sepolicy/sepolicy/gui.py:1265 ../sepolicy/sepolicy/gui.py:1267 +#: ../sepolicy/sepolicy/gui.py:1284 ../sepolicy/sepolicy/gui.py:1286 msgid "Boolean section." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1265 +#: ../sepolicy/sepolicy/gui.py:1284 msgid "To disable this transition, go to the " msgstr "" -#: ../sepolicy/sepolicy/gui.py:1267 +#: ../sepolicy/sepolicy/gui.py:1286 msgid "To enable this transition, go to the " msgstr "" -#: ../sepolicy/sepolicy/gui.py:1324 +#: ../sepolicy/sepolicy/gui.py:1343 msgid "executable" msgstr "" -#: ../sepolicy/sepolicy/gui.py:1327 +#: ../sepolicy/sepolicy/gui.py:1346 msgid "writable" msgstr "" -#: ../sepolicy/sepolicy/gui.py:1330 +#: ../sepolicy/sepolicy/gui.py:1349 msgid "application" msgstr "" -#: ../sepolicy/sepolicy/gui.py:1331 +#: ../sepolicy/sepolicy/gui.py:1350 #, python-format -msgid "Add new %s file path for '%s' domains." +msgid "Add new %(TYPE)s file path for '%(DOMAIN)s' domains." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1332 +#: ../sepolicy/sepolicy/gui.py:1351 #, python-format -msgid "Delete modified %s file paths for '%s' domain." +msgid "Delete %(TYPE)s file paths for '%(DOMAIN)s' domain." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1333 +#: ../sepolicy/sepolicy/gui.py:1352 #, python-format msgid "" -"Modify selected modified %s file path for '%s' domain. Only bolded items in " -"the list can be selected, this indicates they were modified previously." +"Modify %(TYPE)s file path for '%(DOMAIN)s' domain. Only bolded items in the " +"list can be selected, this indicates they were modified previously." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1345 +#: ../sepolicy/sepolicy/gui.py:1364 msgid "connect" msgstr "" -#: ../sepolicy/sepolicy/gui.py:1348 +#: ../sepolicy/sepolicy/gui.py:1367 msgid "listen for inbound connections" msgstr "" -#: ../sepolicy/sepolicy/gui.py:1350 +#: ../sepolicy/sepolicy/gui.py:1369 #, python-format -msgid "Add new port definition to which the '%s' domains is allowed to %s." +msgid "" +"Add new port definition to which the '%(APP)s' domain is allowed to %(PERM)s." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1351 +#: ../sepolicy/sepolicy/gui.py:1370 #, python-format msgid "" -"Delete modified port definitions to which the '%s' domain is allowed to %s." +"Delete modified port definitions to which the '%(APP)s' domain is allowed to " +"%(PERM)s." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1352 +#: ../sepolicy/sepolicy/gui.py:1371 #, python-format -msgid "Modify port definitions to which the '%s' domain is allowed to %s." +msgid "" +"Modify port definitions to which the '%(APP)s' domain is allowed to %(PERM)s." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1381 +#: ../sepolicy/sepolicy/gui.py:1400 msgid "Add new SELinux User/Role definition." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1382 +#: ../sepolicy/sepolicy/gui.py:1401 msgid "Delete modified SELinux User/Role definitions." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1383 +#: ../sepolicy/sepolicy/gui.py:1402 msgid "Modify selected modified SELinux User/Role definitions." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1390 +#: ../sepolicy/sepolicy/gui.py:1409 msgid "Add new Login Mapping definition." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1391 +#: ../sepolicy/sepolicy/gui.py:1410 msgid "Delete modified Login Mapping definitions." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1392 +#: ../sepolicy/sepolicy/gui.py:1411 msgid "Modify selected modified Login Mapping definitions." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1399 +#: ../sepolicy/sepolicy/gui.py:1418 msgid "Add new File Equivalence definition." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1400 +#: ../sepolicy/sepolicy/gui.py:1419 msgid "Delete modified File Equivalence definitions." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1401 +#: ../sepolicy/sepolicy/gui.py:1420 msgid "" "Modify selected modified File Equivalence definitions. Only bolded items in " "the list can be selected, this indicates they were modified previously." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1429 +#: ../sepolicy/sepolicy/gui.py:1452 #, python-format msgid "Boolean %s Allow Rules" msgstr "" -#: ../sepolicy/sepolicy/gui.py:1442 +#: ../sepolicy/sepolicy/gui.py:1465 #, python-format msgid "Add Network Port for %s. Ports will be created when update is applied." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1443 +#: ../sepolicy/sepolicy/gui.py:1466 #, python-format msgid "Add Network Port for %s" msgstr "" -#: ../sepolicy/sepolicy/gui.py:1448 +#: ../sepolicy/sepolicy/gui.py:1471 #, python-format msgid "" "Add File Labeling for %s. File labels will be created when update is applied." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1449 ../sepolicy/sepolicy/gui.py:1500 +#: ../sepolicy/sepolicy/gui.py:1472 ../sepolicy/sepolicy/gui.py:1525 #, python-format msgid "Add File Labeling for %s" msgstr "" -#: ../sepolicy/sepolicy/gui.py:1459 +#: ../sepolicy/sepolicy/gui.py:1482 msgid "Add Login Mapping. User Mapping will be created when Update is applied." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1460 +#: ../sepolicy/sepolicy/gui.py:1483 msgid "Add Login Mapping" msgstr "" -#: ../sepolicy/sepolicy/gui.py:1465 +#: ../sepolicy/sepolicy/gui.py:1488 msgid "" "Add SELinux User Role. SELinux user roles will be created when update is " "applied." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1466 +#: ../sepolicy/sepolicy/gui.py:1489 msgid "Add SELinux Users" msgstr "" -#: ../sepolicy/sepolicy/gui.py:1473 +#: ../sepolicy/sepolicy/gui.py:1496 msgid "" "Add File Equivalency Mapping. Mapping will be created when update is applied." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1474 +#: ../sepolicy/sepolicy/gui.py:1497 msgid "Add SELinux File Equivalency" msgstr "" -#: ../sepolicy/sepolicy/gui.py:1499 +#: ../sepolicy/sepolicy/gui.py:1524 #, python-format msgid "" "Modify File Labeling for %s. File labels will be created when update is " "applied." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1566 +#: ../sepolicy/sepolicy/gui.py:1580 +msgid "" +"Modify SELinux User Role. SELinux user roles will be modified when update is " +"applied." +msgstr "" + +#: ../sepolicy/sepolicy/gui.py:1581 +msgid "Modify SELinux Users" +msgstr "" + +#: ../sepolicy/sepolicy/gui.py:1589 +msgid "" +"Modify Login Mapping. Login Mapping will be modified when Update is applied." +msgstr "" + +#: ../sepolicy/sepolicy/gui.py:1590 +msgid "Modify Login Mapping" +msgstr "" + +#: ../sepolicy/sepolicy/gui.py:1596 msgid "" "Modify File Equivalency Mapping. Mapping will be created when update is " "applied." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1567 +#: ../sepolicy/sepolicy/gui.py:1597 msgid "Modify SELinux File Equivalency" msgstr "" -#: ../sepolicy/sepolicy/gui.py:1652 +#: ../sepolicy/sepolicy/gui.py:1682 #, python-format msgid "" "Modify Network Port for %s. Ports will be created when update is applied." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1653 +#: ../sepolicy/sepolicy/gui.py:1683 #, python-format msgid "Modify Network Port for %s" msgstr "" -#: ../sepolicy/sepolicy/gui.py:1866 +#: ../sepolicy/sepolicy/gui.py:1902 #, python-format msgid "The entry '%s' is not a valid path. Paths must begin with a '/'." msgstr "" -#: ../sepolicy/sepolicy/gui.py:1879 +#: ../sepolicy/sepolicy/gui.py:1915 msgid "Port number must be between 1 and 65536" msgstr "" -#: ../sepolicy/sepolicy/gui.py:2146 +#: ../sepolicy/sepolicy/gui.py:2191 #, python-format msgid "SELinux name: %s" msgstr "" -#: ../sepolicy/sepolicy/gui.py:2157 +#: ../sepolicy/sepolicy/gui.py:2202 #, python-format msgid "Add file labeling for %s" msgstr "" -#: ../sepolicy/sepolicy/gui.py:2159 +#: ../sepolicy/sepolicy/gui.py:2204 #, python-format msgid "Delete file labeling for %s" msgstr "" -#: ../sepolicy/sepolicy/gui.py:2161 +#: ../sepolicy/sepolicy/gui.py:2206 #, python-format msgid "Modify file labeling for %s" msgstr "" -#: ../sepolicy/sepolicy/gui.py:2165 +#: ../sepolicy/sepolicy/gui.py:2210 #, python-format msgid "File path: %s" msgstr "" -#: ../sepolicy/sepolicy/gui.py:2168 +#: ../sepolicy/sepolicy/gui.py:2213 #, python-format msgid "File class: %s" msgstr "" -#: ../sepolicy/sepolicy/gui.py:2171 ../sepolicy/sepolicy/gui.py:2195 +#: ../sepolicy/sepolicy/gui.py:2216 ../sepolicy/sepolicy/gui.py:2240 #, python-format msgid "SELinux file type: %s" msgstr "" -#: ../sepolicy/sepolicy/gui.py:2180 +#: ../sepolicy/sepolicy/gui.py:2225 #, python-format msgid "Add ports for %s" msgstr "" -#: ../sepolicy/sepolicy/gui.py:2182 +#: ../sepolicy/sepolicy/gui.py:2227 #, python-format msgid "Delete ports for %s" msgstr "" -#: ../sepolicy/sepolicy/gui.py:2184 +#: ../sepolicy/sepolicy/gui.py:2229 #, python-format msgid "Modify ports for %s" msgstr "" -#: ../sepolicy/sepolicy/gui.py:2187 +#: ../sepolicy/sepolicy/gui.py:2232 #, python-format msgid "Network ports: %s" msgstr "" -#: ../sepolicy/sepolicy/gui.py:2190 +#: ../sepolicy/sepolicy/gui.py:2235 #, python-format msgid "Network protocol: %s" msgstr "" -#: ../sepolicy/sepolicy/gui.py:2204 +#: ../sepolicy/sepolicy/gui.py:2249 msgid "Add user" msgstr "" -#: ../sepolicy/sepolicy/gui.py:2206 +#: ../sepolicy/sepolicy/gui.py:2251 msgid "Delete user" msgstr "" -#: ../sepolicy/sepolicy/gui.py:2208 +#: ../sepolicy/sepolicy/gui.py:2253 msgid "Modify user" msgstr "" -#: ../sepolicy/sepolicy/gui.py:2211 +#: ../sepolicy/sepolicy/gui.py:2256 #, python-format msgid "SELinux User : %s" msgstr "" -#: ../sepolicy/sepolicy/gui.py:2216 +#: ../sepolicy/sepolicy/gui.py:2261 #, python-format msgid "Roles: %s" msgstr "" -#: ../sepolicy/sepolicy/gui.py:2220 ../sepolicy/sepolicy/gui.py:2245 +#: ../sepolicy/sepolicy/gui.py:2265 ../sepolicy/sepolicy/gui.py:2290 #, python-format msgid "MLS/MCS Range: %s" msgstr "" -#: ../sepolicy/sepolicy/gui.py:2229 +#: ../sepolicy/sepolicy/gui.py:2274 msgid "Add login mapping" msgstr "" -#: ../sepolicy/sepolicy/gui.py:2231 +#: ../sepolicy/sepolicy/gui.py:2276 msgid "Delete login mapping" msgstr "" -#: ../sepolicy/sepolicy/gui.py:2233 +#: ../sepolicy/sepolicy/gui.py:2278 msgid "Modify login mapping" msgstr "" -#: ../sepolicy/sepolicy/gui.py:2237 +#: ../sepolicy/sepolicy/gui.py:2282 #, python-format -msgid "Linux User : %s" +msgid "Login Name : %s" msgstr "" -#: ../sepolicy/sepolicy/gui.py:2241 +#: ../sepolicy/sepolicy/gui.py:2286 #, python-format msgid "SELinux User: %s" msgstr "" -#: ../sepolicy/sepolicy/gui.py:2254 +#: ../sepolicy/sepolicy/gui.py:2299 msgid "Add file equiv labeling." msgstr "" -#: ../sepolicy/sepolicy/gui.py:2256 +#: ../sepolicy/sepolicy/gui.py:2301 msgid "Delete file equiv labeling." msgstr "" -#: ../sepolicy/sepolicy/gui.py:2258 +#: ../sepolicy/sepolicy/gui.py:2303 msgid "Modify file equiv labeling." msgstr "" -#: ../sepolicy/sepolicy/gui.py:2262 +#: ../sepolicy/sepolicy/gui.py:2307 #, python-format msgid "File path : %s" msgstr "" -#: ../sepolicy/sepolicy/gui.py:2266 +#: ../sepolicy/sepolicy/gui.py:2311 #, python-format msgid "Equivalence: %s" msgstr "" -#: ../sepolicy/sepolicy/gui.py:2369 +#: ../sepolicy/sepolicy/gui.py:2414 #, python-format -msgid "Run restorecon on %s to change its type from %s to the default %s?" +msgid "" +"Run restorecon on %(PATH)s to change its type from %(CUR_CONTEXT)s to the " +"default %(DEF_CONTEXT)s?" msgstr "" -#: ../sepolicy/sepolicy/gui.py:2381 +#: ../sepolicy/sepolicy/gui.py:2429 msgid "Update Changes" msgstr "" -#: ../sepolicy/sepolicy/gui.py:2383 +#: ../sepolicy/sepolicy/gui.py:2431 msgid "Revert Changes" msgstr "" -#: ../sepolicy/sepolicy/gui.py:2556 +#: ../sepolicy/sepolicy/gui.py:2558 msgid "System Status: Enforcing" msgstr "" -#: ../sepolicy/sepolicy/gui.py:2558 +#: ../sepolicy/sepolicy/gui.py:2560 msgid "System Status: Permissive" msgstr "" -#: ../sepolicy/sepolicy/gui.py:2749 +#: ../sepolicy/sepolicy/gui.py:2763 msgid "" "Changing to SELinux disabled requires a reboot. It is not recommended. If " "you later decide to turn SELinux back on, the system will be required to " @@ -5085,7 +5332,7 @@ msgid "" "wish to continue?" msgstr "" -#: ../sepolicy/sepolicy/gui.py:2783 +#: ../sepolicy/sepolicy/gui.py:2800 msgid "" "You are attempting to close the application without applying your changes.\n" " * To apply changes you have made during this session, click No and " @@ -5094,6 +5341,6 @@ msgid "" "All changes that you have made during this session will be lost." msgstr "" -#: ../sepolicy/sepolicy/gui.py:2783 +#: ../sepolicy/sepolicy/gui.py:2800 msgid "Loss of data Dialog" msgstr "" diff --git policycoreutils-2.5/po/ar.po policycoreutils-2.5/po/ar.po index b03fb78..d8cb642 100644 --- policycoreutils-2.5/po/ar.po +++ policycoreutils-2.5/po/ar.po @@ -8,20 +8,23 @@ # Majed Abdullah , 2010 # Munzir Taha , 2012 # Saud Al-Otaibi , 2010 +# Petr Lautrbach , 2016. #zanata msgid "" msgstr "" -"Project-Id-Version: Policycoreutils\n" +"Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2013-10-10 16:04-0400\n" -"PO-Revision-Date: 2013-07-10 20:44+0000\n" -"Last-Translator: dwalsh \n" -"Language-Team: Arabic \n" +"POT-Creation-Date: 2016-11-22 16:37+0100\n" +"PO-Revision-Date: 2016-01-06 02:15-0500\n" +"Last-Translator: Copied by Zanata \n" +"Language-Team: Arabic (http://www.transifex.com/projects/p/fedora/language/" +"ar/)\n" "Language: ar\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " "&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" +"X-Generator: Zanata 3.9.6\n" #: ../run_init/run_init.c:67 msgid "" @@ -33,7 +36,7 @@ msgstr "" " عند: