diff --git a/.fmf/version b/.fmf/version new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/.fmf/version @@ -0,0 +1 @@ +1 diff --git a/.gitignore b/.gitignore index 039b0d0..5686001 100644 --- a/.gitignore +++ b/.gitignore @@ -239,3 +239,131 @@ policycoreutils-2.0.83.tgz /policycoreutils-2.5-rc1.tar.gz /policycoreutils-2.5.tar.gz /sepolgen-1.2.3.tar.gz +/policycoreutils-2.6.tar.gz +/sepolgen-2.6.tar.gz +/policycoreutils-2.7.tar.gz +/selinux-python-2.7.tar.gz +/selinux-gui-2.7.tar.gz +/selinux-sandbox-2.7.tar.gz +/selinux-dbus-2.7.tar.gz +/semodule-utils-2.7.tar.gz +/restorecond-2.7.tar.gz +/policycoreutils-2.8-rc1.tar.gz +/restorecond-2.8-rc1.tar.gz +/selinux-dbus-2.8-rc1.tar.gz +/selinux-gui-2.8-rc1.tar.gz +/selinux-python-2.8-rc1.tar.gz +/selinux-sandbox-2.8-rc1.tar.gz +/semodule-utils-2.8-rc1.tar.gz +/policycoreutils-2.8-rc2.tar.gz +/restorecond-2.8-rc2.tar.gz +/selinux-dbus-2.8-rc2.tar.gz +/selinux-gui-2.8-rc2.tar.gz +/selinux-python-2.8-rc2.tar.gz +/selinux-sandbox-2.8-rc2.tar.gz +/semodule-utils-2.8-rc2.tar.gz +/policycoreutils-2.8-rc3.tar.gz +/restorecond-2.8-rc3.tar.gz +/selinux-dbus-2.8-rc3.tar.gz +/selinux-gui-2.8-rc3.tar.gz +/selinux-python-2.8-rc3.tar.gz +/selinux-sandbox-2.8-rc3.tar.gz +/semodule-utils-2.8-rc3.tar.gz +/policycoreutils-2.8.tar.gz +/restorecond-2.8.tar.gz +/selinux-dbus-2.8.tar.gz +/selinux-gui-2.8.tar.gz +/selinux-python-2.8.tar.gz +/selinux-sandbox-2.8.tar.gz +/semodule-utils-2.8.tar.gz +/gui-po.tgz +/policycoreutils-po.tgz +/python-po.tgz +/sandbox-po.tgz +/policycoreutils-2.9-rc1.tar.gz +/selinux-python-2.9-rc1.tar.gz +/selinux-gui-2.9-rc1.tar.gz +/selinux-sandbox-2.9-rc1.tar.gz +/selinux-dbus-2.9-rc1.tar.gz +/semodule-utils-2.9-rc1.tar.gz +/restorecond-2.9-rc1.tar.gz +/policycoreutils-2.9-rc2.tar.gz +/restorecond-2.9-rc2.tar.gz +/selinux-dbus-2.9-rc2.tar.gz +/selinux-gui-2.9-rc2.tar.gz +/selinux-python-2.9-rc2.tar.gz +/selinux-sandbox-2.9-rc2.tar.gz +/semodule-utils-2.9-rc2.tar.gz +/policycoreutils-2.9.tar.gz +/restorecond-2.9.tar.gz +/selinux-dbus-2.9.tar.gz +/selinux-gui-2.9.tar.gz +/selinux-python-2.9.tar.gz +/selinux-sandbox-2.9.tar.gz +/semodule-utils-2.9.tar.gz +/policycoreutils-3.0-rc1.tar.gz +/restorecond-3.0-rc1.tar.gz +/selinux-dbus-3.0-rc1.tar.gz +/selinux-gui-3.0-rc1.tar.gz +/selinux-python-3.0-rc1.tar.gz +/selinux-sandbox-3.0-rc1.tar.gz +/semodule-utils-3.0-rc1.tar.gz +/policycoreutils-3.0.tar.gz +/restorecond-3.0.tar.gz +/selinux-dbus-3.0.tar.gz +/selinux-gui-3.0.tar.gz +/selinux-python-3.0.tar.gz +/selinux-sandbox-3.0.tar.gz +/semodule-utils-3.0.tar.gz +/policycoreutils-3.1.tar.gz +/restorecond-3.1.tar.gz +/selinux-dbus-3.1.tar.gz +/selinux-gui-3.1.tar.gz +/selinux-python-3.1.tar.gz +/selinux-sandbox-3.1.tar.gz +/semodule-utils-3.1.tar.gz +/policycoreutils-3.2-rc1.tar.gz +/restorecond-3.2-rc1.tar.gz +/selinux-dbus-3.2-rc1.tar.gz +/selinux-gui-3.2-rc1.tar.gz +/selinux-python-3.2-rc1.tar.gz +/selinux-sandbox-3.2-rc1.tar.gz +/semodule-utils-3.2-rc1.tar.gz +/policycoreutils-3.2-rc2.tar.gz +/restorecond-3.2-rc2.tar.gz +/selinux-dbus-3.2-rc2.tar.gz +/selinux-gui-3.2-rc2.tar.gz +/selinux-python-3.2-rc2.tar.gz +/selinux-sandbox-3.2-rc2.tar.gz +/semodule-utils-3.2-rc2.tar.gz +/selinux-3.2.tar.gz +/selinux-3.3-rc2.tar.gz +/selinux-3.3-rc3.tar.gz +/selinux-3.3.tar.gz +/selinux-3.4-rc1.tar.gz +/selinux-3.4-rc2.tar.gz +/selinux-3.4-rc3.tar.gz +/selinux-3.4.tar.gz +/selinux-3.5-rc1.tar.gz +/selinux-3.5-rc2.tar.gz +/selinux-3.5-rc3.tar.gz +/selinux-3.5.tar.gz +/selinux-policycoreutils.zip +/selinux-python.zip +/selinux-sandbox.zip +/selinux-gui.zip +/selinux-3.6-rc1.tar.gz +/selinux-3.6-rc2.tar.gz +/selinux-3.6.tar.gz +/selinux-3.7.tar.gz +/selinux-3.7.tar.gz.asc +/selinux-3.8-rc1.tar.gz +/selinux-3.8-rc1.tar.gz.asc +/selinux-3.8-rc3.tar.gz +/selinux-3.8-rc3.tar.gz.asc +/selinux-3.8.tar.gz +/selinux-3.8.tar.gz.asc +/selinux-3.9-rc2.tar.gz +/selinux-3.9-rc2.tar.gz.asc +/selinux-3.9.tar.gz +/selinux-3.9.tar.gz.asc diff --git a/0001-Don-t-be-verbose-if-you-are-not-on-a-tty.patch b/0001-Don-t-be-verbose-if-you-are-not-on-a-tty.patch new file mode 100644 index 0000000..43396d2 --- /dev/null +++ b/0001-Don-t-be-verbose-if-you-are-not-on-a-tty.patch @@ -0,0 +1,25 @@ +From ce28d432bef8d1a346054b56a989e58533fecfa7 Mon Sep 17 00:00:00 2001 +From: Dan Walsh +Date: Fri, 14 Feb 2014 12:32:12 -0500 +Subject: [PATCH] Don't be verbose if you are not on a tty +Content-type: text/plain + +--- + policycoreutils/scripts/fixfiles | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/policycoreutils/scripts/fixfiles b/policycoreutils/scripts/fixfiles +index b7cd765c15e4..f2518e96e34c 100755 +--- a/policycoreutils/scripts/fixfiles ++++ b/policycoreutils/scripts/fixfiles +@@ -108,6 +108,7 @@ exclude_dirs_from_relabelling() { + fullFlag=0 + BOOTTIME="" + VERBOSE="-p" ++[ -t 1 ] || VERBOSE="" + FORCEFLAG="" + THREADS="" + RPMFILES="" +-- +2.50.1 + diff --git a/0002-sepolicy-generate-Handle-more-reserved-port-types.patch b/0002-sepolicy-generate-Handle-more-reserved-port-types.patch new file mode 100644 index 0000000..f8433da --- /dev/null +++ b/0002-sepolicy-generate-Handle-more-reserved-port-types.patch @@ -0,0 +1,72 @@ +From 618ae48ebf1334f9380a9ae7460c553515f9c4ca Mon Sep 17 00:00:00 2001 +From: Masatake YAMATO +Date: Thu, 14 Dec 2017 15:57:58 +0900 +Subject: [PATCH] sepolicy-generate: Handle more reserved port types +Content-type: text/plain + +Currently only reserved_port_t, port_t and hi_reserved_port_t are +handled as special when making a ports-dictionary. However, as fas as +corenetwork.te.in of serefpolicy, unreserved_port_t and +ephemeral_port_t should be handled in the same way, too. + +(Details) I found the need of this change when I was using +selinux-polgengui. Though tcp port 12345, which my application may +use, was given to the gui, selinux-polgengui generates expected te +file and sh file which didn't utilize the tcp port. + +selinux-polgengui checks whether a port given via gui is already typed +or not. + +If it is already typed, selinux-polgengui generates a te file having +rules to allow the application to use the port. (A) + +If not, it seems for me that selinux-polgengui is designed to generate +a te file having rules to allow the application to own(?) the port; +and a sh file having a command line to assign the application own type +to the port. (B) + +As we can see the output of `semanage port -l' some of ports for +specified purpose have types already. The important point is that the +rest of ports also have types already: + + hi_reserved_port_t tcp 512-1023 + hi_reserved_port_t udp 512-1023 + unreserved_port_t tcp 1024-32767, 61001-65535 + unreserved_port_t udp 1024-32767, 61001-65535 + ephemeral_port_t tcp 32768-61000 + ephemeral_port_t udp 32768-61000 + +As my patch shows, the original selinux-polgengui ignored +hi_reserved_port_t; though hi_reserved_port_t is assigned, +selinux-polgengui considered ports 512-1023 are not used. As the +result selinux-polgengui generates file sets of (B). + +For the purpose of selinux-polgengui, I think unreserved_port_t and +ephemeral_port_t are treated as the same as hi_reserved_port_t. + +Signed-off-by: Masatake YAMATO + +Fedora only patch: +https://lore.kernel.org/selinux/20150610.190635.1866127952891120915.yamato@redhat.com/ +--- + python/sepolicy/sepolicy/generate.py | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/python/sepolicy/sepolicy/generate.py b/python/sepolicy/sepolicy/generate.py +index adf65f27a822..f726ad51b775 100644 +--- a/python/sepolicy/sepolicy/generate.py ++++ b/python/sepolicy/sepolicy/generate.py +@@ -100,7 +100,9 @@ def get_all_ports(): + for p in sepolicy.info(sepolicy.PORT): + if p['type'] == "reserved_port_t" or \ + p['type'] == "port_t" or \ +- p['type'] == "hi_reserved_port_t": ++ p['type'] == "hi_reserved_port_t" or \ ++ p['type'] == "ephemeral_port_t" or \ ++ p['type'] == "unreserved_port_t": + continue + dict[(p['low'], p['high'], p['protocol'])] = (p['type'], p.get('range')) + return dict +-- +2.50.1 + diff --git a/0003-sandbox-Use-matchbox-window-manager-instead-of-openb.patch b/0003-sandbox-Use-matchbox-window-manager-instead-of-openb.patch new file mode 100644 index 0000000..f876b7b --- /dev/null +++ b/0003-sandbox-Use-matchbox-window-manager-instead-of-openb.patch @@ -0,0 +1,75 @@ +From 16fd581da479f80b8f8ff8ae8ff58a4f0a610d54 Mon Sep 17 00:00:00 2001 +From: Petr Lautrbach +Date: Wed, 18 Jul 2018 09:09:35 +0200 +Subject: [PATCH] sandbox: Use matchbox-window-manager instead of openbox +Content-type: text/plain + +--- + sandbox/sandbox | 4 ++-- + sandbox/sandbox.8 | 2 +- + sandbox/sandboxX.sh | 14 -------------- + 3 files changed, 3 insertions(+), 17 deletions(-) + +diff --git a/sandbox/sandbox b/sandbox/sandbox +index e3fd6119ed4d..e01425f0c637 100644 +--- a/sandbox/sandbox ++++ b/sandbox/sandbox +@@ -270,7 +270,7 @@ class Sandbox: + copyfile(f, "/tmp", self.__tmpdir) + copyfile(f, "/var/tmp", self.__tmpdir) + +- def __setup_sandboxrc(self, wm="/usr/bin/openbox"): ++ def __setup_sandboxrc(self, wm="/usr/bin/matchbox-window-manager"): + execfile = self.__homedir + "/.sandboxrc" + fd = open(execfile, "w+") + if self.__options.session: +@@ -370,7 +370,7 @@ sandbox [-h] [-l level ] [-[X|M] [-H homedir] [-T tempdir]] [-I includefile ] [- + + parser.add_option("-W", "--windowmanager", dest="wm", + type="string", +- default="/usr/bin/openbox", ++ default="/usr/bin/matchbox-window-manager", + help=_("alternate window manager")) + + parser.add_option("-l", "--level", dest="level", +diff --git a/sandbox/sandbox.8 b/sandbox/sandbox.8 +index 095b9e27042d..1c1870190e51 100644 +--- a/sandbox/sandbox.8 ++++ b/sandbox/sandbox.8 +@@ -80,7 +80,7 @@ Specifies the windowsize when creating an X based Sandbox. The default windowsiz + \fB\-W\fR \fB\-\-windowmanager\fR + Select alternative window manager to run within + .B sandbox \-X. +-Default to /usr/bin/openbox. ++Default to /usr/bin/matchbox-window-manager. + .TP + \fB\-X\fR + Create an X based Sandbox for gui apps, temporary files for +diff --git a/sandbox/sandboxX.sh b/sandbox/sandboxX.sh +index 28169182ce42..e2a7ad9b2ac7 100644 +--- a/sandbox/sandboxX.sh ++++ b/sandbox/sandboxX.sh +@@ -7,20 +7,6 @@ export TITLE="Sandbox $context -- `grep ^#TITLE: ~/.sandboxrc | /usr/bin/cut -b8 + [ -z $3 ] && export DPI="96" || export DPI="$3" + trap "exit 0" HUP + +-mkdir -p ~/.config/openbox +-cat > ~/.config/openbox/rc.xml << EOF +- +- +- +- no +- all +- yes +- +- +- +-EOF +- + if [ "$WAYLAND_NATIVE" == "no" ]; then + if [ -z "$WAYLAND_DISPLAY" ]; then + DISPLAY_COMMAND='/usr/bin/Xephyr -resizeable -title "$TITLE" -terminate -screen $SCREENSIZE -dpi $DPI -nolisten tcp -displayfd 5 5>&1 2>/dev/null' +-- +2.50.1 + diff --git a/0004-Use-SHA-2-instead-of-SHA-1.patch b/0004-Use-SHA-2-instead-of-SHA-1.patch new file mode 100644 index 0000000..d1847c1 --- /dev/null +++ b/0004-Use-SHA-2-instead-of-SHA-1.patch @@ -0,0 +1,178 @@ +From 1a3fc195c6dc7fe51ef76e4484910f7b41161ccc Mon Sep 17 00:00:00 2001 +From: Petr Lautrbach +Date: Fri, 30 Jul 2021 14:14:37 +0200 +Subject: [PATCH] Use SHA-2 instead of SHA-1 +Content-type: text/plain + +The use of SHA-1 in RHEL9 is deprecated +--- + policycoreutils/setfiles/restorecon.8 | 10 +++++----- + policycoreutils/setfiles/restorecon_xattr.8 | 8 ++++---- + policycoreutils/setfiles/restorecon_xattr.c | 12 ++++++------ + policycoreutils/setfiles/setfiles.8 | 10 +++++----- + 4 files changed, 20 insertions(+), 20 deletions(-) + +diff --git a/policycoreutils/setfiles/restorecon.8 b/policycoreutils/setfiles/restorecon.8 +index 1134420e0e28..77dd05421d11 100644 +--- a/policycoreutils/setfiles/restorecon.8 ++++ b/policycoreutils/setfiles/restorecon.8 +@@ -103,14 +103,14 @@ display usage information and exit. + ignore files that do not exist. + .TP + .B \-I +-ignore digest to force checking of labels even if the stored SHA1 digest +-matches the specfiles SHA1 digest. The digest will then be updated provided ++ignore digest to force checking of labels even if the stored SHA256 digest ++matches the specfiles SHA256 digest. The digest will then be updated provided + there are no errors. See the + .B NOTES + section for further details. + .TP + .B \-D +-Set or update any directory SHA1 digests. Use this option to ++Set or update any directory SHA256 digests. Use this option to + enable usage of the + .IR security.sehash + extended attribute. +@@ -208,7 +208,7 @@ the + .B \-D + option to + .B restorecon +-will cause it to store a SHA1 digest of the default specfiles set in an extended ++will cause it to store a SHA256 digest of the default specfiles set in an extended + attribute named + .IR security.sehash + on each directory specified in +@@ -225,7 +225,7 @@ for further details. + .sp + The + .B \-I +-option will ignore the SHA1 digest from each directory specified in ++option will ignore the SHA256 digest from each directory specified in + .IR pathname \ ... + and provided the + .B \-n +diff --git a/policycoreutils/setfiles/restorecon_xattr.8 b/policycoreutils/setfiles/restorecon_xattr.8 +index 51d12a4dbb80..09bfd8c40ab4 100644 +--- a/policycoreutils/setfiles/restorecon_xattr.8 ++++ b/policycoreutils/setfiles/restorecon_xattr.8 +@@ -23,7 +23,7 @@ or + + .SH "DESCRIPTION" + .B restorecon_xattr +-will display the SHA1 digests added to extended attributes ++will display the SHA256 digests added to extended attributes + .I security.sehash + or delete the attribute completely. These attributes are set by + .BR restorecon (8) +@@ -48,12 +48,12 @@ extended attribute and are automatically excluded from searches. + .sp + By default + .B restorecon_xattr +-will display the SHA1 digests with "Match" appended if they match the default ++will display the SHA256 digests with "Match" appended if they match the default + specfile set or the + .I specfile + set used with the + .B \-f +-option. Non-matching SHA1 digests will be displayed with "No Match" appended. ++option. Non-matching SHA256 digests will be displayed with "No Match" appended. + This feature can be disabled by the + .B \-n + option. +@@ -87,7 +87,7 @@ Do not append "Match" or "No Match" to displayed digests. + recursively descend directories. + .TP + .B \-v +-display SHA1 digest generated by specfile set (Note that this digest is not ++display SHA256 digest generated by specfile set (Note that this digest is not + used to match the + .I security.sehash + directory digest entries, and is shown for reference only). +diff --git a/policycoreutils/setfiles/restorecon_xattr.c b/policycoreutils/setfiles/restorecon_xattr.c +index 31fb82fd2099..bc22d3fd4560 100644 +--- a/policycoreutils/setfiles/restorecon_xattr.c ++++ b/policycoreutils/setfiles/restorecon_xattr.c +@@ -38,7 +38,7 @@ int main(int argc, char **argv) + unsigned int xattr_flags = 0, delete_digest = 0, recurse = 0; + unsigned int delete_all_digests = 0, ignore_mounts = 0; + bool display_digest = false; +- char *sha1_buf, **specfiles, *fc_file = NULL, *pathname = NULL; ++ char *sha256_buf, **specfiles, *fc_file = NULL, *pathname = NULL; + unsigned char *fc_digest = NULL; + size_t i, fc_digest_len = 0, num_specfiles; + +@@ -133,8 +133,8 @@ int main(int argc, char **argv) + exit(-1); + } + +- sha1_buf = malloc(fc_digest_len * 2 + 1); +- if (!sha1_buf) { ++ sha256_buf = malloc(fc_digest_len * 2 + 1); ++ if (!sha256_buf) { + fprintf(stderr, + "Error allocating digest buffer: %s\n", + strerror(errno)); +@@ -143,16 +143,16 @@ int main(int argc, char **argv) + } + + for (i = 0; i < fc_digest_len; i++) +- sprintf((&sha1_buf[i * 2]), "%02x", fc_digest[i]); ++ sprintf((&sha256_buf[i * 2]), "%02x", fc_digest[i]); + +- printf("specfiles SHA1 digest: %s\n", sha1_buf); ++ printf("specfiles SHA256 digest: %s\n", sha256_buf); + + printf("calculated using the following specfile(s):\n"); + if (specfiles) { + for (i = 0; i < num_specfiles; i++) + printf("%s\n", specfiles[i]); + } +- free(sha1_buf); ++ free(sha256_buf); + printf("\n"); + } + +diff --git a/policycoreutils/setfiles/setfiles.8 b/policycoreutils/setfiles/setfiles.8 +index eabf0a1cf755..187f45131a1f 100644 +--- a/policycoreutils/setfiles/setfiles.8 ++++ b/policycoreutils/setfiles/setfiles.8 +@@ -104,14 +104,14 @@ display usage information and exit. + ignore files that do not exist. + .TP + .B \-I +-ignore digest to force checking of labels even if the stored SHA1 digest +-matches the specfiles SHA1 digest. The digest will then be updated provided ++ignore digest to force checking of labels even if the stored SHA256 digest ++matches the specfiles SHA256 digest. The digest will then be updated provided + there are no errors. See the + .B NOTES + section for further details. + .TP + .B \-D +-Set or update any directory SHA1 digests. Use this option to ++Set or update any directory SHA256 digests. Use this option to + enable usage of the + .IR security.sehash + extended attribute. +@@ -270,7 +270,7 @@ the + .B \-D + option to + .B setfiles +-will cause it to store a SHA1 digest of the ++will cause it to store a SHA256 digest of the + .B spec_file + set in an extended attribute named + .IR security.sehash +@@ -291,7 +291,7 @@ for further details. + .sp + The + .B \-I +-option will ignore the SHA1 digest from each directory specified in ++option will ignore the SHA256 digest from each directory specified in + .IR pathname \ ... + and provided the + .B \-n +-- +2.50.1 + diff --git a/0005-python-sepolicy-Fix-spec-file-dependencies.patch b/0005-python-sepolicy-Fix-spec-file-dependencies.patch new file mode 100644 index 0000000..abecd7b --- /dev/null +++ b/0005-python-sepolicy-Fix-spec-file-dependencies.patch @@ -0,0 +1,48 @@ +From 84b051139ab536519cc8e9c333483475d830d40b Mon Sep 17 00:00:00 2001 +From: Vit Mojzis +Date: Tue, 30 May 2023 09:07:28 +0200 +Subject: [PATCH] python/sepolicy: Fix spec file dependencies +Content-type: text/plain + +semanage is part of policycoreutils-python-utils package, selinuxenabled +is part of libselinux-utils (required by ^^^) and restorecon/load_policy +are part of policycoreutils (also required by policycoreutils-python-utils). + +Signed-off-by: Vit Mojzis +--- + python/sepolicy/sepolicy/templates/spec.py | 12 +++++++----- + 1 file changed, 7 insertions(+), 5 deletions(-) + +diff --git a/python/sepolicy/sepolicy/templates/spec.py b/python/sepolicy/sepolicy/templates/spec.py +index 433c298a17e0..a6d4508bb670 100644 +--- a/python/sepolicy/sepolicy/templates/spec.py ++++ b/python/sepolicy/sepolicy/templates/spec.py +@@ -11,18 +11,20 @@ Version: 1.0 + Release: 1%{?dist} + Summary: SELinux policy module for MODULENAME + +-Group: System Environment/Base +-License: GPLv2+ ++Group: System Environment/Base ++License: GPLv2+ + # This is an example. You will need to change it. ++# For a complete guide on packaging your policy ++# see https://fedoraproject.org/wiki/SELinux/IndependentPolicy + URL: http://HOSTNAME + Source0: MODULENAME.pp + Source1: MODULENAME.if + Source2: DOMAINNAME_selinux.8 + Source3: DOMAINNAME_u + +-Requires: policycoreutils, libselinux-utils +-Requires(post): selinux-policy-base >= %{selinux_policyver}, policycoreutils +-Requires(postun): policycoreutils ++Requires: policycoreutils-python-utils, libselinux-utils ++Requires(post): selinux-policy-base >= %{selinux_policyver}, policycoreutils-python-utils ++Requires(postun): policycoreutils-python-utils + """ + + mid_section="""\ +-- +2.50.1 + diff --git a/0006-sepolicy-Fix-detection-of-writeable-locations.patch b/0006-sepolicy-Fix-detection-of-writeable-locations.patch new file mode 100644 index 0000000..2cd313a --- /dev/null +++ b/0006-sepolicy-Fix-detection-of-writeable-locations.patch @@ -0,0 +1,65 @@ +From 98cd707e8106e9e77b179bccbeb4fd4004b4c601 Mon Sep 17 00:00:00 2001 +From: Petr Lautrbach +Date: Mon, 5 May 2025 18:28:40 +0200 +Subject: [PATCH] sepolicy: Fix detection of writeable locations + +- update substitutions from /etc/dnf/var + +It seems that by default dnf api does not read /etc/dnf/var/* files to +update substitutions and so it can't resolve correct mirror list when a +variable is part of the link. + +- alway run query.run() + +Fixes: + Traceback (most recent call last): + File "/usr/lib/python3.12/site-packages/dnf/repo.py", line 574, in load + ret = self._repo.load() + ^^^^^^^^^^^^^^^^^ + File "/usr/lib64/python3.12/site-packages/libdnf/repo.py", line 467, in load + return _repo.Repo_load(self) + ^^^^^^^^^^^^^^^^^^^^^ + libdnf._error.Error: Failed to download metadata for repo 'baseos': + Cannot prepare internal mirrorlist: Status code: 404 for + https://mirrors.centos.org/metalink?repo=centos-baseos-$stream&arch=x86_64&protocol=https,http (IP:152.19.134.198) + +Signed-off-by: Petr Lautrbach +--- + python/sepolicy/sepolicy/generate.py | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/python/sepolicy/sepolicy/generate.py b/python/sepolicy/sepolicy/generate.py +index f726ad51..a0314a70 100644 +--- a/python/sepolicy/sepolicy/generate.py ++++ b/python/sepolicy/sepolicy/generate.py +@@ -1267,15 +1267,15 @@ allow %s_t %s_t:%s_socket name_%s; + import dnf + + with dnf.Base() as base: ++ base.conf.substitutions.update_from_etc('/') + base.read_all_repos() + base.fill_sack(load_system_repo=True) + + query = base.sack.query() + +- pq = query.available() +- pq = pq.filter(file=self.program) ++ pq = query.filter(file=self.program) + +- for pkg in pq: ++ for pkg in pq.run(): + self.rpms.append(pkg.name) + for fname in pkg.files: + for b in self.DEFAULT_DIRS: +@@ -1288,7 +1288,7 @@ allow %s_t %s_t:%s_socket name_%s; + self.add_dir(fname) + sq = query.available() + sq = sq.filter(provides=pkg.source_name) +- for bpkg in sq: ++ for bpkg in sq.run(): + for fname in bpkg.files: + for b in self.DEFAULT_DIRS: + if b == "/etc": +-- +2.49.0 + diff --git a/0007-setfiles-Add-A-option-to-disable-SELINUX_RESTORECON_.patch b/0007-setfiles-Add-A-option-to-disable-SELINUX_RESTORECON_.patch new file mode 100644 index 0000000..e8ec6ff --- /dev/null +++ b/0007-setfiles-Add-A-option-to-disable-SELINUX_RESTORECON_.patch @@ -0,0 +1,91 @@ +From ae251cfb85090126d5c1de62b94775fae3b43527 Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Wed, 10 Sep 2025 11:42:09 +0100 +Subject: [PATCH] setfiles: Add -A option to disable + SELINUX_RESTORECON_ADD_ASSOC + +SELINUX_RESTORECON_ADD_ASSOC tracks conflicts between inodes with +multiple hard links or bind mounts that have differing contexts. +However doing this involves building a large internal hashtable that +stores the full path of every file examined by setfiles. For +filesystems that have very large numbers of files or long pathnames, +this uses a lot of memory, which makes SELinux relabelling in +constrained memory environments infeasible. + +This adds a new setfiles -A option that disables this tracking. + +For example, using setfiles to relabel a filesystem with 15 million +files took 3.7GB of RAM. Using this option, the same filesystem can +be relabelled in 121MB (albeit with no warnings or errors possible for +conflicting labels, but for our use case we don't care about that.) + +Fixes: https://issues.redhat.com/browse/RHEL-111505 +Signed-off-by: Richard W.M. Jones +Acked-by: Stephen Smalley +--- + policycoreutils/setfiles/setfiles.8 | 5 +++++ + policycoreutils/setfiles/setfiles.c | 11 +++++++---- + 2 files changed, 12 insertions(+), 4 deletions(-) + +diff --git a/policycoreutils/setfiles/setfiles.8 b/policycoreutils/setfiles/setfiles.8 +index 187f4513..458f3f9f 100644 +--- a/policycoreutils/setfiles/setfiles.8 ++++ b/policycoreutils/setfiles/setfiles.8 +@@ -23,6 +23,7 @@ setfiles \- set SELinux file security contexts. + .RB [ \-I | \-D ] + .RB [ \-T + .IR nthreads ] ++.RB [ \-A ] + .I spec_file + .IR pathname \ ... + +@@ -187,6 +188,10 @@ use up to + threads. Specify 0 to create as many threads as there are available + CPU cores; 1 to use only a single thread (default); or any positive + number to use the given number of threads (if possible). ++.TP ++.B \-A ++do not track inodes with multiple hard links or bind mounts that would ++match different contexts (saves memory) + + .SH "ARGUMENTS" + .TP +diff --git a/policycoreutils/setfiles/setfiles.c b/policycoreutils/setfiles/setfiles.c +index ad09f840..31034316 100644 +--- a/policycoreutils/setfiles/setfiles.c ++++ b/policycoreutils/setfiles/setfiles.c +@@ -40,9 +40,9 @@ static __attribute__((__noreturn__)) void usage(const char *const name) + name, name); + } else { + fprintf(stderr, +- "usage: %s [-diIDlmnpqvCEFUWT] [-e excludedir] [-r alt_root_path] [-c policyfile] spec_file pathname...\n" +- "usage: %s [-diIDlmnpqvCEFUWT] [-e excludedir] [-r alt_root_path] [-c policyfile] spec_file -f filename\n" +- "usage: %s -s [-diIDlmnpqvFUWT] spec_file\n", ++ "usage: %s [-diIDlmnpqvACEFUWT] [-e excludedir] [-r alt_root_path] [-c policyfile] spec_file pathname...\n" ++ "usage: %s [-diIDlmnpqvACEFUWT] [-e excludedir] [-r alt_root_path] [-c policyfile] spec_file -f filename\n" ++ "usage: %s -s [-diIDlmnpqvAFUWT] spec_file\n", + name, name, name); + } + exit(-1); +@@ -147,7 +147,7 @@ int main(int argc, char **argv) + const char *base; + int errors = 0; + const char *ropts = "e:f:hiIDlmno:pqrsvFURW0xT:"; +- const char *sopts = "c:de:f:hiIDlmno:pqr:svCEFUR:W0T:"; ++ const char *sopts = "c:de:f:hiIDlmno:pqr:svACEFUR:W0T:"; + const char *opts; + union selinux_callback cb; + long unsigned skipped_errors; +@@ -375,6 +375,9 @@ int main(int argc, char **argv) + if (*optarg == '\0' || *endptr != '\0') + usage(argv[0]); + break; ++ case 'A': ++ r_opts.add_assoc = 0; ++ break; + case 'h': + case '?': + usage(argv[0]); +-- +2.49.0 + diff --git a/0008-semanage-Reset-active-value-when-deleting-boolean-cu.patch b/0008-semanage-Reset-active-value-when-deleting-boolean-cu.patch new file mode 100644 index 0000000..470fde9 --- /dev/null +++ b/0008-semanage-Reset-active-value-when-deleting-boolean-cu.patch @@ -0,0 +1,98 @@ +From c1bd6ee62f2cedfb3709710fc46f2899b301c139 Mon Sep 17 00:00:00 2001 +From: Vit Mojzis +Date: Mon, 1 Sep 2025 18:17:10 +0200 +Subject: [PATCH] semanage: Reset active value when deleting boolean + customizations + +Currently, removal of boolean local customizations leaves their current +(active) value untouched. + +After the removal is complete, semanage_bool_query will return the +default value. But it needs to be called in a separate transaction. +This makes the fix a bit awkward, but I have not found a way to query +the default value before the first transation is committed. + +Fixes: + # getsebool smbd_anon_write + smbd_anon_write --> off + # semanage boolean -m1 smbd_anon_write + # semanage boolean -D + # getsebool smbd_anon_write + smbd_anon_write --> on + # manage boolean -l isemanage boolean --list | grep smbd_anon_write + smbd_anon_write (on , off) Allow smbd to anon write + +Signed-off-by: Vit Mojzis +--- + python/semanage/seobject.py | 43 +++++++++++++++++++++++++++++++++++++ + 1 file changed, 43 insertions(+) + +diff --git a/python/semanage/seobject.py b/python/semanage/seobject.py +index 10963e81..6d6188fd 100644 +--- a/python/semanage/seobject.py ++++ b/python/semanage/seobject.py +@@ -2886,7 +2886,15 @@ class booleanRecords(semanageRecords): + self.__delete(name) + self.commit() + ++ # New transaction to reset the boolean to its default value. ++ # Calling __reset_value in the same transaction as the removal of ++ # local customizations does nothing ++ self.begin() ++ self.__reset_value(name) ++ self.commit() ++ + def deleteall(self): ++ deleted = [] + (rc, self.blist) = semanage_bool_list_local(self.sh) + if rc < 0: + raise ValueError(_("Could not list booleans")) +@@ -2895,10 +2903,45 @@ class booleanRecords(semanageRecords): + + for boolean in self.blist: + name = semanage_bool_get_name(boolean) ++ deleted.append(name) + self.__delete(name) + + self.commit() + ++ # New transaction to reset all affected booleans to their default values. ++ # Calling __reset_value in the same transaction as the removal of ++ # local customizations does nothing ++ self.begin() ++ ++ for boolean in deleted: ++ self.__reset_value(boolean) ++ ++ self.commit() ++ ++ # Set active value to default ++ # Note: this needs to be called in a new transaction after removing local customizations ++ # in order for semanage_bool_query to fetch the default value ++ # (as opposed to the current one -- set by the local customizations) ++ def __reset_value(self, name): ++ name = selinux.selinux_boolean_sub(name) ++ ++ (rc, k) = semanage_bool_key_create(self.sh, name) ++ if rc < 0: ++ raise ValueError(_("Could not create a key for %s") % name) ++ ++ (rc, b) = semanage_bool_query(self.sh, k) ++ if rc < 0: ++ raise ValueError(_("Could not query boolean %s") % name) ++ ++ semanage_bool_set_value(b, semanage_bool_get_value(b)) ++ ++ rc = semanage_bool_set_active(self.sh, k, b) ++ if rc < 0: ++ raise ValueError(_("Could not set active value of boolean %s") % name) ++ ++ semanage_bool_key_free(k) ++ semanage_bool_free(b) ++ + def get_all(self, locallist=0): + ddict = {} + if locallist: +-- +2.49.0 + diff --git a/README.translations b/README.translations new file mode 100644 index 0000000..b6b5a66 --- /dev/null +++ b/README.translations @@ -0,0 +1,49 @@ +SELinux translations currently live in the following locations: + +- https://translate.fedoraproject.org/projects/selinux/ + - contains 2 versions of translatable strings rhel8 (latest RHEL 8 release) and main (Fedora and RHEL 9) + - maintains large number of languages (several of which do not actually contain any translated strings) + - updated by community and partially by RH localization effort + +- SELinux source repositories (periodicaly updated from weblate) + - https://github.com/fedora-selinux/selinux + - used for Fedora, latest CentOS and RHEL 9 + - https://github.com/SELinuxProject/selinux + - upstream repository + +How to update source files on weblate: + $ git clone git@github.com:fedora-selinux/selinux.git + $ cd selinux + # generate new potfiles + $ for p in policycoreutils python gui sandbox; do + cd $p/po + rm $p.pot + make $p.pot + sed -i 's/charset=CHARSET/charset=UTF-8/g' $p.pot + cd - + done + # https://translate.fedoraproject.org/projects/selinux/policycoreutils/en/ + # Files -> Upload translations + # Repeat the process for python, gui and sandbox + # or use weblate command line tool (get your API key at https://translate.fedoraproject.org/accounts/profile/#api): + $ for p in policycoreutils python gui sandbox; do + wlc --key --url https://translate.fedoraproject.org/api/ upload --input $p/po/$p.pot selinux/$p/en --method=source + done + +How to pull new translations from weblate + $ git clone git@github.com:fedora-selinux/selinux.git + # https://translate.fedoraproject.org/projects/selinux/policycoreutils + # Files -> Download translation files as ZIP file (save in selinux source directory) + # Repeat the process for python, gui and sandbox + # or use weblate command line tool + $ for p in policycoreutils python gui sandbox; do + wlc --key --url https://translate.fedoraproject.org/api/ download selinux/$p --output selinux + done + # unzip archives + $ cd selinux + $ for p in policycoreutils python gui sandbox; do + unzip -o selinux-$p.zip -d .. + rm selinux-$p.zip + done + $ git add . + $ git commit diff --git a/bachradsusi.gpg b/bachradsusi.gpg new file mode 100644 index 0000000..aa060bb --- /dev/null +++ b/bachradsusi.gpg @@ -0,0 +1,438 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +mQINBE97JQcBEAC/aeBxbuToAJokMiVxtMVFoUMgCbcVQDB21YhMq4i5a/HDzFno +qVPhQjGViGTKXQYR7SnT8CCfC3ggG7hqU0oaWKN3D003V6e/ivTJwMKrQRFqf5/A +vN7ELulXFxEt/ZjYmvTukpW5Li2AU7JBD0aO243Ld9jYdZOZn2zdfA8IpnE9Bmm3 +K/LO1Xb2F9ujF9faI5/IlJvdUFk3uiCKTSvM8kGwOmAwBI921Z5x/CYvy5kKEazU +lUxMqECl+Tu2YS6NDhWYNkifAIZ7lsUvGjW3/wfh7AvmAQyt/CxOXu9LL2nGzFhw +CIS4jVIxy5bDswNfHcaMX7B5WEyqTPtjzPAEMiLL4yHJZrHDPd26QHSaqtilVA4K +AeTYbME8iZIdacquFEq02PO9qAM21O48OknCTSolF7z6nBkk6l26W3EL+Gz5I2Et +3S9pab3FMjiiKVavM6UA5D0DQkNxxDn9blDXZyhX4HFrk+NnoETcGYFymPbbijgi +kFC4339/Z1aK31aJLkxiana5mqLthD4jCeg3B8Cp5IurqPr8QEh3FH8ZZhtdx2fX +TXHTmGQF/lXG4tg1eH5cb6wWGU93wD+5mf6czJlUZTY+kdevKtZCQnA0/2ENCOFW +Jdm/oMTUw6ozPd474ctzWKeO78e8yMvZst/Zp3Gq6SD9kcoPgiuMQ+BOkwARAQAB +tCRQZXRyIExhdXRyYmFjaCA8cGxhdXRyYmFAcmVkaGF0LmNvbT6JAjgEEwECACIF +Ak97JQcCGwMGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEGOorUuYLENzy1MP +/2c4fH8eXWbqoot/vLE+hJ14k0leYOQhVSo4lNlxRlbKNd5MQSX/QjkQgJNECbB3 +LM0KxE/zwVOZ+umvmxLxNskOxjubE6NzoF7Sm9ydoqjwzenIpR9BVtg71mfjBOoL +PNrst7tHRE5btSnnnOS9ddt/y9JOIvQpkjtBTI2TfVcp2b4Domg7i4qU/hJ7hu45 +5oAi6rPPkr0pcGiDKTqi46l7+9orsj9Mxs1XTmrTMMB/eV6PCU7Fo4WJNXS8SXd3 +sEVxXvpyYjUTTnDuewjT1q8NL7anrsckS16WYSVGKzRhqtP1Vudt1F/D5cWKVqQp +vQl/XW/uQS2IsgEWsbRmIAEZIUOy4TnuF494C/A+1BbJBdUr4Nl9zPH2bjrJeqYk +TsvGQr1icgO4pUg5oC456htkqCxCuPRqqrGDAZBx54TldgPwvCo31+aPQJlOlWvI +uWD/depp0De3oTK9FDnHh3swE0vyn4Ht96+vM+KNnDYgJ1FEaw1efYePFACobvEB +o2ZpLbnDyqAT4MzfHpHSbwzUOk52ZOnkl/KrUIOxhXtf4dxRS6J70Rzb+HWS3rY/ +LgaMO5Q0BJfbvknguKmE8dO8jx0pTlVER9ujqp+bVPXmFMha1j8vyGhJ3eLJZaRL +k3jgfRjiUUb4lNp+hXpvBwIYeFWl5kFVKg2aPywgnnFWiEYEExECAAYFAlBq4WgA +CgkQ4J/vJdlkhKxmjQCfevlawFaGTx58nDFN+4j/2U6uaGcAn2g1sZcTUrEEYHdL +byAyw1GNLksOiF4EEBEIAAYFAk99mCMACgkQ/2iSBAM3HxDivAD+Lu8U54iGgL5+ +h9KpeV+ZlHgIpj4cD+BVL85L6AQ3GP0A/1TwZ1tS6Ag3ut2G6AL2wewR3v9Mgu68 +E0M5esz5of4oiQEcBBMBAgAGBQJPh9ZuAAoJEBliWhMliBCHMSUH/30V/E930OTT +oWeq+QKkTJuMF0lrA5NaAy+xWtrynMKoiAuM0KFNGPfrPehkoxR4D+MKXH+xh0j2 +bHl6fXOHJCKZLhCtsC/o8j7kkjIJjixBlwYMul21rxecke7Zt4XpxHARJx4208Lk +ztpzOd7ZnDP6KYav3itpxK8Eyj4g8N2omoTQ2Dcd+sCa0jgRkyskpPxdt0fK0D04 +XW7b1LZkxwzwrAGSpjAZVzpKBXANcSmUQDAaIhGvYSKoiwVe2eaE5lUmvAaJQaTr +Ud/LCIwFofTLSaBRX8fEOe+UwvW36VtynPyETyROeTMp//Cm5e2CQVPoDv79soyi +E/oUW9DFDhCJARwEEwECAAYFAk+Oe6EACgkQlGXZM5TcxIlIRwf/VjfbN3eVf648 +vXvDctsXfucl37i6Yue2COJiGYuZOrN7wYxVvH2to8P3V53YV9OqDpJl2NXUro1V +iUjFHuIKp23VbtyBAYsrLeTMmHLjnXlaUPSr6JUDHUQhCF34BTk17e9y7tXlEshF +YVyPlGum7JhyarHB2rRdjQk8kyTqmQ4yHjw/nP/HlvVxdgb+mTmudTPVBafOT1R9 +MJ/SN2x4bclT4cQ0hjNEy/TsFzVduQj8yNOMFG9r6p1Vb+u1wn3BTANIh55R9aDh +3JFFIV/jBTkxukxR5iyGQiR53nl0e0qnQFxpfhFGclh0RktjrHZ3DBAzcuYXp540 +Vu9aq9QuPIkCHAQQAQIABgUCT4bdRgAKCRDCPZG7HYJE34FtEACfqPwWSItk1lNX +E0HOM1YuHXFfMGURF1AotskJatwtjGy9oDUQkjfsPROnWjgH9s0xD2UmlTrjJfWi +BdH0kTLiExVUOmvnM9VFMRhYxQZMwiHecm4FZ5IWUz4e05oGCkHFbMswXEoEG+qq +btOfLNpX67yy/JM6We+8PiXV/c2vaErpH5S8YChb5wD9lEWNM2aPBOUmbzONM1/f +EFd8AF6fUVYN7htuyG1n5zTv+oowmO2c0terJRGmMgVuLugIEnKKhaQ+H1K6bdZJ +7mX4xxx5izEyYeYhi9DhBHSwCLhWR+Yilqkc5U0nrF+3Z+Cb9THHppi071OIQ7pX +rGsQSpDzGRXCw0nKEBm0Li13re8cOoHMlPD0RHWZEIRZGSYX1YKBtVuv4kpSq8GN +85lZSDKGRNtbJBS7Qj4vyOlOrBO1eyyd4lepQCe2Ri3gU97rek52tOM+fAIibz7V +b4a0qbbphrz6PVMbDGiBxM92+YpdDyZGyL7wJ4g6DhRRcEUQahlZ1n7y+YQ60ETs +zt7+kD08Zi2BoJpiMHsFfoas2pot7VePFxGutwvq0p+OHSVlwkLgOaORPHumLA8u +J3BGlJTHsErUB2EEgdc/Tv1vsZzEI3Zi+hqw1gcbke21Ii8aDfshbeKW9hYJAhnW +m8VdF3n80UX5Eg56iybrLCjEyiAEYYkCHAQQAQIABgUCT7yYRAAKCRBOBfZjp6Qb +nnyTD/4gVbq8H5ka7fVdSAnX65/kFn5xkqGzbpCkjcqe/5uI2CvdYtjeQ4K6sm7I +5RLoyu/EE/JPbCRHiucsEak42WAZSRte/Wn2yTQpIb0mQ0wXJvuM+Hx7DSx2R12P +9rIZ4mGo/rEtdG7Y9Vog9M/XGx7w5IqSw2DF2yiYQJXsOzHjphfYB8JfoqjW/73k +n4E2IRJtCuWhfiJZJ+GEGceSBIredH3o01ThtbAeh/gzPRF3FU1361zyA1sXtmGe +qwnhNL1spHRlpub3cvAXQ8RSYrNdiFZB5zohNt+iL+qzVWaUJo+vYZal1Co5/roI +HN5nJef8kp1ngaYKvf1hIVvsdQsilVQIXKFWMd47aU6W8gPr1W2+U4yw+q+OXari +eo7gpH7/OvMSe/3wOhGVD8KJrMwAVnr3M4wo2CM6zlwxPGdltQI+IxDD8NTGTmNT +rRARYRQaFQyqd1SrVt4sSkeoegrpOG4oWXya/v4SeXHD4vt8vvvX3A4szB73a355 +IfbyRXDER3EfFfW5c+BnR3bxhfATTE6T0AKz1Gq30Xm2ycTGYCAZ2yBKewaegTpx +3O/E6APTXUnVWTIPQay8T4iVUiLFs7W1UFMY/RvmIvKKFIQWcm5O0L+27PJK+YSx +Uoo1Ivt1pclTuetbRbN8VnR3K9Pp5uZ4KLz6ZkffmJg2sOSu74kCHAQSAQgABgUC +WWMlagAKCRAyfirUINN1OOtFD/4jW0ZMGigpruCnvY0nr47rA12X6dJ6+KIBE+XB +QxuaQRjM5u44geksDwrqZ0nXrNvsa4SVwAhKVOrgMJVdzvUa1m2yeNCFHOTjln6Q +GjZ5f3a6aj6n/X5tlPptdklUr9ucEwXVd5fFMpWAiwaqZt38I2u0Pi+/qHDt0kLy +RSukmRPzRuS/kO1ugGO4aoO+sanVDl2Pq6LIwubL1Unk2HUerg8VCAyQrxYtZtHc +coyhmBTlAb+EmZnUVbQZ3Uy3eA89OuNTBhJWCk8vqROFm257MiH6gvG/V8CTrJfz +lpE+s9E6kxXhXpQWZUwtwWObq7vrJVkJhRwBsO9N2erxe+biBauFErYQPw3bg6xL +1BJLxDWnKUlMWs5o+h7lyjp+1B/gbnnlrUIlpW8IKVZRHwRUPGRN07SbbEO1lDk5 +uJDMk+r2KrOUNVYCEp794P014xodkLvB8X7ml6tcABE4V9d4uVDX3SsktOLMvtWg +nL6xWMoBYiVOXi3Rsm8vESBOb8JFQL/ItciUyAioM4Zjq5eqotVq90HMBO9kqcjC +YsYEs6RACRmyE+TNmzGoucIPTwPEi5Ib4gj+LG6iPOBprk5DSjD7F0/wnQPoq8PY +HIufb4+PgOXKf/ROQXDRLeD6eZBtPcDUJOgW19m7QcXZ8fvo6B91COe9jTF/H/i3 +A7NjR4kCHAQTAQgABgUCUQZ8hwAKCRDZsFd72T6Y/MoUD/9xxmXbPL2Zto6qECXs +Q1GFuydiYlURxDsVUiuc1tSgEoDb8XcXl37l/IKX1QmcpvHMPzeT0g8sNwIXSnL6 +BNCnFcfrd0tEz8uBPxVnzMiGwaHP1kB6Vs6sNV31+CJcTz8BHHbOdXZnhHqXSb02 +SonqAYeWVSlE08Ejvq0HIWRn6NIGdGqv6icBExryJjS3ZChRFpvgAJwsVO5f6BKH +oZnEn79uQR4XPHwuxRbm4hf6iYEbOhE7Hod6kTzS9vYIhyuTFTz5Kz/YxlMoZX/j +TIYsX0nZ3r+Tshur8iUXJhKvvXVlGyrGO2HXfEuIpJqEx4/qM9jUNP0EE7aPzZ6f +BP7Xq49Dx9lnZuSQ1jeXxEEpO+AND2xmnjCHr3EfgYZrrhCSxMQhvJh7wypkzu30 +D41BHPOPSotmM7WLceHWmYui0Wuq9X2hom5jq11XwACEtmNiP/odXjF0ovfK0d8l +j/kivgrXAZdN/ONJapVSLkRMS71S6eln+urR9HfswEfM7IPt0cRwN1oNIhXmK14+ +XBWvvwvalfuxG2UfxD8K0JXMwARlpGlV8lXpuzDV8EcrvLipKpqiQWaJer64kaQb +8qHEtT6+JNoGkymohrfeVagxKmPzDWR4v1a9lgZwY1FTRHNVPM0P8LWlN9q0CrYc +poBwkhTMV1YJ1OBSrkM9IM2vsokCMwQTAQgAHRYhBGMZHOlBgwmGicq4237xN+yT +Ww6vBQJjLRkzAAoJEH7xN+yTWw6vZSYP/36Bt4QhRtIh6HPWbHraFSl4omnuISu6 +lTHsqhik81nbIUiLZ5e/KN6ONSgD2jfMVQOLiPTQFOoxVZvOjaHmHvMuF7BCbr90 +Afh1qXW9txuPbVkhtC6hqIMn87b8UHEnt1l5MiafQnPHhoociqaqwfls/iu0nJGu +Jf5eVMXpdeWRk+ckGkqP+tXp/0G933jibSdYqwG1Tsw9D98xnGV3a/+zIqRtJflp +HPEjHPT6rVKAZxk7gkYSSsv6ONBwZHqwe9W1I+U4t6OPkGo5kNbMPBORB6/7B2Qo +LHx3+KYZs1j6glI+F/8IX2+JSFs07saMnsDhE7w5FzmwWV2JcUt42RSf8DVub438 +jgA/Ht5yPROEJ87de78aD/t/gPq/Gm3bnUz1BW0jxBidjqg1qPOMYjC7n4dH8X0N +cRfX6tWOdSXmDBbPg/vQi6CEIhsGVisKlnrgYi1wDZExU6UVMnBNvllUu9PXye+7 +51cIbrb+fwAWiwmu+AsL0qsjxZYo+9ozOLh9wLUhxOY5MZM82alN/mlUGzEiXN3R +i7D3rDrNFHdI4LGGLbO2hjPYrG4hdNHS+6WbU6qYcpBEhrqBtnUjoVqIKP2boBLR +ara7hHqVO120s8kgGtf/AoYpggD0H4qqUy4EFNjVdcL5T08w6ldQIYo7CEa1iHFt +ML4bsPcJh8lciQIzBBIBCAAdFiEEcQCq365ubpQNLgrWVeRaWujKfIoFAmMsvIwA +CgkQVeRaWujKfIqNXA//fjCpyIPPd6RnJhagWH8XCp5NB4cCT+LqAIR5yZfz1QE8 +Qbzpoobz9ysgXZ5XjLp/lbVffGyg986j0wUtSW1+g3kJcYXBUKjSWoBwwmZgyZky +95U+uklY8CdPjSeuzr2I5X/LogHNH1378d9aEmQXBfX1uW5g4Aqgnl0OOgkCVzgs +FFOO2o1j6svrrDVG52/mwXhNRm0yYK/hFB8T3PO2IvMQGDGJLHl6N5Kl7P2jtkyF +Isi4AEzJeop/2GJYXQ+VkUTSNRKQj8oOS5qe9/0RkF9uqeamoc81n2But8MZN2fv +R7ug2EuG2LHp9/pwu5ekohXmY8EtMbVbU7TYKgduK0FMBaK36jXN4Bapakfxr1z5 +pwdDjN4QiqUefBQlG1CJ6fGrqbdAupzRRDqN974rs5HafnbxioYRYjoo4H0zC8XN +UwgmA2wrwIIY/cyNCSnUuT8yVAnroPiFgmMoL8RM7C5pHQYh0u3fXPfvNBswjXmR +pJ6mhTqG6SS4qIaPhqoZqA1iyA6+Ua3YLBDT5wqvuqNMnfLtLUvMuridmlj97cRc +srQIr022NdpafDQVAiVhZO0CRyFd/++XT35iiDoiv20+LewC0VVza466AE1fkAme +rKlurlET8U/+U0JB6IP77ErjMgCzotV8e1DJkp/M37nMeNzazAb//ovsdkNM6P6J +AjMEEwEIAB0WIQRFaBEoRJtl+IDGF5c6hKlGtLpirgUCYy3RvAAKCRA6hKlGtLpi +rvhHD/99Lvgf+CjbhwC87CoKX84MyAyBlYACCSuySQBnEsVigz8sCVyTYDx52h1h +/SEj7XfTylAfIl1CjUedH4w3hk+7IN4scmhf5eeEMvQd8q+Q/hWQcXIUpwgKOcVD +NbUgYcbakJAPtilK1CeQvDdBD+aYoMsJTsII/f7FJzwjPM1XGf5EoODUC8BtQf/W +KAVoESwwAUwN6Y5XeYSwMqu1s7IHs3yNYLV8C6A7EQPVaVVlORqI+33rKyqAhK5X +ErNvAREQPYJMfRnQlIW7alSORwdG0JBgVLgV+jvoFo4a1AQImHDDtKxs2X5BCVG1 +I687uYDBy5Assl/VxRMIUpx5+zWvXyDZX/6nlL7AMokTlyosgP4iiifBS+5KMhan +phMgnDXYIJE10V46Bdw2tjd7wMKey6BcKgfbZSvU5z+SuVnQXCyl3/blRML54I5o +EomXPg6lgVxSb6BBnaJXzx4JKgLer5uom1OGsLgPMqEHRoO3bucr2xFdtq1Zegw4 +9S3qDhQ3bn8pg9JlYwmAAhBd3Xy5cPv01mV6ompOQ38SlMCJzcAGASdMw5scaxUl +7MloV2Nl32HIzPjK47bF7aVOFX7Tz+rEFLmJCchqmUSdxi42rJyHKVRqiAlNfZ9S +9FeaEfU+vBxOHsLNqVO7ErvrTafT5fjphZqvUTqZGCUiJUjPnYkCMwQTAQgAHRYh +BOJeJUyO5NMDVUv1r+xwGh2klMXrBQJjL1NOAAoJEOxwGh2klMXrYaIP/ifHM9eU +UT6JD0m6Oa3P3T161NhOvNqr71LDSztClsWo3XX0+ZK3wpjoC6vKqgx0Cc8OL1S2 +GqwCaxb5JqWpsoqR3NW6bTqTTUGREj/e0JHDeBzv57OEUTe4ea7qzqjhCX6iyzHa +qDP9fiAogMQ7uT2oCghDV5yo4JUrG5brw8GkMLEvRSs2BEv7xFAySRaGwNj+oziZ +VzL7sBzp1bCr5cwNZVYxoo3VAv6FUcExp1TydxzPVB8/VvxOa4zrht+hFTn6mjUi +NHBc7DYECgh4jlDR6TnAdvpg0FsujTXiN6A0obOUl9jGz2uFmdY+2ojlVtzqKXoP ++PDz8o2zMrRoQYkni9VyIc536E4OFIhfO6CrThMjJjPNn22Tq+fzRYkWTrlJom9b +nOldQ1BdUXQt2QNigdzqjhZTIgF5OEOTERh80dvwIbZ+7vN00BOsuncR5GUBQerU +F6+SksVRAaOg2lyoDdxUQ+Z28RU8R/n7VjMV8ctFkQvHHLBqKkpET8LRh0C/jSNh +gB8zLPc3Oa4wTf2xZWO58S18esbYMr74vRYrsACbmwxH5Tz+L6Br70Fmcz608+IQ +ESKW3657gemZgFud3AGokzKG5AuWykSinydiZbK8MRGLsdfPUojaVIgXFqnWKtkH +At9gkD8YbqGYzuVwBnljBNRdTUMk0ClgV6pjuQINBFom2R0BEAC9k1Ky6AIe9sPP +xrgsrXRe0dyYcoHufzeU3jFssl3+S4cRuvYCzdZfRfdjfHa4n+CxTaOd7xkefwJg +GpaR9KJbu8dqHm61GIiS5ZbMCRU8FAW6ohVeDqEwFrPAzZjtO41OTpeXCrPu5H5A +Tg/kDnabzlD2H8JWAqr0DYRRhFtJUihXUey9zK03wSjUi5E1+YHUC/fOpbS+msNN +945CeQNBN4Ljap9Q183Fkh0Wm4Q8C0OS1WN8a0XtqSALRCGAZ+EV6UrmQVP9PCC4 +/J0hoKQPv2bfpBAsrUGAO3Fnsw7804i2TY7O3JA8gGDYX6fwOVJMUXdD7FX7LM2P +pESqAdPrjqmPqHT8cPfq27GYgqHv3N4hP9Rjt9wxmHYFbJT0YCHw2ZMiAO/VcvvN +miGr590ZFiQEb1MJN1r+h5UDE1CtF6nTieirSXi9oMilHlo2NY5nAItv/T9PKk4X ++kaH3UoicMxrkT34tACGwxi4VIRYWL+ZquxE+bwXqAvbGJ0p3XbyREURCaO96J/2 +w951EvZErpFRQu4zzClmoMiNbwkQ8QdesSaqjMirlHyFI8T9BZrXbPazdVNUwfyR +LFil1q/kgXjXeJDoje73UiyGhqhlVOlEbunGzCwEBzrtQdPTDeFQr476/4pe0v4u +gdNYkL/gY8Izodn47d1XH68AuRSrzwARAQABiQI2BBgBCgAgFiEE6FPBhIsBhc9C +hk3zY6itS5gsQ3MFAlom2R0CGyAACgkQY6itS5gsQ3PQSA/8CZGTxQDbD2oLkGb6 +tyECIs5A1RsfwJ9aj0R/HuEO39ki8yM88fwi8F5AfzNcmYwp0rxyYDDYM0itObSv +A9WBB8YFZ2PKT1YHrwTzWbne+spmQYDRdFt+0Kx0JLvgv7SYvQ1jNdCazixH1SAM +9O+Tn5oFybVHjRavWsQYHp1CvXY5kOHOEDHhz37pGwFvyVyFdSYS5PWT0+0XU/g6 +Uq2HeFCurhUGuDXJ6WA6Ipvmu0vbi8GpyeiWCRoG76sqbBfQ7dd0oDMUHitewWGq +LP1Kioke9hu5p9CbkjYwGZjJWZEV6WHxOmICfFcBRPeIJyO8Kfa/vVBfQZj9fhqs +3sHSfAGIdKIB3tX0qKhMRdu/QoM14YQ1yK80JTUUOcrKLDt6QJinF1UQ/OcYQqGB +CXaRk1OKGFuuij16QudnX56+aYbNPltf7cLs1O7aodQcRxmMSgxSE/2ckthPYBsX +PWuDMYZCb3e6JMWsdnCI7iPpoPFAJmId7SWJebXZxntoX6YwZ7Tx58/QMLEqxMfE +ExQTAFg8/owvxCG12KaharLr4GpLx0aU39QEJenG1LqGLwiQh9Vxsejw+MkebZJE +6zhs7XBpenrd5c9OFOtb/Goxwal/6UXz7a62jZ7wDNpJw9xOfC3/eX/56+6dLVef +RFj/LOIu9reM4boTiY2dmGj1QC25Ag0EWibSSgEQAMhQB2Q329FSozPk7V6dYBO+ +jDBMr1jHWvNMCR/2DkwXfDAKK3haSWSqr51/wua9skFRezQvc9PhgvOIJi1jsxRf +xNoM82a2OpYJdj16FG5RVQ/ApojiywNvp1YPJbmq4DfXSuUA6q+OephsFLrx2cPY +nyDQaI6mrqTBecET4cdQTZK0nKKUPj3U2bI96zTBIYK8Kr7GMKXm8R1eV8bktwHT +HyDjI7hN5EjZViYqZYDQ3jt2vC1Aj6XpFw5K7Sv6f0l91zyjfcu6Llsfo8xtRhAl +lub8EBuO6ljJ5uWqDgjqTOkDXcIAUkhUCg8ztweR15zgJQQ/On0XDcHLtyi7zuQd +xNaKYKkD3oROTqce+YbNN3qnP4bV0qa0JLlTOrE/0/zmif7Q1zYOidcmMgGeF6Gp +pGQkkxY4gSKet8kD8h4AZXGlpFu4e9sue1ENDRmgWaqSzIWudMRZ3z0/s9EGNNiW +60nwJ1NBoySeQEmnwMzAHXneRM9pRGQ1S3/CKttq/0eWEH3Y/Td9xi4DNvTXcvgJ +uUUwoclWP2PCPg3zE+EQ1q/Kt2oYrT8NcemM9EO8btNzJ/Y1wSDLFAFNikHwYjTM +86jWoeGhSM3fD9HJjfqoB41gDKvNIVlhQavhe6df4+AoCo/mGosLYAPFaHHdkmqn +eT0Y0BnTRIS9yLcO8CBVABEBAAGJBGwEGAEIACAWIQToU8GEiwGFz0KGTfNjqK1L +mCxDcwUCWibSSgIbAgJACRBjqK1LmCxDc8F0IAQZAQgAHRYhBNalthyaVTQWgpLb +Z74iCR4+9iJ1BQJaJtJKAAoJEL4iCR4+9iJ1D2AP/1VMC8KOmzPYyiFY+1xHu2rv +siB0f80GH1jXwDSM/IKvsH1axCD0hMV5sSi52epCov37czSlR3MpQjo0xK32wJB9 +26AgbzJYZO48qulDUXUhPWJ9bxiyIcxI/3KEspY1RMoWv8AfYA/qSma1cSdT4IMo +SGJzPh3RyrUpeFP5QT02oGa5TuSQPiJwy/b9u+RVOi1SSqzHMJdKzZehGays65Pd +jC8Xtf4ipdYRBr6mIyUISOB+FBkY2MttFzNDUBdDrOepyjStQLZ1vUXnYKIiSRHX +o3XTW/W8fh72o26zeDbQcALywQMZqnwtrZluzKHZxF07whKmXvw9pUHXX6hbJDvm +GVMxnB/F6grPNi/V+Bv75sKOdImgnJBUp1Jz7288SPbNQwrqFKV2ZD3f0PFmolFj +Cz/Oc+UUk+swfnsT3pV6LClTThsOH8WlKJYxZLneX75HuVx4CmT+qv6GlFQuixjc +H0LtsbbSjAx7J2LRNVtfI+2DfMcIi8KJxe69MAKGqqxDyDPSWeFrs0MHmyD6/6m+ +GTovgUT5jOZbR6GVKelW054bmby0zQevWnRieANVeFoFsnwclJnqKIRzQiGod1p1 +b8HhSCw4nOeOQSifaOf3zcnFhYyByDMOtl3/AqGoLp/61u3Bk9h+BP4VPR3RUWzc +ggjmxJM0MrLzjaSXSedjzuQQAIq9g35FGpnaB8d/EjufED1TVSOkvNK/qJ+dD4Xz +f5RvnbprofMnzfEyy8jJ1Vqc3QZQU3IDQt/Un2ZywX0OboKGAIn/gyfwdkpnxJ0j +JoxRBuMplNpfNBw+oe0nFuozO9idFozKM+SWoE051/jvGHp1FqEPLnAAGeSbWB0L +RlAsnMjc5u6+SKHeFGRKYg7U0sO7ZKbVIT4ZmRnsQLDakHwbAgfcIakh9Whj0Ou5 +r78Cs+DcM3XAdtZ04d81jV5TsveR8/Cn473c6dvPIfnA2P4uClTCaCDv+jXG2f9a +FIuJhYCO+TdYs7qjAsXWngJUebRFiHbfSuYDw92/eqLdKD1Hoff4MnW5YOtDpp6E +sdCDuINeRtUtnidw2vIPezX+xdmycXIq9Fb+GvKrIDsKu0VO8HObVviLa/RE11ds +EHYlrarj4mqzS2MhvmU79Bazg9rDDB4WVs502n3uJaf6Sod/+ke1c3ff7AUPox2n +pjH/bVmkZJsOq5EqcvlH3m2FZUHSFWS/yTR1rPuJoHBMHVc4OPlTuSqT3qmKL2vb +vD1l3D4zHZs1paRLddYXiaex4qPU/0YpP61XU070MmFGYE8Z43TbMPHu/6LYBpw9 +p5Vj3VZwn2edNl4LGx+05hIABzM23I7JoQ44uPoTbohmYXF/DUGJ6h2LYdp81AVC +lSFWuQINBE97JQcBEACpbBqvDl8J65jEhPjOWczcDVB+WfG7GBHB7T6RxSNFIahy +mDqzx73zZD6n4NnZogPDPopYdRJ56u5AfF0bDZlgebl8+VEgPHGoay74Gf6k0B+c +pEkp5PaWQHHEqXINotVg29hTsf1u0sb+yjgcc+9WHw3MtpChsgk8Rc5N8Xvr1FJc +L+xynSvUCcLIwfgvLHYPPBYGIRpvz4ek/zgHvaGftDfnyMwrMbgi8kadrSb7PQgc +eWeTL7CQN1B88TPJFqKt/QxMdXaPy+Cr3P4XVy5V3/QEVFUizrtCCqJgxHMAeCP5 +QxwYEWmA2zxUzGA/t/QUDFbccKt2BdpdKBFtHLliE+yn9FHw98JayjhAJxxeCkrp +MED9N2aGHI1q44sbmeLKQ8EuIbCamfq7fqLXgkEy8jgivv2J9YfXejjjEobGLkss +Jlxaq9JeQgFEVl6f0jJ0PgkYPd11RxTcVLy4RB417cxc9LHcoKdAtcgBTcZXPPYO +L+eM9S7rTvFTna9IdF4bbnJFNjHDMhb/9XomxxBsekpTUXEm2DGoTpO2W/jwWcZY +LVrdhikkkF8b88EdWk94fUTcFA90I+Ch0YbS8XGM/WIklrMGa0JpA4OQW5oMhKDn +gqAcV7gxRYt6ylBPVh94/AIMz++wmfqBxETFP8HMgTVEApLBLjwru9B/4lRStwAR +AQABiQIfBBgBAgAJBQJPeyUHAhsMAAoJEGOorUuYLENzegsQAL6NuhGuzQf2GELc +O5J8/BW2yF9sxHWDLrw0Pntq8D35kgGfZLB52tN3DI4NwL0vE931bXC7ovi4kHPS +sazv+WPUckYfJ7qskWVD1yDtHsADduwudJpAflfZ4VIvMJqJ7FUw5Fy9ennw/Idp +H7LC+ubn6XT6Kh9oKvVmp+BQEOsdisjVw848Thik+gS08WvAjK9m+g7++FFwKy08 +5iXuuqZpvi94eU1QPvzxzzRZz6M4gQaz+pCq/5yf6I+Hu8G+5nq2foFN+G7FRkx7 +KJmJ3SAEsG3M23V9MKWON49ZbhTe5xW+1at/TKKoNGzNIYs07jApR2/E4J57yMWj +zsAqg77hTDRiV0jhHl0DJw3RHFi3z+SrK+6ie6mrq8WEPj62q9qdM8dFs+y5X3UT +x0nxly7GjOxxhi+Nt83PAG2wVFpqmhVLuyPnruvxzyrVFc8Dvx46DiKCzt4PPK/Y ++jnVIQ7Jr2Jm2ZCpzZZT5QNJuDp46mKHlNBkvSy3q3+pM6cM8vKSuCFd9+dw3dX/ +GptLebMrPOvLVDl4Bm9hSmG7rLpJy8U8Ns8pYSS1zaxHM8KqMaPuS/Zlx1SRIj/E +afefnHd5fIlmsH9C2O5fb18SFjmD14FCLcVTG7bwh3ZfbGo9sOJSShPxppPW2OoT +jwfANmj1cSg/VFr1d4HAEc83jFgumQINBGNZjyYBEACk7biPgvCVldNWq1CwVoJa +/Fvc4T49tqxcc/sY4uVlGo6oSi4fQcXE9XKPPBuRLmvpmMWvODQLzPxJMWUfJq6L +yYFmX2U9VRTcyITdmJs8itkEaDwq8BtXkeQfUDAVSFy6V6/uvVmNWD7pGXqJE1Gx +uV44Ihlh6v2YyqSzDG/rZur771hke8VZmlKMVMs1RSeOBA3nUmvZQ58+uqkhJNYq +OeQhxGIxDOHo7QhzTG+SlX+uQq6mzACKygVJJl33toaUwVAX5R02a0u67A5wC0wh +AoLSHInc3P7ayivWV/iESAz+gMIkuvJWns/Ak14J7MTGgjD6rle7PNMsPDCCwQSc +qA8F0x4OChCixbZGZn6Mr0u8+01VCEe2IjJwVUfFI/G4n1FZ1RAdqjkHfZJeD20L +GHSbjJLcnqLLFx3LDpI5dAxo5K2kFvz0VowrB58aHoofW8/g8yZygGQ4Zpw4JnpU +maPnMTiD5yvnFzEihM5L9DuaWqSK3sb9qzoaXABYRYI7OmX4B5nmMzFteHHq0tMt +aKWf0HkAsCP0BLJcS9Oc1/0I0+gC4oKLRD8a4+kaEpNr6BXvWnj7Y1h0Zr/CZS6+ +gi34CxWMl2Q34OSqtS37mzzBu+UZxffPR0aV2RXcEpc0c5HW550Thq1NF9EmFOoy +eG4J2ox9JRANZXLh/i7mNwARAQABtCVQZXRyIExhdXRyYmFjaCA8bGF1dHJiYWNo +QHJlZGhhdC5jb20+iQJXBBMBCABBFiEEuGgoR3ZN9g31LZksvDkF8jUXnPEFAmNZ +jyYCGwMFCQPCZwAFCwkIBwICIgIGFQoJCAsCBBYCAwECHgcCF4AACgkQvDkF8jUX +nPGeAA//ScQ3kJMqI6FRULXo0aF7CpafPXVWdvj+mfQMlZzuGwXXTmM42T0DXnXR +BSjstWkmOXP/UqkN7bNeXH/S3D3GCJ2l0qx8Qp6fP0FloJIbemyxNtzl7yvAE7kW +vuBuLvUdm23cntv49gAzj+ElDqCxtT6A6qaqM6r7DLUvw+G+r6gkeu1hNQbtRpEK +9Dt8tHriQyI410qFRMbi3QxU+iTJ79HXwrXiYpX7V7T+ugiU9lgIiC/hWJCo6SY4 +knt9E6zhegUWN6zErl2HY8FBM2P9eHOTqToEOAhKeM1fXZvxe3m49fGq/spmRM1R +UUl1V9WFEaMiLg/Z2rmbD8LX9YtfYlQCbEwyX2nkIP1QIcr/DEfcmCA2MXCQCgsq +I/2XS3BTLPyjuqAYnXxrk+T/Cydcg4W3ZBYI/wT56GH02TQzB/wJsn0cW6EMG46V +SDY/mZ2/gwi54G/Pqb2R3ZC9I7wQ6/FFxuu8myI/QVmEiTlvTxBoyOdNlliBQxCk +Dczs1rxd/o8Wfjo1vwRHW84jZrCP3xr7xPJWuzsrmPU8kFHTgepGoY+4b/h3jGwl +V103RpRUK4JidwHsmYDVk6pgeUH69hf0iVcbFfKiViFTR+DwjbAOxTdsFgsYYn+7 +hBj2l+pV/uzeA0akL2dkgfJc9pAf6ItRUnGC+RlntZ0Pf2NbwIS5Ag0EY1mPJgEQ +AMRQDbNHBQ376nDF8miBZOAV1txpmbHc5D/X63PNapP0P1/I7SfcJU9D3wX8c4vm +xkjEYtH23s4lmT1VLsU7PisS3MacRemm9pL2bD53hs9XQEuU9OtJsZn1ZJ+Ynh6i +5sfW1bG3OiV/TWgYXW66GwE1hn9PuP8arodUmhEft+64G2u8Xtxr5yqlQJEUThV6 +280OJrxVbduaMi5C6UNeeGE5wuhfrQ0TNYZiwQ4KYbU3QhlWhHVjJlJ5hCLiktwF +DyR24P+wlTIziWA407mo2enQT+mz3bO7Paf4mBionGsJMoADqBThf4B69BxjJ7Yg +7oQVIZ7560YIRRmNo4tk5Mhep11OtQgZjZJR6MhWDaUO17w1qScrOPRj6G1IXP1R +5NarydJpLyAVb/5WFZ5jxUGMGtq3mYn4nKbbHUg2WzvCJvPctDE6EV2vaiRy5N1f +QjsHgSa29F2feh14p4ngFCmHjpdbcdjfv6rWL8tgkSpQlDdeHRRd1q03TKAg/byP +auAHKzvV+iWlmw1f6KBWjeTn0fofmk9eeQ+P1j0a3/XTxMOjB34SzqPRWzmLPLF6 +YmujBK2gymM+JLirJFFzao1i4lgmxqkDhQoNYHXmVYEd7w+/qUYbfKwO9eJOWzuU +WajxvJ1Vgv6z4CPy9if0gwfhrx0OOcIpBE/xZU+SwQQpABEBAAGJAjwEGAEIACYW +IQS4aChHdk32DfUtmSy8OQXyNRec8QUCY1mPJgIbDAUJA8JnAAAKCRC8OQXyNRec +8a+qD/4whGQ9J+td1iLFMpNRAqvuGtTnM6shZJNnC5CB56Cu7ElIpr74sk0R98Ia +1pJlBcLALbYSrqwluZaLiRVDPdub6tGSRVssqQdZcKThz33waTru9IfLhCrRSNd0 +ZMHJaOG1ErU0noWw2d4ifVJK+vvuvMeEyNm4H5pZOYzYeikqVUYzS143cSzMEwtv +PSdP5JkTQi4WNF09khH1D+QpJoXEgVEQla7Sr955Zdt3q5OlpYxxw+X62vslZ2OM +iKZ14kWVSRbVQ+WdnjtRYS4vivB6ko9QL770jZ131hKhC/BcWpEYSjfPpVua2oKb +ccKHXheIFEJ06kGkMeeoQPxmzPRBYIw/E+d5sZp7YXDyBGOAxBeiOaOnZ8vLBzy7 +2HFng3oB3hkVGTTHq+PsHdSSaRME3QrNpDsaGeSjw62FG3I4zK985GtrXAHEzN/F +fd17srl4mcRQ+8QM/a+XbF/8ugjE/RHhhFf8sWVAPutYzVE8lF+uqcduPuq/rTcU +BuzSVjnSRfXWqCokjh+ypUpHNUO8fZDzkTLuE5rwMG1xpPueDBTzvoGDQRqc2eoX +pJnDBmdlz83zHsoR2gIHcdqyc/hCV+fTvR8E0v9ZG3Jr6RFgWdD008PsGxUevIDg +MAYFwasZSTofEnzg49/WeIFU1rGB5HZVlmOJKZnKRuBiTakEP7kCDQRjWY9xARAA +rEkjlUH4hoSQAkVJCWWk+nF+daAP5IszrGEQH7TyOVwXbRZndSPFSUqKU2kEgHbM +m+wFYoZe95h9tjDh2sLCs338pVu5Chhz3dNseTF7/rbckw2rCU+JbalEiwck7tKL +qobvbh77jnrbQnkrZNc+nMeHHLrYyc5gHW6cSn4UlU42MKmTlSeOG4Ly9wXhgaKC +heIXNX3U/D682Tffl7Gopcm7pPZF92dwY4nIpCxU2ATimkSyulbhzk2CjZ1JYUJ1 +LHctMHm9F0LEGtc1GxDShzVZP8dOWpDs9BBwZDLXxCzC4rvZ+z5BJCDFbuNTKZQ5 +JEoW2sM8yP1LLZGXz44hsab1aPrvB3vcdS5ETP6bqT5267ZiotdhUifU/pTV5ze4 +7wNuaZenQtGd9olyh2dAqOk2DQrcBQFA0gRp55b4U62hLTYXxT+7jEbSVAxeXDPR +qPvqh/4kVn86llYjV6dAoASN1wWz423QH3u4ZK+S6g8HZ0HrY2+NBYgqthb6H/X6 +FiF5VcHWstkk967g4Xt0PgN/rlCtpXh4WK9sScX/CFdOURsHlb78ZN2LexaYaVBq +QuqvfHaAPJaIElXqMheZ8aYrO6Df4yzJ+6eTs3s4PqM6EMir5waFonx5Gh50X4xL +9p7IVqgNPhQsU8Z5U5hGYbmUH766GtENv4CI1upFA1cAEQEAAYkCPAQYAQgAJhYh +BLhoKEd2TfYN9S2ZLLw5BfI1F5zxBQJjWY9xAhsgBQkDwmcAAAoJELw5BfI1F5zx +4cMP+wbjKu2xCr63oyn+lo7NqMDLBYl4zHunYTZhG/egDakVWp5Ikj5/k3i+hVSY +fUyUhqQ/b/H096ropB7GA6EzS44GS+hLMdQOJOmEbjvAP/9dJDX2FQnYZzaA2f/e +Ikgaw283oOLnmYz0x7YAW/oxlnPn+7Sg7DGGqqn3nKofDUUrowfX0tQGwkGmJJqQ +gOH/ZfU4t51UCKzF6hWRbberBI8ezp24vYngA2kGef1fCUC+EIFhoYcdHHCtC1Ti +KmOUaeB9ZMiVXkP60fmCLKObwcKTyYpAFPqM05xgsMPFaXN+fQ7YVAGpCdthk53N +5Go+QqehwLoJk77CHZxIWJIf43p3UiuH1FsuXF7OdExzIhUSiUum6MoCI8BpVwn9 +uSKfXKLOdGDR6IJI8jqdC9LYoXqxZtDhpcqD70hFWJwJzZg+U2SvxZyhOqwtKXtD +TDtee3yGzPacSAJD7mFURc/DRi62UBMiFcqO1YW/5LgC4yjtzo7MTQPkaGbQLduH +IlCKa8pHWPqaLFdMawwqNrTNHWXCD4XxijJYwdAue3NUG/utekNm82mqnbbWw/AX +URIzefQsbyqiNYMztudJ9hAS8yCdkfb9SKVIvWYPQ77tHltOZF7K/NzOGeJaJr8l +vqZCfXpWmOduTpWaD2kIvU2Kx7gB4jXdMa2ai9N+/Hdr3lLouQINBGNZj8YBEADg +Y6HOawiThxQVI+0uvAAU9yisew1SSVO6mAsQtZM7s7BpLA3RGPj3UGojZIeejA+k +fq7A+PVLBhz/kSBTtw9/s3o4rlqNzz7SLaix6XKWCpHOBs84n3/LF6u9KMMVk9vT +sjKz8iDF9mBR2bmCfLvEk0HDiMyApv5SbOsZMB8k5PWyK8HYPyMI5umEaOsaC3tA +eihO3nzAxEf3oZl53J1pIw+ecdrQLbWbH0aqKngfCddD8Q0oMr/Iwly3W49+5eqJ +oelR9/dut/dg0a3Nn1wIGYRzC62CCsF5IZwKdyPh7nilEUFpA5Vlz+HfIFch2LfR +F3Q/GZD8fKzKxhjDIdgyaWSTsMbityKxX2G/pcjshyMsZT7I3Hx7SwQfFro58s2D +FsFLEZgBhJv+nW/HckeedaveXmXdHKjtsa8+rvGADti4wohOl+N5tbpYW3/zR3AY +qlh47hG0ikUJ8Tusnu865j3Z5mE+KqS68ypRVBMRrdJl2lGPDCnXGhl2720VPNMC +/jB2Mgm/L1mvQM1jPfdC3KgokDAH5NMzKvav6A71aLSUJli3UdkGHkX5d5urs3k3 +WmCt7XeTb30MBvNzBcSYTbw2UGIRE8G0CFc3wtiWWiQKPeFXYhn0+COCoW/EXpIC +VaAuMPMgcsldM13bKGyGo3NngsNEdopNFfr0KKW5XwARAQABiQRyBBgBCAAmFiEE +uGgoR3ZN9g31LZksvDkF8jUXnPEFAmNZj8YCGwIFCQPCZwACQAkQvDkF8jUXnPHB +dCAEGQEIAB0WIQQb4sD/CJSWIxAv0lZGlYgcJUUI0QUCY1mPxgAKCRBGlYgcJUUI +0ZkHD/9TlRvAaZETf+pv4/IceeL3KHwj5lrC/gojXxN0AjhAXljLSRCu0EyICxZy +3158h4k0vwjdv8699yHEN97PdF84m81mqxOz+juKBRHFK/EwAAgOdSlzGnUYgNkm +mCROFWtjeneNWaFdEnq9MItx1OascPeyxnWMjq7LLYMSESP4tgUV5KdlaVAXR6q/ +833u27/NodkDcNH2UK+IyT+Kt/uCOoIIL4ttxo/PvZTphzV8n6s0sJJE3/BrRxgv +CTkVU6zosyJsyau8/vayQYGPuBuEQVs4Tr+vZ42izbkHgElcZv9oYjJsxaqZqqMz +fWPte7m6Pl/pvtmlhPmpZ+ej7y8SRysBV+3aHNXaE1J3sIOmYxighlgZapSjHl/A +9N/KXdoLAjIZtBAOQ2ZFyRz/c2+VUqJgwiwdxoaFaYn2eUM+HSTbZfdGXBS/yyZL +YsM+L4M2aizQvDIRXzy8vG0vpHQEvPlXL0Gg0gyk0fox0OsAP5CfXmHC/AvYOHM8 +y81X2QqDf33Au1RIgog4cLqq2wpXEARWbAj0BAMIeJoCDCu9Mz2juK1ui2wr8AZ0 +42PCUgZK6CdUI18AsvApUhPsNunF7ZOc5mFMuaEGjjWJvrTG3qyrCY73ySBiGXWo +92ZB7FXu2MzgujPBEigByqeF6IV2x0EBHw/VrcxXq6Slgmik6G0SD/48l5mGCxM0 +Wr91raB9zQlwDbtD3PCbjA6DtkMrRyAq+81g75N6uiztGPCVw9n1HoGOSjN1hAhe +SgQQlcXbDLpzfdPFowDEHclFFfUODCIOuF+FgmxlAz5Exr9JkJdozBFqRZ4iF/tf +E5sHB0rzeUcY3J6VjTsjULjE4GSg5trsOc8GHUnFn9wwwkf9nR/Mr1RYcX0GkTcy +iUskw+AoRz6svOfAWIDJY450wgD0MHZK08IfUUsYTGecoXcvWf/hITtv/Af5MpQA +wuGEDltVDeu9EAu65SZlMkkMuQD1h3KOQjUJ6nY4a4M2CQ51ggs/c+vsemxsuYlG +vSuhrfXt6HGD3dhsOEeyEvIcjjpP1Ku5mqrPhqXFli1swfohhYGGVO+fM7G3l7wF +kAIi0B1szn0K13qRqBIwjnWL+orP1KLzvczCH6yD0FZY90CDdMtM0VB6AqT4BFh6 +5+ygjA4YiA7fFYBm8510ybUcNfzU3gUIJ5pF8MdGizO54tCPSK6U+iVRY4qfCFdu +IiOZ7FUUn78VIxQUMYMrozy7kn/0PQZa7KKRbXJ8sg0sgrQapwpgUjdMwuYZPGGv +1Jw5/+WUGWMbGxmlpHcEOmsPZpITH557M/kHyk9Ud0iKwciBI2mGLxiafCuLrUY4 +TknzOqbZgjdllcUG4cDBEQuBO/GSj1LUfpkCDQRnKRF7ARAAo5H9/6cStbyjWFeb +G6qDn6pT+4v1rlbRZo0rYwWkDmEAjOZMRC9SJipTCdQeNFlv6HEiiCvl3bmZIqrZ ++zvLI6U1+2dH7k06xNqIFLTV0zbr+tUkOwspg5nr59KsuNP01WBS0ELzunO/zHj+ +BOEdPg1KvB0IQFtqAwaAfuny67YvTr9O7Yz07ZCfTxPtHf6FJ80FPeRa0LoZYnW4 +UmSGtm1f59VD9+qe4yhRtNanamXUKjf8BTw0rQwjoJhVT5Mg0Z6hW6fhFrD57Lgd +8fBi5ZHHUlR4z1+nqGCUoHlHjc0JVyK8j8fofKafow/79ITaOqBzv+P3psY9ecBg +7wGaOHrqzRzRxAfKYRO2IaFHRGnsEE8FnwSEL00uPVxpiiTavrLJFEjku9GmP3OY +3rbwIPXbw1m9mZG1yAVbSEEf58WSWeoBp0O6qrwAdIbdgUX4BkQ8bX5MtUjXp5tm +0StmjQiZ7O91cg0VuWtrfj/I4E3xtloNzhtG2QLI4s7iAL1orhClxEuZRO9alUCS +cnRvhmw2Dh6sB6i56evcZdUFwxMXOByxfWr0fxX4QlR8jYqMPj7UMNj2PccTBOQX +umIW2cdGEeni9vrE9cLfZRSNCwPWAXWtr1zQW54Jx5DjCGHobQk53Z7kE+MZVAje +gOaT0u50cljBNfJootuln4+gbGMAEQEAAbQlUGV0ciBMYXV0cmJhY2ggPGxhdXRy +YmFjaEByZWRoYXQuY29tPokCVwQTAQgAQRYhBGjSGCM0KhNoOus+TvtMaFtdwcE+ +BQJnKRF7AhsDBQkDwmcABQsJCAcCAiICBhUKCQgLAgQWAgMBAh4HAheAAAoJEPtM +aFtdwcE+doMQAI5mnNA8aH0dfeOZnz/NrMwY6H7jK/+lYatCx05e1TfK+zz9feRK +sxgP3Pjj0p9igo3jIdPcN5/YnlmVEeplDmSiKOOdendviy+sA8sukMo07Q+m1pYW +NzFtyiZd+c44mp9I1l7h6rktIY9XDedrlAkNog1VlUet9eNpmgXt2OmJNDmYftWc +KIpyw/ZLaubjRcAmxwsn7I6dWnT66Ffg9H8trcRlWipVWP8imO0EIpwC8RbhuNgk +xjt/cVf3CEpzokF4n0k3nqYmt90NNtGc0kG5QAlTvlUuHpNWzuzvdAPtMy3KEaXI +fu3IEZeIKCxSgWXTm7zRKUn0F6jKAsLXhK/WOA1Aa7NdAUwMxrEndfNoqBrusaLD +lpzWU7USv2YT+Pf3aQ7u1szg2J8V5eqRP+E8wwe54RNCgQrcDgUq5abyncsvull3 +GqJvzvZC7/Q3Th/g5Wc+dRaGBz0O9FBuRPQwjrnB932xW1fDf17cScpVKAvV/jwn +tpWXf7nSv2M0o9fihnTBl4d2c2EBKtTdp5W0IpeRl5uLad3AYoouP6RoZ+/Id/Zg +NeaQKH/ZlCxk5S9GLzYhm665ysOYRkh7NfoThRtvAqAeDcTKWGDG1nQok2KKOSyq +S81PT2AlMz7A26R0vsH/9lQ1uZFIhIGbxZXlGERZwXd1s+lgfWTbB5K+iQIzBBAB +CAAdFiEEuGgoR3ZN9g31LZksvDkF8jUXnPEFAmcpGAUACgkQvDkF8jUXnPFdGQ/+ +L7uA7EMB+Yh0urhZuOltZSNtge6b+UbLZTd8DRsf044e+Z0NJWdQ2saLBptGhIcn +as4Qd0gS+QkWB7lMrJ31uux15ZBjFsGtyqK+VoH8JIPvV8Mr5XojqA+UYUpXP6ns +ILrdkUvNzpeA51IxYuVMWcut8SUVYzjD11YG1P8LFzydsImaYe7se+RE85F3/2Po +kZNe0d0Gh36uyfJSND80XrrxLpROgabQgHNG0drL/DHjdoa3F0V5EUoG7NBwUrmB +RlWKYCLUFfW+8mQn6RVK8JIV9WaHrzi/KAZLonZb5dCjO0e+Ol16pyUofLA8SN7B +aqjens8ho297GtE3darkXmj5p3p4YPur/D+oZCNIH+BYMsht46VtE3v6V10P8KA2 +6MgNo5qME1Q0kC1DUYi68cPeDgrQBMWa+nF+m9i2aGeAyi3qDhZu03JLhOYAhv45 +OVRawm9vFqyKiBRANVogTRr+ch4zywaapwfVLQ+xiwVLqlT5n/iIzWCQ0hA15eKZ +gJV0kTXL4OWKBeJqSNnnLVm4AhZ2OpKHMsjE7BEopvCe9JZWFIrjtQ9TrriByOx0 +3anWkmm7b4lZ1HKDOI/Cxyz8BZvYizo7hSOdGjLrFBTD/Wk0swvpzB4NKh5I6N7k +gppXMTaWp36+KmQx66JzaZjepGl1VMNFdgiP6Sw6pO+5Ag0EZykRewEQAK4EY+06 +GeuX4wLlUqAMWCnbFELuhBZGWFLEIvP6WJS1WOvee45RVcpVfYMp3AqymiNRahAl +RMtSQ9YtXSdlBPkhtNcoV/hqjcNywMdbsy+Rs27pRk/DJVC0yVL4ABrSSlwhfNa4 +6X4ZvPr8GGDvjAUhK6NXQ7WrZJxYR9/U0nqRGtGuPBLhFey1H60n5axP8+2f9pFC +NbDJ13HbrhVju+RUeE8Gq5WJI5dea5SfYnXFERsT/zO+pw7ZaaSDmWKR1a88P6Bk +DD7e63ZIaAa849M/Dz+OgzNEgbyRjvgbO0OEIrS2x61lGoW7F9prEgzj97NIiBu6 +qpNCYJefkpfPENrk+wmOUthJfh6E7uphlliQams6dqXAc3Z+xBN9jFf74RpzVmIP +K/MFNr0EcUMFgURpBtaTrk4dGMh++v5i4qKxxwJHf4RsGCDsgH9ZZDemKz5q8uFN +TI1kbTnsKNt+d7L45U+3/mRm4l22g8eu+AvD6R4GfKjsyzEFCyGK7TmVYj0Y+EGR +9+YbRQ1GahXqtrR/aLC09LSyxQTqYfKU8KusnoceEbBOigEZUNPybpzibwHl1VEV +9crR5eT8MPHgs8xdpjQ7gRuPi12fvc83unpUsNIHSCxZqXoilGsz2+zpX2si3PxB +tK/tTo6ZFRLijhHs250Y1agp4MyXYq91A2VTABEBAAGJAjwEGAEIACYWIQRo0hgj +NCoTaDrrPk77TGhbXcHBPgUCZykRewIbDAUJA8JnAAAKCRD7TGhbXcHBPozGD/0Y +fkktGwGq2vPZUI/Fscv+VnEqVt94dBnS0/6GyYvhI7Tf81v+72URlQeX8TUQox9B +8d3Aru5b2+iSkPcvH70PbY8jt/yTwHtSlFzf6+YPIl+oyTz7DoiILSjrO51ntl8g +KmIb8Q9W74xV6VFIJ4m8rH04MKFpIlzUDq660JYQIGtOUFugSfg7aLVU/0j4WKKE +KfAfg93wYTKKd+JgRFy4FZPriem7HvlUSi2VKffdrrUF/PX35X74iKdPQoEADZi8 +KkMZULDtyQ6ZOu2hiDpArjo5hDadKM314Z65VnM11hjiEhmTF3IyGBllb0qBIk0L +nBVHuMYmiqBNJEbaqHLqIju8/RvFlYV+AMISeA7B68knbJcao13ogtDpuJ4hpgCj +j2B1n0NWMcju0gteu1sfsIaQbWHevH2vgl5LJDCNtUJN/NoWB2Uov27wEvsongwY +3du40TnM+5ejwf4r8D3wX+JpVCAhfr3Oc0knw14nRqFPAe1E7DNURJ8xfEV9iPRA +swo6qoh7IIxNETUG1rywRExNt6tHsojx0Wb0I0IB7CnWRK9F6oNRp0S4kVgp+Jeh +a9NGXFK2hn8qBD/rpUPsj/OdkiBN+C7Ai07rCNez+IKdnUfXkOJqLCOyeUwC9WPl +uFPB9RnnghYM4xhMWf8XvSLOOk/vgPxiqR5ANLObsbkCDQRnKRLhARAAuh+b2Oxj +9q+RRZ+pkDVf/M6P01yDmDhwtYHzi/LW8PFHC6iQlzMReyv1R5n3uCEpAZ++mdUe +Cgo2TmFnYdpmxEgdaMIW98uqe4fuHhoXU2Mh4eiN7jyJvXQCsijCDYzifoj03HY7 +nTVjw4+BSSu9kA3/vEqU9A5YjG01MmVSMaIaTrqZqsnypK6r2exJa7YVRYwRqpLY +C5ksikDVK9ftdfhjnsnYGS4pYyfMNSHY1KBMpHjT7wEkM+KZ2WRpjTZZ7nP9u4Lf +fJMKgcclRgf+13CeSaJfVIhjJlxGVLkloE8XJbOeh2vkK257e9BenEFgQnyLCpGJ +8YNsnsJVhxU1aA62dT7jmnOVMBhnGoNhMyzzfvUw0REz2VbpZBkiwZRfZ9MWUBsy +bneH8NwzZMQQLCc/yo/jnPrmDS+tgl4CXGzBtpxPUZSMuY4tHZZ2vBb0zcfhY7P1 +CrHuylXLFzkOO/XRP3w1F8I1UqJCjdTKjdjCDF/VWtedHee1iEsSHxPGH8fHp4Qp +rBDDwZ4NnfilYNHMDWm6U1bzhX2ynqcGArQSd1Ny/oL7JzE1qoH/nNrwVvOSSNWF +UTXFXeLy+SOXJdFJpGP+/wV+gYfyczoUP6vmCdK1Hs15WQvKzyP/nmLS5uLilfxV +KrxZDI6SNrS4f/XkHcGnYByFKUhq5gVN0ZcAEQEAAYkEcgQYAQgAJhYhBGjSGCM0 +KhNoOus+TvtMaFtdwcE+BQJnKRLhAhsCBQkDwmcAAkAJEPtMaFtdwcE+wXQgBBkB +CAAdFiEEcgDrLD9eSIRjwM6ezcroySfGvjEFAmcpEuEACgkQzcroySfGvjExiQ// +TKQ2Ci+sqNSVIcwg/k0Go1i4cA7lhKNdYRBCaIThB9jMqNg2zgPzgELBcaVJL8xw +0E2x2ZvBejM4X+eTrmkdufcxHR8B/zBF8oPlD2pgs/zZmZEO1gq4Cdab7yIoVNNr +foCZShxOCPR2wIixcYZtt5f7Z3zSXqkjIec6sTOedT75ZXrpQbvINeUkvOJfMCOi +ailauvDfv8k5iJUVbP+Dx1vOc88bvewVJcbLID4HIRr/PS+k1D10zGbnF71TnxGZ +r7anMZCSFCHJ5WV+BSwHHKtxRy+bJ1x9ML45Jcr1anTXeaHIeSKNzFBigJQSgHv0 +euegkD3Rmw+IcxNb4l536selaNR0UAwx1DC1qpjBtnE9/pXdTEsZQxq9kMrj0d+f +VKFjOKADVIpkx7o0dZ1jmbUmdjQVyGDgHE+Emgdd726/2ftWriW2uPeUC6YZiqbt +vBnCnwF+aV6P1nrE0BWJchLyBjDCe5Y2oXBAYF6xwpDPfMPr4oscqzPV4TWVULBi +brtRWgSxmvinIGFx9T9wQCVfX254dqBaAEhRMImoT/YP+6evRZKqQODRhI44OG7u +V71IVAJ8BHEBN8hxvQM3WPs1fhwMBFCyGfr/x/U4/c78R9JhxkU9VwmMbLGQP7VP +1QgfiHqZpHMk8ZUmQn6KLeurzWcnwPFkwgFPZED8OQOMXxAAio3DhWr5KDd3mICH +ALNY0A2ipb/JH6LSHxu0S3MLa/bF6PbqRY1+fKMT/cFVxln99rNUrX+hDRbc7qbh +KkxvGmcnXnkcTHah9bfUghEanlKkBr1g1ik3zgEnpO/x3+X39Ov+ge92MDawV0nq +k9R/9tS+ZD/ph72Q9kx3ZfVNSL0eWxjuwBzFW0Zwh5TAX4raSmyQCmAXi05O3YmN +iq4arSUg5oAOMRZ+d96DsrAS4Sdtlx6/CuKTBzEaGPQLQ9wJNB0Vmd/eQWTP99KY +cAdIwj5BJ5P0Z7+xhsVjQOntn4otnP6vN6RuDtYrS6M7TCN/ZeKCvN/G0nRac4D+ +IJX3CYYtYXgaoDuoetUWtc7O5PzHRETaBt/46ob2lzf6cT5QyVujTfz+i0rGEc63 +pvXK8mV+K7BFY/DHpdEhl1pDw2YYLbBmUthQWdsL6/TVvpMe/wZadvJ/by3AeRzQ +eusUucuSo9UNN7Yj8u3dRhxNgsSiU96A/SFlAoB5s3Onh5K4WEVCBu/INjdi+r2B +LJePSnA3I7VkRE9Haf1D28jtBzm3Xbft2rs3lO18FcCqw6kd7Ih3e0tZ8uUG9UDv +qTDHTUHLAWvwrq38gKKAu2RMaU06A5kR87RcQiizxOwBIwiHuUWMU4/Hyx6fXsOD +hEs0O6AFDarNDZGee2amKTAyZpG5Ag0EZykTxQEQAOwGV1boBD3vDLsoAT62nGxb +SqXiBsObxnpWbNifOzM9BUGPOIpHsSH32PZGG/+LNjNdECfyyP1RysH5OT7j92Q8 +vgRQoG3X985gbOjYyZc0xvAkTSvWxOiy5CuF3X8sJ3NSerQDXwjP9qVqLVj/3FB8 +nka1HFS7KzC3Zo/kzCoxeZ3/hV3PTWIjcoJvtBSCKPZyOJxnRqWfi5BNJo3S2SR1 +mxV967zawXiZ8MeeBl6rLhOfCBtz9g+bqrXZYoenuMn5Js2mcH0haYeMSV3UWIC4 +kinzr1EJxs+L1/hVCVBNiiDc6DXcFXoz9ZVc9kjpZTOMoZVDkRkyOeen+5Sya9wK +4teLmDLME4+pgeHCS/Wa4KrYyEWe7NpG1VTkSJnRS+fyYGTWtwEiuwT6J9U0t1d5 +hbxhM7YAhlnOEnNVmqa3Bq3yqJs9G/7gicZ7CIJ9JBHKTJzOnKfpGhxBSOgOoCOa +WW6uVCzDqfrYPmCUIKQmanB441xJFGuHVPMLBjVjswoMKGkK3gM6KMRCDYQ53u6s +FK+Jcl8HobBSezVIUKpKVX3IW9d506cE0FhSW/NvWJv0FIMVloyC2BpOjSWVgEwX +tk/m3SKPsgCAcCqzi7xlloR8+E9C2xci9cdGG5faghgSjaP6j0qDww/slRPQJc5A +DIeukkOYTCiSiDwQtblJABEBAAGJAjMEGAEIACcWIQRo0hgjNCoTaDrrPk77TGhb +XcHBPgUCZykTxQMbIAQFCQPCZwAAADcWD/4qJRLn7TcMtRMF43Yn+dX+O13YrxBC +T4n1QVmiPsGrUca4Vg1J+trV6IMsGrhktpiaV0qeL/km0h02m4gEDZKDyWWXdeWh +EXFaTVy9yCpSXUWJl5gSXTSwxrqBWyWLlLLk4UT9l9sk5mMdy0JA8unobV4M/eXQ +ggR11DL3ji7aO0hsqxyxXkJcawWjVGW5KL1EaoDKIJ/CwxOI5ipFueMIRQjQvw9A +o/w2fq11qVXY9zknk6pFkp/RDHLes+wVHDtebZfJ9xV7Mb1mf/k03dT56GaA/U3E +XvJ2FdgWR+zf+YMEa9MPDHYo2UNEvk9mOk247M8s+OeexdlkPgyKW5A8mtYuY/dR +j8W6C4pLcMWa+d/vIUpm5Guw0F5q0AWk9/FbBe9HLztEevvRnuHXmfTZeto/nCAi +Yg4pCj6p3JoN5CLebR8YtWm9AJBbX1kgVvqSU2VgwYIFsxBEz8Wu2h7z/eSCSeIg +ARFbTlJ6cBrRkXCVyhbv0LPWWUfAUqiEtdGxrA4Xx/jKrI02JjRdW/bZkXjSka8K ++cDlpcr9ixBWW5LkWsOdiL8jExfTGw25FA7Wd1HiHnBv36Mu/zb+0/I63d+fLq93 +e3lmmVx9qQF8p5Okf4ojY9YoIHVkLS7t9AgFjm/ucmpEGbXxyPk2Cr3l+b5R41x3 +dBW9kxiuWpZN3Q== +=iuRK +-----END PGP PUBLIC KEY BLOCK----- \ No newline at end of file diff --git a/changelog b/changelog new file mode 100644 index 0000000..45f063d --- /dev/null +++ b/changelog @@ -0,0 +1,5240 @@ +* Thu Dec 11 2025 Vit Mojzis - 3.9-7 +- semanage: Reset active value when deleting boolean customizations (RHEL-111421) +- setfiles: Add -A option to disable SELINUX_RESTORECON_ADD_ASSOC (RHEL-111505) +- sepolicy: Fix detection of writeable locations + +* Thu Dec 11 2025 Petr Lautrbach - 3.9-6 +- Bring back patches unintentionally dropped before + +* Fri Sep 19 2025 Python Maint - 3.9-5 +- Rebuilt for Python 3.14.0rc3 bytecode + +* Fri Aug 15 2025 Python Maint - 3.9-4 +- Rebuilt for Python 3.14.0rc2 bytecode + +* Tue Jul 29 2025 Miro Hrončok - 3.9-3 +- Drop unused BuildRequires on python3-wheel + +* Fri Jul 25 2025 Fedora Release Engineering - 3.9-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Wed Jul 16 2025 Petr Lautrbach - 3.9-1 +- SELinux userspace 3.9 release + +* Fri Jul 04 2025 Petr Lautrbach - 3.9-0.rc2.1 +- SELinux userspace 3.9-rc2 release + +* Wed Jun 25 2025 Petr Lautrbach - 3.8-3 +- Use multiprocessing 'fork' method (rhbz#2374569) + +* Mon Jun 02 2025 Python Maint - 3.8-2 +- Rebuilt for Python 3.14 + +* Thu Jan 30 2025 Petr Lautrbach - 3.8-1 +- SELinux userspace 3.8 release + +* Wed Jan 22 2025 Petr Lautrbach - 3.8-rc3.2 +- Make `rpm` a weak dependency (bz#2338647) + +* Sat Jan 18 2025 Fedora Release Engineering - 3.8-0.rc3.1.2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Sun Jan 12 2025 Zbigniew Jędrzejewski-Szmek - 3.8-0.rc3.1.1 +- Rebuilt for the bin-sbin merge (2nd attempt) + +* Wed Dec 18 2024 Petr Lautrbach - 3.8-0.rc3.1 +- SELinux userspace 3.8-rc3 release + +* Thu Nov 28 2024 Petr Lautrbach - 3.8-0.rc1.1 +- SELinux userspace 3.8-rc1 release + +* Wed Nov 13 2024 Petr Lautrbach - 3.7-5 +- fixfiles: use `grep -F` when search in mounts (bz#2323728) + +* Tue Aug 20 2024 Petr Lautrbach - 3.7-4 +- sepolgen-ifgen: allow M4 escaped filenames + +* Fri Jul 19 2024 Fedora Release Engineering - 3.7-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Tue Jul 09 2024 Zbigniew Jędrzejewski-Szmek - 3.7-2 +- Rebuilt for the bin-sbin merge + +* Thu Jun 27 2024 Petr Lautrbach - 3.7-1 +- SELinux userspace 3.7 release + +* Fri Jun 07 2024 Python Maint - 3.6-5 +- Rebuilt for Python 3.13 + +* Thu May 09 2024 Petr Lautrbach - 3.6-4 +- Add Wayland support + +* Thu Jan 25 2024 Fedora Release Engineering - 3.6-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sun Jan 21 2024 Fedora Release Engineering - 3.6-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Thu Dec 14 2023 Petr Lautrbach - 3.6-1 +- SELinux userspace 3.6 release + +* Thu Nov 23 2023 Petr Lautrbach - 3.6-0.rc2.1 +- SELinux userspace 3.6-rc2 release + +* Tue Nov 14 2023 Petr Lautrbach - 3.6-0.rc1.1 +- SELinux userspace 3.6-rc1 release + +* Mon Oct 30 2023 Petr Lautrbach - 3.5-8 +- Update translations + https://translate.fedoraproject.org/projects/selinux/ + +* Tue Aug 1 2023 Petr Lautrbach - 3.5-7 +- python: improve format strings for proper localization +- python: Drop hard formating from localized strings +- sepolicy: port to dnf4 python API (rhbz#2209404) + +* Fri Jul 21 2023 Fedora Release Engineering - 3.5-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Wed Jun 21 2023 Vit Mojzis - 3.5-5 +- python/sepolicy: Fix spec file dependencies +- python/sepolicy: Fix template for confined user policy modules +- Improve man pages and add examples + +* Tue Jun 13 2023 Python Maint - 3.5-4 +- Rebuilt for Python 3.12 + +* Fri May 26 2023 Miro Hrončok - 3.5-3 +- Fix build with pip 23.1.2+ +- Fixes: rhbz#2209016 + +* Wed May 10 2023 Tomas Popela - 3.5-2 +- Drop unused BR on dbus-glib and explicitly BR glib2 + +* Fri Feb 24 2023 Petr Lautrbach - 3.5-1 +- SELinux userspace 3.5 release + +* Mon Feb 13 2023 Petr Lautrbach - 3.5-0.rc3.1 +- SELinux userspace 3.5-rc3 release + +* Wed Feb 8 2023 Petr Lautrbach - 3.5-0.rc2.3 +- Attach tty to selinux-autorelabel.service when AUTORELABEL=0 + +* Thu Jan 26 2023 Vit Mojzis - 3.5-0.rc2.2 +- python/sepolicy: Cache conditional rule queries + +* Fri Jan 20 2023 Fedora Release Engineering - 3.5-0.rc2.1.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Mon Jan 16 2023 Petr Lautrbach - 3.5-0.rc2.1 +- SELinux userspace 3.5-rc2 release + +* Fri Dec 23 2022 Petr Lautrbach - 3.5-0.rc1.1 +- SELinux userspace 3.5-rc1 release + +* Mon Nov 21 2022 Petr Lautrbach - 3.4-7.1 +- Rebase on upstream f56a72ac9e86 +- sepolicy: fix sepolicy manpage -w +- sandbox: add -R option to alternate XDG_RUNTIME_DIR +- Remove dependency on the Python module distutils + +* Tue Aug 2 2022 Petr Lautrbach - 3.4-6 +- Run autorelabel in parallel by default + https://fedoraproject.org/wiki/Changes/SELinux_Parallel_Autorelabel + +* Mon Jul 25 2022 Petr Lautrbach - 3.4-5 +- gettext: handle unsupported languages properly (#2100378) +- semodule: rename --rebuild-if-modules-changed to --refresh +- python: Split "semanage import" into two transactions (#2063353) +- selinux-autorelabel: Do not force reboot (#2093133) + +* Fri Jul 22 2022 Fedora Release Engineering - 3.4-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Mon Jun 13 2022 Python Maint - 3.4-3 +- Rebuilt for Python 3.11 + +* Wed May 25 2022 Petr Lautrbach - 3.4-2 +- rebuilt + +* Thu May 19 2022 Petr Lautrbach - 3.4-1 +- SELinux userspace 3.4 release + +* Tue May 10 2022 Petr Lautrbach - 3.4-0.rc3.1 +- SELinux userspace 3.4-rc3 release + +* Thu Apr 21 2022 Petr Lautrbach - 3.4-0.rc.1 +- SELinux userspace 3.4-rc2 release + +* Wed Apr 13 2022 Petr Lautrbach - 3.4-0.rc.1 +- SELinux userspace 3.4-rc1 release + +* Tue Feb 22 2022 Petr Lautrbach - 3.3-5 +- Improve error message when selabel_open fails + +* Sat Feb 19 2022 Petr Lautrbach - 3.3-4 +- semodule: add command-line option to detect module changes +- fixfiles: Use parallel relabeling + +* Fri Jan 21 2022 Fedora Release Engineering - 3.3-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Mon Nov 29 2021 Petr Lautrbach - 3.3-2 +- setfiles/restorecon: support parallel relabeling with -T option +- semodule: add -m | --checksum option + +* Fri Oct 22 2021 Petr Lautrbach - 3.3-1 +- SELinux userspace 3.3 release + +* Mon Oct 11 2021 Petr Lautrbach - 3.3-0.rc3.1 +- SELinux userspace 3.3-rc3 release + +* Wed Sep 29 2021 Petr Lautrbach - 3.3-0.rc2.1 +- SELinux userspace 3.3-rc2 release + +* Tue Aug 3 2021 Petr Lautrbach - 3.2-6 +- Drop forgotten ru/ man pages from -restorecond + +* Wed Jul 28 2021 Petr Lautrbach - 3.2-5 +- Rebase on upstream commit 32611aea6543 + +* Fri Jul 23 2021 Fedora Release Engineering - 3.2-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Thu Jun 03 2021 Python Maint - 3.2-3 +- Rebuilt for Python 3.10 + +* Mon May 10 2021 Petr Lautrbach - 3.2-2 +- Do not use Python slip +- fixfiles: do not exclude /dev and /run in -C mode +- dbus: use GLib.MainLoop + +* Mon Mar 8 2021 Petr Lautrbach - 3.2-1 +- SELinux userspace 3.2 release + +* Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek - 3.2-0.rc2.1.1 +- Rebuilt for updated systemd-rpm-macros + See https://pagure.io/fesco/issue/2583. + +* Fri Feb 5 2021 Petr Lautrbach - 3.2-0.rc2.1 +- SELinux userspace 3.2-rc2 release + +* Wed Jan 27 2021 Fedora Release Engineering - 3.2-0.rc1.1.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Wed Jan 20 2021 Petr Lautrbach - 3.2-0.rc1.1 +- SELinux userspace 3.2-rc1 release + +* Tue Nov 24 2020 Petr Lautrbach - 3.1-8 +- Fix BuildRequires to libsemanage-devel + +* Fri Nov 20 2020 Petr Lautrbach - 3.1-7 +- python/sepolicy: allow to override manpage date +- selinux_config(5): add a note that runtime disable is deprecated + +* Mon Nov 9 2020 Petr Lautrbach - 3.1-6 +- Require latest setools + +* Fri Oct 30 2020 Petr Lautrbach - 3.1-5 +- Build with libsepol.so.1 and libsemanage.so.2 +- Set X-GNOME-HiddenUnderSystemd=true in restorecond.desktop file +- fixfiles: correctly restore context of mountpoints +- sepolgen: print extended permissions in hexadecimal + +* Sat Aug 01 2020 Fedora Release Engineering - 3.1-4 +- Second attempt - Rebuilt for + https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Tue Jul 28 2020 Fedora Release Engineering - 3.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Tue Jul 14 2020 Tom Stellard - 3.1-2 +- Use make macros +- https://fedoraproject.org/wiki/Changes/UseMakeBuildInstallMacro + +* Fri Jul 10 2020 Petr Lautrbach - 3.1-1 +- SELinux userspace 3.1 release + +* Mon Jun 1 2020 Petr Lautrbach - 3.0-4 +- policycoreutils-dbus requires python3-gobject-base + +* Sat May 23 2020 Miro Hrončok - 3.0-3 +- Rebuilt for Python 3.9 + +* Thu Jan 30 2020 Fedora Release Engineering - 3.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Fri Dec 6 2019 Petr Lautrbach - 3.0-1 +- SELinux userspace 3.0 release + +* Wed Sep 4 2019 Petr Lautrbach - 2.9-7 +- semanage: Do not use default s0 range in "semanage login -a" (#1312283) + +* Thu Aug 29 2019 Petr Lautrbach - 2.9-6 +- gui: Fix remove module in system-config-selinux (#1740936) + +* Fri Aug 23 2019 Petr Lautrbach - 2.9-5 +- fixfiles: Fix unbound variable problem + +* Fri Aug 16 2019 Miro Hrončok - 2.9-4 +- Rebuilt for Python 3.8 + +* Mon Aug 5 2019 Petr Lautrbach - 2.9-3 +- Drop python2-policycoreutils +- Update ru man page translations +- fixfiles: Fix [-B] [-F] onboot + +* Fri Jul 26 2019 Fedora Release Engineering - 2.9-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Mon Mar 18 2019 Petr Lautrbach - 2.9-1 +- SELinux userspace 2.9 release + +* Mon Mar 11 2019 Petr Lautrbach - 2.9-0.rc2.1 +- SELinux userspace 2.9-rc2 release + +* Sat Feb 02 2019 Fedora Release Engineering - 2.9-0.rc1.1.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Fri Jan 25 2019 Petr Lautrbach - 2.9-0.rc1.1 +- SELinux userspace 2.9-rc1 release candidate + +* Fri Jan 25 2019 Petr Lautrbach - 2.8-17 +- python2-policycoreutils requires python2-ipaddress (#1669230) + +* Tue Jan 22 2019 Petr Lautrbach - 2.8-16 +- restorecond: Install DBUS service file with 644 permissions + +* Mon Jan 21 2019 Petr Lautrbach - 2.8-15 +- setsebool: support use of -P on SELinux-disabled hosts +- sepolicy: initialize mislabeled_files in __init__() +- audit2allow: use local sepolgen-ifgen-attr-helper for tests +- audit2allow: allow using audit2why as non-root user +- audit2allow/sepolgen-ifgen: show errors on stderr +- audit2allow/sepolgen-ifgen: add missing \n to error message +- sepolgen: close /etc/selinux/sepolgen.conf after parsing it +- sepolicy: Make policy files sorting more robust +- semanage: Load a store policy and set the store SELinux policy root + +* Thu Dec 20 2018 Petr Lautrbach - 2.8-14 +- chcat: fix removing categories on users with Fedora default setup +- semanage: Include MCS/MLS range when exporting local customizations +- semanage: Start exporting "ibendport" and "ibpkey" entries +- semanage: do not show "None" levels when using a non-MLS policy +- sepolicy: Add sepolicy.load_store_policy(store) +- semanage: import sepolicy only when it's needed +- semanage: move valid_types initialisations to class constructors + +* Mon Dec 10 2018 Petr Lautrbach - 2.8-13 +- chcat: use check_call instead of getstatusoutput +- Use matchbox-window-manager instead of openbox +- Use ipaddress python module instead of IPy +- semanage: Fix handling of -a/-e/-d/-r options +- semanage: Use standard argparse.error() method + +* Mon Nov 12 2018 Petr Lautrbach - 2.8-12 +- sepolicy,semanage: replace aliases with corresponding type names +- sepolicy-generate: Handle more reserved port types +- Fix RESOURCE_LEAK coverity scan defects + +* Tue Oct 16 2018 Petr Lautrbach - 2.8-11 +- sepolicy: Fix get_real_type_name to handle query failure properly +- sepolicy: search() for dontaudit rules as well + +* Tue Oct 2 2018 Petr Lautrbach - 2.8-10 +- semanage: "semanage user" does not use -s, fix documentation +- semanage: add a missing space in ibendport help +- sepolicy: Update to work with setools-4.2.0 + +* Fri Sep 14 2018 Petr Lautrbach - 2.8-9 +- semanage: Stop rejecting aliases in semanage commands +- sepolicy: Stop rejecting aliases in sepolicy commands +- sepolicy: Fix "info" to search aliases as well +- setfiles: Improve description of -d switch + +* Wed Sep 12 2018 Petr Lautrbach - 2.8-8 +- Update translations + +* Tue Sep 4 2018 Petr Lautrbach - 2.8-7 +- Fix typo in newrole.1 manpage +- sepolgen: print all AV rules correctly +- sepolgen: fix access vector initialization +- Add xperms support to audit2allow +- semanage: Stop logging loginRecords changes +- semanage: Fix logger class definition +- semanage: Replace bare except with specific one +- semanage: fix Python syntax of catching several exceptions +- sepolgen: return NotImplemented instead of raising it +- sepolgen: fix refpolicy parsing of "permissive" + +* Mon Aug 6 2018 Petr Lautrbach - 2.8-6 +- Use split translation files + https://github.com/fedora-selinux/selinux/issues/43 + +* Fri Jul 13 2018 Fedora Release Engineering - 2.8-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Mon Jul 02 2018 Miro Hrončok - 2.8-4 +- Rebuilt for Python 3.7 + +* Mon Jun 18 2018 Petr Lautrbach - 2.8-3 +- selinux-autorelabel: Use plymouth --quit rather then --hide-splash (#1592221) +- selinux-autorelabel: Increment boot_indeterminate grub environment variable (#1592221) + +* Fri Jun 15 2018 Miro Hrončok - 2.8-2 +- Rebuilt for Python 3.7 + +* Fri May 25 2018 Petr Lautrbach - 2.8-1 +- SELinux userspace 2.8 release + +* Tue May 22 2018 Petr Lautrbach - 2.8-0.rc3.2 +- selinux-autorelabel: set UEFI boot order (BootNext) same as BootCurrent +- selinux-autorelabel: synchronize cached writes before reboot (#1385272) + +* Tue May 15 2018 Petr Lautrbach - 2.8-0.rc3.1 +- SELinux userspace 2.8-rc2 release candidate + +* Fri May 4 2018 Petr Lautrbach - 2.8-0.rc2.1 +- SELinux userspace 2.8-rc2 release candidate + +* Mon Apr 23 2018 Petr Lautrbach - 2.8-0.rc1.1 +- SELinux userspace 2.8-rc1 release candidate + +* Thu Apr 19 2018 Petr Lautrbach - 2.7-20 +- Drop python2 sepolicy gui files from policycoreutils-gui (#1566618) + +* Wed Apr 18 2018 Iryna Shcherbina - 2.7-19 +- Update Python 2 dependency declarations to new packaging standards + (See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3) + +* Tue Apr 3 2018 Petr Lautrbach - 2.7-18 +- Move semodule_* utilities to policycoreutils package (#1562549) + +* Thu Mar 22 2018 Petr Lautrbach - 2.7-17 +- semanage/seobject.py: Fix undefined store check (#1559174) + +* Fri Mar 16 2018 Petr Lautrbach - 2.7-16 +- Build python only subpackages as noarch +- Move semodule_package to policycoreutils-devel + +* Tue Mar 13 2018 Petr Lautrbach - 2.7-15 +- sepolicy: Fix translated strings with parameters +- sepolicy: Support non-MLS policy +- sepolicy: Initialize policy.ports as a dict in generate.py +- gui/polgengui.py: Use stop_emission_by_name instead of emit_stop_by_name +- Minor update for bash completion +- semodule_package: fix semodule_unpackage man page +- gui/semanagePage: Close "edit" and "add" dialogues when successfull +- gui/fcontextPage: Set default object class in addDialog\ +- sepolgen: fix typo in PolicyGenerator +- build: follow standard semantics for DESTDIR and PREFIX + +* Mon Feb 26 2018 Petr Lautrbach - 2.7-14 +- Use Fedora RPM build flags (#1548740) + +* Tue Feb 20 2018 Petr Lautrbach - 2.7-13 +- Fix mangling of python shebangs + +* Mon Feb 19 2018 Miro Hrončok - 2.7-12 +- Rename the python3 subpackage to have prefix, not suffix +- Use python3 prefixes in requires where possible + +* Thu Feb 15 2018 Petr Lautrbach - 2.7-11 +- Rewrite selinux-polgengui to use Gtk3 +- Drop python2 and gnome-python2 from gui Requires + +* Fri Feb 09 2018 Fedora Release Engineering - 2.7-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Wed Jan 31 2018 Petr Lautrbach - 2.7-9 +- Require audit-libs-python2 + +* Thu Jan 18 2018 Igor Gnatenko - 2.7-8 +- Remove obsolete scriptlets + +* Wed Dec 20 2017 Petr Lautrbach - 2.7-7 +- semanage: bring semanageRecords.set_reload back to seobject.py (#1527745) + +* Wed Dec 13 2017 Petr Lautrbach - 2.7-6 +- semanage: make seobject.py backward compatible +- Own %%{pythonX_sitelib}/site-packages/sepolicy directories (#1522942) + +* Wed Nov 22 2017 Petr Lautrbach - 2.7-5 +- sepolicy: Fix sepolicy manpage +- semanage: Update Infiniband code to work on python3 +- semanage: Fix export of ibendport entries +- semanage: Enforce noreload only if it's requested by -N option + +* Fri Oct 20 2017 Petr Lautrbach - 2.7-4 +- restorecond: check write() and daemon() results +- sepolicy: do not fail when file_contexts.local or .subs do not exist +- sepolicy: remove stray space in section "SEE ALSO" +- sepolicy: fix misspelling of _ra_content_t suffix +- gui: port to Python 3 by migrating to PyGI +- gui: remove the status bar +- gui: fix parsing of "semodule -lfull" in tab Modules +- gui: delete overridden definition of usersPage.delete() +- Enable listing file_contexts.homedirs (#1409813) +- remove semodule_deps + +* Sat Aug 19 2017 Zbigniew Jędrzejewski-Szmek - 2.7-3 +- Also add Provides for the old name without %%_isa + +* Sat Aug 19 2017 Zbigniew Jędrzejewski-Szmek - 2.7-2 +- Python 2 binary package renamed to python2-policycoreutils + See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3 + +* Mon Aug 07 2017 Petr Lautrbach - 2.7-1 +- Update to upstream release 2017-08-04 +- Move DBUS API from -gui to -dbus package + +* Thu Aug 03 2017 Fedora Release Engineering - 2.6-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Sun Jul 30 2017 Florian Weimer - 2.6-8 +- Rebuild with binutils fix for ppc64le (#1475636) + +* Fri Jul 28 2017 Petr Lautrbach - 2.6-7 +- Make 'sepolicy manpage' and 'sepolicy transition' faster +- open_init_pty: restore stdin/stdout to blocking upon exit +- fixfiles: do not dereference link files in tmp +- fixfiles: use a consistent order for options to restorecon +- fixfiles: don't ignore `-F` when run in `-C` mode +- fixfiles: remove bad modes of "relabel" command +- fixfiles: refactor into the `set -u` dialect +- fixfiles: if restorecon aborts, we should too +- fixfiles: usage errors are fatal +- fixfiles: syntax error +- fixfiles: remove two unused variables +- fixfiles: tidy up usage(), manpage synopsis +- fixfiles: deprecate -l option +- fixfiles: move logit call outside of redirected function +- fixfiles: fix logging about R/O filesystems +- fixfiles: clarify exclude_dirs() +- fixfiles: remove (broken) redundant code + + +* Thu Jul 27 2017 Fedora Release Engineering - 2.6-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Thu Apr 06 2017 Petr Lautrbach - 2.6-5 +- semanage: Unify argument handling (#1398987) +- setfiles: set up a logging callback for libselinux +- setfiles: Fix setfiles progress indicator +- setfiles: stdout messages don't need program prefix +- setfiles: don't scramble stdout and stderr together (#1435894) +- restorecond: Decrease loglevel of termination message (#1264505) +- fixfiles should handle path arguments more robustly +- fixfiles: handle unexpected spaces in command +- fixfiles: remove useless use of cat (#1435894) +- semanage: Add checks if a module name is passed in (#1420707) +- semanage: fix export of fcontext socket entries (#1435127) +- selinux-autorelabel: remove incorrect redirection to /dev/null (#1415674) + +* Fri Mar 17 2017 Petr Lautrbach - 2.6-4 +- Fix selinux-polgengui (#1432337) +- sepolicy - fix obtaining domain name in HTMLManPages + +* Tue Feb 28 2017 Petr Lautrbach - 2.6-3 +- Fix several issues in gui and 'sepolicy manpage' (#1416372) + +* Thu Feb 23 2017 Petr Lautrbach - 2.6-2 +- Use %%{__python3} instead of python3 + +* Mon Feb 20 2017 Petr Lautrbach - 2.6-1.1 +- Fix pp crash when processing base module (#1417200) +- Update to upstream release 2016-10-14 + +* Wed Feb 15 2017 Igor Gnatenko - 2.5-22 +- Rebuild for brp-python-bytecompile + +* Sat Feb 11 2017 Fedora Release Engineering - 2.5-21 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Wed Dec 21 2016 Kevin Fenzi - 2.5-20 +- Rebuild for python 3.6 + +* Thu Dec 01 2016 Petr Lautrbach - 2.5-19 +- seobject: Handle python error returns correctly +- policycoreutils/sepolicy/gui: fix current selinux state radiobutton +- policycoreutils: semodule_package: do not fail with an empty fc file + +* Tue Nov 22 2016 Petr Lautrbach - 2.5-18 +- Update translations +- Fix fcontextPage editing features (#1344842) + +* Mon Oct 03 2016 Petr Lautrbach 2.5-17 +- sandbox: Use dbus-run-session instead of dbus-launch when available +- hll/pp: Change warning for module name not matching filename to match new behavior +- Remove LDFLAGS from CFLAGS +- sandbox: create a new session for sandboxed processes +- sandbox: do not try to setup directories without -X or -M +- sandbox: do not run xmodmap in a new X session +- sandbox: Use GObject introspection binding instead of pygtk2 +- sandbox: fix file labels on copied files +- sandbox: tests - close stdout of p +- sandbox: tests - use sandbox from cwd +- audit2allow: tests should use local copy not system +- audit2allow: fix audit2why import from seobject +- audit2allow: remove audit2why so that it gets symlinked +- semanage: fix man page and help message for import option +- semanage: fix error message for fcontext -m +- semanage: Fix semanage fcontext -D +- semanage: Correct fcontext auditing +- semanage: Default serange to "s0" for port modify +- semanage: Use socket.getprotobyname for protocol +- semanage: fix modify action in node and interface +- fixfiles: Pass -n to restorecon for fixfiles check +- sepolicy: Check get_rpm_nvr_list() return value +- Don't use subprocess.getstatusoutput() in Python 2 code +- semanage: Add auditing of changes in records +- Remove unused 'q' from semodule getopt string + +* Mon Aug 01 2016 Petr Lautrbach 2.5-16 +- Remove unused autoconf files from po/ +- Remove duplicate, empty translation files +- Rebuilt with libsepol-2.5-9, libselinux-2.5-11, libsemanage-2.5-7 + +* Thu Jul 21 2016 Petr Lautrbach 2.5-15 +- Fix sandbox -X issue related to python3 (#1358138) + +* Wed Jul 20 2016 Richard W.M. Jones - 2.5-14 +- Use generator approach to fix autorelabel + +* Tue Jul 19 2016 Fedora Release Engineering - 2.5-13 +- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages + +* Thu Jul 14 2016 Petr Lautrbach - 2.5-12 +- open_init_pty: Do not error on EINTR +- Fix [-s STORE] typos in semanage +- Update sandbox types in sandbox manual +- Update translations + +* Mon Jun 27 2016 Petr Lautrbach - 2.5-11 +- Convert sandbox to gtk-3 using pygi-convert.sh (#1343166) + +* Thu Jun 23 2016 Petr Lautrbach - 2.5-10 +- Fix typos in semanage manpages +- Fix the documentation of -l,--list for semodule +- Minor fix in a French translation +- Fix the extract example in semodule.8 +- Update sandbox.8 man page +- Remove typos from chcat --help +- sepolgen: Remove additional files when cleaning + +* Wed May 11 2016 Petr Lautrbach - 2.5-9 +- Fix multiple spelling errors +- Rebuild with libsepol-2.5-6 + +* Mon May 02 2016 Petr Lautrbach - 2.5-8 +- Rebuilt with libsepol-2.5-5 + +* Fri Apr 29 2016 Petr Lautrbach - 2.5-7 +- hll/pp: Warn if module name different than output filename + +* Mon Apr 25 2016 Petr Lautrbach - 2.5-6 +- Ship selinux-autorelabel utility and systemd unit files (#1328825) + +* Fri Apr 08 2016 Petr Lautrbach - 2.5-5 +- sepolgen: Add support for TYPEBOUNDS statement in INTERFACE policy files (#1319338) + +* Fri Mar 18 2016 Petr Lautrbach - 2.5-4 +- Add documentation for MCS separated domains +- Move svirt man page out of libvirt into its own + +* Thu Mar 17 2016 Petr Lautrbach - 2.5-3 +- policycoreutils: use python3 in chcat(#1318408) + +* Sat Mar 05 2016 Petr Lautrbach 2.5-2 +- policycoreutils/sepolicy: selinux_server.py to use GLib instead of gobject +- policycoreutils-gui requires python-slip-dbus (#1314685) + +* Tue Feb 23 2016 Petr Lautrbach 2.5-1 +- Update to upstream release 2016-02-23 + +* Thu Feb 04 2016 Fedora Release Engineering - 2.4-21 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Mon Dec 14 2015 Petr Lautrbach - 2.4-20 +- Fix 'semanage permissive -l' subcommand (#1286325) +- Several 'sepolicy gui' fixes (#1281309,#1281309,#1282382) + +* Tue Nov 17 2015 Petr Lautrbach 2.4-19 +- Require at least one argument for 'semanage permissive -d' (#1255676) + +* Mon Nov 16 2015 Petr Lautrbach 2.4-18 +- Improve sepolicy command line interface +- Fix sandbox to propagate specified MCS/MLS Security Level. (#1279006) +- Fix 'audit2allow -R' (#1280418) + +* Thu Nov 12 2015 Fedora Release Engineering - 2.4-17 +- Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5 + +* Mon Nov 09 2015 Petr Lautrbach 2.4-16 +- policycoreutils-gui needs policycoreutils-python (#1279046) + +* Wed Nov 04 2015 Robert Kuska - 2.4-15 +- Rebuilt for Python3.5 rebuild + +* Thu Oct 08 2015 Petr Lautrbach 2.4-14 +- Revert the attempt to port -gui to GTK 3 (#1269328, #1266059) + +* Fri Oct 02 2015 Petr Lautrbach 2.4-13 +- newrole: Set keepcaps around setresuid calls +- newrole: Open stdin as read/write + +* Fri Sep 04 2015 Petr Lautrbach 2.4-12 +- Fix several semanage issue (#1247714) +- Decode output from subprocess, if error occurred (#1247039) + +* Wed Sep 02 2015 Petr Lautrbach 2.4-11 +- audit2allow, audit2why - ignore setlocale errors (#1208529) + +* Fri Aug 21 2015 Petr Lautrbach 2.4-10 +- Port sandbox to GTK 3 and fix issue with Xephyr + +* Thu Aug 13 2015 Petr Lautrbach 2.4-9 +- Fix another python3 issues mainly in sepolicy (#1247039,#1247575,#1251713) + +* Thu Aug 06 2015 Petr Lautrbach 2.4-8 +- Fix multiple python3 issues in sepolgen (#1249388,#1247575,#1247564) + +* Mon Jul 27 2015 Petr Lautrbach 2.4-7 +- policycoreutils-python3 depends on python-IPy-python3 + +* Mon Jul 27 2015 Petr Lautrbach 2.4-6 +- policycoreutils-devel depends on policycoreutils-python-utils (#1246818) + +* Fri Jul 24 2015 Petr Lautrbach 2.4-5 +- Move python utilities from -python to -python-utilities +- All scripts originally from policycoreutils-python use python 3 now + +* Fri Jul 24 2015 Petr Lautrbach 2.4-4 +- policycoreutils: semanage: fix moduleRecords deleteall method + +* Thu Jul 23 2015 Petr Lautrbach 2.4-3 +- Improve compatibility with python 3 +- Add sepolgen module to python3 package + +* Tue Jul 21 2015 Petr Lautrbach 2.4-2 +- Add Python3 support for sepolgen module (#1125208,#1125209) + +* Tue Jul 21 2015 Petr Lautrbach 2.4-1.1 +- Update to 2.4 release + +* Wed Jul 15 2015 Petr Lautrbach 2.4-0.7 +- Fix typo in semanage args for minimum policy store + +* Fri Jul 03 2015 Petr Lautrbach 2.4-0.6 +- policycoreutils: semanage: update to new source policy infrastructure +- semanage: move permissive module creation to /tmp + +* Thu Jun 18 2015 Fedora Release Engineering - 2.3-18 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Wed May 06 2015 Petr Lautrbach 2.3-17 +- setfiles/restorecon: fix -r/-R option (#1211721) + +* Mon Apr 13 2015 Petr Lautrbach 2.4-0.4 +- Update to upstream 2.4 + +* Tue Feb 24 2015 Petr Lautrbach 2.3-16 +- Temporary removed Requires:audit-libs-python from policycoreutils-python3 subpackage (#1195139) +- Simplication of sepolicy-manpage web functionality (#1193552) + +* Mon Feb 02 2015 Petr Lautrbach 2.3-15 +- We need to cover file_context.XXX.homedir to have fixfiles with exclude_dirs working correctly +- Use dnf instead of yum (#1156547) + +* Tue Nov 18 2014 Dan Walsh - 2.3-14 +- Audit2allow will check for mislabeled files, and tells user to fix the label. +- Also checks for basefiles and suggests creating a different label. +- Patch from Ryan Hallisey + +* Wed Nov 5 2014 Miroslav Grepl - 2.3-13 +- Switch back to yum. Need additional fixes to make it working correctly. + +* Wed Nov 5 2014 Miroslav Grepl - 2.3-12 +- Switch over to dnf from yum + +* Tue Sep 23 2014 Miroslav Grepl - 2.3-11 +- Improvements to audit2allow from rhallise@redhat.com + * Check for mislabeled files. + * Check for base file use and + * Suggest writable files as alternatives + +* Sun Aug 17 2014 Fedora Release Engineering - 2.3-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Mon Aug 4 2014 Dan Walsh - 2.3-9 +- Remove build requires for openbox, not needed + +* Thu Jul 31 2014 Tom Callaway - 2.3-8 +- fix license handling + +* Wed Jul 23 2014 Miroslav Grepl - 2.3-7 +- Examples are no longer in the main semanage man page (#1084390) +- Add support for Fedora22 man pages. We need to fix it to not using hardcoding. +- Print usage for all mutually exclusive options. +- Fix selinux man page to refer seinfo and sesearch tools. + +* Sat Jun 07 2014 Fedora Release Engineering - 2.3-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Wed May 28 2014 Kalev Lember - 2.3-5 +- Rebuilt for https://fedoraproject.org/wiki/Changes/Python_3.4 + +* Tue May 20 2014 Miroslav Grepl - 2.3-4 +- Fix setfiles to work correctly if -r option is defined + +* Fri May 16 2014 Dan Walsh - 2.3-3 +- Update Miroslav Grepl Patches + * If there is no executable we don't want to print a part of STANDARD FILE CON + * Add-manpages-for-typealiased-types + * Make fixfiles_exclude_dirs working if there is a substituion for the given d + +* Mon May 12 2014 Miroslav Grepl - 2.3-2 +- If there is no executable we don't want to print a part of STANDARD FILE CONTEXT + +* Tue May 6 2014 Dan Walsh - 2.3-1 +- Update to upstream + * Add -P semodule option to man page from Dan Walsh. + * selinux_current_policy_path will return none on a disabled SELinux system from Dan Walsh. + * Add new icons for sepolicy gui from Dan Walsh. + * Only return writeable files that are enabled from Dan Walsh. + * Add domain to short list of domains, when -t and -d from Dan Walsh. + * Fix up desktop files to match current standards from Dan Walsh. + * Add support to return sensitivities and categories for python from Dan Walsh. + * Cleanup whitespace from Dan Walsh. + * Add message to tell user to install sandbox policy from Dan Walsh. + * Add systemd unit file for mcstrans from Laurent Bigonville. + * Improve restorecond systemd unit file from Laurent Bigonville. + * Minor man pages improvements from Laurent Bigonville. + +* Tue May 6 2014 Miroslav Grepl - 2.2.5-15 +- Apply patch to use setcon in seunshare from luto@mit.edu + +* Wed Apr 30 2014 Dan Walsh - 2.2.5-14 +- Remove requirement for systemd-units + +* Fri Apr 25 2014 Miroslav Grepl - 2.2.5-13 +- Fix previous Fix-STANDARD_FILE_CONTEXT patch to exclude if non_exec does not exist + +* Thu Apr 24 2014 Miroslav Grepl - 2.2.5-12 +- Add policycoreutils-rhat-revert.patch to revert the last two commits to make build working +- Add 0001-Fix-STANDARD_FILE_CONTEXT-section-in-man-pages patch + +* Tue Apr 1 2014 Dan Walsh - 2.2.5-11 +- Update Translations + +* Thu Mar 27 2014 Miroslav Grepl - 2.2.5-10 +- Add support for Fedora21 html manpage structure +- Fix broken dependencies to require only usermode-gtk + +* Wed Mar 26 2014 Dan Walsh - 2.2.5-9 +- mgrepl [PATCH] Deleteall user customization fails if there is a user used +- for the default login. We do not want to fail on it and continue to delete +- customizations for users which are not used for default login. + +* Mon Mar 24 2014 Dan Walsh - 2.2.5-8 +- Update Translations +- Make selinux-policy build working also on another architectures related to s +- Miroslav grepl patch to fix the creation of man pages on different architectures. +- Add ability to list the actual active modules +- Fix spelling mistake on sesearch in generate man pages. + +* Fri Feb 14 2014 Dan Walsh - 2.2.5-7 +- Allow manpages to be built on aarch64 + +* Fri Feb 14 2014 Dan Walsh - 2.2.5-6 +- Don't be verbose in fixfiles if there is not tty + +* Thu Feb 13 2014 Dan Walsh - 2.2.5-5 +- Yum should only be required for policycoreutils-devel + +* Tue Jan 21 2014 Dan Walsh - 2.2.5-4 +- Update translations + +* Thu Jan 16 2014 Dan Walsh - 2.2.5-3 +- Add Miroslav patch to +- Fix previously_modified_initialize() to show modified changes properly for all selections + +* Wed Jan 8 2014 Dan Walsh - 2.2.5-2 +- Do not require /usr/share/selinux/devel/Makefile to build permissive domains + +* Mon Jan 6 2014 Dan Walsh - 2.2.5-1 +- Update to upstream + * Ignore selevel/serange if MLS is disabled from Sven Vermeulen. + +* Fri Jan 3 2014 Dan Walsh - 2.2.4-8 +- Update Tranlations +- Patch from Yuri Chornoivan to fix typos + +* Fri Jan 3 2014 Dan Walsh - 2.2.4-7 +- Fixes Customized booleans causing a crash of the sepolicy gui + +* Fri Dec 20 2013 Dan Walsh - 2.2.4-6 +- Fix sepolicy gui selection for advanced screen +- Update Translations +- Move requires checkpolicy requirement into policycoreutils-python + +* Mon Dec 16 2013 Dan Walsh - 2.2.4-5 +- Fix semanage man page description of import command +- Fix policy kit file to allow changing to permissive mode + +* Mon Dec 16 2013 Dan Walsh - 2.2.4-4 +- Fix broken dependencies. + +* Fri Dec 13 2013 Dan Walsh - 2.2.4-3 +- Break out python3 code into separate package + +* Fri Dec 6 2013 Dan Walsh - 2.2.4-2 +- Add mgrepl patch +- ptrace should be a part of deny_ptrace boolean in TEMPLATETYPE_admin + +* Tue Dec 3 2013 Dan Walsh - 2.2.4-1 +- Update to upstream + * Revert automatic setting of serange and seuser in seobject; was breaking non-MLS systems. +- Add patches for sepolicy gui from mgrepl to + Fix advanced_item_button_push() to allow to select an application in advanced search menu + Fix previously_modified_initialize() to show modified changes properly for all selections + + +* Fri Nov 22 2013 Dan Walsh - 2.2.3-1 +- Update to upstream + * Apply polkit check on all dbus interfaces and restrict to active user from Dan Walsh. + * Fix typo in sepolicy gui dbus.relabel_on_boot call from Dan Walsh. +- Apply Miroslav Grepl patch to fix TEMPLATETYPE_domtrans description in sepolicy generate + +* Wed Nov 20 2013 Dan Walsh - 2.2.2-2 +- Fix selinux-polgengui, get_all_modules call + +* Fri Nov 15 2013 Dan Walsh - 2.2.2-1 +- Speed up startup time of sepolicy gui +- Clean up ports screen to only show enabled ports. +- Update to upstream + * Remove import policycoreutils.default_encoding_utf8 from semanage from Dan Walsh. + * Make yum/extract_rpms optional for sepolicy generate from Dan Walsh. + * Add test suite for audit2allow and sepolgen-ifgen from Dan Walsh. + +* Thu Oct 31 2013 Dan Walsh - 2.2-2 +- Shift around some of the files to more appropriate packages. + * semodule_* packages are required for devel. +* Thu Oct 31 2013 Dan Walsh - 2.2-1 +- Update to upstream + * Properly build the swig exception file from Laurent Bigonville. + * Fix man pages from Laurent Bigonville. + * Support overriding PATH and INITDIR in Makefile from Laurent Bigonville. + * Fix LDFLAGS usage from Laurent Bigonville. + * Fix init_policy warning from Laurent Bigonville. + * Fix semanage logging from Laurent Bigonville. + * Open newrole stdin as read/write from Sven Vermeulen. + * Fix sepolicy transition from Sven Vermeulen. + * Support overriding CFLAGS from Simon Ruderich. + * Create correct man directory for run_init from Russell Coker. + * restorecon GLOB_BRACE change from Michal Trunecka. + * Extend audit2why to report additional constraint information. + * Catch IOError errors within audit2allow from Dan Walsh. + * semanage export/import fixes from Dan Walsh. + * Improve setfiles progress reporting from Dan Walsh. + * Document setfiles -o option in usage from Dan Walsh. + * Change setfiles to always return -1 on failure from Dan Walsh. + * Improve setsebool error r eporting from Dan Walsh. + * Major overhaul of gui from Dan Walsh. + * Fix sepolicy handling of non-MLS policy from Dan Walsh. + * Support returning type aliases from Dan Walsh. + * Add sepolicy tests from Dan Walsh. + * Add org.selinux.config.policy from Dan Walsh. + * Improve range and user input checking by semanage from Dan Walsh. + * Prevent source or target arguments that end with / for substitutions from Dan Walsh. + * Allow use of <> for semanage fcontext from Dan Walsh. + * Report customized user levels from Dan Walsh. + * Support deleteall for restoring disabled modules from Dan Walsh. + * Improve semanage error reporting from Dan Walsh. + * Only list disabled modules for module locallist from Dan Walsh. + * Fix logging from Dan Walsh. + * Define new constants for file type character codes from Dan Walsh. + * Improve bash completions from Dan Walsh. + * Convert semanage to argparse from Dan Walsh (originally by Dave Quigley). + * Add semanage tests from Dan Walsh. + * Split semanage man pages from Dan Walsh. + * Move bash completion scripts from Dan Walsh. + * Replace genhomedircon script with a link to semodule from Dan Walsh. + * Fix fixfiles from Dan Walsh. + * Add support for systemd service for restorecon from Dan Walsh. + * Spelling corrections from Dan Walsh. + * Improve sandbox support for home dir symlinks and file caps from Dan Walsh. + * Switch sandbox to openbox window manager from Dan Walsh. + * Coalesce audit2why and audit2allow from Dan Walsh. + * Change audit2allow to append to output file from Dan Walsh. + * Update translations from Dan Walsh. + * Change audit2why to use selinux_current_policy_path from Dan Walsh. + +* Fri Oct 25 2013 Dan Walsh - 2.1.14-89 +- Fix handling of man pages. + +* Wed Oct 16 2013 Dan Walsh - 2.1.14-88 +- Cleanup errors found by pychecker +- Apply patch from Michal Trunecka to allow restorecon to handle {} in globs + +* Fri Oct 11 2013 Dan Walsh - 2.1.14-87 +- sepolicy gui + - mgrepl fixes for users and login +- Update Translations. + +* Fri Oct 11 2013 Dan Walsh - 2.1.14-86 +- sepolicy gui + - mgrepl added delete screens for users and login + - Fix lots of bugs. +- Update Translations. + + +* Fri Oct 4 2013 Dan Walsh - 2.1.14-85 +- Fixes for fixfiles + * exclude_from_dirs should apply to all types of restorecon calls + * fixfiles check now works + * exit with the correct status + +- semanage no longer import selinux + +* Wed Oct 2 2013 Dan Walsh - 2.1.14-84 +- Fixes for sepolicy gui +- Fix setsebool to return 0 on success +- Update Po + +* Mon Sep 30 2013 Dan Walsh - 2.1.14-83 +- Fix sizes of help screens in sepolicy gui + +* Sat Sep 28 2013 Dan Walsh - 2.1.14-82 +- Improvements to sepolicy gui + - Add more help information + - Cleanup code + - Add deny_ptrace on lockdown screen + - Make unconfined/permissivedomains lockdown work + - Add more support for file equivalency + +* Wed Sep 18 2013 Dan Walsh - 2.1.14-81 +- Add back in the help png files +- Begin Adding support for file equivalency. + +* Wed Sep 4 2013 Dan Walsh - 2.1.14-80 +- Random fixes for sepolicy gui + * Do not prompt for password until you make a change + * Add user mappings and selinux users page + * lots of code cleanup + +- Verify homedir is owned by user before mounting over it with seunshare +- Fix fixfiles to handle Relabel properly +- Fix semanage fcontext -e / command to allow "/" + +* Wed Sep 4 2013 Dan Walsh - 2.1.14-79 +- Add Miroslav Grepl setsebool patch to give better error message on bad boolean names +- Additional help screens for sepolicy gui + +* Tue Sep 3 2013 Dan Walsh - 2.1.14-78 +- Random fixes for sepolicy gui +- Update Translations + +* Fri Aug 30 2013 Dan Walsh - 2.1.14-77 +- Add help screens for each page +- Fixes for system page + +* Mon Aug 26 2013 Dan Walsh - 2.1.14-76 +- Add Miroslav Grepl Patch to handle semanage -i and semanage -o better +- Update Translations + +* Thu Aug 15 2013 Dan Walsh - 2.1.14-75 +- Update sepolicy gui code, cleanups and add file transition tab +- Fix semanage fcontext -a --ftype code to work. + +* Wed Aug 7 2013 Dan Walsh - 2.1.14-74 +- If policy is not installed get_bools should not crash + +* Wed Aug 7 2013 Dan Walsh - 2.1.14-73 +- Fix doc versioning + +* Tue Aug 6 2013 Dan Walsh - 2.1.14-72 +- Update sepolicy gui code, cleanups and add file transition tab +- Fix semanage argparse problems + +* Fri Aug 2 2013 Dan Walsh - 2.1.14-71 +- Update sepolicy gui code, adding dbus calls +- Update Translations + +* Fri Jul 26 2013 Dan Walsh - 2.1.14-70 +- Fix semanage argparse bugs +- Update Translations +- Add test suite for semanage command lines + +* Wed Jul 24 2013 Dan Walsh - 2.1.14-69 +- Fix semanage argparse bugs + +* Tue Jul 23 2013 Dan Walsh - 2.1.14-68 +- Fix bugs introduced by previous patch. semanage port +- Update Translations +- Add test suite for sepolicy command lines + +* Fri Jul 19 2013 Dan Walsh - 2.1.14-67 +- Fix bugs introduced by previous patch. semanage port +- Update Translations + +* Wed Jul 17 2013 Dan Walsh - 2.1.14-66 +- Rewrite argparse code in semanage and fix reload problem. + +* Tue Jul 16 2013 Dan Walsh - 2.1.14-65 +- Do not generate shell script or spec file for sepolicy generate --newtype +- Update translations +- Fix sepolicy generate --admin_user man page again +- Fix setsebool to print less verbose error messages by default, add -V for ve + +* Mon Jul 15 2013 Dan Walsh - 2.1.14-64 +- Move audit2allow and audit2why back into -python package + +* Wed Jul 10 2013 Dan Walsh - 2.1.14-63 +- Update sepolicy gui. +- Error out of you call sepolicy gui without policycoreutils-gui package installed +- Fix semanage login -d command +- Update Translations + +* Wed Jul 10 2013 Dan Walsh - 2.1.14-62 +- Update sepolicy gui. + +* Fri Jul 5 2013 Dan Walsh - 2.1.14-61 +- Add Ryan Hallisey sepolicy gui. +- Update Translations + +* Mon Jun 24 2013 Dan Walsh - 2.1.14-60 +- Fix semanage module error handling + +* Sun Jun 23 2013 Dan Walsh - 2.1.14-59 +- Add back default exception handling for errors, which argparse rewrite removed. + +* Fri Jun 21 2013 Dan Walsh - 2.1.14-58 +- Fix generation of booleans in man pages + +* Fri Jun 21 2013 Dan Walsh - 2.1.14-57 +- Remove requires for systemd-sysv +- Move systemd-units require to restorecond section +- Update Tranlasions +- More sepolicy interfaces for gui +- Cleanup man pages for sepolicy generate + +* Wed Jun 19 2013 Dan Walsh - 2.1.14-56 +- Fix semanage export/import commands +- Fix semange module command +- Remove --version option from sandbox + +* Tue Jun 18 2013 Dan Walsh - 2.1.14-55 +- Add man page doc for --role and bash complestion support for sepolicy --role + +* Tue Jun 18 2013 Dan Walsh - 2.1.14-54 +- Make fcdict return a dictionary of dictionaries +- Fix for sepolicy manpage + +* Mon Jun 17 2013 Dan Walsh - 2.1.14-53 +- Add new man pages for each semanage subsection + +* Mon Jun 17 2013 Dan Walsh - 2.1.14-52 +- Fix handling of sepolicy network sorting. +- Additional interfaces needed for sepolicy gui + +* Thu Jun 6 2013 Dan Walsh - 2.1.14-51 +- Fix handling of semanage args + +* Thu Jun 6 2013 Dan Walsh - 2.1.14-50 +- Fix sepolicy generate --confined_admin to generate tunables +- Add new interface to generate entrypoints for use with new gui + +* Wed Jun 5 2013 Dan Walsh - 2.1.14-49 +- Fix handing of semanage with no args + +* Tue Jun 4 2013 Dan Walsh - 2.1.14-48 +- Fix audit2allow -o to open file for append +- Fix the name of the spec file generated in the build script + +* Fri May 31 2013 Dan Walsh - 2.1.14-47 +- Fix mgrepl patch to support all semanage command parsing + +* Sun May 26 2013 Dan Walsh - 2.1.14-46 +- Fix the name of the spec file generated in the build script +- Add mgrepl patch to support argparse for semanage command parsing + +* Tue May 21 2013 Dan Walsh - 2.1.14-45 +- Fix sandbox to always use sandbox_file_t, so generated policy will work. +- Update Translations + +* Thu May 16 2013 Dan Walsh - 2.1.14-44 +- Fix sepolicy-generate man page to clear up options/policy type +- Add Miroslav Grepl to not generate man page when doing + sepolicy generate --customize +- Add support for executing semanage user within spec file +- Fix generation of confined admin domains, to handle booleans properly. + +* Tue May 14 2013 Dan Walsh - 2.1.14-43 +- Need to handle gziped policy.xml as well as not compressed. + +* Tue May 14 2013 Dan Walsh - 2.1.14-42 +- Add support for Xephyr -resizable, so sandbox can now resize window +- Add support for compressed policy.xml +- Miroslav Grepl patch to allow sepolicy interface on individual interface fil +- Also add capability to test interfaces for correctness. + +* Mon May 13 2013 Dan Walsh - 2.1.14-41 +- Apply patches from Sven Vermeulen for sepolgen to fix typos. + +* Mon May 13 2013 Dan Walsh - 2.1.14-40 +- Only require selinux-policy-devel for policycoreutils-devel, this will shrink the size of the livecd. + +* Sun May 12 2013 Dan Walsh - 2.1.14-39 +- Run sepolgen-ifgen in audit2allow and sepolicy generate, if needed, first time +- Add Sven Vermeulen patches to cleanup man pages + +* Fri May 10 2013 Dan Walsh - 2.1.14-38 +- No longer run sepolgen-ifgen at install time. +- Run sepolgen-ifgen in audit2allow and sepolicy generate, if needed. +- Update Translations + +* Mon Apr 22 2013 Dan Walsh - 2.1.14-37 +- Fix exceptionion hanling in audit2allow -o +- Generate Man pages for everydomain, not just ones with exec_t entrypoints +- sepolicy comunicate should return ValueError not TypeError +- Trim header line in sepolicy manpage to use less space +- Add missing options to restorecon man page + +* Thu Apr 11 2013 Dan Walsh - 2.1.14-36 +- Raise proper Exception on sepolicy communicate with invalid value + +* Wed Apr 10 2013 Dan Walsh - 2.1.14-35 +- Update translations +- Add patch by Miroslav Grepl to add compile test for sepolicy interface command. + +* Tue Apr 9 2013 Dan Walsh - 2.1.14-34 +- Update translations +- Add patch inspired by Miroslav Grepl to add extended information for sepolicy interface command. + +* Mon Apr 8 2013 Dan Walsh - 2.1.14-33 +- Update translations +- Add missing man pages and fixup existing man pages + +* Wed Apr 3 2013 Dan Walsh - 2.1.14-32 +- Move sepolicy to policycoreutils-devel pacage, since most of it is used for devel +- Apply Miroslav Grepl Patches for sepolicy +-- Fix generate mutually groups option handling +-- EUSER is used for existing policy +-- customize options can be used together with admin_domain option +-- Fix manpage.py to generate correct man pages for SELinux users +-- Fix policy *.te file generated by customize+writepaths options +-- Fix install script for confined_admin option + +* Mon Apr 1 2013 Dan Walsh - 2.1.14-31 +- Add post install scripts for gui to make sure Icon Cache is refreshed. +- Fix grammar issue in secon man page +- Update Translations + +* Thu Mar 28 2013 Dan Walsh - 2.1.14-30 +- Add buildrequires for OpenBox to prevent me from accidently building into RHEL7 +- Add support for returning alias data to sepolicy.info python bindings + +* Wed Mar 27 2013 Dan Walsh - 2.1.14-28 +- Fix audit2allow output to better align analysys with the allow rules +- Apply Miroslav Grepl patch to clean up sepolicy generate usage +- Apply Miroslav Grepl patch to fixupt handing of admin_user generation +- Update Tranlslations + +* Wed Mar 27 2013 Dan Walsh - 2.1.14-27 +- Allow semanage fcontext -a -t "<>" ... to work + +* Mon Mar 25 2013 Dan Walsh - 2.1.14-26 +- Can not unshare IPC in sandbox, since it blows up Xephyr +- Remove bogus error message sandbox about reseting setfsuid + +* Thu Mar 21 2013 Dan Walsh - 2.1.14-25 +- Fix sepolicy generate --customize to generate policy with -w commands + +* Thu Mar 21 2013 Dan Walsh - 2.1.14-24 +- sepolgen-ifgen needs to handle filename transition rules containing ":" + +* Tue Mar 19 2013 Dan Walsh - 2.1.14-23 +- sepolicy manpage: +- use nroff instead of man2html +- Remove checking for name of person who created the man page +- audit2allow +- Fix output to show the level that is different. + +* Thu Mar 14 2013 Dan Walsh - 2.1.14-22 +- Fix newrole to not drop capabilities from the bounding set. +- Stop dropping capabilities from its children. +- Add better error messages. +- Change location of bash_completion files to /usr/share/bash-completion/compl + +* Mon Mar 11 2013 Dan Walsh - 2.1.14-21 +- sepolicy generate should look for booleans that effect equivalence names, and add them to the man page + +* Thu Mar 7 2013 Dan Walsh - 2.1.14-20 +- Mention creation of permissive domains in sepolicy generate man page +- Change sepolicy manpage to use shortname with an "_" to stop accidently grabbing unrelated types for a domain. +- Fix audit2allow to show better information on constraint violations. + +* Wed Mar 6 2013 Dan Walsh - 2.1.14-19 +- Have restorecon exit -1 on errors for consistancy. + +* Tue Mar 5 2013 Dan Walsh - 2.1.14-18 +- Need to provide a value to semanage boolean -m + +* Mon Mar 4 2013 Dan Walsh - 2.1.14-17 +- Fix cut and paste errors for sepolicy network command + +* Fri Mar 1 2013 Dan Walsh - 2.1.14-16 +- Fix sepoicy interface to work properly + +* Thu Feb 28 2013 Dan Walsh - 2.1.14-15 +- Fix fixfiles to use exclude_dirs on fixfiles restore + +* Thu Feb 28 2013 Dan Walsh - 2.1.14-14 +- Allow users with symlinked homedirs to work. call realpath on homedir +- Fix sepolicy reorganization of helper functions. + +* Sun Feb 24 2013 Dan Walsh - 2.1.14-13 +- Update trans +- Fix sepolicy reorganization of helper functions. + +* Sun Feb 24 2013 Rahul Sundaram - 2.1.14-13 +- remove vendor tag from desktop file. https://fedorahosted.org/fpc/ticket/247 +- clean up spec to follow current guidelines + +* Fri Feb 22 2013 Dan Walsh - 2.1.14-12 +- Do not load interface file by default when sepolicy is called, mov get_all_methods to the sepolicy package + +* Fri Feb 22 2013 Dan Walsh - 2.1.14-11 +- sepolgen-ifgen should use the current policy path if selinux is enabled + +* Fri Feb 22 2013 Dan Walsh - 2.1.14-10 +- Fix sepolicy to be able to work on an SELinux disabled system. +- Needed to be able to build man pages in selinux-policy package + +* Thu Feb 21 2013 Dan Walsh - 2.1.14-9 +- Add yum to requires of policycoreutils-python since sepolicy requires it. + +* Thu Feb 21 2013 Dan Walsh - 2.1.14-8 +- Sepolixy should not throw an exception on an SELinux disabled machine +- Switch from using console app to using pkexec, so we will work better +with policykit. +- Add missing import to fix system-config-selinux startup +- Add comment to pamd files about pam_rootok.so +- Fix sepolicy generate to not comment out the first line + +* Wed Feb 20 2013 Dan Walsh - 2.1.14-7 +- Add --root/-r flag to sepolicy manpage, +- This allows us to generate man pages on the fly in the selinux-policy build + +* Mon Feb 18 2013 Dan Walsh - 2.1.14-6 +- Fix newrole to retain cap_audit_write when compiled with namespace, also +do not drop capabilities when run as root. + +* Thu Feb 14 2013 Dan Walsh - 2.1.14-5 +- Fix man page generation and public_content description + +* Thu Feb 14 2013 Dan Walsh - 2.1.14-4 +- Revert some changes which are causing the wrong policy version file to be created +- Switch sandbox to start using openbox rather then matchbox +- Make sepolgen a symlink to sepolicy +- update translations + +* Wed Feb 13 2013 Dan Walsh - 2.1.14-3 +- Fix empty system-config-selinux.png, again + +* Tue Feb 12 2013 Dan Walsh - 2.1.14-2 +- Fix empty system-config-selinux.png + +* Thu Feb 7 2013 Dan Walsh - 2.1.14-1 +- Update to upstream + * setfiles: estimate percent progress + * load_policy: make link at the destination directory + * Rebuild polgen.glade with glade-3 + * sepolicy: new command to unite small utilities + * sepolicy: Update Makefiles and po files + * sandbox: use sepolicy to look for sandbox_t + * gui: switch to use sepolicy + * gui: sepolgen: use sepolicy to generate + * semanage: use sepolicy for boolean dictionary + * add po file configuration information + * po: stop running update-po on all + * semanage: seobject verify policy types before allowing you to assign them. + * gui: Start using Popen, instead of os.spawnl + * sandbox: Copy /var/tmp to /tmp as they are the same inside + * qualifier to shred content + * semanage: Fix handling of boolean_sub names when using the -F flag + * semanage: man: roles instead of role + * gui: system-config-selinux: Catch no DISPLAY= error + * setfiles: print error if no default label found + * semanage: list logins file entries in semanage login -l + * semanage: good error message is sepolgen python module missing + * gui: system-config-selinux: do not use lokkit + * secon: add support for setrans color information in prompt output + * restorecond: remove /etc/mtab from default list + * gui: If you are not able to read enforcemode set it to False + * genhomedircon: regenerate genhomedircon more often + * restorecond: Add /etc/udpatedb.conf to restorecond.conf + * genhomedircon generation to allow spec file to pass in SEMODULE_PATH + * fixfiles: relabel only after specific date + * po: update translations + * sandbox: seunshare: do not reassign realloc value + * seunshare: do checking on setfsuid + * sestatus: rewrite to shut up coverity + +* Thu Jan 31 2013 Dan Walsh - 2.1.12-58 +- Reorginize sepolicy so all get_all functions are in main module +- Add -B capability to fixfiles onboot and fixfiles restore, basically searches for all files created since the last boot. + +* Fri Jan 25 2013 Dan Walsh - 2.1.12-57 +- Update to latest patches from eparis/Upstream +- fixfiles onboot will write any flags handed to it to /.autorelabel. +- * Patch sent to initscripts to have fedora-autorelabel pass flags back to fixfiles restore +- * This should allow fixfiles -F onboot, to force a hard relabel. +- Add -p to show progress on full relabel. + +* Tue Jan 15 2013 Dan Walsh - 2.1.12-56 +- Additional changes for bash completsion and generate man page to match the w +- Add newtype as a new qualifier to sepolicy generate. This new mechanism wil +- a policy write to generate types after the initial policy has been written a +- will autogenerate all of the interfaces. +- I also added a -w options to allow policy writers from the command line to s +- the writable directories of files. +- +- Modify network.py to include interface definitions for newly created port type +- Standardize of te_types just like all of the other templates. + +- Change permissive domains creation to raise exception if sepolgen is not ins +- get_te_results no longer needs or uses the opts parameter. +- The compliler was complaining so I just removed the option. +- Start returning analysis data for audit2allow + +* Tue Jan 15 2013 Dan Walsh - 2.1.12-55 +- Update Translations +- Fix handling of semanage generate --cgi -n MODULE PATHTO/CGI +- This fixes the spec file and script file getting wrong names for modules and types. + +* Wed Jan 9 2013 Dan Walsh - 2.1.12-54 +- Additional patch from Miroslav to handle role attributes + +* Wed Jan 9 2013 Dan Walsh - 2.1.12-53 +- Update with Miroslav patch to handle role attributes +- Update Translations +- import sepolicy will only throw exception on missing policy iff selinux is enabled + +* Sat Jan 5 2013 Dan Walsh - 2.1.12-52 +- Update to latest patches from eparis/Upstream +- secon: add support for setrans color information in prompt output +- Update translations + +* Fri Jan 4 2013 Dan Walsh - 2.1.12-51 +- Update translations +- Fix sepolicy booleans to handle autogenerated booleans descriptions +- Cleanups of sepolicy manpage +- Fix crash on git_shell man page generation + +* Thu Jan 3 2013 Dan Walsh - 2.1.12-50 +- Update translations +- update sepolicy manpage to generate fcontext equivalence data and to list +default file context paths. +- Add ability to generate policy for confined admins and domains like puppet. + +* Thu Dec 20 2012 Dan Walsh - 2.1.12-49 +- Fix semanage permissive , this time with the patch. +- Update translations + +* Wed Dec 19 2012 Dan Walsh - 2.1.12-48 +- Fix semanage permissive +- Change to use correct gtk forward button +- Update po + +* Mon Dec 17 2012 Dan Walsh - 2.1.12-47 +- Move audit2why to -devel package + +* Mon Dec 17 2012 Dan Walsh - 2.1.12-46 +- sepolicy transition was blowing up. Also cleanup output when only source is specified. +- sepolicy generate should allow policy modules names that include - or _ + +* Mon Dec 10 2012 Dan Walsh - 2.1.12-45 +- Apply patch from Miroslav to display proper range description in man pages g +- Should print warning on missing default label when run in recusive mode iff +- Remove extra -R description, and fix recursive description + +* Thu Dec 6 2012 Dan Walsh - 2.1.12-44 +- Additional fixes for disabled SELinux Box +- system-config-selinux no longer relies on lokkit for /etc/selinux/config + +* Thu Dec 6 2012 Dan Walsh - 2.1.12-43 +- sepolicy should failover to installed policy file on a disabled SELinux box, if it exists. + +* Wed Dec 5 2012 Dan Walsh - 2.1.12-42 +- Update Translations +- sepolicy network -d needs to accept multiple domains + +* Fri Nov 30 2012 Dan Walsh - 2.1.12-41 +- Add --path as a parameter to sepolicy generate +- Print warning message if program does not exists when generating policy, and do not attempt to run nm command +- Fix sepolicy generate -T to not take an argument, and supress the help message +- Since this is really just a testing tool + +* Fri Nov 30 2012 Dan Walsh - 2.1.12-40 +- Fix sepolicy communicate to handle invalid input + +* Thu Nov 29 2012 Dan Walsh - 2.1.12-39 +- Fix sepolicy network -p to handle high ports + +* Thu Nov 29 2012 Dan Walsh - 2.1.12-38 +- Fix handling of manpages without entrypoints, nsswitch domains +- Update Translations + +* Wed Nov 28 2012 Dan Walsh - 2.1.12-37 +- Move sepogen python bindings back into policycoreutils-python out of -devel, since sepolicy is using the + +* Tue Nov 27 2012 Dan Walsh - 2.1.12-36 +- Fix sepolicy/__init__.py to handle _() + +* Wed Nov 21 2012 Dan Walsh - 2.1.12-35 +- Add Miroslav Grepl patch to create etc_rw_t sock files policy + +* Fri Nov 16 2012 Dan Walsh - 2.1.12-34 +- Fix semanage to work without policycoreutils-devel installed +- Update translations + +* Tue Nov 13 2012 Dan Walsh - 2.1.12-33 +- Fix semanage login -l to list contents of /etc/selinux/POLICY/logins directory + +* Tue Nov 13 2012 Dan Walsh - 2.1.12-32 +- Fix booleansPage not showing booleans +- Fix audit2allow -b + +* Tue Nov 13 2012 Dan Walsh - 2.1.12-31 +- Fix sepolicy booleans again +- Fix man page + +* Mon Nov 12 2012 Dan Walsh - 2.1.12-30 +- Move policy generation tools into policycoreutils-devel + +* Mon Nov 12 2012 Dan Walsh - 2.1.12-29 +- Document and fix sepolicy booleans +- Update Translations +- Fix several spelling mistakes + +* Wed Nov 7 2012 Dan Walsh - 2.1.12-27 +- Only report restorecon warning for missing default label, if not running +recusively +- Update translations + +* Mon Nov 5 2012 Dan Walsh - 2.1.12-26 +- Fix semanage booleans -l, move more boolean_dict handling into sepolicy +- Update translations +- Fixup sepolicy generate to discover /var/log, /var/run and /var/lib directories if they match the name +- Fix kill function call should indicate signal_perms not kill capability +- Error out cleanly in system-config-selinux, if it can not contact XServer + +* Mon Nov 5 2012 Dan Walsh - 2.1.12-25 +- Remove run_init, no longer needed with systemd. +- Fix sepolicy generate to not include subdirs in generated fcontext file. (mgrepl patch) + +* Sat Nov 3 2012 Dan Walsh - 2.1.12-24 +- Fix manpage to generate proper man pages for alternate policy, +basically allow me to build RHEL6 man pages on a Fedora 18 box, as long as +I pull the policy, policy.xml and file_contexts and file_contexts.homedir + +* Thu Nov 1 2012 Dan Walsh - 2.1.12-23 +- Fix some build problems in sepolicy manpage and sepolicy transition + +* Tue Oct 30 2012 Dan Walsh - 2.1.12-22 +- Add alias man pages to sepolicy manpage + +* Mon Oct 29 2012 Dan Walsh - 2.1.12-21 +- Redesign sepolicy to only read the policy file once, not for every call + +* Mon Oct 29 2012 Dan Walsh - 2.1.12-20 +- Fixes to sepolicy transition, allow it to list all transitions from a domain + +* Sat Oct 27 2012 Dan Walsh - 2.1.12-19 +- Change sepolicy python bindings to have python pick policy file, fixes weird memory problems in sepolicy network + +* Fri Oct 26 2012 Dan Walsh - 2.1.12-18 +- Allow sepolicy to specify the policy to generate content from + +* Thu Oct 25 2012 Dan Walsh - 2.1.12-17 +- Fix semanage boolean -F to handle boolean subs + +* Thu Oct 25 2012 Dan Walsh - 2.1.12-16 +- Add Miroslav Grepl patch to generate html man pages +- Update Translations +- Add option to sandbox to shred files before deleting + +* Mon Oct 22 2012 Dan Walsh - 2.1.12-15 +- Add Requires(post) PKGNAME to sepolicy generate /usr/bin/pkg + +* Fri Oct 19 2012 Dan Walsh - 2.1.12-14 +- Add role_allow to sepolicy.search python bindings, this allows us to remove last requirement for setools-cmdline in gui tools. +- Fix man page generator. + +* Wed Oct 17 2012 Dan Walsh - 2.1.12-13 +- Remove dwalsh@redhat.com from man pages +- Fix spec file for sepolicy generate + +* Wed Oct 17 2012 Dan Walsh - 2.1.12-12 +- Add missing spec.py from templates directory needed for sepolicy generate +- Add /var/tmp as collection point for sandbox apps. + +* Tue Oct 16 2012 Dan Walsh - 2.1.12-11 +- Handle audit2allow -b in foreign locales + +* Tue Oct 16 2012 Dan Walsh - 2.1.12-10 +- Update sepolicy generate with patch to create spec file and man page. +- Patch initiated by Miroslav Grepl + +* Wed Oct 10 2012 Dan Walsh - 2.1.12-9 +- Fix semanage to verify that types are appropriate for commands. + * Patch initiated by mgrepl + * Fixes problem of specifying non file_types for fcontext, or not port_types for semanage port + +* Tue Oct 9 2012 Dan Walsh - 2.1.12-8 +- Fix typo in preunstall line for restorecond +- Add mgrepl patch to consolidate file context generated by sepolicy generate + +* Mon Oct 8 2012 Dan Walsh - 2.1.12-7 +- Fix manpage generation, missing import +- Add equiv_dict to get samba booleans into smbd_selinux +- Add proper translations for booleans and remove selinux.tbl + +* Sat Oct 6 2012 Dan Walsh - 2.1.12-6 +- Fix system-config-selinux to use sepolicy.generate instead of sepolgen + +* Thu Oct 4 2012 Dan Walsh - 2.1.12-5 +- Add sepolicy commands, and change tools to use them. + +* Tue Sep 25 2012 Dan Walsh - 2.1.12-4 +- Rebuild without bogus prebuild 64 bit seunshare app + +* Sun Sep 16 2012 Dan Walsh - 2.1.12-3 +- Allow fixfiles to specify -v, so they can get verbosity rather then progress. +- Fix load_file Makefile to use SBINDIR rather then real OS. +- Fix man pages in setfiles and restorecon to reflect what happens when you relabel the entire OS. + +* Sun Sep 16 2012 Dan Walsh - 2.1.12-2 +- Use systemd post install scriptlets + +* Thu Sep 13 2012 Dan Walsh - 2.1.12-1 +- Update to upstream + * genhomedircon: manual page improvements + * setfiles/restorecon minor improvements + * run_init: If open_init_pty is not available then just use exec + * newrole: do not drop capabilities when newrole is run as + * restorecon: only update type by default + * scripts: Don't syslog setfiles changes on a fixfiles restore + * setfiles: do not syslog if no changes + * Disable user restorecond by default + * Make restorecon return 0 when a file has changed context + * setfiles: Fix process_glob error handling + * semanage: allow enable/disable under -m + * add .tx to gitignore + * translations: commit translations from Fedora community + * po: silence build process + * gui: Checking in policy to support polgengui and sepolgen. + * gui: polgen: search for systemd subpackage when generating policy + * gui: for exploring booleans + * gui: system-config-selinux gui + * Add Makefiles to support new gui code + * gui: remove lockdown wizard + * return equivalency records in fcontext customized + * semanage: option to not load new policy into kernel after + * sandbox: manpage update to describe standard types + * setsebool: -N should not reload policy on changes + * semodule: Add -N qualifier to no reload kernel policy + * gui: polgen: sort selinux types of user controls + * gui: polgen: follow symlinks and get the real path to + * gui: Fix missing error function + * setfiles: return errors when bad paths are given + * fixfiles: tell restorecon to ignore missing paths + * setsebool: error when setting multiple options + * semanage: use boolean subs. + * sandbox: Make sure Xephyr never listens on tcp ports + * sepolgen: return and output constraint violation information + * semanage: skip comments while reading external configuration files + * restorecond: relabel all mount runtime files in the restorecond example + * genhomedircon: dynamically create genhomedircon + * Allow returning of bastard matches + * sepolgen: return and output constraint violation information + * audit2allow: one role/type pair per line + +* Wed Aug 8 2012 Dan Walsh - 2.1.11-6 +- Change polgen to generate dbus apps as optional so they can compile on minimal policy system, patch from Miroslav Grepl + +* Fri Jul 27 2012 Dan Walsh - 2.1.11-5 +- Fix sepolgen/audit2allow to handle multiple role/types in avc messages properly + +* Thu Jul 19 2012 Dan Walsh - 2.1.11-4 +- Fix restorecon to generate a better percentage of completion on restorecon -R /. +- Have audit2allow look at the constaint violation and tell the user whether it +- is because of user,role or level + + +* Wed Jul 11 2012 Dan Walsh - 2.1.11-3 +- userapps is generating sandbox code in polgengui + +* Thu Jul 5 2012 Dan Walsh - 2.1.11-2 +- Remove load_policy symbolic link on usrmove systems this breaks the system + +* Wed Jul 4 2012 Dan Walsh - 2.1.11-1 +- Update to upstream + - policycoreutils + * restorecond: wrong options should exit with non-zero error code + * restorecond: Add -h option to get usage command + * resorecond: user: fix fd leak + * mcstrans: add -f to run in foreground + * semanage: fix man page range and level defaults + * semanage: bash completion for modules should include -a,-m, -d + * semanage: manpage update for -e + * semanage: dontaudit off should work + * semanage: locallist option does not take an argument + * sepolgen: Make use of setools optional within sepolgen + - sepolgen + * Make use of setools optional within sepolgen + * We need to support files that have a + in them + +* Thu May 24 2012 Dan Walsh - 2.1.11-18 +- Make restorecon exit with an error on a bad path + +* Thu May 24 2012 Dan Walsh - 2.1.11-17 +- Fix setsebool command, handling of = broken. +- Add missing error option in booleansPage + +* Sun May 20 2012 Dan Walsh - 2.1.11-16 +- Fix sepolgen to use realpath on executables handed to it. - Brian Bickford + +* Fri May 18 2012 Dan Walsh - 2.1.11-15 +- Allow stream sock_files to be stored in /tmp and etc_rw_t directories by sepolgen +- Trigger on selinux-policy needs to change to selinux-policy-devel +- Update translations +- Fix semanage dontaudit off/on exception + +* Tue May 8 2012 Dan Walsh - 2.1.11-12 +- Add -N qualifier to semanage, setsebool and semodule to allow you to update +- policy without reloading it into the kernel. + +* Thu May 3 2012 Dan Walsh - 2.1.11-11 +- add some definition to the standard types available for sandboxes + +* Tue May 1 2012 Dan Walsh - 2.1.11-10 +- Remove lockdown wizard + +* Mon Apr 30 2012 Dan Walsh - 2.1.11-9 +- Fix semanage fcontext -E to extract the equivalance customizations. + +* Thu Apr 26 2012 Dan Walsh - 2.1.11-8 +- Add mgrepl patch to have sepolgen search for -systemd rpm packages + +* Tue Apr 24 2012 Dan Walsh - 2.1.11-7 +- Apply Stef Walter patch for semanage man page + +* Mon Apr 23 2012 Dan Walsh - 2.1.11-6 +- Rebuild to get latest libsepol which fixes the file_name transition problems +- Update translations +- Fix calls to close fd for restorecond + +* Fri Apr 13 2012 Dan Walsh - 2.1.11-5 +- Update translations +- Fix sepolgen to discover unit files in /lib/systemd/ + +* Tue Apr 3 2012 Dan Walsh - 2.1.11-4 +- Update translations +- Fix segfault on restorecon + +* Tue Apr 3 2012 Dan Walsh - 2.1.11-3 +- Allow filename transitions to use + in a file name + +* Fri Mar 30 2012 Dan Walsh - 2.1.11-2 +- Change policycoreutils-python to require selinux-policy-devel package + +* Thu Mar 29 2012 Dan Walsh - 2.1.11-1 +- Update to upstream + - policycoreutils + * sandbox: do not propogate inside mounts outside + * sandbox: Removing sandbox init script, should no longer be necessary + * restorecond: Stop using deprecated interfaces for g_io + * semanage: proper auditting of user changes for LSPP + * semanage: audit message to show what record(s) and item(s) have chaged + * scripts: Update Makefiles to handle /usrmove + * mcstrans: Version should have been bumped on last check in + * seunshare: Only drop caps not the Bounding Set from seunshare + * Add bash-completion scripts for setsebool and semanage + * newrole: Use correct capng calls in newrole + * Fix infinite loop with inotify on 2.6.31 kernels + * fix ftbfs with hardening flags + * Only run setfiles if we found read-write filesystems to run it on + * update .po files + * remove empty po files + * do not fail to install if unable to make load_policy lnk file + + - sepolgen + * Fix dead links to www.nsa.gov/selinux + * audit.py Dont crash if empty data is passed to sepolgen + * do not use md5 when calculating hash signatures + * fix detection of policy loads + +* Wed Mar 28 2012 Dan Walsh - 2.1.10-30 +- Have sepolgen script specify the pp file with the make command. From mgrepl. + +* Wed Mar 21 2012 Dan Walsh - 2.1.10-29 +- Fix sepolgen handling of unit files. + +* Thu Mar 8 2012 Dan Walsh - 2.1.10-28 +- Require selinux-policy-doc + +* Thu Mar 8 2012 Dan Walsh - 2.1.10-27 +- Fix unit file handling in sepolgen + +* Wed Feb 29 2012 Dan Walsh - 2.1.10-26 +- Add bash_command completion for setsebool/getsebool + +* Mon Feb 27 2012 Dan Walsh - 2.1.10-25 +- Disable restorecond on desktop by default +- Change seunshare to not modify the bounding set + +* Mon Feb 20 2012 Dan Walsh - 2.1.10-24 +- Stop using sandbox init in post install since it no longer exists. + +* Thu Feb 16 2012 Dan Walsh - 2.1.10-23 +- Change to use new selinux_current_policy_path() + +* Wed Feb 15 2012 Dan Walsh - 2.1.10-22 +- Change to use new selinux_binary_policy_path() +- Add systemd_passwd_agent_exec($1), and systemd_read_fifo_file_passwd_run($1) to templates for _admin interface + +* Fri Feb 3 2012 Dan Walsh - 2.1.10-21 +- On full relabels we will now show a estimated percent complete rather then +just *s. + +* Wed Feb 1 2012 Dan Walsh - 2.1.10-20 +- Add unit_file.py for sepolgen + +* Tue Jan 31 2012 Dan Walsh - 2.1.10-19 +- Change sepolgen to use sha256 instead of md5 + +* Mon Jan 30 2012 Dan Walsh - 2.1.10-18 +- Stop syslogging on full restore +- Stop syslogging when restorecon is not changing values + +* Fri Jan 27 2012 Dan Walsh - 2.1.10-17 +- Change semanage to produce proper audit records for Common Criteria +- Cleanup packaging for usrmove + +* Thu Jan 26 2012 Harald Hoyer 2.1.10-16 +- fixed load_policy location + +* Thu Jan 26 2012 Harald Hoyer 2.1.10-15 +- fixed load_policy location + +* Thu Jan 26 2012 Harald Hoyer 2.1.10-14 +- fixed load_policy location + +* Wed Jan 25 2012 Harald Hoyer 2.1.10-13 +- add filesystem guard + +* Wed Jan 25 2012 Harald Hoyer 2.1.10-12 +- install everything in /usr + https://fedoraproject.org/wiki/Features/UsrMove + +* Tue Jan 24 2012 Dan Walsh - 2.1.10-11 +- restorecond fixes: + Stop using depracated g_io interfaces + Exit with non zero exit code if wrong options given + Add -h option + +* Thu Jan 19 2012 Dan Walsh - 2.1.10-10 +- Eliminate not needed Requires + +* Wed Jan 18 2012 Dan Walsh - 2.1.10-9 +- fix sepolgen to not crash on echo "" | audit2allow + +* Mon Jan 16 2012 Dan Walsh - 2.1.10-8 +- Remove sandbox init script, should no longer be necessary + +* Sun Jan 15 2012 Dan Walsh - 2.1.10-7 +- Add unit file support to sepolgen, and cleanup some of the output. + +* Mon Jan 9 2012 Dan Walsh - 2.1.10-5 +- Fix English in templates for sepolgen + +* Fri Dec 23 2011 Dan Walsh - 2.1.10-4 +- Fix the handling of namespaces in seunshare/sandbox. +- Currently mounting of directories within sandbox is propogating to the +- parent namesspace. + +* Thu Dec 22 2011 Dan Walsh - 2.1.10-3 +- Add umount code to seunshare to cleanup left over mounts of /var/tmp + +* Wed Dec 21 2011 Dan Walsh - 2.1.10-2 +- Remove open_init_pty + +* Wed Dec 21 2011 Dan Walsh - 2.1.10-1 +-Update to upstream +- sepolgen + * better analysis of why things broke +- policycoreutils + * Remove excess whitespace + * sandbox: Add back in . functions to sandbox.init script + * Fix Makefile to match other policycoreutils Makefiles + * semanage: drop unused translation getopt + +* Thu Dec 15 2011 Dan Walsh - 2.1.9-3 +- Bump libsepol version requires rebuild + +* Wed Dec 7 2011 Dan Walsh - 2.1.9-2 +- Add back accidently dropped patches for semanage + +* Tue Dec 6 2011 Dan Walsh - 2.1.9-1 +- Upgrade to upstream + * sandbox: move sandbox.conf.5 to just sandbox.5 + * po: Makefile use -p to preserve times to allow multilib simultatious installs + * of po files + * sandbox: Allow user to specify the DPI value for X in a sandbox + * sandbox: make sure the domain launching sandbox has at least 100 categories + * sandbox: do not try forever to find available category set + * sandbox: only complain if sandbox unable to launch + * sandbox: init script run twice is still successful + * semanage: print local and dristo equiv rules + * semanage: check file equivalence rules for conflict + * semanage: Make sure semanage fcontext -l -C prints even if local keys + * are not defined + * semanage: change src,dst to target,substitute for equivalency + * sestatus: Updated sestatus and man pages. + * Added SELinux config file man page. + * add clean target to man Makefile + +* Wed Nov 30 2011 Dan Walsh - 2.1.8-8 +- Fix semange fcontext -a to check for more conflicts on equivalency + +* Tue Nov 29 2011 Dan Walsh - 2.1.8-7 +- Fix dpi handling in sandbox +- Make sure semanage fcontext -l -C prints if only local equiv have changed + +* Wed Nov 16 2011 Dan Walsh - 2.1.8-6 +- Add listing of distribution equivalence class from semanage fcontext -l +- Add checking to semanage fcontext -a to guarantee a file specification will not be masked by an equivalence + +* Wed Nov 16 2011 Dan Walsh - 2.1.8-5 +- Allow ~ as a valid part of a filename in sepolgen + +* Fri Nov 11 2011 Dan Walsh - 2.1.8-4 +- sandbox init script should always return 0 +- sandbox command needs to check range of categories and report error if not big enough + +* Mon Nov 7 2011 Dan Walsh - 2.1.8-3 +- Allow user to specify DPI when running sandbox + +* Mon Nov 7 2011 Dan Walsh - 2.1.8-2 +- Add Miroslav patch to return all attributes + +* Fri Nov 4 2011 Dan Walsh - 2.1.8-1 +- Upgrade to policycoreutils upstream + * sandbox: Maintain the LANG environment into the sandbox + * audit2allow: use audit2why internally + * fixfiles: label /root but not /var/lib/BackupPC + * semanage: update local boolean settings is dealing with localstore + * semanage: missing modify=True + * semanage: set modified correctly + * restorecond: make restorecond dbuss-able + * restorecon: Always check return code on asprintf + * restorecond: make restorecond -u exit when terminal closes + * sandbox: introduce package name and language stuff + * semodule_package: remove semodule_unpackage on clean + * fix sandbox Makefile to support DESTDIR + * semanage: Add -o description to the semanage man page + * make use of the new realpath_not_final function + * setfiles: close /proc/mounts file when finished + * semodule: Document semodule -p in man page + * setfiles: fix use before initialized + * restorecond: Add .local/share as a directory to watch +- Upgrade to sepolgen upstream + * Ignore permissive qualifier if found in an interface + * Return name field in avc data + +* Mon Oct 31 2011 Dan Walsh - 2.1.7-6 +- Rebuild versus newer libsepol + +* Fri Oct 28 2011 Dan Walsh - 2.1.7-5 +- A couple of minor coverity fixes for a potential leaked file descriptor +- An an unchecked return code. +- Add ~/.local/share/* to restorecond_user watches + +* Thu Oct 13 2011 Dan Walsh - 2.1.7-4 +- Have sepolgen return name field in AVC + +* Thu Oct 6 2011 Dan Walsh - 2.1.7-3 +- restorecond -u needs to watch terminal for exit if run outside of dbus. + +* Tue Oct 4 2011 Dan Walsh - 2.1.7-2 +- Do not drop capabilities if running newrole as root + +* Fri Sep 30 2011 Dan Walsh - 2.1.7-1 +-Update to upstream + * semanage: fix indentation error in seobject + +* Thu Sep 29 2011 Dan Walsh - 2.1.6-3 +- Ignore permissive commands in interfaces + +* Thu Sep 29 2011 Dan Walsh - 2.1.6-2 +- Remove gnome requirement from polgengui + +* Mon Sep 19 2011 Dan Walsh - 2.1.6-1 +-Update to upstream + policycoreutils-2.1.6 + * sepolgen-ifgen: new attr-helper does something + * audit2allow: use alternate policy file + * audit2allow: sepolgen-ifgen use the attr helper + * setfiles: switch from stat to stat64 + * setfiles: Fix potential crash using dereferenced ftsent + * setfiles: do not wrap * output at 80 characters + * sandbox: add -Wall and -Werror to makefile + * sandbox: add sandbox cgroup support + * sandbox: rewrite /tmp handling + * sandbox: do not bind mount so much + * sandbox: add level based kill option + * sandbox: cntrl-c should kill entire process control group + * Create a new preserve_tunables flag in sepol_handle_t. + * semanage: show running and disk setting for booleans + * semanage: Dont print heading if no items selected + * sepolgen: audit2allow is mistakakenly not allowing valid module names + * semanage: Catch RuntimeErrors, that can be generated when SELinux is disabled + * More files to ignore + * tree: default make target to all not install + * sandbox: do not load unused generic init functions + sepolgen-1.1.2 + * src: sepolgen: add attribute storing infrastructure + * Change perm-map and add open to try to get better results on + * look for booleans that might solve problems + * sepolgen: audit2allow is mistakakenly not allowing valid module names + * tree: default make target to all not install + +* Wed Sep 14 2011 Dan Walsh - 2.1.5-6 +- Change separator on -L from ; to : + +* Thu Sep 8 2011 Dan Walsh - 2.1.5-5 +- Add back lockdown wizard for booleans using pywebkitgtk + +* Wed Sep 7 2011 Dan Walsh - 2.1.5-4 +- Maintain the LANG environment Variable into the sandbox +- Change restorecon/setfiles to only change type part of the context unless + -f qualifier is given + +* Tue Sep 6 2011 Dan Walsh - 2.1.5-3 +- Remove lockdown wizard, since gtkhtml2 is no longer supported. + +* Fri Sep 2 2011 Dan Walsh - 2.1.5-2 +- Allow setfiles and restorecon to use labeledprefix to speed up processing +and limit memory. + +* Tue Aug 30 2011 Dan Walsh - 2.1.5-1 +-Update to upstream + * policycoreutils + * setfiles: Fix process_glob to handle error situations + * sandbox: Allow seunshare to run as root + * sandbox: trap sigterm to make sure sandbox + * sandbox: pass DPI from the desktop + * sandbox: seunshare: introduce helper spawn_command + * sandbox: seunshare: introduce new filesystem helpers + * sandbox: add -C option to not drop + * sandbox: split seunshare caps dropping + * sandbox: use dbus-launch + * sandbox: numerous simple updates to sandbox + * sandbox: do not require selinux context + * sandbox: Makefile: new man pages + * sandbox: rename dir to srcdir + * sandbox: allow users specify sandbox window size + * sandbox: check for paths up front + * sandbox: use defined values for paths rather + * sandbox: move seunshare globals to the top + * sandbox: whitespace fix + * semodule_package: Add semodule_unpackage executable + * setfiles: get rid of some stupid globals + * setfiles: move exclude_non_seclabel_mounts to a generic location + * sepolgen + * refparser: include open among valid permissions + * refparser: add support for filename_trans rules + +* Thu Aug 18 2011 Dan Walsh - 2.1.4-2 +- Fix bug in glob handling for restorecon + +* Thu Aug 18 2011 Dan Walsh - 2.1.4-1 +-Update to upstream +2.1.4 2011-08-17 + * run_init: clarification of the usage in the + * semanage: fix usage header around booleans + * semanage: remove useless empty lines + * semanage: update man page with new examples + * semanage: update usage text + * semanage: introduce file context equivalencies + * semanage: enable and disable modules + * semanage: output all local modifications + * semanage: introduce extraction of local configuration + * semanage: cleanup error on invalid operation + * semanage: handle being called with no arguments + * semanage: return sooner to save CPU time + * semanage: surround getopt with try/except + * semanage: use define/raise instead of lots of + * semanage: some options are only valid for + * semanage: introduce better deleteall support + * semanage: do not allow spaces in file + * semanage: distinguish between builtin and local permissive + * semanage: centralized ip node handling + * setfiles: make the restore function exclude() non-static + * setfiles: use glob to handle ~ and + * fixfiles: do not hard code types + * fixfiles: stop trying to be smart about + * fixfiles: use new kernel seclabel option + * fixfiles: pipe everything to cat before sending + * fixfiles: introduce /etc/selinux/fixfiles_exclude_dirs + * semodule: support for alternative root paths + +2.1.3 2011-08-03 + * semanage: fix indention + * semodule_package: fix man page typo + * semodule_expand: update man page with -a + * semanage: handle os errors + * semanage: fix traceback with bad options + * semanage: show usage on -h or --help + * semanage: introduce more deleteall options + * semanage: verify ports < 65536 + * transaction into semanageRecords + * make get_handle a method of semanageRecords + * remove a needless blank line + * make process_one error if not initialized correctly + * fixfiles: correct usage for r_opts.rootpath + * put -p in help for restorecon and + * fixfiles: do not try to only label + * fixfiles clean up /var/run and /var/lib/debug + * fixfiles delete tmp sockets and pipes rather + * fixfile use find -delete instead of pipe + * chcat man page typo + * add man page for genhomedircon + * setfiles fix typo + * setsebool should inform users they need to + * setsebool typos + * open_init_tty man page typos + * Don't add user site directory to sys.path + * newrole retain CAP_SETPCAP + +2.1.2 2011-08-02 + * seunshare: define _GNU_SOURCE earlier + * make ignore_enoent do something + * restorecond: first user logged in is not noticed + * Repo: update .gitignore + +2.1.1 2011-08-01 + * Man page updates + * restorecon fix for bad inotify assumptions + +2.1.0 2011-07-27 + * Release, minor version bump + +* Tue Jul 26 2011 Dan Walsh 2.0.86-20 +- Fix sepolgen usage statement +- Stop using -k insandbox +- Fix seunshare usage statement + +* Thu Jul 7 2011 Dan Walsh 2.0.86-18 +- Change seunshare to send kill signals to the childs session. +- Also add signal handler to catch sigint, so if user enters ctrl-C sandbox will shutdown. + +* Wed Jul 6 2011 Dan Walsh 2.0.86-17 +- Add -k qualifier to seunshare to have it attempt to kill all processes with +the matching MCS label. + +* Tue Jul 5 2011 Dan Walsh 2.0.86-16 +- Add -C option to sandbox and seunshare to maintain capabilities, otherwise +the bounding set will be dropped. +- Change --cgroups short name -c rather then -C for consistancy +- Fix memory and fd leaks in seunshare + +* Wed Jun 29 2011 Jóhann B. Guðmundsson - 2.0.86-15 +- Introduce systemd unit file for restorecond drop SysV support + +* Mon Jun 13 2011 Dan Walsh 2.0.86-14 +- Do not drop capability bounding set in seunshare, this allows sandbox to +- run setuid apps. + +* Fri Jun 10 2011 Dan Walsh 2.0.86-13 +- Add semanage-bash-completion.sh script + +* Tue Jun 7 2011 Dan Walsh 2.0.86-12 +- Remove mount -o bind calls from sandbox init script +- pam_namespace now has this built in. + +* Tue Jun 7 2011 Dan Walsh 2.0.86-11 +- Pass desktop dpi to sandbox Xephyr window + +* Mon Jun 6 2011 Dan Walsh 2.0.86-10 +- Allow semodule to pick alternate root for selinux files +- Add ~/.config/* to restorcond_user.conf, so restorecond will watch for mislabeled files in this directory. + +* Wed May 25 2011 Dan Walsh 2.0.86-9 +- Fix var_spool template read_spool_files +- Fix sepolgen to handle filename transitions + +* Mon May 23 2011 Dan Walsh 2.0.86-8 +- Templates cleanedup by Dominic Grift + +* Fri Apr 29 2011 Dan Walsh 2.0.86-7 +- Clean up some of the templates for sepolgen + +* Fri Apr 22 2011 Dan Walsh 2.0.86-6 +- Apply patches from Christoph A. + * fix sandbox title + * stop xephyr from li +- Also ignore errors on sandbox include of directory missing files + +* Thu Apr 21 2011 Dan Walsh 2.0.86-5 +- rebuild versus latest libsepol + +* Mon Apr 18 2011 Dan Walsh 2.0.86-4 +- Change fixfiles restore to delete unlabeled sockets in /tmp + +* Mon Apr 18 2011 Dan Walsh 2.0.86-2 +- rebuild versus latest libsepol + +* Tue Apr 12 2011 Dan Walsh 2.0.86-1 +- Update to upstream + * Use correct color range in mcstrand by Richard Haines. + +* Mon Apr 11 2011 Dan Walsh 2.0.85-30 +- Add Elia Pinto patches to allow user to specify directories to ignore + +* Tue Apr 5 2011 Dan Walsh 2.0.85-29 +- Fix policycoreutils-sandbox description + +* Tue Mar 29 2011 Dan Walsh 2.0.85-28 +- rsynccmd should run outside of execcon + +* Thu Mar 24 2011 Dan Walsh 2.0.85-27 +- Fix semange node handling of ipv6 addresses + +* Wed Mar 23 2011 Dan Walsh 2.0.85-26 +- Fix sepolgen-ifgen call, add -p option + +* Wed Mar 23 2011 Dan Walsh 2.0.85-25 +- Fix sepolgen-ifgen call + +* Fri Mar 18 2011 Dan Walsh 2.0.85-24 +- Fix rsync command to work if the directory is old. +- Fix all tests + +* Wed Mar 16 2011 Dan Walsh 2.0.85-23 +- Fix sepolgen to generate network polcy using generic_if and genric_node versus all_if and all_node + +* Wed Mar 16 2011 Dan Walsh 2.0.85-22 +- Return to original seunshare man page + +* Fri Mar 11 2011 Dan Walsh 2.0.85-21 +- change default location of HOMEDIR in sandbox to /tmp/.sandbox_home_* +- This will allow default sandboxes to work on NFS homedirs without allowing + access to homedir data + +* Fri Mar 11 2011 Dan Walsh 2.0.85-20 +- Change sepolgen-ifgen to search all available policy files +- Exit in restorecond if it can not find a UID in the passwd database + +* Wed Mar 9 2011 Dan Walsh 2.0.85-19 +- Fix portspage in system-config-selinux to not crash +- More fixes for seunshare from Tomas Hoger + +* Tue Mar 8 2011 Dan Walsh 2.0.85-18 +- put back in old handling of -T in sandbox command +- Put back setsid in seunshare +- Fix rsync to maintain times + +* Tue Mar 8 2011 Dan Walsh 2.0.85-17 +- Use rewritten seunshare from thoger + +* Mon Mar 7 2011 Dan Walsh 2.0.85-16 +- Require python-IPy for policycoreutils-python package +- Fixes for sepologen + - Usage statement needs -n name + - Names with _ are being prevented + - dbus apps should get _chat interface + +* Thu Mar 3 2011 Dan Walsh 2.0.85-15 +- Fix error message in seunshare, check for tmpdir existance before unlink. + +* Fri Feb 25 2011 Dan Walsh 2.0.85-13 +- Rewrite seunshare to make sure /tmp is mounted stickybit owned by root +- Only allow names in polgengui that contain letters and numbers +- Fix up node handling in semanage command +- Update translations + +* Wed Feb 09 2011 Fedora Release Engineering - 2.0.85-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Thu Feb 3 2011 Dan Walsh 2.0.85-11 +- Fix sandbox policy creation with udp connect ports + +* Thu Feb 3 2011 Dan Walsh 2.0.85-10 +- Cleaup selinux-polgengui to be a little more modern, fix comments and use selected name +- Cleanup chcat man page + +* Wed Feb 2 2011 Dan Walsh 2.0.85-9 +- Report full errors on OSError on Sandbox + +* Fri Jan 21 2011 Dan Walsh 2.0.85-8 +- Fix newrole hanlding of pcap + +* Wed Jan 19 2011 Dan Walsh 2.0.85-7 +- Have restorecond watch more directories in homedir + +* Fri Jan 14 2011 Dan Walsh 2.0.85-6 +- Add sandbox to sepolgen + +* Thu Jan 6 2011 Dan Walsh 2.0.85-4 +- Fix proper handling of getopt errors +- Do not allow modules names to contain spaces + +* Wed Jan 5 2011 Dan Walsh 2.0.85-3 +- Polgengui raises the wrong type of exception. #471078 +- Change semanage to not allow it to semanage module -D +- Change setsebool to suggest run as root on failure + +* Wed Dec 22 2010 Dan Walsh 2.0.85-2 +- Fix restorecond watching utmp file for people logging in our out + +* Tue Dec 21 2010 Dan Walsh 2.0.85-1 +- Update to upstream + +* Thu Dec 16 2010 Dan Walsh 2.0.84-5 +- Change to allow sandbox to run on nfs homedirs, add start python script + +* Wed Dec 15 2010 Dan Walsh 2.0.84-4 +- Move seunshare to sandbox package + +* Mon Nov 29 2010 Dan Walsh 2.0.84-3 +- Fix sandbox to show correct types in usage statement + +* Mon Nov 29 2010 Dan Walsh 2.0.84-2 +- Stop fixfiles from complaining about missing dirs + +* Mon Nov 22 2010 Dan Walsh 2.0.84-1 +- Update to upstream +- List types available for sandbox in usage statement + +* Mon Nov 22 2010 Dan Walsh 2.0.83-37 +- Don't report error on load_policy when system is disabled. + +* Mon Nov 8 2010 Dan Walsh 2.0.83-36 +- Fix up problems pointed out by solar designer on dropping capabilities + +* Mon Nov 1 2010 Dan Walsh 2.0.83-35 +- Check if you have full privs and reset otherwise dont drop caps + +* Mon Nov 1 2010 Dan Walsh 2.0.83-34 +- Fix setools require line + +* Fri Oct 29 2010 Dan Walsh 2.0.83-33 +- Move /etc/pam.d/newrole in to polcicycoreutils-newrole +- Additional capability checking in sepolgen + +* Mon Oct 25 2010 Dan Walsh 2.0.83-32 +- Remove setuid flag and replace with file capabilities +- Fix sandbox handling of files with spaces in them + +* Wed Sep 29 2010 jkeating - 2.0.83-31 +- Rebuilt for gcc bug 634757 + +* Thu Sep 23 2010 Dan Walsh 2.0.83-30 +- Move restorecond into its own subpackage + +* Thu Sep 23 2010 Dan Walsh 2.0.83-29 +- Fix semanage man page + +* Mon Sep 13 2010 Dan Walsh 2.0.83-28 +- Add seremote, to allow the execution of command inside the sandbox from outside the sandbox. + +* Mon Sep 13 2010 Dan Walsh 2.0.83-27 +- Fix sandbox copyfile when copying a dir with a socket, print error + +* Fri Sep 10 2010 Dan Walsh 2.0.83-26 +- Stop polgengui from crashing if selinux policy is not installed + +* Thu Sep 9 2010 Dan Walsh 2.0.83-25 +- Fix bug preventing sandbox from using -l + +* Tue Sep 7 2010 Dan Walsh 2.0.83-24 +- Eliminate quotes fro desktop files + +* Mon Aug 30 2010 Dan Walsh 2.0.83-23 +- Add -w windowsize patch from Christoph A. + +* Mon Aug 30 2010 Dan Walsh 2.0.83-22 +- Update po + +* Wed Aug 25 2010 Dan Walsh 2.0.83-21 +- Update po + +* Tue Aug 24 2010 Dan Walsh 2.0.83-20 +- Tighten down seunshare to create /tmp dir with sticky bit and MS_NODEV | MS_NOSUID | MS_NOEXEC; +- Remove setsid on seunshare so ^c on sandbox will cause apps to exit +- Add dbus-launch --exit-with-session so all processes launched within the sandbox exit with the sandbox +- Clean up error handling so error will get sent back to sandbox tool + +* Mon Aug 23 2010 Dan Walsh 2.0.83-19 +- Fix translation handling in file context page of system-config-selinux + +* Fri Aug 13 2010 Dan Walsh 2.0.83-18 +- Fix sandbox error handling + +* Fri Aug 13 2010 Dan Walsh 2.0.83-17 +- Apply patch to restorecond from Chris Adams, which will cause restorecond +- to watch first user that logs in. + +* Thu Aug 12 2010 Dan Walsh 2.0.83-16 +- Add COPYING file to doc dir + +* Thu Aug 5 2010 Dan Walsh 2.0.83-15 +- Update po and translations +Resolves: #610473 + +* Thu Aug 5 2010 Dan Walsh 2.0.83-14 +- More fixes for polgen tools + +* Thu Aug 5 2010 Dan Walsh 2.0.83-13 +- Remove requirement to run selinux-polgen as root + +* Thu Aug 5 2010 Dan Walsh 2.0.83-12 +- Update po and translations +- Fix gui policy generation tools + +* Wed Aug 4 2010 Dan Walsh 2.0.83-11 +- Update po and translations + +* Sat Jul 31 2010 David Malcolm - 2.0.83-10 +- rebuild against python 2.7 + +* Wed Jul 28 2010 Dan Walsh 2.0.83-9 +- Update selinux-polgengui to sepolgen policy generation + +* Wed Jul 28 2010 Dan Walsh 2.0.83-8 +- Fix invalid free in seunshare and fix man page + +* Tue Jul 27 2010 Dan Walsh 2.0.83-7 +- Update translations + +* Mon Jul 26 2010 Dan Walsh 2.0.83-6 +- Fix sandbox man page + +* Wed Jul 21 2010 David Malcolm - 2.0.83-5 +- Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild + +* Tue Jul 20 2010 Dan Walsh 2.0.83-4 +- Add translations for menus +- Fixup man page from Russell Coker + +* Tue Jun 15 2010 Dan Walsh 2.0.83-3 +- Change python scripts to use -s flag +- Update po + +* Tue Jun 15 2010 Dan Walsh 2.0.83-1 +- Update to upstream + * Add sandbox support from Dan Walsh with modifications from Steve Lawrence. + +* Tue Jun 15 2010 Dan Walsh 2.0.82-31 +- Fix sepolgen code generation +Resolve: #603001 + +* Tue Jun 8 2010 Dan Walsh 2.0.82-30 +- Add cgroup support for sandbox + +* Mon Jun 7 2010 Dan Walsh 2.0.82-29 +- Allow creation of /var/cache/DOMAIN from sepolgen + +* Thu Jun 3 2010 Dan Walsh 2.0.82-28 +- Fix sandbox init script +- Add dbus-launch to sandbox -X +Resolve: #599599 + +* Thu Jun 3 2010 Dan Walsh 2.0.82-27 +- Move genhomedircon.8 to same package as genhomedircon +- Fix sandbox to pass unit test +Resolves: #595796 + +* Wed Jun 2 2010 Dan Walsh 2.0.82-26 +- Fix listing of booleans from audit2allow + +* Wed Jun 2 2010 Dan Walsh 2.0.82-25 +- Fix audit2allow to output if the current policy has avc +- Update translations +- Fix icon + +* Thu May 27 2010 Dan Walsh 2.0.82-24 +- Man page fixes +- sandbox fixes +- Move seunshare to base package + +* Fri May 21 2010 Dan Walsh 2.0.82-23 +- Fix seunshare translations +- Fix seunshare to work on all arches +- Fix icon for system-config-selinux +Resolves: #595276 + +* Fri May 21 2010 Dan Walsh 2.0.82-22 +- Fix can_exec definition in sepolgen + +* Fri May 21 2010 Dan Walsh 2.0.82-21 +- Add man page for seunshare and genhomedircon +Resolves: #594303 +- Fix node management via semanage + +* Wed May 19 2010 Dan Walsh 2.0.82-20 +- Fixes from upstream for sandbox command +Resolves: #580938 + +* Thu May 13 2010 Dan Walsh 2.0.82-18 +- Fix sandbox error handling on copyfile +- Fix desktop files + +* Tue May 11 2010 Dan Walsh 2.0.82-17 +- Fix policy tool to have correct name in menus +- Fix seunshare to handle /tmp being in ~/home +- Fix saving of altered files +- Update translations + +* Tue May 4 2010 Dan Walsh 2.0.82-15 +- Allow audit2allow to specify alternative policy file for analysis + +* Mon May 3 2010 Dan Walsh 2.0.82-14 +- Update po +- Fix sepolgen --no_attrs +Resolves: #588280 + +* Thu Apr 29 2010 Dan Walsh 2.0.82-13 +- Make semanage boolean work on disabled machines and during livecd xguest +- Fix homedir and tmpdir handling in sandbox +Resolves: #587263 + +* Wed Apr 28 2010 Dan Walsh 2.0.82-11 +- Make semanage boolean work on disabled machines + +* Tue Apr 27 2010 Dan Walsh 2.0.82-10 +- Make sepolgen-ifgen be quiet + +* Wed Apr 21 2010 Dan Walsh 2.0.82-8 +- Make sepolgen report on more interfaces +- Fix system-config-selinux display of modules + +* Thu Apr 15 2010 Dan Walsh 2.0.82-7 +- Fix crash when args are empty +Resolves: #582542 +- Fix semange to exit on bad options +- Fix semanage dontaudit man page section +Resolves: #582533 + +* Wed Apr 14 2010 Dan Walsh 2.0.82-6 +- Remove debug line from semanage +- Update po + +* Tue Apr 13 2010 Dan Walsh 2.0.82-5 +- Fix sandbox comment on HOMEDIRS +- Fix sandbox to throw error on bad executable + +* Tue Apr 6 2010 Dan Walsh 2.0.82-4 +- Fix spacing in templates + +* Wed Mar 31 2010 Dan Walsh 2.0.82-3 +- Fix semanage return codes + +* Tue Mar 30 2010 Dan Walsh 2.0.82-2 +- Fix sepolgen to confirm to the "Reference Policy Style Guide" + +* Tue Mar 23 2010 Dan Walsh 2.0.82-1 +- Update to upstream + * Add avc's since boot from Dan Walsh. + * Fix unit tests from Dan Walsh. + +* Tue Mar 23 2010 Dan Walsh 2.0.81-4 +- Update to upstream - sepolgen + * Add since-last-boot option to audit2allow from Dan Walsh. + * Fix sepolgen output to match what Chris expects for upstream + refpolicy from Dan Walsh. + +* Mon Mar 22 2010 Dan Walsh 2.0.81-3 +- Allow restorecon on > 2 Gig files + +* Tue Mar 16 2010 Dan Walsh 2.0.81-2 +- Fix semanage handling of boolean options +- Update translations + +* Fri Mar 12 2010 Dan Walsh 2.0.81-1 +- Update to upstream + * Add dontaudit flag to audit2allow from Dan Walsh. + +* Thu Mar 11 2010 Dan Walsh 2.0.80-2 +- Use --rbind in sandbox init scripts + +* Mon Mar 8 2010 Dan Walsh 2.0.80-1 +- Update to upstream + * Module enable/disable support from Dan Walsh. + +* Mon Mar 1 2010 Dan Walsh 2.0.79-5 +- Rewrite of sandbox script, add unit test for sandbox +- Update translations + +* Mon Mar 1 2010 Dan Walsh 2.0.79-4 +- Fix patch for dontaudit rules from audit2allow for upstream acceptance + +* Fri Feb 26 2010 Dan Walsh 2.0.79-3 +- Fixes for fixfiles + +* Wed Feb 17 2010 Dan Walsh 2.0.79-2 +- Fix sandbox to complain if mount-shared has not been run +- Fix to use /etc/sysconfig/sandbox + +* Tue Feb 16 2010 Dan Walsh 2.0.79-1 +- Update to upstream + * Fix double-free in newrole +- Fix python language handling + +* Thu Feb 11 2010 Dan Walsh 2.0.78-21 +- Fix display of command in sandbox + +* Fri Feb 5 2010 Dan Walsh 2.0.78-20 +- Catch OSError in semanage + +* Wed Feb 3 2010 Dan Walsh 2.0.78-19 +- Fix seobject and fixfiles + +* Fri Jan 29 2010 Dan Walsh 2.0.78-17 +- Change seobject to use translations properly + +* Thu Jan 28 2010 Dan Walsh 2.0.78-16 +- Cleanup spec file +Resolves: 555835 + +* Thu Jan 28 2010 Dan Walsh 2.0.78-15 +- Add use_resolve to sepolgen + +* Wed Jan 27 2010 Dan Walsh 2.0.78-14 +- Add session capability to sandbox +- sandbox -SX -H ~/.homedir -t unconfined_t -l s0:c15 /etc/gdm/Xsession + +* Thu Jan 21 2010 Dan Walsh 2.0.78-13 +- Fix executable template for fifo files + +* Tue Jan 19 2010 Dan Walsh 2.0.78-12 +- Fix patch xod xmodmap +- Exit 0 from script + +* Thu Jan 14 2010 Dan Walsh 2.0.78-11 +- Run with the same xdmodmap in sandbox as outside +- Patch from Josh Cogliati + +* Fri Jan 8 2010 Dan Walsh 2.0.78-10 +- Fix sepolgen to not generate user sh section on non user policy + +* Fri Jan 8 2010 Dan Walsh 2.0.78-9 +- Add -e to semanage man page +- Add -D qualifier to audit2allow to generate dontaudit rules + +* Wed Jan 6 2010 Dan Walsh 2.0.78-8 +- Speed up audit2allow processing of audit2why comments + +* Fri Dec 18 2009 Dan Walsh 2.0.78-7 +- Fixes to sandbox man page + +* Thu Dec 17 2009 Dan Walsh 2.0.78-6 +- Add setools-libs-python to requires for gui + +* Wed Dec 16 2009 Dan Walsh 2.0.78-5 +- If restorecond running as a user has no files to watch then it should exit. (NFS Homedirs) + +* Thu Dec 10 2009 Dan Walsh 2.0.78-4 +- Move sandbox man page to base package + +* Tue Dec 8 2009 Dan Walsh 2.0.78-3 +- Fix audit2allow to report constraints, dontaudits, types, booleans + +* Fri Dec 4 2009 Dan Walsh 2.0.78-2 +- Fix restorecon -i to ignore enoent + +* Tue Dec 1 2009 Dan Walsh 2.0.78-1 +- Update to upstream + * Remove non-working OUTFILE from fixfiles from Dan Walsh. + * Additional exception handling in chcat from Dan Walsh. + + * fix sepolgen to read a "type 1403" msg as a policy load by Stephen + Smalley + * Add support for Xen ocontexts from Paul Nuzzi. + +* Tue Nov 24 2009 Dan Walsh 2.0.77-1 +- Update to upstream + * Fixed bug preventing semanage node -a from working + from Chad Sellers + * Fixed bug preventing semanage fcontext -l from working + from Chad Sellers +- Change semanage to use unicode + +* Wed Nov 18 2009 Dan Walsh 2.0.76-1 +- Update to upstream + * Remove setrans management from semanage, as it does not work + from Dan Walsh. + * Move load_policy from /usr/sbin to /sbin from Dan Walsh. + +* Mon Nov 16 2009 Dan Walsh 2.0.75-3 +- Raise exception if user tries to add file context with an embedded space + +* Wed Nov 11 2009 Dan Walsh 2.0.75-2 +- Fix sandbox to setsid so it can run under mozilla without crashing the session + +* Mon Nov 2 2009 Dan Walsh 2.0.75-1 +- Update to upstream + * Factor out restoring logic from setfiles.c into restore.c + +* Fri Oct 30 2009 Dan Walsh 2.0.74-15 +- Fix typo in seobject.py + +* Fri Oct 30 2009 Dan Walsh 2.0.74-14 +- Allow semanage -i and semanage -o to generate customization files. +- semanage -o will generate a customization file that semanage -i can read and set a machines to the same selinux configuration + +* Tue Oct 20 2009 Dan Walsh 2.0.74-13 +- Fix restorecond man page + +* Mon Oct 19 2009 Dan Walsh 2.0.74-12 +- Add generation of the users context file to polgengui + +* Fri Oct 16 2009 Dan Walsh 2.0.74-11 +- Remove tabs from system-config-selinux glade file + +* Thu Oct 15 2009 Dan Walsh 2.0.74-10 +- Remove translations screen from system-config-selinux + +* Wed Oct 14 2009 Dan Walsh 2.0.74-9 +- Move fixfiles man pages into the correct package +- Add genhomedircon to fixfiles restore + +* Tue Oct 6 2009 Dan Walsh 2.0.74-8 +- Add check to sandbox to verify save changes - Chris Pardy +- Fix memory leak in restorecond - Steve Grubb + +* Thu Oct 1 2009 Dan Walsh 2.0.74-7 +- Fixes Templates + +* Thu Oct 1 2009 Dan Walsh 2.0.74-6 +- Fixes for polgengui to handle tcp ports correctly +- Fix semanage node -a + +* Wed Sep 30 2009 Dan Walsh 2.0.74-5 +- Fixes for semanage -equiv, readded modules, --enable, --disable + +* Sun Sep 20 2009 Dan Walsh 2.0.74-4 +- Close sandbox when eclipse exits + +* Fri Sep 18 2009 Dan Walsh 2.0.74-3 +- Security fixes for seunshare +- Fix Sandbox to handle non file input to command. + +* Thu Sep 17 2009 Dan Walsh 2.0.74-2 +- Security fixes for seunshare + +* Thu Sep 17 2009 Dan Walsh 2.0.74-1 +- Update to upstream + * Change semodule upgrade behavior to install even if the module + is not present from Dan Walsh. + * Make setfiles label if selinux is disabled and a seclabel aware + kernel is running from Caleb Case. + * Clarify forkpty() error message in run_init from Manoj Srivastava. + +* Mon Sep 14 2009 Dan Walsh 2.0.73-5 +- Fix sandbox to handle relative paths + +* Mon Sep 14 2009 Dan Walsh 2.0.73-4 +- Add symbolic link to load_policy + +* Mon Sep 14 2009 Dan Walsh 2.0.73-3 +- Fix restorecond script to use force-reload + +* Tue Sep 8 2009 Dan Walsh 2.0.73-2 +- Fix init script to show status in usage message + +* Tue Sep 8 2009 Dan Walsh 2.0.73-1 +- Update to upstream + * Add semanage dontaudit to turn off dontaudits from Dan Walsh. + * Fix semanage to set correct mode for setrans file from Dan Walsh. + * Fix malformed dictionary in portRecord from Dan Walsh. + * Restore symlink handling support to restorecon based on a patch by + Martin Orr. This fixes the restorecon /dev/stdin performed by Debian + udev scripts that was broken by policycoreutils 2.0.70. + +* Thu Sep 3 2009 Dan Walsh 2.0.71-15 +- Add DAC_OVERRIED to seunshare + +* Wed Sep 2 2009 Bill Nottingham 2.0.71-15 +- Fix typo + +* Fri Aug 28 2009 Dan Walsh 2.0.71-14 +- Add enable/disable patch + +* Thu Aug 27 2009 Tomas Mraz - 2.0.71-13 +- rebuilt with new audit + +* Wed Aug 26 2009 Dan Walsh 2.0.71-12 +- Tighten up controls on seunshare.c + +* Wed Aug 26 2009 Dan Walsh 2.0.71-11 +- Add sandboxX + +* Sat Aug 22 2009 Dan Walsh 2.0.71-10 +- Fix realpath usage to only happen on argv input from user + +* Fri Aug 21 2009 Ville Skyttä - 2.0.71-9 +- Don't try to remove restorecond after last erase (done already in %%preun). +- Ensure scriptlets exit with status 0. +- Fix %%post and %%pr + +* Thu Aug 20 2009 Dan Walsh 2.0.71-7 +- Fix glob handling of /.. + +* Wed Aug 19 2009 Dan Walsh 2.0.71-6 +- Redesign restorecond to use setfiles/restore functionality + +* Wed Aug 19 2009 Dan Walsh 2.0.71-5 +- Fix sepolgen again + +* Tue Aug 18 2009 Dan Walsh 2.0.71-4 +- Add --boot flag to audit2allow to get all AVC messages since last boot + +* Tue Aug 18 2009 Dan Walsh 2.0.71-3 +- Fix semanage command + +* Thu Aug 13 2009 Dan Walsh 2.0.71-2 +- exclude unconfined.if from sepolgen + +* Thu Aug 13 2009 Dan Walsh 2.0.71-1 +- Fix chcat to report error on non existing file +- Update to upstream + * Modify setfiles/restorecon checking of exclude paths. Only check + user-supplied exclude paths (not automatically generated ones based on + lack of seclabel support), don't require them to be directories, and + ignore permission denied errors on them (it is ok to exclude a path to + which the caller lacks permission). + +* Mon Aug 10 2009 Dan Walsh 2.0.70-2 +- Don't warn if the user did not specify the exclude if root can not stat file system + +* Wed Aug 5 2009 Dan Walsh 2.0.70-1 +- Update to upstream + * Modify restorecon to only call realpath() on user-supplied pathnames + from Stephen Smalley. + * Fix typo in fixfiles that prevented it from relabeling btrfs + filesystems from Dan Walsh. + +* Wed Jul 29 2009 Dan Walsh 2.0.68-1 +- Fix location of man pages +- Update to upstream + * Modify setfiles to exclude mounts without seclabel option in + /proc/mounts on kernels >= 2.6.30 from Thomas Liu. + * Re-enable disable_dontaudit rules upon semodule -B from Christopher + Pardy and Dan Walsh. + * setfiles converted to fts from Thomas Liu. + +* Sun Jul 26 2009 Fedora Release Engineering - 2.0.64-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Tue Jul 7 2009 Tom "spot" Callaway 2.0.64-2 +- fix multiple directory ownership of mandirs + +* Fri Jun 26 2009 Dan Walsh 2.0.64-1 +- Update to upstream + * Keep setfiles from spamming console from Dan Walsh. + * Fix chcat's category expansion for users from Dan Walsh. +- Update po files +- Fix sepolgen + +* Thu Jun 4 2009 Dan Walsh 2.0.63-5 +- Add sepolgen executable + +* Mon Jun 1 2009 Dan Walsh 2.0.63-4 +- Fix Sandbox option handling +- Fix fixfiles handling of btrfs + +* Tue May 26 2009 Dan Walsh 2.0.63-3 +- Fix sandbox to be able to execute files in homedir + +* Fri May 22 2009 Dan Walsh 2.0.63-2 +- Change polgen.py to be able to generate policy + +* Wed May 20 2009 Dan Walsh 2.0.63-1 +- Update to upstream + * Fix transaction checking from Dan Walsh. + * Make fixfiles -R (for rpm) recursive. + * Make semanage permissive clean up after itself from Dan Walsh. + * add /root/.ssh/* to restorecond.conf + +* Wed Apr 22 2009 Dan Walsh 2.0.62-14 +- Fix audit2allow -a to retun /var/log/messages + +* Wed Apr 22 2009 Dan Walsh 2.0.62-13 +- Run restorecond as a user service + +* Thu Apr 16 2009 Dan Walsh 2.0.62-12 +- Add semanage module support + +* Tue Apr 14 2009 Dan Walsh 2.0.62-10 +- Do not print \n, if count < 1000; + +* Sat Apr 11 2009 Dan Walsh 2.0.62-9 +- Handle case where subs file does not exist + +* Wed Apr 8 2009 Dan Walsh 2.0.62-8 +- Update po files +- Add --equiv command for semanage + +* Tue Mar 31 2009 Dan Walsh 2.0.62-7 +- Cleanup creation of permissive domains +- Update po files + +* Mon Mar 23 2009 Dan Walsh 2.0.62-6 +- Update po files + +* Thu Mar 12 2009 Dan Walsh 2.0.62-5 +- Fix semanage transations + +* Sat Mar 7 2009 Dan Walsh 2.0.62-4 +- Update polgengui templates to match current upstream policy + +* Thu Feb 26 2009 Fedora Release Engineering - 2.0.62-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Mon Feb 23 2009 Dan Walsh 2.0.62-2 +- Add /root/.ssh to restorecond.conf +- fixfiles -R package should recursively fix files + +* Wed Feb 18 2009 Dan Walsh 2.0.62-1 +- Update to upstream + * Add btrfs to fixfiles from Dan Walsh. + * Remove restorecond error for matching globs with multiple hard links + and fix some error messages from Dan Walsh. + * Make removing a non-existant module a warning rather than an error + from Dan Walsh. + * Man page fixes from Dan Walsh. + +* Mon Feb 16 2009 Dan Walsh 2.0.61-10 +- Fix script created by polgengui to not refer to selinux-policy-devel + +* Mon Feb 9 2009 Dan Walsh 2.0.61-9 +- Change initc scripts to use proper labeling on gui + +* Mon Feb 9 2009 Dan Walsh 2.0.61-8 +- Add obsoletes to cause policycoreuils to update both python and non python version + +* Fri Jan 30 2009 Dan Walsh 2.0.61-7 +- Dont report errors on glob match and multiple links + +* Thu Jan 22 2009 Dan Walsh 2.0.61-6 +- Move sepolgen-ifgen to post python + +* Wed Jan 21 2009 Dan Walsh 2.0.61-4 +- Fix Translations + +* Tue Jan 20 2009 Dan Walsh 2.0.61-3 +- Add Domains Page to system-config-selinux +- Add ability to create dbus confined applications to polgen + +* Wed Jan 14 2009 Dan Walsh 2.0.61-2 +- Split python into a separate package + +* Tue Jan 13 2009 Dan Walsh 2.0.61-1 +- Update to upstream + * chcat: cut categories at arbitrary point (25) from Dan Walsh + * semodule: use new interfaces in libsemanage for compressed files + from Dan Walsh + * audit2allow: string changes for usage + +* Tue Jan 6 2009 Dan Walsh 2.0.60-7 +- Don't error out when removing a non existing module + +* Mon Dec 15 2008 Dan Walsh 2.0.60-6 +- fix audit2allow man page + +* Wed Dec 10 2008 Dan Walsh 2.0.60-5 +- Fix Japanese translations + +* Sat Dec 6 2008 Dan Walsh 2.0.60-4 +- Change md5 to hashlib.md5 in sepolgen + +* Thu Dec 04 2008 Ignacio Vazquez-Abrams - 2.0.60-3 +- Rebuild for Python 2.6 + +* Tue Dec 2 2008 Dan Walsh 2.0.60-2 +- Fix error checking in restorecond, for inotify_add_watch + +* Mon Dec 1 2008 Dan Walsh 2.0.60-1 +- Update to upstream + * semanage: use semanage_mls_enabled() from Stephen Smalley. + +* Sat Nov 29 2008 Ignacio Vazquez-Abrams - 2.0.59-2 +- Rebuild for Python 2.6 + +* Tue Nov 11 2008 Dan Walsh 2.0.59-1 +- Update to upstream + * fcontext add checked local records twice, fix from Dan Walsh. + +* Mon Nov 10 2008 Dan Walsh 2.0.58-1 +- Update to upstream + * Allow local file context entries to override policy entries in + semanage from Dan Walsh. + * Newrole error message corrections from Dan Walsh. + * Add exception to audit2why call in audit2allow from Dan Walsh. + +* Fri Nov 7 2008 Dan Walsh 2.0.57-12 +- add compression + +* Tue Nov 04 2008 Jesse Keating - 2.0.57-11 +- Move the usermode-gtk requires to the -gui subpackage. + +* Thu Oct 30 2008 Dan Walsh 2.0.57-10 +- Fix traceback in audit2why + +* Wed Oct 29 2008 Dan Walsh 2.0.57-9 +- Make GUI use translations + +* Wed Oct 29 2008 Dan Walsh 2.0.57-8 +- Fix typo in man page + +* Tue Oct 28 2008 Dan Walsh 2.0.57-7 +- Handle selinux disabled correctly +- Handle manipulation of fcontext file correctly + +* Mon Oct 27 2008 Dan Walsh 2.0.57-6 +- Add usermode-gtk requires + +* Thu Oct 23 2008 Dan Walsh 2.0.57-5 +- Allow addition of local modifications of fcontext policy. + +* Mon Oct 20 2008 Dan Walsh 2.0.57-4 +- Fix system-config-selinux booleanspage throwing and exception +- Update po files + +* Fri Oct 17 2008 Dan Walsh 2.0.57-3 +- Fix text in newrole +- Fix revertbutton on booleans page in system-config-selinux + +* Wed Oct 1 2008 Dan Walsh 2.0.57-2 +- Change semodule calls for libsemanage + +* Wed Oct 1 2008 Dan Walsh 2.0.57-1 +- Update to upstream + * Update po files from Dan Walsh. + +* Fri Sep 12 2008 Dan Walsh 2.0.56-1 +- Fix semanage help display +- Update to upstream + * fixfiles will now remove all files in /tmp and will check for + unlabeled_t in /tmp and /var/tmp from Dan Walsh. + * add glob support to restorecond from Dan Walsh. + * allow semanage to handle multi-line commands in a single transaction + from Dan Walsh. + +* Thu Sep 11 2008 Dan Walsh 2.0.55-8 +- Only call gen_requires once in sepolgen + +* Tue Sep 9 2008 Dan Walsh 2.0.55-7 +- Change Requires line to gnome-python2-gnome +- Fix spelling mistakes +- Require libselinux-utils + +* Mon Sep 8 2008 Dan Walsh 2.0.55-5 +- Add node support to semanage + +* Mon Sep 8 2008 Dan Walsh 2.0.55-4 +- Fix fixfiles to correct unlabeled_t files and remove .? files + +* Wed Sep 3 2008 Dan Walsh 2.0.55-2 +- Add glob support to restorecond so it can check every file in the homedir + +* Thu Aug 28 2008 Dan Walsh 2.0.55-1 +- Update to upstream + * Merged semanage node support from Christian Kuester. + +* Fri Aug 15 2008 Dan Walsh 2.0.54-7 +- Add require libsemanage-python + +* Mon Aug 11 2008 Dan Walsh 2.0.54-6 +- Add missing html_util.py file + +* Thu Aug 7 2008 Dan Walsh 2.0.54-5 +- Fixes for multiple transactions + +* Wed Aug 6 2008 Dan Walsh 2.0.54-2 +- Allow multiple transactions in one semanage command + +* Tue Aug 5 2008 Dan Walsh 2.0.54-1 +- Update to upstream + * Add support for boolean files and group support for seusers from Dan Walsh. + * Ensure that setfiles -p output is newline terminated from Russell Coker. + +* Fri Aug 1 2008 Dan Walsh 2.0.53-3 +- Allow semanage user to add group lists % groupname + +* Tue Jul 29 2008 Dan Walsh 2.0.53-2 +- Fix help + +* Tue Jul 29 2008 Dan Walsh 2.0.53-1 +- Update to upstream + * Change setfiles to validate all file_contexts files when using -c from Stephen Smalley. + +* Tue Jul 29 2008 Dan Walsh 2.0.52-6 +- Fix boolean handling +- Upgrade to latest sepolgen +- Update po patch + +* Wed Jul 9 2008 Dan Walsh 2.0.52-5 +- Additial cleanup of boolean handling for semanage + +* Tue Jul 8 2008 Dan Walsh 2.0.52-4 +- Handle ranges of ports in gui + +* Tue Jul 8 2008 Dan Walsh 2.0.52-3 +- Fix indent problems in seobject + +* Wed Jul 2 2008 Dan Walsh 2.0.52-2 +- Add lockdown wizard +- Allow semanage booleans to take an input file an process lots of booleans at once. + +* Wed Jul 2 2008 Dan Walsh 2.0.52-1 +- Default prefix to "user" + +* Tue Jul 1 2008 Dan Walsh 2.0.50-2 +- Remove semodule use within semanage +- Fix launching of polgengui from toolbar + +* Mon Jun 30 2008 Dan Walsh 2.0.50-1 +- Update to upstream + * Fix audit2allow generation of role-type rules from Karl MacMillan. + +* Tue Jun 24 2008 Dan Walsh 2.0.49-10 +- Fix spelling of enforcement + +* Mon Jun 23 2008 Dan Walsh 2.0.49-8 +- Fix sepolgen/audit2allow handling of roles + +* Mon Jun 16 2008 Dan Walsh 2.0.49-7 +- Fix sepolgen-ifgen processing + +* Thu Jun 12 2008 Dan Walsh 2.0.49-6 +- Add deleteall to semanage permissive, cleanup error handling + +* Thu Jun 12 2008 Dan Walsh 2.0.49-5 +- Complete removal of rhpl requirement + +* Wed Jun 11 2008 Dan Walsh 2.0.49-4 +- Add semanage permissive * + +* Fri May 16 2008 Dan Walsh 2.0.49-3 +- Fix fixfiles to cleanup /tmp and /var/tmp + +* Fri May 16 2008 Dan Walsh 2.0.49-2 +- Fix listing of types in gui + +* Mon May 12 2008 Dan Walsh 2.0.49-1 +- Update to upstream + * Remove security_check_context calls for prefix validation from semanage. + * Change setfiles and restorecon to not relabel if the file already has the correct context value even if -F/force is specified. + +* Mon May 12 2008 Dan Walsh 2.0.47-3 +- Remove /usr/share/locale/sr@Latn/LC_MESSAGES/policycoreutils.mo + +* Wed May 7 2008 Dan Walsh 2.0.47-2 +- Add rm -rf /tmp/gconfd-* /tmp/pulse-* /tmp/orbit-* to fixfiles restore +- So that mislabeled files will get removed on full relabel + +* Wed May 7 2008 Dan Walsh 2.0.47-1 +- Make restorecond not start by default +- Fix polgengui to allow defining of confined roles. +- Add patches from Lubomir Rintel + * Add necessary runtime dependencies on setools-console for -gui + * separate stderr when run seinfo commands +- Update to upstream + * Update semanage man page for booleans from Dan Walsh. + * Add further error checking to seobject.py for setting booleans. + +* Fri Apr 18 2008 Matthias Clasen - 2.0.46-5 +- Uninvasive (ie no string or widget changes) HIG approximations + in selinux-polgenui + +* Fri Apr 18 2008 Matthias Clasen - 2.0.46-4 +- Move s-c-selinux to the right menu + +* Sun Apr 6 2008 Dan Walsh 2.0.46-3 +- Fix boolean descriptions +- Fix semanage man page + +* Wed Mar 19 2008 Dan Walsh 2.0.46-2 +- Don't use prefix in gui + +* Tue Mar 18 2008 Dan Walsh 2.0.46-1 +- Update to upstream + * Update audit2allow to report dontaudit cases from Dan Walsh. + * Fix semanage port to use --proto from Caleb Case. + +* Fri Feb 22 2008 Dan Walsh 2.0.44-1 +- Update to upstream + * Fix for segfault when conf file parse error occurs. + +* Wed Feb 13 2008 Dan Walsh 2.0.43-2 +- Don't show tabs on polgengui + +* Wed Feb 13 2008 Dan Walsh 2.0.43-1 +- Update to upstream + * Merged fix fixfiles option processing from Vaclav Ovsik. +- Added existing users, staff and user_t users to polgengui + +* Fri Feb 8 2008 Dan Walsh 2.0.42-3 +- Add messages for audit2allow DONTAUDIT + +* Tue Feb 5 2008 Dan Walsh 2.0.42-2 +- Add ability to transition to roles via polgengui + +* Sat Feb 2 2008 Dan Walsh 2.0.42-1 +- Update to upstream + * Make semodule_expand use sepol_set_expand_consume_base to reduce + peak memory usage. + +* Tue Jan 29 2008 Dan Walsh 2.0.41-1 +- Update to upstream + * Merged audit2why fix and semanage boolean --on/--off/-1/-0 support from Dan Walsh. + * Merged a second fixfiles -C fix from Marshall Miller. + + +* Thu Jan 24 2008 Dan Walsh 2.0.39-1 +- Don't initialize audit2allow for audit2why call. Use default +- Update to upstream + * Merged fixfiles -C fix from Marshall Miller. + +* Thu Jan 24 2008 Dan Walsh 2.0.38-1 +- Update to upstream + * Merged audit2allow cleanups and boolean descriptions from Dan Walsh. + * Merged setfiles -0 support by Benny Amorsen via Dan Walsh. + * Merged fixfiles fixes and support for ext4 and gfs2 from Dan Walsh. + +* Wed Jan 23 2008 Dan Walsh 2.0.37-1 +- Update to upstream + * Merged replacement for audit2why from Dan Walsh. + +* Wed Jan 23 2008 Dan Walsh 2.0.36-2 +- Cleanup fixfiles -f message in man page + +* Wed Jan 23 2008 Dan Walsh 2.0.36-1 +- Update to upstream + * Merged update to chcat, fixfiles, and semanage scripts from Dan Walsh. + * Merged sepolgen fixes from Dan Walsh. + +* Tue Jan 22 2008 Dan Walsh 2.0.35-5 +- handle files with spaces on upgrades + +* Tue Jan 22 2008 Dan Walsh 2.0.35-4 +- Add support in fixfiles for ext4 ext4dev and gfs2 + +* Mon Jan 21 2008 Dan Walsh 2.0.35-3 +- Allow files with spaces to be used by setfiles + +* Tue Jan 15 2008 Dan Walsh 2.0.35-2 +- Add descriptions of booleans to audit2allow + +* Fri Jan 11 2008 Dan Walsh 2.0.35-1 +- Update to upstream + * Merged support for non-interactive newrole command invocation from Tim Reed. + +* Thu Jan 10 2008 Dan Walsh 2.0.34-8 +- Change to use selinux bindings to audit2why + +* Tue Jan 8 2008 Dan Walsh 2.0.34-7 +- Fix fixfiles to handle no args + +* Mon Dec 31 2007 Dan Walsh 2.0.34-5 +- Fix roles output when creating a module + +* Mon Dec 31 2007 Dan Walsh 2.0.34-4 +- Handle files with spaces in fixfiles + +* Fri Dec 21 2007 Dan Walsh 2.0.34-3 +- Catch SELINUX_ERR with audit2allow and generate policy + +* Thu Dec 20 2007 Dan Walsh 2.0.34-2 +- Make sepolgen set error exit code when partial failure +- audit2why now checks booleans for avc diagnosis + +* Wed Dec 19 2007 Dan Walsh 2.0.34-1 +- Update to upstream + * Update Makefile to not build restorecond if + /usr/include/sys/inotify.h is not present + +* Wed Dec 19 2007 Dan Walsh 2.0.33-4 +- Fix sepolgen to be able to parse Fedora 9 policy + Handle ifelse statements + Handle refpolicywarn inside of define + Add init.if and inetd.if into parse + Add parse_file to syntax error message + +* Fri Dec 14 2007 Dan Walsh 2.0.33-3 +- Add scroll bar to fcontext gui page + +* Tue Dec 11 2007 Dan Walsh 2.0.33-2 +- Add Russion Man pages + +* Mon Dec 10 2007 Dan Walsh 2.0.33-1 +- Upgrade from NSA + * Drop verbose output on fixfiles -C from Dan Walsh. + * Fix argument handling in fixfiles from Dan Walsh. + * Enhance boolean support in semanage, including using the .xml description when available, from Dan Walsh. +- Fix handling of final screen in polgengui + +* Sun Dec 2 2007 Dan Walsh 2.0.32-2 +- Fix handling of disable selinux button in gui + +* Mon Nov 19 2007 Dan Walsh 2.0.32-1 +- Upgrade from NSA + * load_policy initial load option from Chad Sellers. + +* Mon Nov 19 2007 Dan Walsh 2.0.31-20 +- Don't show error on missing policy.xml + +* Mon Nov 19 2007 Dan Walsh 2.0.31-19 +- GUI Enhancements + - Fix cgi generation + - Use more patterns + +* Mon Nov 19 2007 Dan Walsh 2.0.31-18 +- Remove codec hacking, which seems to be fixed in python + +* Fri Nov 16 2007 Dan Walsh 2.0.31-17 +- Fix typo +- Change to upstream minimal privledge interfaces + +* Fri Nov 16 2007 Dan Walsh 2.0.31-16 +- Fix fixfiles argument parsing + +* Thu Nov 15 2007 Dan Walsh 2.0.31-15 +- Fix File Labeling add + +* Thu Nov 8 2007 Dan Walsh 2.0.31-14 +- Fix semanage to handle state where policy.xml is not installed + +* Mon Nov 5 2007 Dan Walsh 2.0.31-13 +- Remove -v from restorecon in fixfiles + +* Mon Nov 5 2007 Dan Walsh 2.0.31-12 +- Fix filter and search capabilities, add wait cursor + +* Fri Nov 2 2007 Dan Walsh 2.0.31-11 +- Translate booleans via policy.xml +- Allow booleans to be set via semanage + +* Thu Nov 1 2007 Dan Walsh 2.0.31-10 +- Require use of selinux-policy-devel + +* Wed Oct 31 2007 Dan Walsh 2.0.31-9 +- Validate semanage fcontext input +- Fix template names for log files in gui + +* Fri Oct 19 2007 Dan Walsh 2.0.31-8 +- Fix template to generate correct content + +* Fri Oct 19 2007 Dan Walsh 2.0.31-7 +- Fix consolekit link to selinux-polgengui + +* Thu Oct 18 2007 Dan Walsh 2.0.31-6 +- Fix the generation templates + +* Tue Oct 16 2007 Dan Walsh 2.0.31-5 +- Fix enable/disable audit messages + +* Mon Oct 15 2007 Dan Walsh 2.0.31-4 +- Add booleans page + +* Mon Oct 15 2007 Dan Walsh 2.0.31-3 +- Lots of updates to gui + +* Mon Oct 15 2007 Dan Walsh 2.0.31-1 +- Remove no.po +- Update to upstream + * Fix semodule option handling from Dan Walsh. + * Add deleteall support for ports and fcontexts in semanage from Dan Walsh. + +* Thu Oct 11 2007 Dan Walsh 2.0.29-2 +- Fix semodule parameter checking + +* Sun Oct 7 2007 Dan Walsh 2.0.29-1 +- Update to upstream + * Add genhomedircon script to invoke semodule -Bn from Dan Walsh. +- Add deleteall for ports and fcontext + +* Fri Oct 5 2007 Dan Walsh 2.0.28-1 +- Update to upstream + * Update semodule man page for -D from Dan Walsh. + * Add boolean, locallist, deleteall, and store support to semanage from Dan Walsh. + +* Tue Oct 2 2007 Dan Walsh 2.0.27-7 +- Add genhomedircon script to rebuild file_context for shadow-utils + +* Tue Oct 2 2007 Dan Walsh 2.0.27-6 +- Update translations + +* Tue Oct 2 2007 Dan Walsh 2.0.27-5 +- Additional checkboxes for application policy + +* Fri Sep 28 2007 Dan Walsh 2.0.27-4 +- Allow policy writer to select user types to transition to there users + +* Thu Sep 27 2007 Dan Walsh 2.0.27-3 +- Fix bug in building policy with polgengui +- Creating ports correctly + +* Wed Sep 26 2007 Dan Walsh 2.0.27-1 +- Update to upstream + * Improve semodule reporting of system errors from Stephen Smalley. + +* Mon Sep 24 2007 Dan Walsh 2.0.26-3 +- Show local changes with semanage + +* Mon Sep 24 2007 Dan Walsh 2.0.26-2 +- Fixed spelling mistakes in booleans defs +- Update po + +* Tue Sep 18 2007 Dan Walsh 2.0.26-1 +- Update to upstream + * Fix setfiles selabel option flag setting for 64-bit from Stephen Smalley. + +* Tue Sep 18 2007 Dan Walsh 2.0.25-15 +- Fix wording in policy generation tool + +* Fri Sep 14 2007 Dan Walsh 2.0.25-14 +- Fix calls to _admin interfaces + +* Thu Sep 13 2007 Dan Walsh 2.0.25-13 +- Upgrade version of sepolgen from NSA + * Expand the sepolgen parser to parse all current refpolicy modules from Karl MacMillan. + * Suppress generation of rules for non-denials from Karl MacMillan (take 3). + +* Tue Sep 11 2007 Dan Walsh 2.0.25-12 +- Remove bogus import libxml2 + +* Mon Sep 10 2007 Dan Walsh 2.0.25-11 +- Lots of fixes for polgengui + +* Thu Sep 6 2007 Dan Walsh 2.0.25-10 +- Change Requires /bin/rpm to rpm + +* Wed Sep 5 2007 Dan Walsh 2.0.25-9 +- Bump libsemanage version for disable dontaudit +- New gui features for creating admin users + +* Fri Aug 31 2007 Dan Walsh 2.0.25-8 +- Fix generated code for admin policy + +* Fri Aug 31 2007 Dan Walsh 2.0.25-7 +- Lots of fixes for role templates + +* Tue Aug 28 2007 Dan Walsh 2.0.25-6 +- Add more role_templates + +* Tue Aug 28 2007 Dan Walsh 2.0.25-5 +- Update genpolgui to add creation of user domains + +* Mon Aug 27 2007 Dan Walsh 2.0.25-4 +- Fix location of sepolgen-ifgen + +* Sat Aug 25 2007 Dan Walsh 2.0.25-3 +- Add selinux-polgengui to desktop + +* Fri Aug 24 2007 Dan Walsh 2.0.25-2 +- Cleanup spec + +* Thu Aug 23 2007 Dan Walsh 2.0.25-1 +- Update semodule man page + * Fix genhomedircon searching for USER from Todd Miller + * Install run_init with mode 0755 from Dan Walsh. + * Fix chcat from Dan Walsh. + * Fix fixfiles pattern expansion and error reporting from Dan Walsh. + * Optimize genhomedircon to compile regexes once from Dan Walsh. + * Fix semanage gettext call from Dan Walsh. + +* Thu Aug 23 2007 Dan Walsh 2.0.23-2 +- Update semodule man page + +* Mon Aug 20 2007 Dan Walsh 2.0.23-1 +- Update to match NSA + * Disable dontaudits via semodule -D + +* Wed Aug 1 2007 Dan Walsh 2.0.22-13 +- Speed up genhomedircon by an order of magnitude by compiling regex +- Allow semanage fcontext -a -t <> /path to work + +* Fri Jul 27 2007 Dan Walsh 2.0.22-11 +- Fixfiles update required to match new regex + +* Fri Jul 27 2007 Dan Walsh 2.0.22-10 +- Update booleans translations + +* Wed Jul 25 2007 Jeremy Katz - 2.0.22-9 +- rebuild for toolchain bug + +* Tue Jul 24 2007 Dan Walsh 2.0.22-8 +- Add requires libselinux-python + +* Mon Jul 23 2007 Dan Walsh 2.0.22-7 +- Fix fixfiles to report incorrect rpm +- Patch provided by Tony Nelson + +* Fri Jul 20 2007 Dan Walsh 2.0.22-6 +- Clean up spec file + +* Fri Jul 13 2007 Dan Walsh 2.0.22-5 +- Require newer libselinux version + +* Sat Jul 7 2007 Dan Walsh 2.0.22-4 +- Fix checking for conflicting directory specification in genhomedircon + +* Mon Jun 25 2007 Dan Walsh 2.0.22-3 +- Fix spelling mistakes in GUI + +* Fri Jun 22 2007 Dan Walsh 2.0.22-2 +- Fix else path in chcat + +* Thu Jun 21 2007 Dan Walsh 2.0.22-1 +- Update to match NSA + * Rebase setfiles to use new labeling interface. + +* Wed Jun 13 2007 Dan Walsh 2.0.21-2 +- Add filter to all system-config-selinux lists + +* Wed Jun 13 2007 Dan Walsh 2.0.21-1 +- Update to match NSA + * Fixed setsebool (falling through to error path on success). + +* Mon Jun 11 2007 Dan Walsh 2.0.20-1 +- Update to match NSA + * Merged genhomedircon fixes from Dan Walsh. + * Merged setfiles -c usage fix from Dan Walsh. + * Merged restorecon fix from Yuichi Nakamura. + * Dropped -lsepol where no longer needed. + +* Mon Jun 11 2007 Dan Walsh 2.0.19-5 +- Fix translations code, Add more filters to gui + +* Mon Jun 4 2007 Dan Walsh 2.0.19-4 +- Fix setfiles -c to make it work + +* Mon Jun 4 2007 Dan Walsh 2.0.19-3 +- Fix french translation to not crash system-config-selinux + +* Fri Jun 1 2007 Dan Walsh 2.0.19-2 +- Fix genhomedircon to work in stage2 builds of anaconda + +* Sat May 19 2007 Dan Walsh 2.0.19-1 +- Update to match NSA + +* Thu May 17 2007 Dan Walsh 2.0.16-2 +- Fixes for polgentool templates file + +* Fri May 4 2007 Dan Walsh 2.0.16-1 +- Updated version of policycoreutils + * Merged support for modifying the prefix via semanage from Dan Walsh. +- Fixed genhomedircon to find homedirs correctly. + +* Tue May 1 2007 Dan Walsh 2.0.15-1 +- Updated version of policycoreutils + * Merged po file updates from Dan Walsh. +- Fix semanage to be able to modify prefix in user record + +* Mon Apr 30 2007 Dan Walsh 2.0.14-2 +- Fix title on system-config-selinux + +* Wed Apr 25 2007 Dan Walsh 2.0.14-1 +- Updated version of policycoreutils + * Build fix for setsebool. + +* Wed Apr 25 2007 Dan Walsh 2.0.13-1 +- Updated version of policycoreutils + * Merged setsebool patch to only use libsemanage for persistent boolean changes from Stephen Smalley. + * Merged genhomedircon patch to use the __default__ setting from Dan Walsh. + * Dropped -b option from load_policy in preparation for always preserving booleans across reloads in the kernel. + +* Tue Apr 24 2007 Dan Walsh 2.0.10-2 +- Fixes for polgengui + +* Tue Apr 24 2007 Dan Walsh 2.0.10-1 +- Updated version of policycoreutils + * Merged chcat, fixfiles, genhomedircon, restorecond, and restorecon patches from Dan Walsh. + +* Fri Apr 20 2007 Dan Walsh 2.0.9-10 +- Fix genhomedircon to handle non user_u for the default user + +* Wed Apr 18 2007 Dan Walsh 2.0.9-9 +- More cleanups for gui + +* Wed Apr 18 2007 Dan Walsh 2.0.9-8 +- Fix size and use_tmp problem on gui + +* Wed Apr 18 2007 Dan Walsh 2.0.9-7 +- Fix restorecon crash + +* Wed Apr 18 2007 Dan Walsh 2.0.9-6 +- Change polgengui to a druid + +* Tue Apr 17 2007 Dan Walsh 2.0.9-5 +- Fully path script.py + +* Mon Apr 16 2007 Dan Walsh 2.0.9-4 +- Add -l flag to restorecon to not traverse file systems + +* Sat Apr 14 2007 Dan Walsh 2.0.9-3 +- Fixes for policygengui + +* Fri Apr 13 2007 Dan Walsh 2.0.9-2 +- Add polgengui + +* Thu Apr 12 2007 Dan Walsh 2.0.9-1 +- Updated version of sepolgen + * Merged seobject setransRecords patch to return the first alias from Xavier Toth. + +* Wed Apr 11 2007 Dan Walsh 2.0.8-1 +- Updated version of sepolgen + * Merged updates to sepolgen-ifgen from Karl MacMillan. + * Merged updates to sepolgen parser and tools from Karl MacMillan. + This includes improved debugging support, handling of interface + calls with list parameters, support for role transition rules, + updated range transition rule support, and looser matching. + +* Mon Apr 9 2007 Dan Walsh 2.0.7-11 +- Don't generate invalid context with genhomedircon + +* Mon Apr 9 2007 Dan Walsh 2.0.7-10 +- Add filter to booleans page + +* Tue Apr 3 2007 Dan Walsh 2.0.7-9 +- Fix polgen.py to not generate udp rules on tcp input + +* Fri Mar 30 2007 Dan Walsh 2.0.7-8 +- system-config-selinux should be able to run on a disabled system, +- at least enough to get it enabled. + +* Thu Mar 29 2007 Dan Walsh 2.0.7-7 +- Many fixes to polgengui + +* Fri Mar 23 2007 Dan Walsh 2.0.7-6 +- Updated version of sepolgen + * Merged patch to discard self from types when generating requires from Karl MacMillan. + +* Fri Mar 23 2007 Dan Walsh 2.0.7-5 +- Change location of audit2allow and sepol-ifgen to sbin +- Updated version of sepolgen + * Merged patch to move the sepolgen runtime data from /usr/share to /var/lib to facilitate a read-only /usr from Karl MacMillan. + +* Mon Mar 19 2007 Dan Walsh 2.0.7-4 +- Add polgen gui +- Many fixes to system-config-selinux + +* Mon Mar 12 2007 Dan Walsh 2.0.7-3 +- service restorecond status needs to set exit value correctly + +* Mon Mar 12 2007 Dan Walsh 2.0.7-2 +- Fix gui + +* Thu Mar 1 2007 Dan Walsh 2.0.7-1 +- Update to upstream + * Merged restorecond init script LSB compliance patch from Steve Grubb. + -sepolgen + * Merged better matching for refpolicy style from Karl MacMillan + * Merged support for extracting interface paramaters from interface calls from Karl MacMillan + * Merged support for parsing USER_AVC audit messages from Karl MacMillan. + +* Tue Feb 27 2007 Dan Walsh 2.0.6-3 +- Update to upstream + -sepolgen + * Merged support for enabling parser debugging from Karl MacMillan. +- Add sgrupp cleanup of restorcon init script + +* Mon Feb 26 2007 Dan Walsh 2.0.6-2 +- Add Bill Nottinham patch to run restorcond condrestart in postun + +* Fri Feb 23 2007 Dan Walsh 2.0.6-1 +- Update to upstream + - policycoreutils + * Merged newrole O_NONBLOCK fix from Linda Knippers. + * Merged sepolgen and audit2allow patches to leave generated files + in the current directory from Karl MacMillan. + * Merged restorecond memory leak fix from Steve Grubb. + -sepolgen + * Merged patch to leave generated files (e.g. local.te) in current directory from Karl MacMillan. + * Merged patch to make run-tests.py use unittest.main from Karl MacMillan. + * Merged patch to update PLY from Karl MacMillan. + * Merged patch to update the sepolgen parser to handle the latest reference policy from Karl MacMillan. + +* Thu Feb 22 2007 Dan Walsh 2.0.3-2 +- Do not fail on sepolgen-ifgen + +* Thu Feb 22 2007 Dan Walsh 2.0.3-1 +- Update to upstream + * Merged translations update from Dan Walsh. + * Merged chcat fixes from Dan Walsh. + * Merged man page fixes from Dan Walsh. + * Merged seobject prefix validity checking from Dan Walsh. + * Merged Makefile and refparser.py patch from Dan Walsh. + Fixes PYTHONLIBDIR definition and error handling on interface files. + +* Tue Feb 20 2007 Dan Walsh 2.0.2-3 +- Updated newrole NONBlOCK patch + +* Tue Feb 20 2007 Dan Walsh 2.0.2-2 +- Remove Requires: %%{name}-plugins + +* Tue Feb 20 2007 Dan Walsh 2.0.2-1 +- Update to upstream + * Merged seobject exception handler fix from Caleb Case. + * Merged setfiles memory leak patch from Todd Miller. + +* Thu Feb 15 2007 Dan Walsh 2.0.1-2 +- Cleanup man pages syntax +- Add sepolgen + +* Mon Feb 12 2007 Dan Walsh 2.0.1-1 +- Update to upstream + * Merged small fix to correct include of errcodes.h in semodule_deps from Dan Walsh. + +* Wed Feb 7 2007 Dan Walsh 2.0.0-1 +- Update to upstream + * Merged new audit2allow from Karl MacMillan. + This audit2allow depends on the new sepolgen python module. + Note that you must run the sepolgen-ifgen tool to generate + the data needed by audit2allow to generate refpolicy. + * Fixed newrole non-pam build. +- Fix Changelog and spelling error in man page + +* Thu Feb 1 2007 Dan Walsh 1.34.1-4 +- Fix audit2allow on missing translations + +* Wed Jan 24 2007 Dan Walsh 1.34.1-3 +- More chcat fixes + +* Wed Jan 24 2007 Dan Walsh 1.34.1-2 +- Change chcat to exec semodule so file context is maintained + +* Wed Jan 24 2007 Dan Walsh 1.34.1-1 +- Fix system-config-selinux ports view +- Update to upstream + * Fixed newrole non-pam build. + * Updated version for stable branch. + +* Wed Jan 17 2007 Dan Walsh 1.33.15-1 +- Update to upstream + * Merged unicode-to-string fix for seobject audit from Dan Walsh. + * Merged man page updates to make "apropos selinux" work from Dan Walsh. +* Tue Jan 16 2007 Dan Walsh 1.33.14-1 + * Merged newrole man page patch from Michael Thompson. + * Merged patch to fix python unicode problem from Dan Walsh. + +* Tue Jan 16 2007 Dan Walsh 1.33.12-3 +- Fix handling of audit messages for useradd change +Resolves: #222159 + +* Fri Jan 12 2007 Dan Walsh 1.33.12-2 +- Update man pages by adding SELinux to header to fix apropos database +Resolves: #217881 + +* Tue Jan 9 2007 Dan Walsh 1.33.12-1 +- Want to update to match api +- Update to upstream + * Merged newrole securetty check from Dan Walsh. + * Merged semodule patch to generalize list support from Karl MacMillan. +Resolves: #200110 + +* Tue Jan 9 2007 Dan Walsh 1.33.11-1 +- Update to upstream + * Merged fixfiles and seobject fixes from Dan Walsh. + * Merged semodule support for list of modules after -i from Karl MacMillan. + +* Tue Jan 9 2007 Dan Walsh 1.33.10-1 +- Update to upstream + * Merged patch to correctly handle a failure during semanage handle + creation from Karl MacMillan. + * Merged patch to fix seobject role modification from Dan Walsh. + +* Fri Jan 5 2007 Dan Walsh 1.33.8-2 +- Stop newrole -l from working on non secure ttys +Resolves: #200110 + +* Thu Jan 4 2007 Dan Walsh 1.33.8-1 +- Update to upstream + * Merged patches from Dan Walsh to: + - omit the optional name from audit2allow + - use the installed python version in the Makefiles + - re-open the tty with O_RDWR in newrole + +* Wed Jan 3 2007 Dan Walsh 1.33.7-1 +- Update to upstream + * Patch from Dan Walsh to correctly suppress warnings in load_policy. + +* Tue Jan 2 2007 Dan Walsh 1.33.6-9 +- Fix fixfiles script to use tty command correctly. If this command fails, it +should set the LOGFILE to /dev/null +Resolves: #220879 + +* Wed Dec 20 2006 Dan Walsh 1.33.6-8 +- Remove hard coding of python2.4 from Makefiles + +* Tue Dec 19 2006 Dan Walsh 1.33.6-7 +- add exists switch to semanage to tell it not to check for existance of Linux user +Resolves: #219421 + +* Mon Dec 18 2006 Dan Walsh 1.33.6-6 +- Fix audit2allow generating reference policy +- Fix semanage to manage user roles properly +Resolves: #220071 + +* Fri Dec 8 2006 Dan Walsh 1.33.6-5 +- Update po files +- Fix newrole to open stdout and stderr rdrw so more will work on MLS machines +Resolves: #216920 + +* Thu Dec 7 2006 Jeremy Katz - 1.33.6-4 +- rebuild for python 2.5 + +* Wed Dec 6 2006 Dan Walsh 1.33.6-3 +- Update po files +Resolves: #216920 + +* Fri Dec 1 2006 Dan Walsh 1.33.6-2 +- Update po files +Resolves: #216920 + +* Wed Nov 29 2006 Dan Walsh 1.33.6-1 +- Update to upstream + * Patch from Dan Walsh to add an pam_acct_msg call to run_init + * Patch from Dan Walsh to fix error code returns in newrole + * Patch from Dan Walsh to remove verbose flag from semanage man page + * Patch from Dan Walsh to make audit2allow use refpolicy Makefile + in /usr/share/selinux/ + +* Wed Nov 29 2006 Dan Walsh 1.33.5-4 +- Fixing the Makefile line again to build with LSPP support +Resolves: #208838 + +* Wed Nov 29 2006 Dan Walsh 1.33.5-3 +- Don't report errors on restorecond when file system does not support XATTRS +Resolves: #217694 + +* Tue Nov 28 2006 Dan Walsh 1.33.5-2 +- Fix -q qualifier on load_policy +Resolves: #214827 + +* Tue Nov 28 2006 Dan Walsh 1.33.5-1 +- Merge to upstream +- Fix makefile line +Resolves: #208838 + +* Fri Nov 24 2006 Dan Walsh 1.33.4-2 +- Additional po changes +- Added all booleans definitions + +* Wed Nov 22 2006 Dan Walsh 1.33.4-1 +- Upstream accepted my patches + * Merged setsebool patch from Karl MacMillan. + This fixes a bug reported by Yuichi Nakamura with + always setting booleans persistently on an unmanaged system. + +* Mon Nov 20 2006 Dan Walsh 1.33.2-2 +- Fixes for the gui + +* Mon Nov 20 2006 Dan Walsh 1.33.2-1 +- Upstream accepted my patches + +* Fri Nov 17 2006 Dan Walsh 1.33.1-9 +- Add Amy Grifis Patch to preserve newrole exit status + +* Thu Nov 16 2006 Dan Walsh 1.33.1-8 +- Fix display of gui + +* Thu Nov 16 2006 Dan Walsh 1.33.1-7 +- Add patch by Jose Plans to make run_init use pam_acct_mgmt + +* Wed Nov 15 2006 Dan Walsh 1.33.1-6 +- More fixes to gui + +* Wed Nov 15 2006 Dan Walsh 1.33.1-5 +- Fix audit2allow to generate referene policy + +* Wed Nov 15 2006 Dan Walsh 1.33.1-4 +- Add group sort for portsPage.py +- Add enable/disableaudit to modules page + +* Wed Nov 15 2006 Dan Walsh 1.33.1-3 +- Add glade file + +* Tue Nov 14 2006 Dan Walsh 1.33.1-2 +- Fix Module handling in system-config-selinux + +* Tue Nov 14 2006 Dan Walsh 1.33.1-1 +- Update to upstream + * Merged newrole patch set from Michael Thompson. +- Add policycoreutils-gui + +* Thu Nov 9 2006 Dan Walsh 1.32-3 +- No longer requires rhpl + +* Mon Nov 6 2006 Dan Walsh 1.32-2 +- Fix genhomedircon man page + +* Mon Oct 9 2006 Dan Walsh 1.32-1 +- Add newrole audit patch from sgrubb +- Update to upstream + * Merged audit2allow -l fix from Yuichi Nakamura. + * Merged restorecon -i and -o - support from Karl MacMillan. + * Merged semanage/seobject fix from Dan Walsh. + * Merged fixfiles -R and verify changes from Dan Walsh. + +* Fri Oct 6 2006 Dan Walsh 1.30.30-2 +- Separate out newrole into its own package + +* Fri Sep 29 2006 Dan Walsh 1.30.30-1 +- Update to upstream + * Merged newrole auditing of failures due to user actions from + Michael Thompson. + +* Thu Sep 21 2006 Dan Walsh 1.30.29-6 +- Pass -i qualifier to restorecon for fixfiles -R +- Update translations + +* Thu Sep 21 2006 Dan Walsh 1.30.29-5 +- Remove recursion from fixfiles -R calls +- Fix semanage to verify prefix + +* Thu Sep 21 2006 Dan Walsh 1.30.29-4 +- More translations +- Compile with -pie + +* Mon Sep 18 2006 Dan Walsh 1.30.29-3 +- Add translations +- Fix audit2allow -l + +* Thu Sep 14 2006 Dan Walsh 1.30.29-2 +- Rebuild + +* Thu Sep 14 2006 Dan Walsh 1.30.29-1 +- Update to upstream +- Change -o to take "-" for stdout + +* Wed Sep 13 2006 Dan Walsh 1.30.28-9 +- Add -h support for genhomedircon + +* Wed Sep 13 2006 Dan Walsh 1.30.28-8 +- Fix fixfiles handling of -o + +* Mon Sep 11 2006 Dan Walsh 1.30.28-7 +- Make restorecon return the number of changes files if you use the -n flag + +* Fri Sep 8 2006 Dan Walsh 1.30.28-6 +- Change setfiles and restorecon to use stderr except for -o flag +- Also -o flag will now output files + +* Thu Sep 7 2006 Dan Walsh 1.30.28-5 +- Put back Erich's change + +* Wed Sep 6 2006 Dan Walsh 1.30.28-4 +- Remove recursive switch when using rpm + +* Wed Sep 6 2006 Dan Walsh 1.30.28-3 +- Fix fixfiles to handle multiple rpm and make -o work + +* Fri Sep 1 2006 Dan Walsh 1.30.28-2 +- Apply patch + +* Fri Sep 1 2006 Dan Walsh 1.30.28-1 +- Security fixes to run python in a more locked down manner +- More Translations +- Update to upstream + * Merged fix for restorecon // handling from Erich Schubert. + * Merged translations update and fixfiles fix from Dan Walsh. + +* Thu Aug 31 2006 Dan Walsh 1.30.27-5 +- Change scripts to use /usr/sbin/python + +* Thu Aug 31 2006 Dan Walsh 1.30.27-4 +- Add -i qualified to restorecon to tell it to ignore files that do not exist +- Fixfiles also modified for this change + +* Thu Aug 31 2006 Dan Walsh 1.30.27-3 +- Ignore sigpipe + +* Thu Aug 31 2006 Dan Walsh 1.30.27-2 +- Fix init script and add translations + +* Thu Aug 24 2006 Dan Walsh 1.30.27-1 +- Update to upstream + * Merged fix for restorecon symlink handling from Erich Schubert. + +* Sat Aug 12 2006 Dan Walsh 1.30.26-1 +- Update to upstream + * Merged semanage local file contexts patch from Chris PeBenito. +- Fix fixfiles log creation +- More translations + +* Thu Aug 3 2006 Dan Walsh 1.30.25-1 +- Update to upstream + * Merged patch from Dan Walsh with: + * audit2allow: process MAC_POLICY_LOAD events + * newrole: run shell with - prefix to start a login shell + * po: po file updates + * restorecond: bail if SELinux not enabled + * fixfiles: omit -q + * genhomedircon: fix exit code if non-root + * semodule_deps: install man page + * Merged secon Makefile fix from Joshua Brindle. + * Merged netfilter contexts support patch from Chris PeBenito. + +* Wed Aug 2 2006 Dan Walsh 1.30.22-3 +- Fix audit2allow to handle reload of policy + +* Wed Aug 2 2006 Dan Walsh 1.30.22-2 +- Stop restorecond init script when selinux is not enabled + +* Tue Aug 1 2006 Dan Walsh 1.30.22-1 +- Update to upstream + * Merged restorecond size_t fix from Joshua Brindle. + * Merged secon keycreate patch from Michael LeMay. + * Merged restorecond fixes from Dan Walsh. + Merged updated po files from Dan Walsh. + * Merged python gettext patch from Stephen Bennett. + * Merged semodule_deps from Karl MacMillan. + +* Thu Jul 27 2006 Dan Walsh 1.30.17-7 +- Change newrole to exec a login shell to prevent suspend. + +* Fri Jul 21 2006 Dan Walsh 1.30.17-6 +- Report error when selinux not enabled in restorecond + +* Tue Jul 18 2006 Dan Walsh 1.30.17-5 +- Fix handling of restorecond + +* Mon Jul 17 2006 Dan Walsh 1.30.17-4 +- Fix creation of restorecond pidfile + +* Mon Jul 17 2006 Dan Walsh 1.30.17-3 +- Update translations +- Update to new GCC + +* Mon Jul 10 2006 Dan Walsh 1.30.17-2 +- Add verbose flag to restorecond and update translations + +* Tue Jul 4 2006 Dan Walsh 1.30.17-1 +- Update to upstream + * Lindent. + * Merged patch from Dan Walsh with: + * -p option (progress) for setfiles and restorecon. + * disable context translation for setfiles and restorecon. + * on/off values for setsebool. + * Merged setfiles and semodule_link fixes from Joshua Brindle. + +* Thu Jun 22 2006 Dan Walsh 1.30.14-5 +- Add progress indicator on fixfiles/setfiles/restorecon + +* Wed Jun 21 2006 Dan Walsh 1.30.14-4 +- Don't use translations with matchpathcon + +* Tue Jun 20 2006 Dan Walsh 1.30.14-3 +- Prompt for selinux-policy-devel package in audit2allow + +* Mon Jun 19 2006 Dan Walsh 1.30.14-2 +- Allow setsebool to use on/off +- Update translations + +* Fri Jun 16 2006 Dan Walsh 1.30.14-1 +- Update to upstream + * Merged fix for setsebool error path from Serge Hallyn. + * Merged patch from Dan Walsh with: + * Updated po files. + * Fixes for genhomedircon and seobject. + * Audit message for mass relabel by setfiles. + +* Tue Jun 13 2006 James Antill 1.30.12-5 +- Update audit mass relabel to only compile in when audit is installed. + +* Mon Jun 12 2006 Dan Walsh 1.30.12-4 +- Update to required versions +- Update translation + +* Wed Jun 7 2006 Dan Walsh 1.30.12-3 +- Fix shell selection + +* Mon Jun 5 2006 Dan Walsh 1.30.12-2 +- Add BuildRequires for gettext + +* Mon Jun 5 2006 Dan Walsh 1.30.12-1 + * Updated fixfiles script for new setfiles location in /sbin. + +* Tue May 30 2006 Dan Walsh 1.30.11-1 +- Update to upstream + * Merged more translations from Dan Walsh. + * Merged patch to relocate setfiles to /sbin for early relabel + when /usr might not be mounted from Dan Walsh. + * Merged semanage/seobject patch to preserve fcontext ordering in list. + * Merged secon patch from James Antill. + +* Fri May 26 2006 Dan Walsh 1.30.10-4 +- Fix seobject.py to not sort the file_context file. +- move setfiles to /sbin + +* Wed May 24 2006 James Antill 1.30.10-3 +- secon man page and getopt fixes. +- Enable mass relabel audit, even though it doesn't work. + +* Wed May 24 2006 James Antill 1.30.10-2 +- secon fixes for --self-exec etc. +- secon change from level => sensitivity, add clearance. +- Add mass relabel AUDIT patch, but disable it until kernel problem solved. + +* Tue May 23 2006 Dan Walsh 1.30.10-1 +- Update to upstream + * Merged patch with updates to audit2allow, secon, genhomedircon, + and semanage from Dan Walsh. + +* Sat May 20 2006 Dan Walsh 1.30.9-4 +- Fix exception in genhomedircon + +* Mon May 15 2006 James Antill 1.30.9-3 +- Add rhpl dependancy + +* Mon May 15 2006 James Antill 1.30.9-2 +- Add secon man page and prompt options. + +* Mon May 15 2006 Dan Walsh 1.30.9-1 +- Update to upstream + * Fixed audit2allow and po Makefiles for DESTDIR= builds. + * Merged .po file patch from Dan Walsh. + * Merged bug fix for genhomedircon. + +* Wed May 10 2006 Dan Walsh 1.30.8-2 +- Fix exception on bad file_context + +* Mon May 8 2006 Dan Walsh 1.30.8-1 +- Update to upstream + * Merged fix warnings patch from Karl MacMillan. + * Merged patch from Dan Walsh. + This includes audit2allow changes for analysis plugins, + internationalization support for several additional programs + and added po files, some fixes for semanage, and several cleanups. + It also adds a new secon utility. + +* Sun May 7 2006 Dan Walsh 1.30.6-5 +- Fix genhomedircon to catch duplicate homedir problem + +* Thu May 4 2006 Dan Walsh 1.30.6-4 +- Add secon program +- Add translations + +* Thu Apr 20 2006 Dan Walsh 1.30.6-3 +- Fix check for "msg" + +* Mon Apr 17 2006 Dan Walsh 1.30.6-2 +- Ship avc.py + +* Fri Apr 14 2006 Dan Walsh 1.30.6-1 +- Add /etc/samba/secrets.tdb to restorecond.conf +- Update from upstream + * Merged semanage prefix support from Russell Coker. + * Added a test to setfiles to check that the spec file is + a regular file. + +* Thu Apr 06 2006 Karsten Hopp 1.30.4-4 +- added some missing buildrequires +- added Requires: initscripts for /sbin/service + +* Thu Apr 06 2006 Karsten Hopp 1.30.4-3 +- use absolute path /sbin/service + +* Wed Apr 5 2006 Dan Walsh 1.30.4-2 +- Fix audit2allow to not require ausearch. +- Fix man page +- Add libflashplayer to restorecond.conf + +* Wed Mar 29 2006 Dan Walsh 1.30.4-1 +- Update from upstream + * Merged audit2allow fixes for refpolicy from Dan Walsh. + * Merged fixfiles patch from Dan Walsh. + * Merged restorecond daemon from Dan Walsh. + * Merged semanage non-MLS fixes from Chris PeBenito. + * Merged semanage and semodule man page examples from Thomas Bleher. + +* Tue Mar 28 2006 Dan Walsh 1.30.1-4 +- Clean up reference policy generation in audit2allow + +* Tue Mar 21 2006 Dan Walsh 1.30.1-3 +- Add IN_MOVED_TO to catch renames + +* Tue Mar 21 2006 Dan Walsh 1.30.1-2 +- make restorecond only ignore non directories with lnk > 1 + +* Tue Mar 21 2006 Dan Walsh 1.30.1-1 +- Make audit2allow translate dontaudit as well as allow rules +- Update from upstream + * Merged semanage labeling prefix patch from Ivan Gyurdiev. + +* Tue Mar 21 2006 Dan Walsh 1.30-5 +- Fix audit2allow to retrieve dontaudit rules + +* Mon Mar 20 2006 Dan Walsh 1.30-4 +- Open file descriptor to make sure file does not change from underneath. + +* Fri Mar 17 2006 Dan Walsh 1.30-3 +- Fixes for restorecond attack via symlinks +- Fixes for fixfiles + +* Fri Mar 17 2006 Dan Walsh 1.30-2 +- Restorecon has to handle suspend/resume + +* Fri Mar 17 2006 Dan Walsh 1.30-1 +- Update to upstream + +* Fri Mar 10 2006 Dan Walsh 1.29.27-1 +- Add restorecond + +* Fri Mar 10 2006 Dan Walsh 1.29.26-6 +- Remove prereq + +* Mon Mar 6 2006 Dan Walsh 1.29.26-5 +- Fix audit2allow to generate all rules + +* Fri Mar 3 2006 Dan Walsh 1.29.26-4 +- Minor fixes to chcat and semanage + +* Fri Feb 24 2006 Dan Walsh 1.29.26-3 +- Add missing setsebool man page + +* Thu Feb 23 2006 Dan Walsh 1.29.26-2 +- Change audit2allow to use devel instead of refpolicy + +* Mon Feb 20 2006 Dan Walsh 1.29.26-1 +- Update from upstream + * Merged semanage bug fix patch from Ivan Gyurdiev. + * Merged improve bindings patch from Ivan Gyurdiev. + * Merged semanage usage patch from Ivan Gyurdiev. + * Merged use PyList patch from Ivan Gyurdiev. + +* Mon Feb 13 2006 Dan Walsh 1.29.23-1 +- Update from upstream + * Merged newrole -V/--version support from Glauber de Oliveira Costa. + * Merged genhomedircon prefix patch from Dan Walsh. + * Merged optionals in base patch from Joshua Brindle. + +* Fri Feb 10 2006 Jesse Keating - 1.29.20-2.1 +- bump again for double-long bug on ppc(64) + +* Tue Feb 07 2006 Dan Walsh 1.29.20-2 +- Fix auditing to semanage +- Change genhomedircon to use new prefix interface in libselinux + +* Tue Feb 07 2006 Dan Walsh 1.29.20-1 +- Update from upstream + * Merged seuser/user_extra support patch to semodule_package + from Joshua Brindle. + * Merged getopt type fix for semodule_link/expand and sestatus + from Chris PeBenito. +- Fix genhomedircon output + +* Tue Feb 07 2006 Jesse Keating - 1.29.18-2.1 +- rebuilt for new gcc4.1 snapshot and glibc changes + +* Fri Feb 3 2006 Dan Walsh 1.29.18-2 +- Add auditing to semanage + +* Thu Feb 2 2006 Dan Walsh 1.29.18-1 +- Update from upstream + * Merged clone record on set_con patch from Ivan Gyurdiev. + +* Mon Jan 30 2006 Dan Walsh 1.29.17-1 +- Update from upstream + * Merged genhomedircon fix from Dan Walsh. + * Merged seusers.system patch from Ivan Gyurdiev. + * Merged improve port/fcontext API patch from Ivan Gyurdiev. + * Merged genhomedircon patch from Dan Walsh. + +* Fri Jan 27 2006 Dan Walsh 1.29.15-1 +- Update from upstream + * Merged newrole audit patch from Steve Grubb. + * Merged seuser -> seuser local rename patch from Ivan Gyurdiev. + * Merged semanage and semodule access check patches from Joshua Brindle. +* Wed Jan 25 2006 Dan Walsh 1.29.12-1 +- Add a default of /export/home + +* Wed Jan 25 2006 Dan Walsh 1.29.11-3 +- Cleanup of the patch + +* Wed Jan 25 2006 Dan Walsh 1.29.11-2 +- Correct handling of symbolic links in restorecon + +* Wed Jan 25 2006 Dan Walsh 1.29.11-1 +- Added translation support to semanage +- Update from upstream + * Modified newrole and run_init to use the loginuid when + supported to obtain the Linux user identity to re-authenticate, + and to fall back to real uid. Dropped the use of the SELinux + user identity, as Linux users are now mapped to SELinux users + via seusers and the SELinux user identity space is separate. + * Merged semanage bug fixes from Ivan Gyurdiev. + * Merged semanage fixes from Russell Coker. + * Merged chcat.8 and genhomedircon patches from Dan Walsh. + +* Thu Jan 19 2006 Dan Walsh 1.29.9-2 +- Fix genhomedircon to work on MLS policy + +* Thu Jan 19 2006 Dan Walsh 1.29.9-1 +- Update to match NSA + * Merged chcat, semanage, and setsebool patches from Dan Walsh. + +* Thu Jan 19 2006 Dan Walsh 1.29.8-4 +- Fixes for "add"-"modify" error messages +- Fixes for chcat + +* Wed Jan 18 2006 Dan Walsh 1.29.8-3 +- Add management of translation file to semaange and seobject + +* Wed Jan 18 2006 Dan Walsh 1.29.8-2 +- Fix chcat -l -L to work while not root + +* Wed Jan 18 2006 Dan Walsh 1.29.8-1 +- Update to match NSA + * Merged semanage fixes from Ivan Gyurdiev. + * Merged semanage fixes from Russell Coker. + * Merged chcat, genhomedircon, and semanage diffs from Dan Walsh. + +* Tue Jan 17 2006 Dan Walsh 1.29.7-4 +- Update chcat to manage user categories also + +* Sat Jan 14 2006 Dan Walsh 1.29.7-3 +- Add check for root for semanage, genhomedircon + +* Sat Jan 14 2006 Dan Walsh 1.29.7-2 +- Add ivans patch + +* Fri Jan 13 2006 Dan Walsh 1.29.7-1 +- Update to match NSA + * Merged newrole cleanup patch from Steve Grubb. + * Merged setfiles/restorecon performance patch from Russell Coker. + * Merged genhomedircon and semanage patches from Dan Walsh. + * Merged remove add_local/set_local patch from Ivan Gyurdiev. + +* Tue Jan 10 2006 Dan Walsh 1.29.5-3 +- Fixes for mls policy + +* Tue Jan 10 2006 Dan Walsh 1.29.5-2 +- Update semanage and split out seobject +- Fix labeleing of home_root + +* Thu Jan 5 2006 Dan Walsh 1.29.5-1 +- Update to match NSA + * Added filename to semodule error reporting. + +* Thu Jan 5 2006 Dan Walsh 1.29.4-1 +- Update to match NSA + * Merged genhomedircon and semanage patch from Dan Walsh. + * Changed semodule error reporting to include argv[0]. + +* Wed Jan 4 2006 Dan Walsh 1.29.3-1 +- Update to match NSA + * Merged semanage getpwnam bug fix from Serge Hallyn (IBM). + * Merged patch series from Ivan Gyurdiev. + This includes patches to: + - cleanup setsebool + - update setsebool to apply active booleans through libsemanage + - update semodule to use the new semanage_set_rebuild() interface + - fix various bugs in semanage + * Merged patch from Dan Walsh (Red Hat). + This includes fixes for restorecon, chcat, fixfiles, genhomedircon, + and semanage. + +* Mon Jan 2 2006 Dan Walsh 1.29.2-10 +- Fix restorecon to not say it is changing user section when -vv is specified + +* Tue Dec 27 2005 Dan Walsh 1.29.2-9 +- Fixes for semanage, patch from Ivan and added a test script + +* Sat Dec 24 2005 Dan Walsh 1.29.2-8 +- Fix getpwnam call + +* Fri Dec 23 2005 Dan Walsh 1.29.2-7 +- Anaconda fixes + +* Thu Dec 22 2005 Dan Walsh 1.29.2-6 +- Turn off try catch block to debug anaconda failure + +* Tue Dec 20 2005 Dan Walsh 1.29.2-5 +- More fixes for chcat + +* Tue Dec 20 2005 Dan Walsh 1.29.2-4 +- Add try catch for files that may not exists + +* Mon Dec 19 2005 Dan Walsh 1.29.2-3 +- Remove commands from genhomedircon for installer + +* Wed Dec 14 2005 Dan Walsh 1.29.2-1 +- Fix genhomedircon to work in installer +- Update to match NSA + * Merged patch for chcat script from Dan Walsh. + +* Fri Dec 9 2005 Dan Walsh 1.29.1-2 +- More fixes to chcat + +* Fri Dec 09 2005 Jesse Keating +- rebuilt + +* Thu Dec 8 2005 Dan Walsh 1.29.1-1 +- Update to match NSA + * Merged fix for audit2allow long option list from Dan Walsh. + * Merged -r option for restorecon (alias for -R) from Dan Walsh. + * Merged chcat script and man page from Dan Walsh. + +* Wed Dec 7 2005 Dan Walsh 1.28-1 +- Update to match NSA +- Add gfs support + +* Wed Dec 7 2005 Dan Walsh 1.27.37-1 +- Update to match NSA +- Add chcat to policycoreutils, adding +/- syntax +` +* Tue Dec 6 2005 Dan Walsh 1.27.36-2 +- Require new version of libsemanage + +* Mon Dec 5 2005 Dan Walsh 1.27.36-1 +- Update to match NSA + * Changed genhomedircon to warn on use of ROLE in homedir_template + if using managed policy, as libsemanage does not yet support it. + +* Sun Dec 4 2005 Dan Walsh 1.27.35-1 +- Update to match NSA + * Merged genhomedircon bug fix from Dan Walsh. + * Revised semodule* man pages to refer to checkmodule and + to include example sections. + +* Thu Dec 1 2005 Dan Walsh 1.27.33-1 +- Update to match NSA + * Merged audit2allow --tefile and --fcfile support from Dan Walsh. + * Merged genhomedircon fix from Dan Walsh. + * Merged semodule* man pages from Dan Walsh, and edited them. + * Changed setfiles to set the MATCHPATHCON_VALIDATE flag to + retain validation/canonicalization of contexts during init. + +* Wed Nov 30 2005 Dan Walsh 1.27.31-1 +- Update to match NSA + * Changed genhomedircon to always use user_r for the role in the + managed case since user_get_defrole is broken. +- Add te file capabilities to audit2allow +- Add man pages for semodule + +* Tue Nov 29 2005 Dan Walsh 1.27.30-1 +- Update to match NSA + * Merged sestatus, audit2allow, and semanage patch from Dan Walsh. + * Fixed semodule -v option. + +* Mon Nov 28 2005 Dan Walsh 1.27.29-1 +- Update to match NSA + * Merged audit2allow python script from Dan Walsh. + (old script moved to audit2allow.perl, will be removed later). + * Merged genhomedircon fixes from Dan Walsh. + * Merged semodule quieting patch from Dan Walsh + (inverts default, use -v to restore original behavior). + +* Thu Nov 17 2005 Dan Walsh 1.27.28-3 +- Audit2allow + * Add more error checking + * Add gen policy package + * Add gen requires + +* Wed Nov 16 2005 Dan Walsh 1.27.28-2 +- Update to match NSA + * Merged genhomedircon rewrite from Dan Walsh. +- Rewrite audit2allow to python + +* Mon Nov 14 2005 Dan Walsh 1.27.27-5 +- Fix genhomedircon to work with non libsemanage systems + +* Fri Nov 11 2005 Dan Walsh 1.27.27-3 +- Patch genhomedircon to use libsemanage.py stuff + +* Wed Nov 9 2005 Dan Walsh 1.27.27-1 +- Update to match NSA + * Merged setsebool cleanup patch from Ivan Gyurdiev. + +* Wed Nov 9 2005 Dan Walsh 1.27.26-4 +- Fix genhomedircon to use seusers file, temporary fix until swigified semanage + +* Tue Nov 8 2005 Dan Walsh 1.27.26-1 + * Added -B (--build) option to semodule to force a rebuild. + * Reverted setsebool patch to call semanage_set_reload_bools(). + * Changed setsebool to disable policy reload and to call + security_set_boolean_list to update the runtime booleans. + * Changed setfiles -c to use new flag to set_matchpathcon_flags() + to disable context translation by matchpathcon_init(). + +* Tue Nov 8 2005 Dan Walsh 1.27.23-1 +- Update to match NSA + * Changed setfiles for the context canonicalization support. + * Changed setsebool to call semanage_is_managed() interface + and fall back to security_set_boolean_list() if policy is + not managed. + * Merged setsebool memory leak fix from Ivan Gyurdiev. + * Merged setsebool patch to call semanage_set_reload_bools() + interface from Ivan Gyurdiev. + +* Mon Nov 7 2005 Dan Walsh 1.27.20-1 +- Update to match NSA + * Merged setsebool patch from Ivan Gyurdiev. + This moves setsebool from libselinux/utils to policycoreutils, + and rewrites it to use libsemanage for permanent boolean changes. + +* Tue Oct 25 2005 Dan Walsh 1.27.19-2 +- Rebuild to use latest libselinux, libsemanage, and libsepol + +* Tue Oct 25 2005 Dan Walsh 1.27.19-1 +- Update to match NSA + * Merged semodule support for reload, noreload, and store options + from Joshua Brindle. + * Merged semodule_package rewrite from Joshua Brindle. + +* Thu Oct 20 2005 Dan Walsh 1.27.18-1 +- Update to match NSA + * Cleaned up usage and error messages and releasing of memory by + semodule utilities. + * Corrected error reporting by semodule. + * Updated semodule_expand for change to sepol interface. + * Merged fixes for make DESTDIR= builds from Joshua Brindle. + +* Tue Oct 18 2005 Dan Walsh 1.27.14-1 +- Update to match NSA + * Updated semodule_package for sepol interface changes. + +* Tue Oct 18 2005 Dan Walsh 1.27.13-1 +- Update to match NSA + * Updated semodule_expand/link for sepol interface changes. + +* Sat Oct 15 2005 Dan Walsh 1.27.12-1 +- Update to match NSA + * Merged non-PAM Makefile support for newrole and run_init from Timothy Wood. + +* Fri Oct 14 2005 Dan Walsh 1.27.11-1 +- Update to match NSA + * Updated semodule_expand to use get interfaces for hidden sepol_module_package type. + * Merged newrole and run_init pam config patches from Dan Walsh (Red Hat). + * Merged fixfiles patch from Dan Walsh (Red Hat). + * Updated semodule for removal of semanage_strerror. + + +* Thu Oct 13 2005 Dan Walsh 1.27.7-2 +- Fix run_init.pamd and spec file + +* Wed Oct 12 2005 Dan Walsh 1.27.7-1 +- Update to match NSA + * Updated semodule_link and semodule_expand to use shared libsepol. + Fixed audit2why to call policydb_init prior to policydb_read (still + uses the static libsepol). + +* Mon Oct 10 2005 Dan Walsh 1.27.6-1 +- Update to match NSA + * Updated for changes to libsepol. + Changed semodule and semodule_package to use the shared libsepol. + Disabled build of semodule_link and semodule_expand for now. + Updated audit2why for relocated policydb internal headers, + still needs to be converted to a shared lib interface. + +* Fri Oct 7 2005 Dan Walsh 1.27.5-3 +- Update newrole pam file to remove pam-stack +- Update run_init pam file to remove pam-stack + +* Thu Oct 6 2005 Dan Walsh 1.27.5-1 +- Update to match NSA + * Fixed warnings in load_policy. + * Rewrote load_policy to use the new selinux_mkload_policy() + interface provided by libselinux. + +* Wed Oct 5 2005 Dan Walsh 1.27.3-2 +- Rebuild with newer libararies + +* Wed Sep 28 2005 Dan Walsh 1.27.3-1 +- Update to match NSA + * Merged patch to update semodule to the new libsemanage API + and improve the user interface from Karl MacMillan (Tresys). + * Modified semodule for the create/connect API split. + +* Wed Sep 28 2005 Dan Walsh 1.27.2-2 +- More fixes to stop find from following nfs paths + +* Wed Sep 21 2005 Dan Walsh 1.27.2-1 +- Update to match NSA + * Merged run_init open_init_pty bug fix from Manoj Srivastava + (unblock SIGCHLD). Bug reported by Erich Schubert. + +* Tue Sep 20 2005 Dan Walsh 1.27.1-1 +- Update to match NSA + * Merged error shadowing bug fix for restorecon from Dan Walsh. + * Merged setfiles usage/man page update for -r option from Dan Walsh. + * Merged fixfiles -C patch to ignore :s0 addition on update + to a MCS/MLS policy from Dan Walsh. + +* Thu Sep 15 2005 Dan Walsh 1.26-3 +- Add chcat script for use with chcon. + +* Tue Sep 13 2005 Dan Walsh 1.26-2 +- Fix restorecon to exit with error code + +* Mon Sep 12 2005 Dan Walsh 1.26-1 + * Updated version for release. + +* Tue Sep 6 2005 Dan Walsh 1.25.9-2 +- Add prereq for mount command + +* Thu Sep 1 2005 Dan Walsh 1.25.9-1 +- Update to match NSA + * Changed setfiles -c to translate the context to raw format + prior to calling libsepol. + +* Fri Aug 26 2005 Dan Walsh 1.25.7-3 +- Use new version of libsemange and require it for install + +* Fri Aug 26 2005 Dan Walsh 1.25.7-2 +- Ignore s0 in file context + +* Thu Aug 25 2005 Dan Walsh 1.25.7-1 +- Update to match NSA + * Merged patch for fixfiles -C from Dan Walsh. + +* Tue Aug 23 2005 Dan Walsh 1.25.6-1 +- Update to match NSA + * Merged fixes for semodule_link and sestatus from Serge Hallyn (IBM). + Bugs found by Coverity. + +* Mon Aug 22 2005 Dan Walsh 1.25.5-3 +- Fix fixfiles to call sort -u followed by sort -d. + +* Wed Aug 17 2005 Dan Walsh 1.25.5-2 +- Change fixfiles to ignore /home directory on updates + +* Fri Aug 5 2005 Dan Walsh 1.25.5-1 +- Update to match NSA + * Merged patch to move module read/write code from libsemanage + to libsepol from Jason Tang (Tresys). + +* Thu Jul 28 2005 Dan Walsh 1.25.4-1 +- Update to match NSA + * Changed semodule* to link with libsemanage. + +* Wed Jul 27 2005 Dan Walsh 1.25.3-1 +- Update to match NSA + * Merged restorecon patch from Ivan Gyurdiev. + +* Mon Jul 18 2005 Dan Walsh 1.25.2-1 +- Update to match NSA + * Merged load_policy, newrole, and genhomedircon patches from Red Hat. + +* Thu Jul 7 2005 Dan Walsh 1.25.1-1 +- Update to match NSA + * Merged loadable module support from Tresys Technology. + +* Wed Jun 29 2005 Dan Walsh 1.24-1 +- Update to match NSA + * Updated version for release. + +* Tue Jun 14 2005 Dan Walsh 1.23.11-4 +- Fix Ivan's patch for user role changes + +* Sat May 28 2005 Dan Walsh 1.23.11-3 +- Add Ivan's patch for user role changes in genhomedircon + +* Thu May 26 2005 Dan Walsh 1.23.11-2 +- Fix warning message on reload of booleans + + +* Fri May 20 2005 Dan Walsh 1.23.11-1 +- Update to match NSA + * Merged fixfiles and newrole patch from Dan Walsh. + * Merged audit2why man page from Dan Walsh. + +* Thu May 19 2005 Dan Walsh 1.23.10-2 +- Add call to pam_acct_mgmt in newrole. + +* Tue May 17 2005 Dan Walsh 1.23.10-1 +- Update to match NSA + * Extended audit2why to incorporate booleans and local user + settings when analyzing audit messages. + +* Mon May 16 2005 Dan Walsh 1.23.9-1 +- Update to match NSA + * Updated audit2why for sepol_ prefixes on Flask types to + avoid namespace collision with libselinux, and to + include now. + +* Fri May 13 2005 Dan Walsh 1.23.8-1 +- Fix fixfiles to accept -f +- Update to match NSA + * Added audit2why utility. + +* Fri Apr 29 2005 Dan Walsh 1.23.7-1 +- Change -f flag in fixfiles to remove stuff from /tmp +- Change -F flag to pass -F flag to restorecon/fixfiles. (IE Force relabel). + +* Thu Apr 14 2005 Dan Walsh 1.23.6-1 +- Update to match NSA + * Fixed signed/unsigned pointer bug in load_policy. + * Reverted context validation patch for genhomedircon. + +* Wed Apr 13 2005 Dan Walsh 1.23.5-1 +- Update to match NSA + * Reverted load_policy is_selinux_enabled patch from Dan Walsh. + Otherwise, an initial policy load cannot be performed using + load_policy, e.g. for anaconda. + + +* Mon Apr 11 2005 Dan Walsh 1.23.4-3 +- remove is_selinux_enabled check from load_policy (Bad idea) + +* Mon Apr 11 2005 Dan Walsh 1.23.4-1 +- Update to version from NSA + * Merged load_policy is_selinux_enabled patch from Dan Walsh. + * Merged restorecon verbose output patch from Dan Walsh. + * Merged setfiles altroot patch from Chris PeBenito. + +* Thu Apr 7 2005 Dan Walsh 1.23.3-2 +- Don't run load_policy on a non SELinux kernel. + +* Wed Apr 6 2005 Dan Walsh 1.23.3-1 +- Update to version from NSA + * Merged context validation patch for genhomedircon from Eric Paris. +- Fix verbose output of restorecon + +* Thu Mar 17 2005 Dan Walsh 1.23.2-1 +- Update to version from NSA + * Changed setfiles -c to call set_matchpathcon_flags(3) to + turn off processing of .homedirs and .local. + +* Tue Mar 15 2005 Dan Walsh 1.23.1-1 +- Update to released version from NSA + * Merged rewrite of genhomedircon by Eric Paris. + * Changed fixfiles to relabel jfs since it now supports security xattrs + (as of 2.6.11). Removed reiserfs until 2.6.12 is released with + fixed support for reiserfs and selinux. + +* Thu Mar 10 2005 Dan Walsh 1.22-2 +- Update to released version from NSA +- Patch genhomedircon to handle passwd in different places. + +* Wed Mar 9 2005 Dan Walsh 1.21.22-2 +- Fix genhomedircon to not put bad userad error in file_contexts.homedir + +* Tue Mar 8 2005 Dan Walsh 1.21.22-1 +- Cleanup error reporting + +* Tue Mar 1 2005 Dan Walsh 1.21.21-1 + * Merged load_policy and genhomedircon patch from Dan Walsh. + +* Mon Feb 28 2005 Dan Walsh 1.21.20-3 +- Fix genhomedircon to add extr "\n" + +* Fri Feb 25 2005 Dan Walsh 1.21.20-2 +- Fix genhomedircon to handle blank users + +* Fri Feb 25 2005 Dan Walsh 1.21.20-1 +- Update to latest from NSA +- Add call to libsepol + +* Thu Feb 24 2005 Dan Walsh 1.21.19-4 +- Fix genhomedircon to handle root +- Fix fixfiles to better handle file system types + +* Wed Feb 23 2005 Dan Walsh 1.21.19-2 +- Fix genhomedircon to handle spaces in SELINUXPOLICYTYPE + +* Tue Feb 22 2005 Dan Walsh 1.21.19-1 +- Update to latest from NSA + * Merged several fixes from Ulrich Drepper. + +* Mon Feb 21 2005 Dan Walsh 1.21.18-2 +- Apply Uli patch + * The Makefiles should use the -Wall option even if compiled in beehive + * Add -W, too + * use -Werror when used outside of beehive. This could also be used unconditionally + * setfiles/setfiles.c: fix resulting warning + * restorecon/restorecon.c: Likewise + * run_init/open_init_pty.c: argc hasn't been checked, the program would crash if +called without parameters. ignore the return value of nice properly. + * run_init: don't link with -ldl lutil + * load_policy: that's the bad bug. pointer to unsigned int is passed, size_t is +written to. fails on 64-bit archs + * sestatus: signed vs unsigned problem + * newrole: don't link with -ldl + +* Sat Feb 19 2005 Dan Walsh 1.21.18-1 +- Update to latest from NSA + * Changed load_policy to fall back to the original policy upon + an error from sepol_genusers(). + +* Thu Feb 17 2005 Dan Walsh 1.21.17-2 +- Only restorecon on ext[23], reiser and xfs + +* Thu Feb 17 2005 Dan Walsh 1.21.17-1 +- Update to latest from NSA + * Merged new genhomedircon script from Dan Walsh. + * Changed load_policy to call sepol_genusers(). + +* Thu Feb 17 2005 Dan Walsh 1.21.15-9 +- Remove Red Hat rhpl usage +- Add back in original syntax +- Update man page to match new syntax + +* Fri Feb 11 2005 Dan Walsh 1.21.15-8 +- Fix genhomedircon regular expression +- Fix exclude in restorecon + +* Thu Feb 10 2005 Dan Walsh 1.21.15-5 +- Trap failure on write +- Rewrite genhomedircon to generate file_context.homedirs +- several passes + +* Thu Feb 10 2005 Dan Walsh 1.21.15-1 +- Update from NSA + * Changed relabel Makefile target to use restorecon. + +* Wed Feb 9 2005 Dan Walsh 1.21.14-1 +- Update from NSA + * Merged restorecon patch from Dan Walsh. + +* Tue Feb 8 2005 Dan Walsh 1.21.13-1 +- Update from NSA + * Merged further change to fixfiles -C from Dan Walsh. + * Merged updated fixfiles script from Dan Walsh. +- Fix error handling of restorecon + + +* Mon Feb 7 2005 Dan Walsh 1.21.12-2 +- Fix sestatus for longer booleans + +* Wed Feb 2 2005 Dan Walsh 1.21.12-1 +- More cleanup of fixfiles sed patch + * Merged further patches for restorecon/setfiles -e and fixfiles -C. + +* Wed Feb 2 2005 Dan Walsh 1.21.10-2 +- More cleanup of fixfiles sed patch + +* Mon Jan 31 2005 Dan Walsh 1.21.10-1 +- More cleanup of fixfiles sed patch +- Upgrade to latest from NSA + * Merged patch for open_init_pty from Manoj Srivastava. + +* Fri Jan 28 2005 Dan Walsh 1.21.9-1 +- More cleanup of sed patch +- Upgrade to latest from NSA + * Merged updated fixfiles script from Dan Walsh. + * Merged updated man page for fixfiles from Dan Walsh and re-added unzipped. + * Reverted fixfiles patch for file_contexts.local; + obsoleted by setfiles rewrite. + * Merged error handling patch for restorecon from Dan Walsh. + * Merged semi raw mode for open_init_pty helper from Manoj Srivastava. + * Rewrote setfiles to use matchpathcon and the new interfaces + exported by libselinux (>= 1.21.5). + + +* Fri Jan 28 2005 Dan Walsh 1.21.7-3 +- Fix fixfiles patch +- Upgrade to latest from NSA + * Prevent overflow of spec array in setfiles. +- Add diff comparason between file_contexts to fixfiles +- Allow restorecon to give an warning on file not found instead of exiting + +* Thu Jan 27 2005 Dan Walsh 1.21.5-1 +- Upgrade to latest from NSA + * Merged newrole -l support from Darrel Goeddel (TCS). +- Fix genhomedircon STARTING_UID + +* Wed Jan 26 2005 Dan Walsh 1.21.4-1 +- Upgrade to latest from NSA + * Merged fixfiles patch for file_contexts.local from Dan Walsh. + +* Fri Jan 21 2005 Dan Walsh 1.21.3-2 +- Temp file needs to be created in /etc/selinux/POLICYTYPE/contexts/files/ directory. + +* Fri Jan 21 2005 Dan Walsh 1.21.3-1 +- Upgrade to latest from NSA + * Fixed restorecon to not treat errors from is_context_customizable() + as a customizable context. + * Merged setfiles/restorecon patch to not reset user field unless + -F option is specified from Dan Walsh. + * Merged open_init_pty helper for run_init from Manoj Srivastava. + * Merged audit2allow and genhomedircon man pages from Manoj Srivastava. + +* Fri Jan 21 2005 Dan Walsh 1.21.1-3 +- Don't change user componant if it is all that changed unless forced. +- Change fixfiles to concatinate file_context.local for setfiles + +* Thu Jan 20 2005 Dan Walsh 1.21.1-1 +- Update to latest from NSA + +* Mon Jan 10 2005 Dan Walsh 1.20.1-2 +- Fix restorecon segfault + +* Mon Jan 3 2005 Dan Walsh 1.20.1-1 +- Update to latest from NSA + * Merged fixfiles rewrite from Dan Walsh. + * Merged restorecon patch from Dan Walsh. + +* Mon Jan 3 2005 Dan Walsh 1.19.3-1 +- Update to latest from NSA + * Merged fixfiles and restorecon patches from Dan Walsh. + * Don't display change if only user part changed. + +* Mon Jan 3 2005 Dan Walsh 1.19.2-4 +- Fix fixfiles handling of rpm +- Fix restorecon to not warn on symlinks unless -v -v +- Fix output of verbose to show old context as well as new context + +* Wed Dec 29 2004 Dan Walsh 1.19.2-1 +- Update to latest from NSA + * Changed restorecon to ignore ENOENT errors from matchpathcon. + * Merged nonls patch from Chris PeBenito. + +* Mon Dec 20 2004 Dan Walsh 1.19.1-1 +- Update to latest from NSA + * Removed fixfiles.cron. + * Merged run_init.8 patch from Dan Walsh. + +* Thu Nov 18 2004 Dan Walsh 1.18.1-3 +- Fix run_init.8 to refer to correct location of initrc_context + +* Wed Nov 3 2004 Dan Walsh 1.18.1-1 +- Upgrade to latest from NSA + +* Wed Oct 27 2004 Steve Grubb 1.17.7-3 +- Add code to sestatus to output the current policy from config file + +* Fri Oct 22 2004 Dan Walsh 1.17.7-2 +- Patch audit2allow to return self and no brackets if only one rule + +* Fri Oct 22 2004 Dan Walsh 1.17.7-1 +- Update to latest from NSA +- Eliminate fixfiles.cron + +* Tue Oct 12 2004 Dan Walsh 1.17.6-2 +- Only run fixfiles.cron once a week, and eliminate null message + +* Fri Oct 1 2004 Dan Walsh 1.17.6-1 +- Update with NSA + * Added -l option to setfiles to log changes via syslog. + * Merged -e option to setfiles to exclude directories. + * Merged -R option to restorecon for recursive descent. +* Fri Oct 1 2004 Dan Walsh 1.17.5-6 +- Add -e (exclude directory) switch to setfiles +- Add syslog to setfiles + +* Fri Sep 24 2004 Dan Walsh 1.17.5-5 +- Add -R (recursive) switch to restorecon. + +* Thu Sep 23 2004 Dan Walsh 1.17.5-4 +- Change to only display to terminal if tty is specified + +* Tue Sep 21 2004 Dan Walsh 1.17.5-3 +- Only display to stdout if logfile not specified + +* Thu Sep 9 2004 Dan Walsh 1.17.5-2 +- Add Steve Grubb patch to cleanup log files. + +* Mon Aug 30 2004 Dan Walsh 1.17.5-1 +- Add optargs +- Update to match NSA + +* Wed Aug 25 2004 Dan Walsh 1.17.4-1 +- Add fix to get cdrom info from /proc/media in fixfiles. + +* Wed Aug 25 2004 Dan Walsh 1.17.3-4 +- Add Steve Grub patches for + * Fix fixfiles.cron MAILTO + * Several problems in sestatus + +* Wed Aug 25 2004 Dan Walsh 1.17.3-3 +- Add -q (quiet) qualifier to load_policy to not report warnings + +* Tue Aug 24 2004 Dan Walsh 1.17.3-2 +- Add requires for libsepol >= 1.1.1 + +* Tue Aug 24 2004 Dan Walsh 1.17.3-1 +- Update to latest from upstream + +* Mon Aug 23 2004 Dan Walsh 1.17.2-1 +- Update to latest from upstream +- Includes Colin patch for verifying file_contexts + +* Sun Aug 22 2004 Dan Walsh 1.17.1-1 +- Update to latest from upstream + +* Mon Aug 16 2004 Dan Walsh 1.15.7-1 +- Update to latest from upstream + +* Thu Aug 12 2004 Dan Walsh 1.15.6-1 +- Add Man page for load_policy + +* Tue Aug 10 2004 Dan Walsh 1.15.5-1 +- new version from NSA uses libsepol + +* Mon Aug 2 2004 Dan Walsh 1.15.3-2 +- Fix genhomedircon join command + +* Thu Jul 29 2004 Dan Walsh 1.15.3-1 +- Latest from NSA + +* Mon Jul 26 2004 Dan Walsh 1.15.2-4 +- Change fixfiles to not change when running a check + +* Tue Jul 20 2004 Dan Walsh 1.15.2-3 +- Fix restorecon getopt call to stop hang on IBM Arches + +* Mon Jul 19 2004 Dan Walsh 1.15.2-2 +- Only mail files less than 100 lines from fixfiles.cron +- Add Russell's fix for genhomedircon + +* Fri Jul 16 2004 Dan Walsh 1.15.2-1 +- Latest from NSA + +* Thu Jul 8 2004 Dan Walsh 1.15.1-2 +- Add ro warnings + +* Thu Jul 8 2004 Dan Walsh 1.15.1-1 +- Latest from NSA +- Fix fixfiles.cron to delete outfile + +* Tue Jul 6 2004 Dan Walsh 1.14.1-2 +- Fix fixfiles.cron to not run on non SELinux boxes +- Fix several problems in fixfiles and fixfiles.cron + +* Wed Jun 30 2004 Dan Walsh 1.14.1-1 +- Update from NSA +- Add cron capability to fixfiles + +* Fri Jun 25 2004 Dan Walsh 1.13.4-1 +- Update from NSA + +* Thu Jun 24 2004 Dan Walsh 1.13.3-2 +- Fix fixfiles to handle no rpm file on relabel + +* Wed Jun 23 2004 Dan Walsh 1.13.3-1 +- Update latest from NSA +- Add -o option to setfiles to save output of any files with incorrect context. + +* Tue Jun 22 2004 Dan Walsh 1.13.2-2 +- Add rpm support to fixfiles +- Update restorecon to add file input support + +* Fri Jun 18 2004 Dan Walsh 1.13.2-1 +- Update with NSA Latest + +* Tue Jun 15 2004 Elliot Lee +- rebuilt + +* Sat Jun 12 2004 Dan Walsh 1.13.1-2 +- Fix run_init to use policy formats + +* Wed Jun 2 2004 Dan Walsh 1.13.1-1 +- Update from NSA + +* Tue May 25 2004 Dan Walsh 1.13-3 +- Change location of file_context file + +* Tue May 25 2004 Dan Walsh 1.13-2 +- Change to use /etc/sysconfig/selinux to determine location of policy files + +* Fri May 21 2004 Dan Walsh 1.13-1 +- Update to latest from NSA +- Change fixfiles to prompt before deleteing /tmp files + +* Tue May 18 2004 Dan Walsh 1.12-2 +- have restorecon ingnore <> +- Hand matchpathcon the file status + +* Thu May 13 2004 Dan Walsh 1.12-1 +- Update to match NSA + +* Mon May 10 2004 Dan Walsh 1.11-4 +- Move location of log file to /var/tmp + +* Mon May 10 2004 Dan Walsh 1.11-3 +- Better grep command for bind + +* Fri May 7 2004 Dan Walsh 1.11-2 +- Eliminate bind and context mounts + +* Wed May 5 2004 Dan Walsh 1.11-1 +- update to match NSA + +* Wed Apr 28 2004 Dan Walsh 1.10-4 +- Log fixfiles to the /tmp directory + +* Wed Apr 21 2004 Colin Walters 1.10-3 +- Add patch to fall back to authenticating via uid if + the current user's SELinux user identity is the default + identity +- Add BuildRequires pam-devel + +* Mon Apr 12 2004 Dan Walsh 1.10-2 +- Add man page, thanks to Richard Halley + +* Thu Apr 8 2004 Dan Walsh 1.10-1 +- Upgrade to latest from NSA + +* Fri Apr 2 2004 Dan Walsh 1.9.2-1 +- Update with latest from gentoo and NSA + +* Thu Apr 1 2004 Dan Walsh 1.9.1-1 +- Check return codes in sestatus.c + +* Mon Mar 29 2004 Dan Walsh 1.9-19 +- Fix sestatus to not double free +- Fix sestatus.conf to be unix format + +* Mon Mar 29 2004 Dan Walsh 1.9-18 +- Warn on setfiles failure to relabel. + +* Mon Mar 29 2004 Dan Walsh 1.9-17 +- Updated version of sestatus + +* Mon Mar 29 2004 Dan Walsh 1.9-16 +- Fix fixfiles to checklabel properly + +* Fri Mar 26 2004 Dan Walsh 1.9-15 +- add sestatus + +* Thu Mar 25 2004 Dan Walsh 1.9-14 +- Change free call to freecon +- Cleanup + +* Tue Mar 23 2004 Dan Walsh 1.9-12 +- Remove setfiles-assoc patch +- Fix restorecon to not crash on missing dir + +* Thu Mar 18 2004 Dan Walsh 1.9-11 +- Eliminate trailing / in restorecon + +* Thu Mar 18 2004 Dan Walsh 1.9-10 +- Add Verbosity check + +* Thu Mar 18 2004 Dan Walsh 1.9-9 +- Change restorecon to not follow symlinks. It is too difficult and confusing +- to figure out the file context for the file pointed to by a symlink. + +* Wed Mar 17 2004 Dan Walsh 1.9-8 +- Fix restorecon +* Wed Mar 17 2004 Dan Walsh 1.9-7 +- Read restorecon patch + +* Wed Mar 17 2004 Dan Walsh 1.9-6 +- Change genhomedircon to take POLICYSOURCEDIR from command line + +* Wed Mar 17 2004 Dan Walsh 1.9-5 +- Add checkselinux +- move fixfiles and restorecon to /sbin + +* Wed Mar 17 2004 Dan Walsh 1.9-4 +- Restore patch of genhomedircon + +* Mon Mar 15 2004 Dan Walsh 1.9-3 +- Add setfiles-assoc patch to try to freeup memory use + +* Mon Mar 15 2004 Dan Walsh 1.9-2 +- Add fixlabels + +* Mon Mar 15 2004 Dan Walsh 1.9-1 +- Update to latest from NSA + +* Wed Mar 10 2004 Dan Walsh 1.6-8 +- Increase the size of buffer accepted by setfiles to BUFSIZ. + +* Tue Mar 9 2004 Dan Walsh 1.6-7 +- genhomedircon should complete even if it can't read /etc/default/useradd + +* Tue Mar 9 2004 Dan Walsh 1.6-6 +- fix restorecon to relabel unlabled files. + +* Fri Mar 5 2004 Dan Walsh 1.6-5 +- Add genhomedircon from tresys +- Fixed patch for restorecon + +* Thu Feb 26 2004 Dan Walsh 1.6-4 +- exit out when selinux is not enabled + +* Thu Feb 26 2004 Dan Walsh 1.6-3 +- Fix minor bugs in restorecon + +* Thu Feb 26 2004 Dan Walsh 1.6-2 +- Add restorecon c program + +* Tue Feb 24 2004 Dan Walsh 1.6-1 +- Update to latest tarball from NSA + +* Thu Feb 19 2004 Dan Walsh 1.4-9 +- Add sort patch + +* Fri Feb 13 2004 Elliot Lee +- rebuilt + +* Thu Jan 29 2004 Dan Walsh 1.4-7 +- remove mods to run_init since init scripts don't require it anymore + +* Wed Jan 28 2004 Dan Walsh 1.4-6 +- fix genhomedircon not to return and error + +* Wed Jan 28 2004 Dan Walsh 1.4-5 +- add setfiles quiet patch + +* Tue Jan 27 2004 Dan Walsh 1.4-4 +- add checkcon to verify context match file_context + +* Wed Jan 7 2004 Dan Walsh 1.4-3 +- fix command parsing restorecon + +* Tue Jan 6 2004 Dan Walsh 1.4-2 +- Add restorecon + +* Sat Dec 6 2003 Dan Walsh 1.4-1 +- Update to latest NSA 1.4 + +* Tue Nov 25 2003 Dan Walsh 1.2-9 +- Change run_init.console to run as run_init_t + +* Tue Oct 14 2003 Dan Walsh 1.2-8 +- Remove dietcc since load_policy is not in mkinitrd +- Change to use CONSOLEHELPER flag + +* Tue Oct 14 2003 Dan Walsh 1.2-7 +- Don't authenticate run_init when used with consolehelper + +* Wed Oct 01 2003 Dan Walsh 1.2-6 +- Add run_init consolehelper link + +* Wed Sep 24 2003 Dan Walsh 1.2-5 +- Add russell spead up patch to deal with file path stems + +* Fri Sep 12 2003 Dan Walsh 1.2-4 +- Build load_policy with diet gcc in order to save space on initrd + +* Fri Sep 12 2003 Dan Walsh 1.2-3 +- Update with NSA latest + +* Thu Aug 7 2003 Dan Walsh 1.2-1 +- remove i18n +- Temp remove gtk support + +* Thu Aug 7 2003 Dan Walsh 1.1-4 +- Remove wnck requirement + +* Thu Aug 7 2003 Dan Walsh 1.1-3 +- Add gtk support to run_init + +* Tue Aug 5 2003 Dan Walsh 1.1-2 +- Add internationalization + +* Mon Jun 2 2003 Dan Walsh 1.0-1 +- Initial version diff --git a/gating.yaml b/gating.yaml new file mode 100644 index 0000000..af6eb32 --- /dev/null +++ b/gating.yaml @@ -0,0 +1,16 @@ +--- !Policy +product_versions: + - fedora-* +decision_context: bodhi_update_push_testing +subject_type: koji_build +rules: + - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional} + +--- !Policy +product_versions: + - fedora-* +decision_context: bodhi_update_push_stable +subject_type: koji_build +rules: + - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional} + diff --git a/macros b/macros new file mode 100644 index 0000000..7587d10 --- /dev/null +++ b/macros @@ -0,0 +1,8 @@ +%add_changelog(changelog:) %{lua: + local f = io.open(arg[1], 'r') + if f then + local content = f:read('*all') + f:close() + print(content) + end +} diff --git a/make-rhat-patches.sh b/make-rhat-patches.sh deleted file mode 100755 index 4721f6e..0000000 --- a/make-rhat-patches.sh +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/bash - -POLICYCOREUTILS_VERSION=2.4 -SEPOLGEN_VERSION=1.2.2 -BRANCH=master - -REBASEDIR=`mktemp -d rebase.XXXXXX` -pushd $REBASEDIR - -git clone git@github.com:fedora-selinux/selinux.git -pushd selinux; git checkout $BRANCH; COMMIT=`git rev-parse --verify HEAD`; popd - -# prepare policycoreutils-rhat.patch -tar xfz ../policycoreutils-$POLICYCOREUTILS_VERSION.tar.gz -pushd policycoreutils-$POLICYCOREUTILS_VERSION - -git init; git add .; git commit -m "init" -cp -r ../selinux/policycoreutils/* . -git add -A . - -git diff --cached --src-prefix=a/policycoreutils-$POLICYCOREUTILS_VERSION/ --dst-prefix=b/policycoreutils-$POLICYCOREUTILS_VERSION/ > ../../policycoreutils-rhat.patch - -popd - -#prepare sepolgen-rhat.patch -tar xfz ../sepolgen-$SEPOLGEN_VERSION.tar.gz -pushd sepolgen-$SEPOLGEN_VERSION - -git init; git add .; git commit -m "init" -cp -r ../selinux/sepolgen/* . -git add -A . - -git diff --cached --src-prefix=a/sepolgen-$SEPOLGEN_VERSION/ --dst-prefix=b/sepolgen-$SEPOLGEN_VERSION/ > ../../sepolgen-rhat.patch - -popd - -popd -# echo rm -rf $REBASEDIR - -echo policycoreutils-rhat.patch and sepolgen-rhat.patch created from https://github.com/fedora-selinux/selinux/commit/$COMMIT diff --git a/plans/selinux.fmf b/plans/selinux.fmf new file mode 100644 index 0000000..c093b2e --- /dev/null +++ b/plans/selinux.fmf @@ -0,0 +1,7 @@ +summary: selinux tests - Tier 1 | policycoreutils +discover: + how: fmf + url: https://src.fedoraproject.org/tests/selinux + filter: "tier: 1 | component: policycoreutils & tags: generic, fedora" +execute: + how: tmt diff --git a/policycoreutils-fedora.patch b/policycoreutils-fedora.patch deleted file mode 100644 index 54fd00a..0000000 --- a/policycoreutils-fedora.patch +++ /dev/null @@ -1,634984 +0,0 @@ -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..2c9f53f 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 (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 "" - " عند: